diff options
author | Hans-Peter Nilsson <hp@bitrange.com> | 2014-05-10 02:50:01 +0200 |
---|---|---|
committer | Hans-Peter Nilsson <hp@bitrange.com> | 2014-05-10 02:52:14 +0200 |
commit | eae25ec5773e12af107e65fcf0c94a54bc5180ae (patch) | |
tree | 584bbe1178f76697d0cea1e843819b9027d8c0f3 /ld/testsuite | |
parent | b1f02b89ed9e9c68eab6f645e19634315a6525c4 (diff) | |
download | gdb-eae25ec5773e12af107e65fcf0c94a54bc5180ae.zip gdb-eae25ec5773e12af107e65fcf0c94a54bc5180ae.tar.gz gdb-eae25ec5773e12af107e65fcf0c94a54bc5180ae.tar.bz2 |
Fix freeing of link_info.hash
ld:
* ldlang.c (lang_finish): Don't call bfd_link_hash_table_free here.
(output_bfd_hash_table_free_fn): New variable.
(open_output): Save the _bfd_link_hash_table_free function for the
output_bfd into output_bfd_hash_table_free_fn.
* ldmain.c (ld_cleanup): If set, call output_bfd_hash_table_free_fn
on link_info.hash.
* ldlang.h (output_bfd_hash_table_free_fn): Declare.
ld/testsuite:
* ld-mmix/wrap1.d, ld-mmix/wrap1a.s, ld-mmix/wrap1b.s,
ld-mmix/wrap1c.s, ld-mmix/wrap2.d, ld-mmix/wrap3.d,
ld-mmix/wrap3a.s, ld-mmix/wrap3b.s, ld-mmix/wrap4.d: New
tests.
Diffstat (limited to 'ld/testsuite')
-rw-r--r-- | ld/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/wrap1.d | 21 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/wrap1a.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/wrap1b.s | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/wrap1c.s | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/wrap2.d | 21 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/wrap3.d | 21 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/wrap3a.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/wrap3b.s | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/wrap4.d | 21 |
10 files changed, 107 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index ed50efa..021d17c 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2014-05-10 Hans-Peter Nilsson <hp@bitrange.com> + + * ld-mmix/wrap1.d, ld-mmix/wrap1a.s, ld-mmix/wrap1b.s, + ld-mmix/wrap1c.s, ld-mmix/wrap2.d, ld-mmix/wrap3.d, + ld-mmix/wrap3a.s, ld-mmix/wrap3b.s, ld-mmix/wrap4.d: New + tests. + 2014-05-09 H.J. Lu <hongjiu.lu@intel.com> * ld-x86-64/tlsbin.dd: Replace data32 with data16. diff --git a/ld/testsuite/ld-mmix/wrap1.d b/ld/testsuite/ld-mmix/wrap1.d new file mode 100644 index 0000000..02d7bef --- /dev/null +++ b/ld/testsuite/ld-mmix/wrap1.d @@ -0,0 +1,21 @@ +#source: start.s +#source: wrap1a.s +#source: wrap1b.s +#source: wrap1c.s +#ld: -m mmo --wrap deal +#as: -no-expand +#objdump: -d + +.*: file format mmo + +Disassembly of section \.text: + +0+ <(_start|Main)>: + 0: e3fd0001 setl \$253,0x1 + 4: f2000001 pushj \$0,8 <__wrap_deal> + +0+8 <__wrap_deal>: + 8: f0000001 jmp c <deal> + +0+c <deal>: + c: fd000000 swym 0,0,0 diff --git a/ld/testsuite/ld-mmix/wrap1a.s b/ld/testsuite/ld-mmix/wrap1a.s new file mode 100644 index 0000000..88a5cd2 --- /dev/null +++ b/ld/testsuite/ld-mmix/wrap1a.s @@ -0,0 +1,2 @@ + .text + pushj $0,deal diff --git a/ld/testsuite/ld-mmix/wrap1b.s b/ld/testsuite/ld-mmix/wrap1b.s new file mode 100644 index 0000000..367aea0 --- /dev/null +++ b/ld/testsuite/ld-mmix/wrap1b.s @@ -0,0 +1,4 @@ + .text + .globl __wrap_deal +__wrap_deal: + jmp __real_deal diff --git a/ld/testsuite/ld-mmix/wrap1c.s b/ld/testsuite/ld-mmix/wrap1c.s new file mode 100644 index 0000000..a7678d4 --- /dev/null +++ b/ld/testsuite/ld-mmix/wrap1c.s @@ -0,0 +1,4 @@ + .text + .globl deal +deal: + swym 0 diff --git a/ld/testsuite/ld-mmix/wrap2.d b/ld/testsuite/ld-mmix/wrap2.d new file mode 100644 index 0000000..49b4d3b --- /dev/null +++ b/ld/testsuite/ld-mmix/wrap2.d @@ -0,0 +1,21 @@ +#source: start.s +#source: wrap1a.s +#source: wrap1b.s +#source: wrap1c.s +#ld: -m elf64mmix --wrap deal +#as: -no-expand +#objdump: -d + +.*: file format elf64-mmix + +Disassembly of section \.text: + +0+ <(_start|Main)>: + 0: e3fd0001 setl \$253,0x1 + 4: f2000001 pushj \$0,8 <__wrap_deal> + +0+8 <__wrap_deal>: + 8: f0000001 jmp c <deal> + +0+c <deal>: + c: fd000000 swym 0,0,0 diff --git a/ld/testsuite/ld-mmix/wrap3.d b/ld/testsuite/ld-mmix/wrap3.d new file mode 100644 index 0000000..80b20f1 --- /dev/null +++ b/ld/testsuite/ld-mmix/wrap3.d @@ -0,0 +1,21 @@ +#source: start.s +#source: wrap3a.s +#source: wrap3b.s +#source: wrap1c.s +#ld: -m mmo +#as: -no-expand +#objdump: -d + +.*: file format mmo + +Disassembly of section \.text: + +0+ <(_start|Main)>: + 0: e3fd0001 setl \$253,0x1 + 4: f2000001 pushj \$0,8 <__wrap_deal> + +0+8 <__wrap_deal>: + 8: f0000001 jmp c <deal> + +0+c <deal>: + c: fd000000 swym 0,0,0 diff --git a/ld/testsuite/ld-mmix/wrap3a.s b/ld/testsuite/ld-mmix/wrap3a.s new file mode 100644 index 0000000..7192a93 --- /dev/null +++ b/ld/testsuite/ld-mmix/wrap3a.s @@ -0,0 +1,2 @@ + .text + pushj $0,__wrap_deal diff --git a/ld/testsuite/ld-mmix/wrap3b.s b/ld/testsuite/ld-mmix/wrap3b.s new file mode 100644 index 0000000..6a8a606 --- /dev/null +++ b/ld/testsuite/ld-mmix/wrap3b.s @@ -0,0 +1,4 @@ + .text + .globl __wrap_deal +__wrap_deal: + jmp deal diff --git a/ld/testsuite/ld-mmix/wrap4.d b/ld/testsuite/ld-mmix/wrap4.d new file mode 100644 index 0000000..a64578d --- /dev/null +++ b/ld/testsuite/ld-mmix/wrap4.d @@ -0,0 +1,21 @@ +#source: start.s +#source: wrap3a.s +#source: wrap3b.s +#source: wrap1c.s +#ld: -m elf64mmix +#as: -no-expand +#objdump: -d + +.*: file format elf64-mmix + +Disassembly of section \.text: + +0+ <(_start|Main)>: + 0: e3fd0001 setl \$253,0x1 + 4: f2000001 pushj \$0,8 <__wrap_deal> + +0+8 <__wrap_deal>: + 8: f0000001 jmp c <deal> + +0+c <deal>: + c: fd000000 swym 0,0,0 |