diff options
author | Daniel Jacobowitz <drow@false.org> | 2004-11-17 17:50:28 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2004-11-17 17:50:28 +0000 |
commit | b7693d02137c80845e6878f5efea94f7162bd77b (patch) | |
tree | c5cb392f78908c476f9201c8eca2d64463a41b0d /gas | |
parent | e2cb164148ad40db646a7ce8d0d02beb981ed915 (diff) | |
download | gdb-b7693d02137c80845e6878f5efea94f7162bd77b.zip gdb-b7693d02137c80845e6878f5efea94f7162bd77b.tar.gz gdb-b7693d02137c80845e6878f5efea94f7162bd77b.tar.bz2 |
bfd/
* elf32-arm.c (PLT_THUMB_STUB_SIZE): Define.
(elf32_arm_plt_thumb_stub): New.
(struct elf32_arm_link_hash_entry): Add plt_thumb_refcount
and plt_got_offset.
(elf32_arm_link_hash_traverse): Fix typo.
(elf32_arm_link_hash_table): Add obfd.
(elf32_arm_link_hash_newfunc): Initialize new fields.
(elf32_arm_copy_indirect_symbol): Copy plt_thumb_refcount.
(elf32_arm_link_hash_table_create): Initialize obfd.
(record_arm_to_thumb_glue): Mark the glue as a local ARM function.
(record_thumb_to_arm_glue): Mark the glue as a local Thumb function.
(bfd_elf32_arm_get_bfd_for_interworking): Verify that the
interworking BFD is not dynamic.
(bfd_elf32_arm_process_before_allocation): Handle R_ARM_PLT32. Do
not emit glue for PLT references.
(elf32_arm_final_link_relocate): Handle Thumb functions. Do not
emit glue for PLT references. Support the Thumb PLT prefix.
(elf32_arm_gc_sweep_hook): Handle R_ARM_THM_PC22 and
plt_thumb_refcount.
(elf32_arm_check_relocs): Likewise.
(elf32_arm_adjust_dynamic_symbol): Handle Thumb functions and
plt_thumb_refcount.
(allocate_dynrelocs): Handle Thumb PLT references.
(elf32_arm_finish_dynamic_symbol): Likewise.
(elf32_arm_symbol_processing): New function.
(elf_backend_symbol_processing): Define.
opcodes/
* arm-dis.c (WORD_ADDRESS): Define.
(print_insn): Use it. Correct big-endian end-of-section handling.
gas/testsuite/
* gas/arm/mapping.d: Expect F markers for Thumb code.
* gas/arm/unwind.d: Update big-endian pattern.
ld/
* emultempl/armelf.em (arm_elf_set_bfd_for_interworking): Don't use
a dynamic object for stubs.
ld/testsuite/
* ld-arm/mixed-app.d, ld-arm/mixed-app.r, ld-arm/mixed-app.s,
ld-arm/mixed-app.sym, ld-arm/mixed-lib.d, ld-arm/mixed-lib.r,
ld-arm/mixed-lib.s, ld-arm/mixed-lib.sym, ld-arm/arm-dyn.ld,
ld-arm/arm-lib.ld: New files.
* ld-arm/arm-app-abs32.d, ld-arm/arm-app-abs32.r, ld-arm/arm-app.d,
ld-arm/arm-app.r, ld-arm/arm-lib-plt32.d, ld-arm/arm-lib-plt32.r,
ld-arm/arm-lib.d, ld-arm/arm-lib.r, ld-arm/arm-static-app.d,
ld-arm/arm-static-app.r: Update for big-endian.
* ld-arm/arm-elf.exp: Run the new tests.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/mapping.d | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/unwind.d | 6 |
3 files changed, 11 insertions, 6 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 9de9798..beb0c48 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2004-11-17 Daniel Jacobowitz <dan@codesourcery.com> + + * gas/arm/mapping.d: Expect F markers for Thumb code. + * gas/arm/unwind.d: Update big-endian pattern. + 2004-11-12 Nick Clifton <nickc@redhat.com> * gas/mn10300/basic.exp: Add relax test. diff --git a/gas/testsuite/gas/arm/mapping.d b/gas/testsuite/gas/arm/mapping.d index c6ddd09..7ad249e 100644 --- a/gas/testsuite/gas/arm/mapping.d +++ b/gas/testsuite/gas/arm/mapping.d @@ -10,9 +10,9 @@ SYMBOL TABLE: 0+00 l d .data 0+0 0+00 l d .bss 0+0 0+00 l F .text 0+0 \$a -0+08 l .text 0+0 \$t +0+08 l F .text 0+0 \$t 0+00 l O .data 0+0 \$d 0+00 l d foo 0+0 -0+00 l foo 0+0 \$t +0+00 l F foo 0+0 \$t 0+00 g .text 0+0 mapping -0+08 g .text 0+0 thumb_mapping +0+08 g F .text 0+0 thumb_mapping diff --git a/gas/testsuite/gas/arm/unwind.d b/gas/testsuite/gas/arm/unwind.d index 63f9fdb..7be60b4 100644 --- a/gas/testsuite/gas/arm/unwind.d +++ b/gas/testsuite/gas/arm/unwind.d @@ -21,13 +21,13 @@ OFFSET TYPE VALUE Contents of section .text: - 0000 (0000a0e3 0100a0e3 0200a0e3 0300a0e3|e3a00000 a0e30001 e3a00002 e3a00003) .* + 0000 (0000a0e3 0100a0e3 0200a0e3 0300a0e3|e3a00000 e3a00001 e3a00002 e3a00003) .* 0010 (0420|2004) .* Contents of section .ARM.extab: 0000 (449b0181 b0b08086|81019b44 8680b0b0) 00000000 00000000 .* - 0010 (8402b101 b0b0b005 2a000000 00c60181|01b10284 05b0b0b0 000000a2 8101c600) .* + 0010 (8402b101 b0b0b005 2a000000 00c60181|01b10284 05b0b0b0 0000002a 8101c600) .* 0020 (b0b0c1c1|c1c1b0b0) 00000000 .* Contents of section .ARM.exidx: 0000 00000000 (b0b0a880 04000000|80a8b0b0 00000004) 00000000 .* 0010 (08000000 0c000000 0c000000 1c000000|00000008 0000000c 0000000c 0000001c) .* - 0020 (10000000 08849780|00000010 80978480) .* + 0020 (10000000 08849780|00000010 80978408) .* |