Commit aa4209e7 authored by nobody's avatar nobody
Browse files

This commit was manufactured by cvs2svn to create tag 'binutils-2_23'.

Sprout from binutils-2_23-branch 2012-10-22 12:01:39 UTC Tristan Gingold <gingold@adacore.com> 'binutils/'
Cherrypick from binutils-2_23-branch 2012-10-18 23:00:10 UTC Alan Modra <amodra@gmail.com> 'daily update':
    bfd/version.h
Delete:
    ld/testsuite/ld-aarch64/aarch64-elf.exp
    ld/testsuite/ld-aarch64/aarch64.ld
    ld/testsuite/ld-aarch64/eh-frame-bar.s
    ld/testsuite/ld-aarch64/eh-frame-foo.s
    ld/testsuite/ld-aarch64/eh-frame.d
    ld/testsuite/ld-aarch64/emit-relocs-257-be.d
    ld/testsuite/ld-aarch64/emit-relocs-257.d
    ld/testsuite/ld-aarch64/emit-relocs-257.s
    ld/testsuite/ld-aarch64/emit-relocs-260-be.d
    ld/testsuite/ld-aarch64/emit-relocs-260.d
    ld/testsuite/ld-aarch64/emit-relocs-260.s
    ld/testsuite/ld-aarch64/emit-relocs-262.d
    ld/testsuite/ld-aarch64/emit-relocs-262.s
    ld/testsuite/ld-aarch64/emit-relocs-263.d
    ld/testsuite/ld-aarch64/emit-relocs-263.s
    ld/testsuite/ld-aarch64/emit-relocs-264.d
    ld/testsuite/ld-aarch64/emit-relocs-264.s
    ld/testsuite/ld-aarch64/emit-relocs-265.d
    ld/testsuite/ld-aarch64/emit-relocs-265.s
    ld/testsuite/ld-aarch64/emit-relocs-266.d
    ld/testsuite/ld-aarch64/emit-relocs-266.s
    ld/testsuite/ld-aarch64/emit-relocs-267.d
    ld/testsuite/ld-aarch64/emit-relocs-267.s
    ld/testsuite/ld-aarch64/emit-relocs-268.d
    ld/testsuite/ld-aarch64/emit-relocs-268.s
    ld/testsuite/ld-aarch64/emit-relocs-269.d
    ld/testsuite/ld-aarch64/emit-relocs-269.s
    ld/testsuite/ld-aarch64/emit-relocs-270-bad.d
    ld/testsuite/ld-aarch64/emit-relocs-270.d
    ld/testsuite/ld-aarch64/emit-relocs-270.s
    ld/testsuite/ld-aarch64/emit-relocs-271.d
    ld/testsuite/ld-aarch64/emit-relocs-271.s
    ld/testsuite/ld-aarch64/emit-relocs-272.d
    ld/testsuite/ld-aarch64/emit-relocs-272.s
    ld/testsuite/ld-aarch64/emit-relocs-273.d
    ld/testsuite/ld-aarch64/emit-relocs-273.s
    ld/testsuite/ld-aarch64/emit-relocs-274.d
    ld/testsuite/ld-aarch64/emit-relocs-274.s
    ld/testsuite/ld-aarch64/emit-relocs-275.d
    ld/testsuite/ld-aarch64/emit-relocs-275.s
    ld/testsuite/ld-aarch64/emit-relocs-276.d
    ld/testsuite/ld-aarch64/emit-relocs-276.s
    ld/testsuite/ld-aarch64/emit-relocs-277.d
    ld/testsuite/ld-aarch64/emit-relocs-277.s
    ld/testsuite/ld-aarch64/emit-relocs-278.d
    ld/testsuite/ld-aarch64/emit-relocs-278.s
    ld/testsuite/ld-aarch64/emit-relocs-279-bad.d
    ld/testsuite/ld-aarch64/emit-relocs-279.d
    ld/testsuite/ld-aarch64/emit-relocs-279.s
    ld/testsuite/ld-aarch64/emit-relocs-280.d
    ld/testsuite/ld-aarch64/emit-relocs-280.s
    ld/testsuite/ld-aarch64/emit-relocs-282.d
    ld/testsuite/ld-aarch64/emit-relocs-282.s
    ld/testsuite/ld-aarch64/emit-relocs-283.d
    ld/testsuite/ld-aarch64/emit-relocs-283.s
    ld/testsuite/ld-aarch64/emit-relocs-284.d
    ld/testsuite/ld-aarch64/emit-relocs-284.s
    ld/testsuite/ld-aarch64/emit-relocs-285.d
    ld/testsuite/ld-aarch64/emit-relocs-285.s
    ld/testsuite/ld-aarch64/emit-relocs-286-bad.d
    ld/testsuite/ld-aarch64/emit-relocs-286.d
    ld/testsuite/ld-aarch64/emit-relocs-286.s
    ld/testsuite/ld-aarch64/emit-relocs-287.d
    ld/testsuite/ld-aarch64/emit-relocs-287.s
    ld/testsuite/ld-aarch64/emit-relocs-299.d
    ld/testsuite/ld-aarch64/emit-relocs-299.s
    ld/testsuite/ld-aarch64/emit-relocs-311.d
    ld/testsuite/ld-aarch64/emit-relocs-311.s
    ld/testsuite/ld-aarch64/emit-relocs-312.d
    ld/testsuite/ld-aarch64/emit-relocs-312.s
    ld/testsuite/ld-aarch64/emit-relocs1.s
    ld/testsuite/ld-aarch64/farcall-b-none-function.d
    ld/testsuite/ld-aarch64/farcall-b-none-function.s
    ld/testsuite/ld-aarch64/farcall-b.d
    ld/testsuite/ld-aarch64/farcall-b.s
    ld/testsuite/ld-aarch64/farcall-back.d
    ld/testsuite/ld-aarch64/farcall-back.s
    ld/testsuite/ld-aarch64/farcall-bl-none-function.d
    ld/testsuite/ld-aarch64/farcall-bl-none-function.s
    ld/testsuite/ld-aarch64/farcall-bl.d
    ld/testsuite/ld-aarch64/farcall-bl.s
    ld/testsuite/ld-aarch64/farcall-section.d
    ld/testsuite/ld-aarch64/farcall-section.s
    ld/testsuite/ld-aarch64/limit-b.d
    ld/testsuite/ld-aarch64/limit-b.s
    ld/testsuite/ld-aarch64/limit-bl.d
    ld/testsuite/ld-aarch64/limit-bl.s
    ld/testsuite/ld-aarch64/relocs.ld
    ld/testsuite/ld-aarch64/tls-desc-ie.d
    ld/testsuite/ld-aarch64/tls-desc-ie.s
    ld/testsuite/ld-aarch64/tls-relax-all.d
    ld/testsuite/ld-aarch64/tls-relax-all.s
    ld/testsuite/ld-aarch64/tls-relax-gd-ie.d
    ld/testsuite/ld-aarch64/tls-relax-gd-ie.s
    ld/testsuite/ld-aarch64/tls-relax-gd-le.d
    ld/testsuite/ld-aarch64/tls-relax-gd-le.s
    ld/testsuite/ld-aarch64/tls-relax-gdesc-ie-2.d
    ld/testsuite/ld-aarch64/tls-relax-gdesc-ie-2.s
    ld/testsuite/ld-aarch64/tls-relax-gdesc-ie.d
    ld/testsuite/ld-aarch64/tls-relax-gdesc-ie.s
    ld/testsuite/ld-aarch64/tls-relax-gdesc-le-2.d
    ld/testsuite/ld-aarch64/tls-relax-gdesc-le-2.s
    ld/testsuite/ld-aarch64/tls-relax-gdesc-le.d
    ld/testsuite/ld-aarch64/tls-relax-gdesc-le.s
    ld/testsuite/ld-aarch64/tls-relax-ie-le-2.d
    ld/testsuite/ld-aarch64/tls-relax-ie-le-2.s
    ld/testsuite/ld-aarch64/tls-relax-ie-le-3.d
    ld/testsuite/ld-aarch64/tls-relax-ie-le-3.s
    ld/testsuite/ld-aarch64/tls-relax-ie-le.d
    ld/testsuite/ld-aarch64/tls-relax-ie-le.s
    ld/testsuite/ld-aarch64/weak-undefined.d
    ld/testsuite/ld-aarch64/weak-undefined.s
