aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2009-04-21 22:05:04 +0000
committerDaniel Jacobowitz <drow@false.org>2009-04-21 22:05:04 +0000
commit3e6b10420efe916a2461d1f336697a5c049ea921 (patch)
tree99a7e143d8ddf79413a6164beae6a7b2f647550d /ld/testsuite
parent62e4f60cdb325ead1609bc7d609d2499b0cd87af (diff)
downloadgdb-3e6b10420efe916a2461d1f336697a5c049ea921.zip
gdb-3e6b10420efe916a2461d1f336697a5c049ea921.tar.gz
gdb-3e6b10420efe916a2461d1f336697a5c049ea921.tar.bz2
bfd/
* elf32-arm.c (INTERWORK_FLAG): Check BFD_LINKER_CREATED. (elf32_arm_write_section): Declare early. (elf32_arm_size_stubs): Skip non-stub sections in the stub BFD. (arm_allocate_glue_section_space): Exclude empty sections. (ARM_GLUE_SECTION_FLAGS): Add SEC_LINKER_CREATED. (bfd_elf32_arm_add_glue_sections_to_bfd): Do not skip the stub BFD. (elf32_arm_output_glue_section, elf32_arm_final_link): New. (elf32_arm_merge_eabi_attributes): Skip the stub BFD. (elf32_arm_size_dynamic_sections): Allocate interworking sections here. (bfd_elf32_bfd_final_link): Define. ld/ * emultempl/armelf.em (bfd_for_interwork, arm_elf_after_open) (arm_elf_set_bfd_for_interworking): Delete. (arm_elf_before_allocation): Do not set the interworking BFD. Move allocation inside not-dynamic block. (arm_elf_create_output_section_statements): Create glue sections and set the interworking BFD here. (LDEMUL_AFTER_OPEN): Delete. ld/testsuite/ * ld-arm/farcall-mix.d, ld-arm/farcall-mix2.d, ld-arm/farcall-group-size2.d, ld-arm/farcall-group.d, ld-arm/farcall-mixed-lib.d: Update for linker changes.
Diffstat (limited to 'ld/testsuite')
-rw-r--r--ld/testsuite/ChangeLog6
-rw-r--r--ld/testsuite/ld-arm/farcall-group-size2.d46
-rw-r--r--ld/testsuite/ld-arm/farcall-group.d34
-rw-r--r--ld/testsuite/ld-arm/farcall-mix.d32
-rw-r--r--ld/testsuite/ld-arm/farcall-mix2.d18
-rw-r--r--ld/testsuite/ld-arm/farcall-mixed-lib.d16
6 files changed, 79 insertions, 73 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 175ca0a..d558aa7 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2009-04-21 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * ld-arm/farcall-mix.d, ld-arm/farcall-mix2.d,
+ ld-arm/farcall-group-size2.d, ld-arm/farcall-group.d,
+ ld-arm/farcall-mixed-lib.d: Update for linker changes.
+
2009-04-17 Christophe Lyon <christophe.lyon@st.com>
* ld-arm/arm-elf.exp: Add new test farcall-mixed-lib.
diff --git a/ld/testsuite/ld-arm/farcall-group-size2.d b/ld/testsuite/ld-arm/farcall-group-size2.d
index d49887f..79306ee 100644
--- a/ld/testsuite/ld-arm/farcall-group-size2.d
+++ b/ld/testsuite/ld-arm/farcall-group-size2.d
@@ -4,32 +4,32 @@
Disassembly of section .text:
00001000 <_start>:
- 1000: eb000002 bl 1010 <__bar_from_arm>
- 1004: ebffffff bl 1008 <__bar2_veneer>
-00001008 <__bar2_veneer>:
- 1008: e51ff004 ldr pc, \[pc, #-4\] ; 100c <__bar2_veneer\+0x4>
- 100c: 02003024 .word 0x02003024
-00001010 <__bar_from_arm>:
- 1010: e59fc000 ldr ip, \[pc, #0\] ; 1018 <__bar_from_arm\+0x8>
- 1014: e12fff1c bx ip
- 1018: 02003021 .word 0x02003021
+ 1000: eb000000 bl 1008 <__bar_from_arm>
+ 1004: eb000002 bl 1014 <__bar2_veneer>
+00001008 <__bar_from_arm>:
+ 1008: e59fc000 ldr ip, \[pc, #0\] ; 1010 <__bar_from_arm\+0x8>
+ 100c: e12fff1c bx ip
+ 1010: 02003021 .word 0x02003021
+00001014 <__bar2_veneer>:
+ 1014: e51ff004 ldr pc, \[pc, #-4\] ; 1018 <__bar2_veneer\+0x4>
+ 1018: 02003024 .word 0x02003024
101c: 00000000 .word 0x00000000
00001020 <myfunc>:
- 1020: eb000002 bl 1030 <__bar3_veneer>
- 1024: eb000006 bl 1044 <__bar4_from_arm>
- 1028: eb000002 bl 1038 <__bar5_from_arm>
+ 1020: eb000008 bl 1048 <__bar3_veneer>
+ 1024: eb000004 bl 103c <__bar4_from_arm>
+ 1028: eb000000 bl 1030 <__bar5_from_arm>
102c: 00000000 andeq r0, r0, r0
-00001030 <__bar3_veneer>:
- 1030: e51ff004 ldr pc, \[pc, #-4\] ; 1034 <__bar3_veneer\+0x4>
- 1034: 02003028 .word 0x02003028
-00001038 <__bar5_from_arm>:
- 1038: e59fc000 ldr ip, \[pc, #0\] ; 1040 <__bar5_from_arm\+0x8>
- 103c: e12fff1c bx ip
- 1040: 0200302f .word 0x0200302f
-00001044 <__bar4_from_arm>:
- 1044: e59fc000 ldr ip, \[pc, #0\] ; 104c <__bar4_from_arm\+0x8>
- 1048: e12fff1c bx ip
- 104c: 0200302d .word 0x0200302d
+00001030 <__bar5_from_arm>:
+ 1030: e59fc000 ldr ip, \[pc, #0\] ; 1038 <__bar5_from_arm\+0x8>
+ 1034: e12fff1c bx ip
+ 1038: 0200302f .word 0x0200302f
+0000103c <__bar4_from_arm>:
+ 103c: e59fc000 ldr ip, \[pc, #0\] ; 1044 <__bar4_from_arm\+0x8>
+ 1040: e12fff1c bx ip
+ 1044: 0200302d .word 0x0200302d
+00001048 <__bar3_veneer>:
+ 1048: e51ff004 ldr pc, \[pc, #-4\] ; 104c <__bar3_veneer\+0x4>
+ 104c: 02003028 .word 0x02003028
...
Disassembly of section .foo:
diff --git a/ld/testsuite/ld-arm/farcall-group.d b/ld/testsuite/ld-arm/farcall-group.d
index f7ff972..10e983e 100644
--- a/ld/testsuite/ld-arm/farcall-group.d
+++ b/ld/testsuite/ld-arm/farcall-group.d
@@ -4,12 +4,12 @@
Disassembly of section .text:
00001000 <_start>:
- 1000: eb000007 bl 1024 <__bar_from_arm>
- 1004: eb00000c bl 103c <__bar2_veneer>
+ 1000: eb00000c bl 1038 <__bar_from_arm>
+ 1004: eb00000e bl 1044 <__bar2_veneer>
00001008 <myfunc>:
- 1008: eb00000d bl 1044 <__bar3_veneer>
- 100c: eb000007 bl 1030 <__bar4_from_arm>
+ 1008: eb000008 bl 1030 <__bar3_veneer>
+ 100c: eb000004 bl 1024 <__bar4_from_arm>
1010: eb000000 bl 1018 <__bar5_from_arm>
1014: 00000000 andeq r0, r0, r0
@@ -17,20 +17,20 @@ Disassembly of section .text:
1018: e59fc000 ldr ip, \[pc, #0\] ; 1020 <__bar5_from_arm\+0x8>
101c: e12fff1c bx ip
1020: 0200302f .word 0x0200302f
-00001024 <__bar_from_arm>:
- 1024: e59fc000 ldr ip, \[pc, #0\] ; 102c <__bar_from_arm\+0x8>
+00001024 <__bar4_from_arm>:
+ 1024: e59fc000 ldr ip, \[pc, #0\] ; 102c <__bar4_from_arm\+0x8>
1028: e12fff1c bx ip
- 102c: 02003021 .word 0x02003021
-00001030 <__bar4_from_arm>:
- 1030: e59fc000 ldr ip, \[pc, #0\] ; 1038 <__bar4_from_arm\+0x8>
- 1034: e12fff1c bx ip
- 1038: 0200302d .word 0x0200302d
-0000103c <__bar2_veneer>:
- 103c: e51ff004 ldr pc, \[pc, #-4\] ; 1040 <__bar2_veneer\+0x4>
- 1040: 02003024 .word 0x02003024
-00001044 <__bar3_veneer>:
- 1044: e51ff004 ldr pc, \[pc, #-4\] ; 1048 <__bar3_veneer\+0x4>
- 1048: 02003028 .word 0x02003028
+ 102c: 0200302d .word 0x0200302d
+00001030 <__bar3_veneer>:
+ 1030: e51ff004 ldr pc, \[pc, #-4\] ; 1034 <__bar3_veneer\+0x4>
+ 1034: 02003028 .word 0x02003028
+00001038 <__bar_from_arm>:
+ 1038: e59fc000 ldr ip, \[pc, #0\] ; 1040 <__bar_from_arm\+0x8>
+ 103c: e12fff1c bx ip
+ 1040: 02003021 .word 0x02003021
+00001044 <__bar2_veneer>:
+ 1044: e51ff004 ldr pc, \[pc, #-4\] ; 1048 <__bar2_veneer\+0x4>
+ 1048: 02003024 .word 0x02003024
...
Disassembly of section .foo:
diff --git a/ld/testsuite/ld-arm/farcall-mix.d b/ld/testsuite/ld-arm/farcall-mix.d
index 7b1a6c6..669a79b 100644
--- a/ld/testsuite/ld-arm/farcall-mix.d
+++ b/ld/testsuite/ld-arm/farcall-mix.d
@@ -4,27 +4,27 @@
Disassembly of section .text:
00001000 <_start>:
- 1000: eb000004 bl 1018 <__bar_from_arm>
- 1004: eb000006 bl 1024 <__bar2_veneer>
- 1008: eb00000a bl 1038 <__bar3_veneer>
+ 1000: eb000009 bl 102c <__bar_from_arm>
+ 1004: eb00000b bl 1038 <__bar2_veneer>
+ 1008: eb000005 bl 1024 <__bar3_veneer>
100c: eb00000b bl 1040 <__bar4_from_arm>
- 1010: eb000005 bl 102c <__bar5_from_arm>
+ 1010: eb000000 bl 1018 <__bar5_from_arm>
1014: 00000000 andeq r0, r0, r0
-00001018 <__bar_from_arm>:
- 1018: e59fc000 ldr ip, \[pc, #0\] ; 1020 <__bar_from_arm\+0x8>
+00001018 <__bar5_from_arm>:
+ 1018: e59fc000 ldr ip, \[pc, #0\] ; 1020 <__bar5_from_arm\+0x8>
101c: e12fff1c bx ip
- 1020: 02002021 .word 0x02002021
-00001024 <__bar2_veneer>:
- 1024: e51ff004 ldr pc, \[pc, #-4\] ; 1028 <__bar2_veneer\+0x4>
- 1028: 02002024 .word 0x02002024
-0000102c <__bar5_from_arm>:
- 102c: e59fc000 ldr ip, \[pc, #0\] ; 1034 <__bar5_from_arm\+0x8>
+ 1020: 0200202f .word 0x0200202f
+00001024 <__bar3_veneer>:
+ 1024: e51ff004 ldr pc, \[pc, #-4\] ; 1028 <__bar3_veneer\+0x4>
+ 1028: 02002028 .word 0x02002028
+0000102c <__bar_from_arm>:
+ 102c: e59fc000 ldr ip, \[pc, #0\] ; 1034 <__bar_from_arm\+0x8>
1030: e12fff1c bx ip
- 1034: 0200202f .word 0x0200202f
-00001038 <__bar3_veneer>:
- 1038: e51ff004 ldr pc, \[pc, #-4\] ; 103c <__bar3_veneer\+0x4>
- 103c: 02002028 .word 0x02002028
+ 1034: 02002021 .word 0x02002021
+00001038 <__bar2_veneer>:
+ 1038: e51ff004 ldr pc, \[pc, #-4\] ; 103c <__bar2_veneer\+0x4>
+ 103c: 02002024 .word 0x02002024
00001040 <__bar4_from_arm>:
1040: e59fc000 ldr ip, \[pc, #0\] ; 1048 <__bar4_from_arm\+0x8>
1044: e12fff1c bx ip
diff --git a/ld/testsuite/ld-arm/farcall-mix2.d b/ld/testsuite/ld-arm/farcall-mix2.d
index c3e775b..059803e 100644
--- a/ld/testsuite/ld-arm/farcall-mix2.d
+++ b/ld/testsuite/ld-arm/farcall-mix2.d
@@ -18,21 +18,21 @@ Disassembly of section .text:
Disassembly of section .mytext:
00002000 <__bar5_from_arm-0x10>:
- 2000: eb000005 bl 201c <__bar3_veneer>
- 2004: eb000006 bl 2024 <__bar4_from_arm>
+ 2000: eb000008 bl 2028 <__bar3_veneer>
+ 2004: eb000004 bl 201c <__bar4_from_arm>
2008: eb000000 bl 2010 <__bar5_from_arm>
200c: 00000000 andeq r0, r0, r0
00002010 <__bar5_from_arm>:
2010: e59fc000 ldr ip, \[pc, #0\] ; 2018 <__bar5_from_arm\+0x8>
2014: e12fff1c bx ip
2018: 0200302f .word 0x0200302f
-0000201c <__bar3_veneer>:
- 201c: e51ff004 ldr pc, \[pc, #-4\] ; 2020 <__bar3_veneer\+0x4>
- 2020: 02003028 .word 0x02003028
-00002024 <__bar4_from_arm>:
- 2024: e59fc000 ldr ip, \[pc, #0\] ; 202c <__bar4_from_arm\+0x8>
- 2028: e12fff1c bx ip
- 202c: 0200302d .word 0x0200302d
+0000201c <__bar4_from_arm>:
+ 201c: e59fc000 ldr ip, \[pc, #0\] ; 2024 <__bar4_from_arm\+0x8>
+ 2020: e12fff1c bx ip
+ 2024: 0200302d .word 0x0200302d
+00002028 <__bar3_veneer>:
+ 2028: e51ff004 ldr pc, \[pc, #-4\] ; 202c <__bar3_veneer\+0x4>
+ 202c: 02003028 .word 0x02003028
...
Disassembly of section .foo:
diff --git a/ld/testsuite/ld-arm/farcall-mixed-lib.d b/ld/testsuite/ld-arm/farcall-mixed-lib.d
index db2243f..829db45 100644
--- a/ld/testsuite/ld-arm/farcall-mixed-lib.d
+++ b/ld/testsuite/ld-arm/farcall-mixed-lib.d
@@ -31,22 +31,22 @@ Disassembly of section .text:
.*: e1a00000 .word 0xe1a00000
.* <lib_func2>:
- .*: f000 e80c blx 100030c <__app_func_from_thumb>
- .*: f000 e804 blx 1000300 <__app_func_weak_from_thumb>
+ .*: f000 e806 blx 1000300 <__app_func_from_thumb>
+ .*: f000 e80a blx 100030c <__app_func_weak_from_thumb>
.*: 4770 bx lr
.*: 46c0 nop \(mov r8, r8\)
.*: 46c0 nop \(mov r8, r8\)
.*: 46c0 nop \(mov r8, r8\)
-.* <__app_func_weak_from_thumb>:
- .*: e59fc000 ldr ip, \[pc, #0\] ; 1000308 <__app_func_weak_from_thumb\+0x8>
+.* <__app_func_from_thumb>:
+ .*: e59fc000 ldr ip, \[pc, #0\] ; 1000308 <__app_func_from_thumb\+0x8>
.*: e08ff00c add pc, pc, ip
- .*: feffffb4 .word 0xfeffffb4
+ .*: feffffa8 .word 0xfeffffa8
-.* <__app_func_from_thumb>:
- .*: e59fc000 ldr ip, \[pc, #0\] ; 1000314 <__app_func_from_thumb\+0x8>
+.* <__app_func_weak_from_thumb>:
+ .*: e59fc000 ldr ip, \[pc, #0\] ; 1000314 <__app_func_weak_from_thumb\+0x8>
.*: e08ff00c add pc, pc, ip
- .*: feffff9c .word 0xfeffff9c
+ .*: feffffa8 .word 0xfeffffa8
...
.* <lib_func3>: