diff options
author | Paul Brook <paul@codesourcery.com> | 2007-02-22 17:03:59 +0000 |
---|---|---|
committer | Paul Brook <paul@codesourcery.com> | 2007-02-22 17:03:59 +0000 |
commit | 6a5bb8757e503d29dd2b0cc656a8747bca71362e (patch) | |
tree | 739be2901b553d31859250350c69dc13a3454070 /ld | |
parent | 115d86cfaa1c3ecbf7ce54222a7622a2adb994f9 (diff) | |
download | gdb-6a5bb8757e503d29dd2b0cc656a8747bca71362e.zip gdb-6a5bb8757e503d29dd2b0cc656a8747bca71362e.tar.gz gdb-6a5bb8757e503d29dd2b0cc656a8747bca71362e.tar.bz2 |
2007-02-22 Paul Brook <paul@codesourcery.com>
bfd/
* elflink.c (gc_mark_hook_fn): Remove.
(_bfd_elf_gc_mark): Rename gc_mark_hook_fn to elf_gc_mark_hook_fn.
(bfd_elf_gc_sections): Ditto. Call gc_mark_extra_sections.
* elf-bfd.h (elf_gc_mark_hook_fn): Define.
(elf_backend_data): Add gc_mark_extra_sections.
* elfxx-target.h (elf_backend_gc_mark_extra_sections): Provide default
definition.
(elfNN_bed): Add elf_backend_gc_mark_extra_sections.
* elf32-arm.c (elf32_arm_gc_mark_extra_sections): New function.
(elf_backend_gc_mark_extra_sections): Define.
ld/testsuite/
* ld-arm/arm-elf.exp (armelftests): Add gc-unwind.h.
* ld-arm/gc-unwind.s: New file.
* ld-arm/gc-unwind.d: New file.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/arm-elf.exp | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/gc-unwind.d | 5 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/gc-unwind.s | 38 |
4 files changed, 52 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 2f75a9e..17be551 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2007-02-22 Paul Brook <paul@codesourcery.com> + + * ld-arm/arm-elf.exp (armelftests): Add gc-unwind.h. + * ld-arm/gc-unwind.s: New file. + * ld-arm/gc-unwind.d: New file. + 2007-02-14 H.J. Lu <hongjiu.lu@intel.com> PR ld/3953 diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp index 71d817a..9b7b369 100644 --- a/ld/testsuite/ld-arm/arm-elf.exp +++ b/ld/testsuite/ld-arm/arm-elf.exp @@ -156,6 +156,9 @@ set armelftests { "-EL --vfp11-denorm-fix=scalar" "-EL" {vfp11-fix-none.s} {{objdump -dr vfp11-fix-none.d}} "vfp11-fix-none"} + {"Unwinding and -gc-sections" "-gc-sections" "" {gc-unwind.s} + {{objdump -sj.data gc-unwind.d}} + "gc-unwind"} } diff --git a/ld/testsuite/ld-arm/gc-unwind.d b/ld/testsuite/ld-arm/gc-unwind.d new file mode 100644 index 0000000..fbb7911 --- /dev/null +++ b/ld/testsuite/ld-arm/gc-unwind.d @@ -0,0 +1,5 @@ + +.*: file format.* + +Contents of section .data: + [^ ]* 22222222 .* diff --git a/ld/testsuite/ld-arm/gc-unwind.s b/ld/testsuite/ld-arm/gc-unwind.s new file mode 100644 index 0000000..c5326c2 --- /dev/null +++ b/ld/testsuite/ld-arm/gc-unwind.s @@ -0,0 +1,38 @@ +@ Test -gc-sections and unwinding tables. .data.eh should be pulled in +@ via the EH tables, .data.foo should not. +.text +.global _start +.fnstart +_start: +bx lr +.personality my_pr +.handlerdata +.word 0 +.fnend + +.section .data.foo +my_foo: +.word 0x11111111 + +.section .text.foo +.fnstart +foo: +bx lr +.personality my_pr +.handlerdata +.word my_foo +.fnend + +.section .data.eh +my_eh: +.word 0x22222222 + +.section .text.eh +.fnstart +my_pr: +bx lr +.personality my_pr +.handlerdata +.word my_eh +.fnend + |