parent 849fc04e
#define BFD_VERSION_DATE 20121022
#define BFD_VERSION_DATE 20121019
#define BFD_VERSION @bfd_version@
#define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@
#define REPORT_BUGS_TO @report_bugs_to@
# Expect script for various AARCH64 ELF tests.
# Copyright 2009-2012 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
# MA 02110-1301, USA.
# Exclude non-aarch64-ELF targets.
if { ![is_elf_format] || ![istarget "aarch64*-*-*"] } {
return
}
# List contains test-items with 3 items followed by 2 lists:
# 0:name 1:ld options 2:assembler options
# 3:filenames of assembler files 4: action and options. 5: name of output file
# Actions:
# objdump: Apply objdump options on result. Compare with regex (last arg).
# nm: Apply nm options on result. Compare with regex (last arg).
# readelf: Apply readelf options on result. Compare with regex (last arg).
set aarch64elftests {
{"EH Frame merge" "-Ttext 0x8000" "" {eh-frame-bar.s eh-frame-foo.s}
{{objdump --dwarf=frames eh-frame.d}} "eh-frame"}
}
run_ld_link_tests $aarch64elftests
# Relocation Tests
run_dump_test "weak-undefined"
run_dump_test "emit-relocs-257"
run_dump_test "emit-relocs-257-be"
# 258 is tested in 257
# 259 is tested in 257
run_dump_test "emit-relocs-260"
run_dump_test "emit-relocs-260-be"
# 261 is tested by 260
run_dump_test "emit-relocs-262"
run_dump_test "emit-relocs-263"
run_dump_test "emit-relocs-264"
run_dump_test "emit-relocs-265"
run_dump_test "emit-relocs-266"
run_dump_test "emit-relocs-267"
run_dump_test "emit-relocs-268"
run_dump_test "emit-relocs-269"
run_dump_test "emit-relocs-270"
run_dump_test "emit-relocs-270-bad"
run_dump_test "emit-relocs-271"
run_dump_test "emit-relocs-272"
run_dump_test "emit-relocs-273"
run_dump_test "emit-relocs-274"
run_dump_test "emit-relocs-275"
run_dump_test "emit-relocs-276"
run_dump_test "emit-relocs-277"
run_dump_test "emit-relocs-278"
run_dump_test "emit-relocs-279"
run_dump_test "emit-relocs-279-bad"
run_dump_test "emit-relocs-280"
# 281 is unused
run_dump_test "emit-relocs-282"
run_dump_test "emit-relocs-283"
run_dump_test "emit-relocs-284"
run_dump_test "emit-relocs-285"
run_dump_test "emit-relocs-286"
run_dump_test "emit-relocs-286-bad"
# 287-298 are not done yet
run_dump_test "emit-relocs-299"
# 300-310 are not done yet
run_dump_test "emit-relocs-311"
run_dump_test "emit-relocs-312"
run_dump_test "limit-b"
run_dump_test "limit-bl"
run_dump_test "farcall-section"
run_dump_test "farcall-back"
run_dump_test "farcall-bl"
run_dump_test "farcall-b"
run_dump_test "farcall-b-none-function"
run_dump_test "farcall-bl-none-function"
run_dump_test "tls-relax-all"
run_dump_test "tls-relax-gd-le"
run_dump_test "tls-relax-gdesc-le"
run_dump_test "tls-relax-gd-ie"
run_dump_test "tls-relax-gdesc-ie"
run_dump_test "tls-relax-ie-le"
run_dump_test "tls-desc-ie"
run_dump_test "tls-relax-gdesc-ie-2"
run_dump_test "tls-relax-gdesc-le-2"
run_dump_test "tls-relax-ie-le-2"
run_dump_test "tls-relax-ie-le-3"
/* Script for ld testsuite */
OUTPUT_ARCH(aarch64)
ENTRY(_start)
SECTIONS
{
/* Read-only sections, merged into text segment: */
PROVIDE (__executable_start = 0x8000); . = 0x8000;
.text :
{
*(.before)
*(.text)
*(.after)
} =0
. = 0x9000;
.got : { *(.got) *(.got.plt)}
. = 0x12340000;
.far : { *(.far) }
.ARM.attributes 0 : { *(.ARM.atttributes) }
}
__longjmp:
.cfi_startproc
.cfi_def_cfa x0, 0
.cfi_offset x19, 16
.cfi_offset x20, 16
.cfi_offset x21, 16
.cfi_offset x22, 16
.cfi_offset x23, 24
.cfi_offset x24, 24
.cfi_offset x25, 24
.cfi_offset x26, 24
.cfi_offset x27, 24
.cfi_offset x28, 32
.cfi_offset x29, 32
.cfi_offset x30, 36
.cfi_offset d9, 8
# This eh frame data differs from eh-frame-bar.s here, see the comment
# in eh-frame-foo.s
.cfi_offset d11, 8
ldp x19, x20, [x0, #16]
ldp x21, x22, [x0, #16]
ldp x23, x24, [x0, #24]
ldp x25, x26, [x0, #24]
ldp x27, x28, [x0, #24]
ldp x29, x30, [x0, #32]
ldp d8, d9, [x0, #8]
ldp d10, d11, [x0, #8]
ldp d12, d13, [x0, #8]
ldp d14, d15, [x0, #8]
ldr x5, [x0, #48]
mov sp, x5
cmp x1, #0
mov x0, #1
csel x0, x1, x0, ne
br x30
.cfi_endproc
__longjmp:
.cfi_startproc
.cfi_def_cfa x0, 0
.cfi_offset x19, 16
.cfi_offset x20, 16
.cfi_offset x21, 16
.cfi_offset x22, 16
.cfi_offset x23, 24
.cfi_offset x24, 24
.cfi_offset x25, 24
.cfi_offset x26, 24
.cfi_offset x27, 24
.cfi_offset x28, 32
.cfi_offset x29, 32
.cfi_offset x30, 36
.cfi_offset d9, 8
/* This eh frame data differs from eh-frame-bar.s here. The eh
frame information is identical but changes at the end. The
initial identical section is long enough to overflow the
initial instruction buffer used in eh frame merging. This
checks that merging does something sane once the initial
instruction buffer overflows. */
.cfi_offset d10, 8
ldp x19, x20, [x0, #16]
ldp x21, x22, [x0, #16]
ldp x23, x24, [x0, #24]
ldp x25, x26, [x0, #24]
ldp x27, x28, [x0, #24]
ldp x29, x30, [x0, #32]
ldp d8, d9, [x0, #8]
ldp d10, d11, [x0, #8]
ldp d12, d13, [x0, #8]
ldp d14, d15, [x0, #8]
ldr x5, [x0, #48]
mov sp, x5
cmp x1, #0
mov x0, #1
csel x0, x1, x0, ne
br x30
.cfi_endproc
.global _start
_start:
.*: file format elf64-(little|big)aarch64
Contents of the .eh_frame section:
00000000 00000044 00000000 CIE
Version: 1
Augmentation: "zR"
Code alignment factor: 2
Data alignment factor: -4
Return address column: 30
Augmentation data: 1b
DW_CFA_def_cfa: r31 ofs 0
DW_CFA_def_cfa: r0 ofs 0
DW_CFA_offset_extended_sf: r19 at cfa\+16
DW_CFA_offset_extended_sf: r20 at cfa\+16
DW_CFA_offset_extended_sf: r21 at cfa\+16
DW_CFA_offset_extended_sf: r22 at cfa\+16
DW_CFA_offset_extended_sf: r23 at cfa\+24
DW_CFA_offset_extended_sf: r24 at cfa\+24
DW_CFA_offset_extended_sf: r25 at cfa\+24
DW_CFA_offset_extended_sf: r26 at cfa\+24
DW_CFA_offset_extended_sf: r27 at cfa\+24
DW_CFA_offset_extended_sf: r28 at cfa\+32
DW_CFA_offset_extended_sf: r29 at cfa\+32
DW_CFA_offset_extended_sf: r30 at cfa\+36
DW_CFA_offset_extended_sf: r9 at cfa\+8
DW_CFA_offset_extended_sf: r11 at cfa\+8
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
00000048 00000014 0000004c FDE cie=00000000 pc=f*ffffff80..f*ffffffc0
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
00000060 00000044 00000000 CIE
Version: 1
Augmentation: "zR"
Code alignment factor: 2
Data alignment factor: -4
Return address column: 30
Augmentation data: 1b
DW_CFA_def_cfa: r31 ofs 0
DW_CFA_def_cfa: r0 ofs 0
DW_CFA_offset_extended_sf: r19 at cfa\+16
DW_CFA_offset_extended_sf: r20 at cfa\+16
DW_CFA_offset_extended_sf: r21 at cfa\+16
DW_CFA_offset_extended_sf: r22 at cfa\+16
DW_CFA_offset_extended_sf: r23 at cfa\+24
DW_CFA_offset_extended_sf: r24 at cfa\+24
DW_CFA_offset_extended_sf: r25 at cfa\+24
DW_CFA_offset_extended_sf: r26 at cfa\+24
DW_CFA_offset_extended_sf: r27 at cfa\+24
DW_CFA_offset_extended_sf: r28 at cfa\+32
DW_CFA_offset_extended_sf: r29 at cfa\+32
DW_CFA_offset_extended_sf: r30 at cfa\+36
DW_CFA_offset_extended_sf: r9 at cfa\+8
DW_CFA_offset_extended_sf: r10 at cfa\+8
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
000000a8 00000014 0000004c FDE cie=00000060 pc=f*ffffffc0..00000000
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
#source: emit-relocs-257.s
#ld: -T relocs.ld --defsym tempy=0x11012 --defsym tempy2=0x45034 --defsym tempy3=0x1234 -e0 --emit-relocs
#notarget: aarch64-*-*
#objdump: -dr
#...
+10000: 00011012 \.word 0x00011012
+10000: R_AARCH64_ABS32 tempy
+10004: 00000000 \.word 0x00000000
+10004: R_AARCH64_ABS64 tempy2
+10008: 00045034 \.word 0x00045034
+1000c: 1234123c \.word 0x1234123c
+1000c: R_AARCH64_ABS16 tempy3
+1000e: R_AARCH64_ABS16 tempy3\+0x8
+10010: 8a000000 and x0, x0, x0
+10014: 92400000 and x0, x0, #0x1
#source: emit-relocs-257.s
#ld: -T relocs.ld --defsym tempy=0x11012 --defsym tempy2=0x45034 --defsym tempy3=0x1234 -e0 --emit-relocs
#notarget: aarch64_be-*-*
#objdump: -dr
#...
+10000: 00011012 \.word 0x00011012
+10000: R_AARCH64_ABS32 tempy
+10004: 00045034 \.word 0x00045034
+10004: R_AARCH64_ABS64 tempy2
+10008: 00000000 \.word 0x00000000
+1000c: 123c1234 \.word 0x123c1234
+1000c: R_AARCH64_ABS16 tempy3
+1000e: R_AARCH64_ABS16 tempy3\+0x8
+10010: 8a000000 and x0, x0, x0
+10014: 92400000 and x0, x0, #0x1
.comm gempy,4,4
.text
.word tempy
.xword tempy2
.hword tempy3
.hword tempy3+8
and x0,x0,x0
and x0,x0,#0x1
#source: emit-relocs-260.s
#ld: -T relocs.ld --defsym tempy=0x11012 --defsym tempy2=0x45034 --defsym tempy3=0x1234 --defsym _GOT_=0x10000 -e0 --emit-relocs
#notarget: aarch64-*-*
#objdump: -dr
#...
+10000: R_AARCH64_PREL32 _GOT_
+10004: R_AARCH64_PREL64 _GOT_\+0x12
+10008: 0000000e \.word 0x0000000e
+1000c: fff404f2 \.word 0xfff404f2
+1000c: R_AARCH64_PREL16 _GOT_
+1000e: R_AARCH64_PREL16 _GOT_\+0x500
+10010: 8a000000 and x0, x0, x0
+10014: 92400000 and x0, x0, #0x1
#source: emit-relocs-260.s
#ld: -T relocs.ld --defsym tempy=0x11012 --defsym tempy2=0x45034 --defsym tempy3=0x1234 --defsym _GOT_=0x10000 -e0 --emit-relocs
#notarget: aarch64_be-*-*
#objdump: -dr
#...
+10000: 00000000 \.word 0x00000000
+10000: R_AARCH64_PREL32 _GOT_
+10004: 0000000e \.word 0x0000000e
+10004: R_AARCH64_PREL64 _GOT_\+0x12
+10008: 00000000 \.word 0x00000000
+1000c: 04f2fff4 \.word 0x04f2fff4
+1000c: R_AARCH64_PREL16 _GOT_
+1000e: R_AARCH64_PREL16 _GOT_\+0x500
+10010: 8a000000 and x0, x0, x0
+10014: 92400000 and x0, x0, #0x1
.comm gempy,4,4
.text
.word _GOT_ - .
.xword _GOT_ - . + 0x12
.hword _GOT_ - .
.hword _GOT_ - . + 0x500
and x0,x0,x0
and x0,x0,#0x1
#source: emit-relocs-262.s
#ld: -T relocs.ld --defsym tempy=0x11012 --defsym tempy2=0x45034 --defsym tempy3=0x1234 --defsym _GOT_=0x20000 -e0 --emit-relocs
#error: .*truncated.*
#objdump: -dr
#...
+10000: 00011012 \.word 0x00011012
+10000: R_AARCH64_PREL32 tempy
+10004: 00045034 \.word 0x00045034
+10004: R_AARCH64_PREL64 tempy2
+10008: 00000000 \.word 0x00000000
+1000c: 123c1234 \.word 0x123c1234
+1000c: R_AARCH64_PREL16 tempy3
+1000e: R_AARCH64_PREL16 tempy3\+0x8
+10010: 8a000000 and x0, x0, x0
+10014: 92400000 and x0, x0, #0x1
.comm gempy,4,4
.text
.word _GOT_ - .
.xword _GOT_ - . + 0x12
.hword _GOT_ - .
.hword _GOT_ - .
and x0,x0,x0
and x0,x0,#0x1
#source: emit-relocs-263.s
#ld: -T relocs.ld --defsym tempy=0x11000 --defsym tempy2=0x45000 --defsym tempy3=0x1234 -e0 --emit-relocs
#error: .*\(.text\+0x\d+\): relocation truncated to fit: R_AARCH64_MOVW_UABS_G0 against symbol `tempy.*
#objdump: -dr
#...
+10000: 8a000000 and x0, x0, x0
+10004: 92400000 and x0, x0, #0x1
+10008: d2820004 movz x4, #0x1000
+10008: R_AARCH64_MOVW_UABS_G0 tempy
+1000c: d28a0007 movz x7, #0x5000
+1000c: R_AARCH64_MOVW_UABS_G0 tempy2
+10010: d2824691 movz x17, #0x1234
+10010: R_AARCH64_MOVW_UABS_G0 tempy3
.comm gempy,4,4
.text
and x0,x0,x0
and x0,x0,#0x1
movz x4, :abs_g0:tempy
movz x7, :abs_g0:tempy2
movz x17, :abs_g0:tempy3
#source: emit-relocs-264.s
#ld: -T relocs.ld --defsym tempy=0x11000 --defsym tempy2=0x45000 --defsym tempy3=0x1234 -e0 --emit-relocs
#objdump: -dr
#...
+10000: 8a000000 and x0, x0, x0
+10004: 92400000 and x0, x0, #0x1
+10008: d2820004 movz x4, #0x1000
+10008: R_AARCH64_MOVW_UABS_G0_NC tempy
+1000c: d28a0007 movz x7, #0x5000
+1000c: R_AARCH64_MOVW_UABS_G0_NC tempy2
+10010: d2824691 movz x17, #0x1234
+10010: R_AARCH64_MOVW_UABS_G0_NC tempy3
.comm gempy,4,4
.text
and x0,x0,x0
and x0,x0,#0x1
movz x4, :abs_g0_nc:tempy
movz x7, :abs_g0_nc:tempy2
movz x17, :abs_g0_nc:tempy3
#source: emit-relocs-265.s
#ld: -T relocs.ld --defsym tempy=0x100011000 --defsym tempy2=0x45000 --defsym tempy3=0x1234 -e0 --emit-relocs
#error: .*\(.text\+0x\d+\): relocation truncated to fit: R_AARCH64_MOVW_UABS_G1 against symbol `tempy.*
#objdump: -dr
#...
+10000: 8a000000 and x0, x0, x0
+10004: 92400000 and x0, x0, #0x1
+10008: d2a00024 movz x4, #0x1, lsl #16
+10008: R_AARCH64_MOVW_UABS_G1 tempy
+1000c: d2a00087 movz x7, #0x4, lsl #16
+1000c: R_AARCH64_MOVW_UABS_G1 tempy2
+10010: d2a00011 movz x17, #0x0, lsl #16
+10010: R_AARCH64_MOVW_UABS_G1 tempy3
.comm gempy,4,4
.text
and x0,x0,x0
and x0,x0,#0x1
movz x4, :abs_g1:tempy
movz x7, :abs_g1:tempy2
movz x17, :abs_g1:tempy3
#source: emit-relocs-266.s
#ld: -T relocs.ld --defsym tempy=0x11000 --defsym tempy2=0x45000 --defsym tempy3=0x1234 -e0 --emit-relocs
#objdump: -dr
#...
+10000: 8a000000 and x0, x0, x0
+10004: 92400000 and x0, x0, #0x1
+10008: d2a00024 movz x4, #0x1, lsl #16
+10008: R_AARCH64_MOVW_UABS_G1_NC tempy
+1000c: d2a00087 movz x7, #0x4, lsl #16
+1000c: R_AARCH64_MOVW_UABS_G1_NC tempy2
+10010: d2a00011 movz x17, #0x0, lsl #16
+10010: R_AARCH64_MOVW_UABS_G1_NC tempy3
.comm gempy,4,4
.text
and x0,x0,x0
and x0,x0,#0x1
movz x4, :abs_g1_nc:tempy
movz x7, :abs_g1_nc:tempy2
movz x17, :abs_g1_nc:tempy3
#source: emit-relocs-267.s
#ld: -T relocs.ld --defsym tempy=0x63001000 --defsym tempy2=0x4500000000 --defsym tempy3=0x1234567812345 -e0 --emit-relocs
#error: .*truncated.*tempy3.*
#objdump: -dr
#...
+10000: 8a000000 and x0, x0, x0
+10004: 92400000 and x0, x0, #0x1
+10008: d2c00004 movz x4, #0x0, lsl #32
+10008: R_AARCH64_MOVW_UABS_G2 tempy
+1000c: d2c008a7 movz x7, #0x45, lsl #32
+1000c: R_AARCH64_MOVW_UABS_G2 tempy2
+10010: d2c468b1 movz x17, #0x2345, lsl #32
+10010: R_AARCH64_MOVW_UABS_G2 tempy3