+2002-09-23 Daniel Jacobowitz <drow@mvista.com>
+
+ Merge from mainline:
+ 2002-09-19 Jakub Jelinek <jakub@redhat.com>
+ * ld-i386/i386.exp: New.
+ * ld-i386/tlsbin.dd: New test.
+ * ld-i386/tlsbinpic.s: New test.
+ * ld-i386/tlsbin.rd: New test.
+ * ld-i386/tlsbin.s: New test.
+ * ld-i386/tlsbin.sd: New test.
+ * ld-i386/tlsbin.td: New test.
+ * ld-i386/tlslib.s: New test.
+ * ld-i386/tlsnopic1.s: New test.
+ * ld-i386/tlsnopic2.s: New test.
+ * ld-i386/tlsnopic.dd: New test.
+ * ld-i386/tlsnopic.rd: New test.
+ * ld-i386/tlsnopic.sd: New test.
+ * ld-i386/tlspic1.s: New test.
+ * ld-i386/tlspic2.s: New test.
+ * ld-i386/tlspic.dd: New test.
+ * ld-i386/tlspic.rd: New test.
+ * ld-i386/tlspic.sd: New test.
+ * ld-i386/tlspic.td: New test.
+
+ 2002-08-13 H.J. Lu <hjl@gnu.org>
+ * ld-elfvers/vers.exp: Add vers23c and vers23d.
+
+ * ld-elfvers/vers23c.ver: New.
+ * ld-elfvers/vers23d.dsym: New.
+
+ 2002-08-12 H.J. Lu <hjl@gnu.org>
+ * ld-elfvers/vers.exp: Add vers23.
+
+ * ld-elfvers/vers23.c: New.
+ * ld-elfvers/vers23.dsym: New.
+ * ld-elfvers/vers23.ver: New.
+ * ld-elfvers/vers23a.c: New.
+ * ld-elfvers/vers23a.dsym: New.
+ * ld-elfvers/vers23a.map: New.
+ * ld-elfvers/vers23a.sym: New.
+ * ld-elfvers/vers23a.ver: New.
+ * ld-elfvers/vers23b.c: New.
+ * ld-elfvers/vers23b.dsym: New.
+ * ld-elfvers/vers23b.map: New.
+ * ld-elfvers/vers23b.ver: New.
+
+ 2002-08-10 Alan Modra <amodra@bigpond.net.au>
+ * ld-discard/discard.exp: Don't run on linuxaout or linuxoldld.
+ * ld-linkonce/linkonce.exp: Likewise.
+ * ld-selective/sel-dump.exp: Likewise.
+ * ld-selective/selective.exp: Don't run on aout or bout.
+
+ 2002-08-08 H.J. Lu <hjl@gnu.org>
+ * ld-elfvers/vers.exp: Add vers22.
+
+ * ld-elfvers/vers22.c: New.
+ * ld-elfvers/vers22.dsym: New.
+ * ld-elfvers/vers22.map: New.
+ * ld-elfvers/vers22.ver: New.
+ * ld-elfvers/vers22a.c: New.
+ * ld-elfvers/vers22a.dsym: New.
+ * ld-elfvers/vers22a.sym: New.
+ * ld-elfvers/vers22a.ver: New.
+ * ld-elfvers/vers22b.c: New.
+ * ld-elfvers/vers22b.dsym: New.
+ * ld-elfvers/vers22b.ver: New.
+
+ 2002-08-08 Stephen Clarke <stephen.clarke@superh.com>
+ * ld-sh/sh64/abi32.xd: Adjust whitespace in elf32 section
+ listing.
+ * ld-sh/sh64/cmpct1.xd, ld-sh/sh64/mix1.xd, ld-sh/sh64/mix2.xd,
+ ld-sh/sh64/rel32.xd, ld-sh/sh64/shdl32.xd: Likewise.
+
+ 2002-08-07 H.J. Lu <hjl@gnu.org>
+ * ld-elfvers/vers.exp: Add --no-undefined-version.
+
+ * ld-elfvers/vers1.map: Remove the unused foo1 and foo2.
+ * ld-elfvers/vers8.map: Likewise.
+ * ld-elfvers/vers18.map: Likewise.
+
+ 2002-08-07 Stephen Clarke <stephen.clarke@superh.com>
+ * ld-sh/sh64/abi32.xd: Adjust as type of linker-script-symbols
+ is no longer set to object.
+ * ld-sh/sh64/abi64.xd, ld-sh/sh64/cmpct1.xd, ld-sh/sh64/crange1.rd,
+ ld-sh/sh64/crange2.rd, ld-sh/sh64/crange3-cmpct.rd,
+ ld-sh/sh64/crange3-media.rd, ld-sh/sh64/crange3.rd,
+ ld-sh/sh64/mix1.xd, ld-sh/sh64/mix2.xd, ld-sh/sh64/shdl32.xd,
+ ld-sh/sh64/shdl64.xd: Likewise.
+
+ 2002-08-06 H.J. Lu <hjl@gnu.org>
+ * ld-elfvers/vers.exp: Add --no-undefined-version.
+
+ * ld-elfvers/vers1.map: Remove the unused foo1 and foo2.
+ * ld-elfvers/vers8.map: Likewise.
+ * ld-elfvers/vers18.map: Likewise.
+
+ 2002-07-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
+ * ld-discard/discard.exp, ld-scripts/phdrs.exp, ld-scripts/phdrs2.exp,
+ ld-selective/sel-dump.exp: Test hppa*64*-*-hpux* target.
+ * ld-elfvers/vers.exp, ld-elfvsb/elfvsb.exp, ld-elfweak/elfweak.exp,
+ ld-linkonce/linkonce.exp, ld-shared/shared.exp,
+ ld-undefined/weak-undef.exp: Test hppa*64*-*-hpux* and hppa*-*-linux*
+ targets.
+ * ld-discard/exit.s, ld-discard/extern.s, ld-discard/start.s,
+ ld-discard/static.s: Add whitespace before assembler directives.
+
+ 2002-07-15 H.J. Lu <hjl@gnu.org>
+ * ld-elfvers/vers.exp: Add vers21.
+
+ * ld-elfvers/vers21.c: New.
+ * ld-elfvers/vers21.dsym: New.
+ * ld-elfvers/vers21.map: New.
+ * ld-elfvers/vers21.sym: New.
+ * ld-elfvers/vers21.ver: New.
+
2002-08-15 Hans-Peter Nilsson <hp@axis.com>
* ld-cris/libdso-4.d, ld-cris/undef1.d: New test.
# Test for ELF here, so we don't have to qualify on ELF specifically
# in every .d-file.
-if { ![istarget *-*-linux*] && ![istarget *-*-gnu] && ![istarget *-*-elf] } {
+if { ![istarget *-*-linux*] \
+ && ![istarget *-*-gnu] \
+ && ![istarget hppa*64*-*-hpux*] \
+ && ![istarget *-*-elf] } {
+ return
+}
+
+if { [istarget *-*-linux*aout*] \
+ || [istarget *-*-linux*oldld*] } {
return
}
-.globl data
+ .globl data
.section .data.exit,"aw"
data:
-.globl text
+ .globl text
.section .text.exit,"aw"
text:
-.globl data
+ .globl data
.section .data.exit,"aw"
data:
-.globl text
+ .globl text
.section .text.exit,"aw"
text:
-.text
-.globl _start
+ .text
+ .globl _start
_start:
.long data
.section .debug_info
-.text
-.globl _start
+ .text
+ .globl _start
_start:
.long data
.section .debug_info
data:
.section .text.exit,"aw"
text:
-.text
-.globl _start
+ .text
+ .globl _start
_start:
.long data
.section .debug_info
# This test can only be run on a couple of ELF platforms.
# Square bracket expressions seem to confuse istarget.
# This is similar to the test that is used in ld-shared, BTW.
-if { ![istarget i?86-*-sysv4*] \
+if { ![istarget hppa*64*-*-hpux*] \
+ && ![istarget hppa*-*-linux*] \
+ && ![istarget i?86-*-sysv4*] \
&& ![istarget i?86-*-unixware] \
&& ![istarget i?86-*-elf*] \
&& ![istarget i?86-*-linux*] \
set VOBJDUMP_FLAGS --private-headers
set DOBJDUMP_FLAGS --dynamic-syms
set SOBJDUMP_FLAGS --syms
-set shared --shared
+set shared "--shared --no-undefined-version"
set script --version-script
proc test_ar { test lib object expect } {
global CC
global CFLAGS
- set shared --shared
+ set shared "--shared --no-undefined-version"
set script --version-script
if ![ld_compile "$CC -S $CFLAGS" $srcdir/$subdir/$source $tmpdir/$execname.s] {
unresolved "$test"
build_vers_lib "vers20a" vers20.c vers20a "" vers20.map vers20a.ver vers20.dsym ""
exec cp $tmpdir/vers20a.so $tmpdir/vers20b.so
build_vers_lib "vers20" vers20.c vers20 "vers20a.so vers20b.so" vers20.map vers20.ver vers20.dsym ""
+
+# Test .symver override.
+build_vers_lib "vers21" vers21.c vers21 "" vers21.map vers21.ver vers21.dsym vers21.sym
+
+# Test moving default definition from one DSO to another.
+build_vers_lib "vers22a" vers22a.c vers22a "" vers22.map vers22a.ver vers22a.dsym vers22a.sym
+build_vers_lib "vers22b" vers22b.c vers22b "" vers22.map vers22b.ver vers22b.dsym ""
+build_vers_lib "vers22" vers22.c vers22 "vers22a.so vers22b.so" "" vers22.ver vers22.dsym ""
+
+# Test versioned definitions in different files.
+build_vers_lib "vers23a" vers23a.c vers23a "" vers23a.map vers23a.ver vers23a.dsym vers23a.sym
+build_vers_lib "vers23b" vers23b.c vers23b "" vers23b.map vers23b.ver vers23b.dsym ""
+build_vers_lib "vers23c" vers23b.c vers23c "vers23a.so" vers23b.map vers23c.ver vers23b.dsym ""
+build_exec "vers23d" vers23.c vers23d "tmpdir/vers23a.so tmpdir/vers23c.so" "" vers23.ver vers23d.dsym ""
+build_exec "vers23" vers23.c vers23 "tmpdir/vers23a.so tmpdir/vers23b.o tmpdir/vers23b.so" "" vers23.ver vers23.dsym ""
VERS_1.1 {
- global:
- foo1;
local:
hide_old*;
hide_original*;
};
VERS_1.2 {
- foo2;
} VERS_1.1;
VERS_2.0 {
VERS_1.1 {
- global:
- foo1;
local:
hide_old*;
hide_original*;
};
VERS_1.2 {
- foo2;
} VERS_1.1;
VERS_2.0 {
VERSION {
VERS_1.1 {
- global:
- foo1;
local:
hide_old*;
hide_original*;
};
VERS_1.2 {
- foo2;
} VERS_1.1;
VERS_2.0 {
# This test can only be run on a couple of ELF platforms.
# Square bracket expressions seem to confuse istarget.
-if { ![istarget i?86-*-linux*] \
+if { ![istarget hppa*64*-*-hpux*] \
+ && ![istarget hppa*-*-linux*] \
+ && ![istarget i?86-*-linux*] \
&& ![istarget ia64-*-linux*] \
&& ![istarget m68k-*-linux*] \
&& ![istarget mips*-*-linux*] \
# This test can only be run on a couple of ELF platforms.
# Square bracket expressions seem to confuse istarget.
# This is similar to the test that is used in ld-shared, BTW.
-if { ![istarget i?86-*-sysv4*] \
+if { ![istarget hppa*64*-*-hpux*] \
+ && ![istarget hppa*-*-linux*] \
+ && ![istarget i?86-*-sysv4*] \
&& ![istarget i?86-*-unixware] \
&& ![istarget i?86-*-elf*] \
&& ![istarget i?86-*-linux*] \
# Test for ELF here (or really, .gnu.linkonce functionality), so we don't
# have to qualify on ELF specifically in every .d-file.
-if { ![istarget *-*-linux*] && ![istarget *-*-gnu] && ![istarget *-*-elf] } {
+if { ![istarget *-*-linux*] \
+ && ![istarget *-*-gnu] \
+ && ![istarget hppa*64*-*-hpux*] \
+ && ![istarget *-*-elf] } {
+ return
+}
+
+if { [istarget *-*-linux*aout*] \
+ || [istarget *-*-linux*oldld*] } {
return
}
&& ![istarget *-*-unixware*] \
&& ![istarget *-*-elf*] \
&& ![istarget *-*-eabi*] \
+ && ![istarget hppa*64*-*-hpux*] \
&& ![istarget *-*-linux*] \
&& ![istarget *-*-irix5*] \
&& ![istarget *-*-irix6*] \
&& ![istarget *-*-unixware*] \
&& ![istarget *-*-elf*] \
&& ![istarget *-*-eabi*] \
+ && ![istarget hppa*64*-*-hpux*] \
&& ![istarget *-*-linux*] \
&& ![istarget *-*-irix5*] \
&& ![istarget *-*-irix6*] \
if { ![istarget *-*-linux*]
&& ![istarget *-*-gnu]
+ && ![istarget hppa*64*-*-hpux*]
&& ![istarget *-*-elf] } {
return
}
+if { [istarget *-*-linux*aout*] \
+ || [istarget *-*-linux*oldld*] } {
+ return
+}
+
load_lib ld-lib.exp
set test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
# AOUT based ports do not support selective linking
-if {[istarget "vax-*-ultrix*"]} {
+if {[istarget "*-*-*aout*"] \
+ || [istarget "*-*-*bout*"] \
+ || [istarget "vax-*-ultrix*"]} {
return
}
filesz 0x0+18 memsz 0x0+18 flags rw-
Sections:
-Idx Name Size VMA LMA File off Algn
+Idx Name Size VMA LMA File off Algn
0 \.text 00000064 0+1000 0+1000 00000080 2\*\*0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 \.data 00000018 0+10e8 0+10e8 000000e8 2\*\*0
0+1060 l \.text 0+ 0x04 plugh
0+10f8 g \.data 0+ foobar
0+10e8 g \.data 0+ baz
-0+1100 g O \.dtors 0+ ___dtors
+0+1100 g \.dtors 0+ ___dtors
0+105c g \.text 0+ 0x04 xyzzy
-0+1100 g O \*ABS\* 0+ __bss_start
-0+1100 g O \.ctors 0+ ___ctors_end
+0+1100 g \*ABS\* 0+ __bss_start
+0+1100 g \.ctors 0+ ___ctors_end
0+10f0 g \.data 0+ baz2
-0+1100 g O \.ctors 0+ ___ctors
+0+1100 g \.ctors 0+ ___ctors
0+1000 g \.text 0+ 0x04 foo
-0+1100 g O \*ABS\* 0+ _edata
-0+1100 g O \*ABS\* 0+ _end
+0+1100 g \*ABS\* 0+ _edata
+0+1100 g \*ABS\* 0+ _end
0+1010 g \.text 0+ 0x04 start
0+100c g \.text 0+ 0x04 bar
-0+80000 g O \.stack 0+ _stack
-0+1100 g O \.dtors 0+ ___dtors_end
+0+80000 g \.stack 0+ _stack
+0+1100 g \.dtors 0+ ___dtors_end
00000000000010a8 l \.text 0000000000000000 0x04 plugh
0000000000001140 g \.data 0000000000000000 foobar
0000000000001130 g \.data 0000000000000000 baz
-0000000000001148 g O \.dtors 0000000000000000 ___dtors
+0000000000001148 g \.dtors 0000000000000000 ___dtors
00000000000010a4 g \.text 0000000000000000 0x04 xyzzy
-0000000000001148 g O \*ABS\* 0000000000000000 __bss_start
-0000000000001148 g O \.ctors 0000000000000000 ___ctors_end
+0000000000001148 g \*ABS\* 0000000000000000 __bss_start
+0000000000001148 g \.ctors 0000000000000000 ___ctors_end
0000000000001138 g \.data 0000000000000000 baz2
-0000000000001148 g O \.ctors 0000000000000000 ___ctors
+0000000000001148 g \.ctors 0000000000000000 ___ctors
0000000000001000 g \.text 0000000000000000 0x04 foo
-0000000000001148 g O \*ABS\* 0000000000000000 _edata
-0000000000001148 g O \*ABS\* 0000000000000000 _end
+0000000000001148 g \*ABS\* 0000000000000000 _edata
+0000000000001148 g \*ABS\* 0000000000000000 _end
0000000000001018 g \.text 0000000000000000 0x04 start
0000000000001014 g \.text 0000000000000000 0x04 bar
-0000000000080000 g O \.stack 0000000000000000 _stack
-0000000000001148 g O \.dtors 0000000000000000 ___dtors_end
+0000000000080000 g \.stack 0000000000000000 _stack
+0000000000001148 g \.dtors 0000000000000000 ___dtors_end
filesz 0x0+ memsz 0x0+ flags rw-
Sections:
-Idx Name Size VMA LMA File off Algn
+Idx Name Size VMA LMA File off Algn
0 \.text 00000008 0+1000 0+1000 00000080 2\*\*0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 \.rodata 0000000c 0+1008 0+1008 00000088 2\*\*0
0+1004 l \.text 0+ next
0+100c l \.rodata 0+ here
0+ l \*ABS\* 0+ \*ABS\*
-0+1098 g O \.dtors 0+ ___dtors
-0+1098 g O \*ABS\* 0+ __bss_start
-0+1098 g O \.ctors 0+ ___ctors_end
-0+1098 g O \.ctors 0+ ___ctors
-0+1098 g O \*ABS\* 0+ _edata
-0+1098 g O \*ABS\* 0+ _end
+0+1098 g \.dtors 0+ ___dtors
+0+1098 g \*ABS\* 0+ __bss_start
+0+1098 g \.ctors 0+ ___ctors_end
+0+1098 g \.ctors 0+ ___ctors
+0+1098 g \*ABS\* 0+ _edata
+0+1098 g \*ABS\* 0+ _end
0+1000 g \.text 0+ start
-0+80000 g O \.stack 0+ _stack
-0+1098 g O \.dtors 0+ ___dtors_end
+0+80000 g \.stack 0+ _stack
+0+1098 g \.dtors 0+ ___dtors_end
11: 00000000 0 SECTION LOCAL DEFAULT 11
12: 00000000 0 SECTION LOCAL DEFAULT 12
13: 00001004 0 NOTYPE LOCAL DEFAULT 2 start2
- 14: 000010a0 0 OBJECT GLOBAL DEFAULT 5 ___dtors
- 15: 000010a0 0 OBJECT GLOBAL DEFAULT ABS __bss_start
- 16: 000010a0 0 OBJECT GLOBAL DEFAULT 4 ___ctors_end
+ 14: 000010a0 0 NOTYPE GLOBAL DEFAULT 5 ___dtors
+ 15: 000010a0 0 NOTYPE GLOBAL DEFAULT ABS __bss_start
+ 16: 000010a0 0 NOTYPE GLOBAL DEFAULT 4 ___ctors_end
17: 00001004 0 NOTYPE GLOBAL DEFAULT 2 diversion2
- 18: 000010a0 0 OBJECT GLOBAL DEFAULT 4 ___ctors
- 19: 000010a0 0 OBJECT GLOBAL DEFAULT ABS _edata
- 20: 000010a0 0 OBJECT GLOBAL DEFAULT ABS _end
+ 18: 000010a0 0 NOTYPE GLOBAL DEFAULT 4 ___ctors
+ 19: 000010a0 0 NOTYPE GLOBAL DEFAULT ABS _edata
+ 20: 000010a0 0 NOTYPE GLOBAL DEFAULT ABS _end
21: 00001000 0 NOTYPE GLOBAL DEFAULT 1 start
- 22: 00080000 0 OBJECT GLOBAL DEFAULT 8 _stack
- 23: 000010a0 0 OBJECT GLOBAL DEFAULT 5 ___dtors_end
+ 22: 00080000 0 NOTYPE GLOBAL DEFAULT 8 _stack
+ 23: 000010a0 0 NOTYPE GLOBAL DEFAULT 5 ___dtors_end
Hex dump of section '\.init':
0x00001000 6ff0fff0 .*
15: 0000102c 0 NOTYPE LOCAL DEFAULT 2 sec2
16: 00001040 0 NOTYPE LOCAL DEFAULT 2 sec3
17: 00001048 0 NOTYPE LOCAL DEFAULT 2 sec4
- 18: 000010e0 0 OBJECT GLOBAL DEFAULT 5 ___dtors
- 19: 000010e0 0 OBJECT GLOBAL DEFAULT ABS __bss_start
- 20: 000010e0 0 OBJECT GLOBAL DEFAULT 4 ___ctors_end
+ 18: 000010e0 0 NOTYPE GLOBAL DEFAULT 5 ___dtors
+ 19: 000010e0 0 NOTYPE GLOBAL DEFAULT ABS __bss_start
+ 20: 000010e0 0 NOTYPE GLOBAL DEFAULT 4 ___ctors_end
21: 00001004 0 NOTYPE GLOBAL DEFAULT 2 diversion2
- 22: 000010e0 0 OBJECT GLOBAL DEFAULT 4 ___ctors
- 23: 000010e0 0 OBJECT GLOBAL DEFAULT ABS _edata
- 24: 000010e0 0 OBJECT GLOBAL DEFAULT ABS _end
+ 22: 000010e0 0 NOTYPE GLOBAL DEFAULT 4 ___ctors
+ 23: 000010e0 0 NOTYPE GLOBAL DEFAULT ABS _edata
+ 24: 000010e0 0 NOTYPE GLOBAL DEFAULT ABS _end
25: 00001000 0 NOTYPE GLOBAL DEFAULT 1 start
- 26: 00080000 0 OBJECT GLOBAL DEFAULT 8 _stack
- 27: 000010e0 0 OBJECT GLOBAL DEFAULT 5 ___dtors_end
+ 26: 00080000 0 NOTYPE GLOBAL DEFAULT 8 _stack
+ 27: 000010e0 0 NOTYPE GLOBAL DEFAULT 5 ___dtors_end
Hex dump of section '\.text':
0x00001004 6ff0fff0 6ff0fff0 6ff0fff0 0000002a .*
15: 000010bc 0 NOTYPE LOCAL DEFAULT 2 sec3
16: 00000000 0 NOTYPE LOCAL DEFAULT ABS \*ABS\*
17: 000010c4 0 NOTYPE GLOBAL DEFAULT 2 diversion
- 18: 00001160 0 OBJECT GLOBAL DEFAULT 5 ___dtors
- 19: 00001160 0 OBJECT GLOBAL DEFAULT ABS __bss_start
- 20: 00001160 0 OBJECT GLOBAL DEFAULT 4 ___ctors_end
+ 18: 00001160 0 NOTYPE GLOBAL DEFAULT 5 ___dtors
+ 19: 00001160 0 NOTYPE GLOBAL DEFAULT ABS __bss_start
+ 20: 00001160 0 NOTYPE GLOBAL DEFAULT 4 ___ctors_end
21: 000010a4 0 NOTYPE GLOBAL DEFAULT 2 diversion2
- 22: 00001160 0 OBJECT GLOBAL DEFAULT 4 ___ctors
- 23: 00001160 0 OBJECT GLOBAL DEFAULT ABS _edata
- 24: 00001160 0 OBJECT GLOBAL DEFAULT ABS _end
+ 22: 00001160 0 NOTYPE GLOBAL DEFAULT 4 ___ctors
+ 23: 00001160 0 NOTYPE GLOBAL DEFAULT ABS _edata
+ 24: 00001160 0 NOTYPE GLOBAL DEFAULT ABS _end
25: 00001000 0 NOTYPE GLOBAL DEFAULT 1 start
- 26: 00080000 0 OBJECT GLOBAL DEFAULT 8 _stack
- 27: 00001160 0 OBJECT GLOBAL DEFAULT 5 ___dtors_end
+ 26: 00080000 0 NOTYPE GLOBAL DEFAULT 8 _stack
+ 27: 00001160 0 NOTYPE GLOBAL DEFAULT 5 ___dtors_end
Hex dump of section '\.text':
0x00001004 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
15: 000010bc 0 NOTYPE LOCAL DEFAULT 2 sec3
16: 00000000 0 NOTYPE LOCAL DEFAULT ABS \*ABS\*
17: 000010c4 0 NOTYPE GLOBAL DEFAULT 2 diversion
- 18: 00001160 0 OBJECT GLOBAL DEFAULT 5 ___dtors
- 19: 00001160 0 OBJECT GLOBAL DEFAULT ABS __bss_start
- 20: 00001160 0 OBJECT GLOBAL DEFAULT 4 ___ctors_end
+ 18: 00001160 0 NOTYPE GLOBAL DEFAULT 5 ___dtors
+ 19: 00001160 0 NOTYPE GLOBAL DEFAULT ABS __bss_start
+ 20: 00001160 0 NOTYPE GLOBAL DEFAULT 4 ___ctors_end
21: 000010a4 0 NOTYPE GLOBAL DEFAULT 2 diversion2
- 22: 00001160 0 OBJECT GLOBAL DEFAULT 4 ___ctors
- 23: 00001160 0 OBJECT GLOBAL DEFAULT ABS _edata
- 24: 00001160 0 OBJECT GLOBAL DEFAULT ABS _end
+ 22: 00001160 0 NOTYPE GLOBAL DEFAULT 4 ___ctors
+ 23: 00001160 0 NOTYPE GLOBAL DEFAULT ABS _edata
+ 24: 00001160 0 NOTYPE GLOBAL DEFAULT ABS _end
25: 00001000 0 NOTYPE GLOBAL DEFAULT 1 start
- 26: 00080000 0 OBJECT GLOBAL DEFAULT 8 _stack
- 27: 00001160 0 OBJECT GLOBAL DEFAULT 5 ___dtors_end
+ 26: 00080000 0 NOTYPE GLOBAL DEFAULT 8 _stack
+ 27: 00001160 0 NOTYPE GLOBAL DEFAULT 5 ___dtors_end
Hex dump of section '\.text':
0x00001004 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
15: 000010bc 0 NOTYPE LOCAL DEFAULT 2 sec3
16: 00000000 0 NOTYPE LOCAL DEFAULT ABS \*ABS\*
17: 000010c4 0 NOTYPE GLOBAL DEFAULT 2 diversion
- 18: 00001160 0 OBJECT GLOBAL DEFAULT 5 ___dtors
- 19: 00001160 0 OBJECT GLOBAL DEFAULT ABS __bss_start
- 20: 00001160 0 OBJECT GLOBAL DEFAULT 4 ___ctors_end
+ 18: 00001160 0 NOTYPE GLOBAL DEFAULT 5 ___dtors
+ 19: 00001160 0 NOTYPE GLOBAL DEFAULT ABS __bss_start
+ 20: 00001160 0 NOTYPE GLOBAL DEFAULT 4 ___ctors_end
21: 000010a4 0 NOTYPE GLOBAL DEFAULT 2 diversion2
- 22: 00001160 0 OBJECT GLOBAL DEFAULT 4 ___ctors
- 23: 00001160 0 OBJECT GLOBAL DEFAULT ABS _edata
- 24: 00001160 0 OBJECT GLOBAL DEFAULT ABS _end
+ 22: 00001160 0 NOTYPE GLOBAL DEFAULT 4 ___ctors
+ 23: 00001160 0 NOTYPE GLOBAL DEFAULT ABS _edata
+ 24: 00001160 0 NOTYPE GLOBAL DEFAULT ABS _end
25: 00001000 0 NOTYPE GLOBAL DEFAULT 1 start
- 26: 00080000 0 OBJECT GLOBAL DEFAULT 8 _stack
- 27: 00001160 0 OBJECT GLOBAL DEFAULT 5 ___dtors_end
+ 26: 00080000 0 NOTYPE GLOBAL DEFAULT 8 _stack
+ 27: 00001160 0 NOTYPE GLOBAL DEFAULT 5 ___dtors_end
Hex dump of section '\.text':
0x00001004 6ff0fff0 6ff0fff0 6ff0fff0 6ff0fff0 .*
filesz 0x0+c memsz 0x0+10 flags rw-
Sections:
-Idx Name Size VMA LMA File off Algn
+Idx Name Size VMA LMA File off Algn
0 \.text 00000048 0+1000 0+1000 00000080 2\*\*2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 \.data 0000000c 0+10c8 0+10c8 000000c8 2\*\*0
0+1004 l \.text 0+ start2
0+1030 l \.text 0+ 0x04 mediacode2
0+1018 l \.text 0+ 0x04 mediacode
-0+10d4 g O \.dtors 0+ ___dtors
-0+10d8 g O \*ABS\* 0+ __bss_start
-0+10d4 g O \.ctors 0+ ___ctors_end
-0+10d4 g O \.ctors 0+ ___ctors
-0+10d8 g O \*ABS\* 0+ _edata
-0+10d8 g O \*ABS\* 0+ _end
+0+10d4 g \.dtors 0+ ___dtors
+0+10d8 g \*ABS\* 0+ __bss_start
+0+10d4 g \.ctors 0+ ___ctors_end
+0+10d4 g \.ctors 0+ ___ctors
+0+10d8 g \*ABS\* 0+ _edata
+0+10d8 g \*ABS\* 0+ _end
0+1000 g \.text 0+ start
-0+80000 g O \.stack 0+ _stack
-0+10d4 g O \.dtors 0+ ___dtors_end
+0+80000 g \.stack 0+ _stack
+0+10d4 g \.dtors 0+ ___dtors_end
filesz 0x0+10 memsz 0x0+10 flags rw-
Sections:
-Idx Name Size VMA LMA File off Algn
+Idx Name Size VMA LMA File off Algn
0 \.text 00000032 0+1000 0+1000 00000080 2\*\*0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 \.rodata 00000010 0+1032 0+1032 000000b2 2\*\*0
0+1024 g \.text 0+ compactlabel2
0+1028 g \.text 0+ compactlabel3
0+1010 g \.text 0+ 0x04 medialabel1
-0+10d8 g O \.dtors 0+ ___dtors
+0+10d8 g \.dtors 0+ ___dtors
0+10cc g \.data 0+ medialabel4
-0+10d8 g O \*ABS\* 0+ __bss_start
-0+10d8 g O \.ctors 0+ ___ctors_end
+0+10d8 g \*ABS\* 0+ __bss_start
+0+10d8 g \.ctors 0+ ___ctors_end
0+10d4 g \.data 0+ compactlabel5
-0+10d8 g O \.ctors 0+ ___ctors
-0+10d8 g O \*ABS\* 0+ _edata
-0+10d8 g O \*ABS\* 0+ _end
+0+10d8 g \.ctors 0+ ___ctors
+0+10d8 g \*ABS\* 0+ _edata
+0+10d8 g \*ABS\* 0+ _end
0+1000 g \.text 0+ 0x04 start
-0+80000 g O \.stack 0+ _stack
-0+10d8 g O \.dtors 0+ ___dtors_end
+0+80000 g \.stack 0+ _stack
+0+10d8 g \.dtors 0+ ___dtors_end
start address 0x0+
Sections:
-Idx Name Size VMA LMA File off Algn
+Idx Name Size VMA LMA File off Algn
0 \.text 0+40 0+ 0+ 0+34 2\*\*0
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
1 \.data 0+40 0+ 0+ 0+74 2\*\*0
filesz 0x0+194 memsz 0x0+198 flags rw-
Sections:
-Idx Name Size VMA LMA File off Algn
+Idx Name Size VMA LMA File off Algn
0 \.text 0+204 0+1000 0+1000 0+80 2\*\*0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 \.rodata 0+144 0+1204 0+1204 0+284 2\*\*0
0+14e0 g \.data 0+ dbar_mixboth2
0+14ec g \.data 0+ dbaz
0+1524 g \.data 0+ dbaz_mix
-0+155c g O \.dtors 0+ ___dtors
+0+155c g \.dtors 0+ ___dtors
0+141c g \.data 0+ dfoo_mixboth2
0+119c g \.text 0+ 0x04 bazboth
0+13f0 g \.data 0+ dfoo_other
0+1164 g \.text 0+ 0x04 barboth2
0+1168 g \.text 0+ 0x04 barwithout
0+14d8 g \.data 0+ dbar_mix2
-0+1560 g O \*ABS\* 0+ __bss_start
+0+1560 g \*ABS\* 0+ __bss_start
0+1410 g \.data 0+ dfoo_mixboth
0+14c4 g \.data 0+ dbar_other
0+1180 g \.text 0+ 0x04 bar_mix2
0+14f4 g \.data 0+ dbazboth
0+1038 g \.text 0+ 0x04 foo_otherwithout
0+1190 g \.text 0+ 0x04 bar_mixwithout2
-0+155c g O \.ctors 0+ ___ctors_end
+0+155c g \.ctors 0+ ___ctors_end
0+1064 g \.text 0+ 0x04 foo_mixwithout
0+116c g \.text 0+ 0x04 bar_other
0+13d0 g \.data 0+ dfooboth
0+1034 g \.text 0+ 0x04 foo_otherboth2
0+1400 g \.data 0+ dfoo_mix
-0+155c g O \.ctors 0+ ___ctors
+0+155c g \.ctors 0+ ___ctors
0+14d4 g \.data 0+ dbar_mix
0+100c g \.text 0+ 0x04 fooboth
0+1170 g \.text 0+ 0x04 bar_otherboth
0+14c0 g \.data 0+ dbarwithout
0+1004 g \.text 0+ 0x04 foo
0+102c g \.text 0+ 0x04 foo_other
-0+1560 g O \*ABS\* 0+ _edata
-0+1560 g O \*ABS\* 0+ _end
+0+1560 g \*ABS\* 0+ _edata
+0+1560 g \*ABS\* 0+ _end
0+1430 g \.data 0+ dfoo_mixwithout2
0+1058 g \.text 0+ 0x04 foo_mixboth2
0+11d4 g \.text 0+ 0x04 baz_mix2
0+14bc g \.data 0+ dbarboth2
0+118c g \.text 0+ 0x04 bar_mixwithout
0+115c g \.text 0+ 0x04 bar
-0+80000 g O \.stack 0+ _stack
+0+80000 g \.stack 0+ _stack
0+1520 g \.data 0+ dbaz_otherwithout
0+11f4 g \.text 0+ 0x04 baz_mixwithout
0+1160 g \.text 0+ 0x04 barboth
0+14b8 g \.data 0+ dbarboth
0+1188 g \.text 0+ 0x04 bar_mixboth2
-0+155c g O \.dtors 0+ ___dtors_end
+0+155c g \.dtors 0+ ___dtors_end
0+151c g \.data 0+ dbaz_otherboth2
0+1500 g \.data 0+ dbazboth2
0+14e0 g \.data 0+ dbar_mixboth2
0+14ec g \.data 0+ dbaz
0+1524 g \.data 0+ dbaz_mix
-0+155c g O \.dtors 0+ ___dtors
+0+155c g \.dtors 0+ ___dtors
0+141c g \.data 0+ dfoo_mixboth2
0+119c g \.text 0+ 0x04 bazboth
0+13f0 g \.data 0+ dfoo_other
0+1164 g \.text 0+ 0x04 barboth2
0+1168 g \.text 0+ 0x04 barwithout
0+14d8 g \.data 0+ dbar_mix2
-0+1560 g O \*ABS\* 0+ __bss_start
+0+1560 g \*ABS\* 0+ __bss_start
0+1410 g \.data 0+ dfoo_mixboth
0+14c4 g \.data 0+ dbar_other
0+1180 g \.text 0+ 0x04 bar_mix2
0+14f4 g \.data 0+ dbazboth
0+1038 g \.text 0+ 0x04 foo_otherwithout
0+1190 g \.text 0+ 0x04 bar_mixwithout2
-0+155c g O \.ctors 0+ ___ctors_end
+0+155c g \.ctors 0+ ___ctors_end
0+1064 g \.text 0+ 0x04 foo_mixwithout
0+116c g \.text 0+ 0x04 bar_other
0+13d0 g \.data 0+ dfooboth
0+1034 g \.text 0+ 0x04 foo_otherboth2
0+1400 g \.data 0+ dfoo_mix
-0+155c g O \.ctors 0+ ___ctors
+0+155c g \.ctors 0+ ___ctors
0+14d4 g \.data 0+ dbar_mix
0+100c g \.text 0+ 0x04 fooboth
0+1170 g \.text 0+ 0x04 bar_otherboth
0+14c0 g \.data 0+ dbarwithout
0+1004 g \.text 0+ 0x04 foo
0+102c g \.text 0+ 0x04 foo_other
-0+1560 g O \*ABS\* 0+ _edata
-0+1560 g O \*ABS\* 0+ _end
+0+1560 g \*ABS\* 0+ _edata
+0+1560 g \*ABS\* 0+ _end
0+1430 g \.data 0+ dfoo_mixwithout2
0+1058 g \.text 0+ 0x04 foo_mixboth2
0+11d4 g \.text 0+ 0x04 baz_mix2
0+14bc g \.data 0+ dbarboth2
0+118c g \.text 0+ 0x04 bar_mixwithout
0+115c g \.text 0+ 0x04 bar
-0+80000 g O \.stack 0+ _stack
+0+80000 g \.stack 0+ _stack
0+1520 g \.data 0+ dbaz_otherwithout
0+11f4 g \.text 0+ 0x04 baz_mixwithout
0+1160 g \.text 0+ 0x04 barboth
0+14b8 g \.data 0+ dbarboth
0+1188 g \.text 0+ 0x04 bar_mixboth2
-0+155c g O \.dtors 0+ ___dtors_end
+0+155c g \.dtors 0+ ___dtors_end
0+151c g \.data 0+ dbaz_otherboth2
0+1500 g \.data 0+ dbazboth2
# This test can only be run on a couple of ELF platforms.
# Square bracket expressions seem to confuse istarget.
-if { ![istarget i?86-*-sysv4*] \
+if { ![istarget hppa*64*-*-hpux*] \
+ && ![istarget hppa*-*-linux*] \
+ && ![istarget i?86-*-sysv4*] \
&& ![istarget i?86-*-unixware] \
&& ![istarget i?86-*-elf*] \
&& ![istarget i?86-*-linux*] \
&& ![istarget *-*-unixware*] \
&& ![istarget *-*-elf*] \
&& ![istarget *-*-eabi*] \
+ && ![istarget hppa*64*-*-hpux*] \
&& ![istarget *-*-linux*] \
&& ![istarget *-*-irix5*] \
&& ![istarget *-*-irix6*] \