summaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-i386
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-06-20 13:18:44 +0000
committerJakub Jelinek <jakub@redhat.com>2011-06-20 13:18:44 +0000
commita4bfcbc92df1d28f6c54193ab7ac98796b587ef7 (patch)
tree18f1f9e23747b13e74c313b34c2f1a52390e2830 /ld/testsuite/ld-i386
parentb3ecda996844dd0464f7e88bfdb07a94f7a33d21 (diff)
downloadbinutils-redhat-a4bfcbc92df1d28f6c54193ab7ac98796b587ef7.tar.gz
PR ld/12570
include/ * bfdlink.h (struct bfd_link_info): Add no_ld_generated_unwind_info option. ld/ * emultempl/elf32.em (OPTION_LD_GENERATED_UNWIND_INFO, OPTION_NO_LD_GENERATED_UNWIND_INFO): Define. (gld${EMULATION_NAME}_handle_option): Handle --ld-generated-unwind-info and --no-ld-generated-unwind-info. * ld.texinfo (--ld-generated-unwind-info, --no-ld-generated-unwind-info): Document. bfd/ * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Allow no relocations at all for linker created .eh_frame sections. (_bfd_elf_discard_section_eh_frame): Handle linker created .eh_frame sections with no relocations. * elf64-x86-64.c: Include dwarf2.h. (elf_x86_64_eh_frame_plt): New variable. (PLT_CIE_LENGTH, PLT_FDE_LENGTH, PLT_FDE_START_OFFSET, PLT_FDE_LEN_OFFSET): Define. (struct elf_x86_64_link_hash_table): Add plt_eh_frame field. (elf_x86_64_create_dynamic_sections): Create and fill in .eh_frame section for .plt section. (elf_x86_64_size_dynamic_sections): Write .plt section size into .eh_frame FDE covering .plt section. (elf_x86_64_finish_dynamic_sections): Write .plt section start into .eh_frame FDE covering .plt section. Call _bfd_elf_write_section_eh_frame on htab->plt_eh_frame section. (elf_backend_plt_alignment): Define to 4. * elf32-i386.c: Include dwarf2.h. (elf_i386_eh_frame_plt): New variable. (PLT_CIE_LENGTH, PLT_FDE_LENGTH, PLT_FDE_START_OFFSET, PLT_FDE_LEN_OFFSET): Define. (struct elf_i386_link_hash_table): Add plt_eh_frame field. (elf_i386_create_dynamic_sections): Create and fill in .eh_frame section for .plt section. (elf_i386_size_dynamic_sections): Write .plt section size into .eh_frame FDE covering .plt section. (elf_i386_finish_dynamic_sections): Write .plt section start into .eh_frame FDE covering .plt section. Call _bfd_elf_write_section_eh_frame on htab->plt_eh_frame section. (elf_backend_plt_alignment): Define to 4. ld/testsuite/ * ld-x86-64/x86-64.exp: Link some testcases with --no-ld-generated-unwind-info. * ld-x86-64/tlsbin.rd: Add --no-ld-generated-unwind-info to ld comment. * ld-x86-64/tlsdesc.dd: Likewise. * ld-x86-64/tlspic.dd: Likewise. * ld-x86-64/tlsdesc.sd: Likewise. * ld-x86-64/tlspic.rd: Likewise. * ld-x86-64/tlsbindesc.rd: Likewise. * ld-x86-64/tlsbindesc.sd: Likewise. * ld-x86-64/tlsbin.td: Likewise. * ld-x86-64/tlsdesc.pd: Likewise. * ld-x86-64/tlsdesc.td: Likewise. * ld-x86-64/tlsbindesc.dd: Likewise. * ld-x86-64/tlsbin.dd: Likewise. * ld-x86-64/tlsgdesc.rd: Likewise. * ld-x86-64/tlspic.sd: Likewise. * ld-x86-64/tlsbindesc.td: Likewise. * ld-x86-64/tlspic.td: Likewise. * ld-x86-64/tlsbin.sd: Likewise. * ld-x86-64/ilp32-4.d: Likewise. * ld-x86-64/tlsgdesc.dd: Add --no-ld-generated-unwind-info to ld comment. Adjust. * ld-x86-64/tlsdesc.rd: Likewise. * ld-x86-64/tlsgd6.dd: Adjust. * ld-x86-64/tlsgd5.dd: Likewise. * ld-i386/i386.exp: Link some testcases with --no-ld-generated-unwind-info. * ld-i386/tlsbin.rd: Add --no-ld-generated-unwind-info to ld comment.. * ld-i386/tlsdesc.dd: Likewise. * ld-i386/tlspic.dd: Likewise. * ld-i386/tlsdesc.sd: Likewise. * ld-i386/tlsgdesc.dd: Likewise. * ld-i386/tlsnopic.sd: Likewise. * ld-i386/tlspic.rd: Likewise. * ld-i386/tlsdesc.rd: Likewise. * ld-i386/tlsbindesc.rd: Likewise. * ld-i386/tlsbindesc.sd: Likewise. * ld-i386/tlsbin.td: Likewise. * ld-i386/tlsdesc.td: Likewise. * ld-i386/tlsnopic.dd: Likewise. * ld-i386/tlsbindesc.dd: Likewise. * ld-i386/tlsbin.dd: Likewise. * ld-i386/tlsgdesc.rd: Likewise. * ld-i386/tlspic.sd: Likewise. * ld-i386/tlsnopic.rd: Likewise. * ld-i386/tlsbindesc.td: Likewise. * ld-i386/tlspic.td: Likewise. * ld-i386/tlsbin.sd: Likewise.
Diffstat (limited to 'ld/testsuite/ld-i386')
-rw-r--r--ld/testsuite/ld-i386/i386.exp17
-rw-r--r--ld/testsuite/ld-i386/tlsbin.dd2
-rw-r--r--ld/testsuite/ld-i386/tlsbin.rd2
-rw-r--r--ld/testsuite/ld-i386/tlsbin.sd2
-rw-r--r--ld/testsuite/ld-i386/tlsbin.td2
-rw-r--r--ld/testsuite/ld-i386/tlsbindesc.dd2
-rw-r--r--ld/testsuite/ld-i386/tlsbindesc.rd2
-rw-r--r--ld/testsuite/ld-i386/tlsbindesc.sd2
-rw-r--r--ld/testsuite/ld-i386/tlsbindesc.td2
-rw-r--r--ld/testsuite/ld-i386/tlsdesc.dd2
-rw-r--r--ld/testsuite/ld-i386/tlsdesc.rd2
-rw-r--r--ld/testsuite/ld-i386/tlsdesc.sd2
-rw-r--r--ld/testsuite/ld-i386/tlsdesc.td2
-rw-r--r--ld/testsuite/ld-i386/tlsgdesc.dd2
-rw-r--r--ld/testsuite/ld-i386/tlsgdesc.rd2
-rw-r--r--ld/testsuite/ld-i386/tlsnopic.dd2
-rw-r--r--ld/testsuite/ld-i386/tlsnopic.rd2
-rw-r--r--ld/testsuite/ld-i386/tlsnopic.sd2
-rw-r--r--ld/testsuite/ld-i386/tlspic.dd2
-rw-r--r--ld/testsuite/ld-i386/tlspic.rd2
-rw-r--r--ld/testsuite/ld-i386/tlspic.sd2
-rw-r--r--ld/testsuite/ld-i386/tlspic.td2
22 files changed, 32 insertions, 27 deletions
diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp
index 3bce2d3f6f..ae798c04ac 100644
--- a/ld/testsuite/ld-i386/i386.exp
+++ b/ld/testsuite/ld-i386/i386.exp
@@ -118,12 +118,14 @@ if { !([istarget "i?86-*-elf*"]
# readelf: Apply readelf options on result. Compare with regex (last arg).
set i386tests {
- {"TLS -fpic -shared transitions" "-shared -melf_i386"
+ {"TLS -fpic -shared transitions"
+ "-shared -melf_i386 --no-ld-generated-unwind-info"
"--32" {tlspic1.s tlspic2.s}
{{readelf -Ssrl tlspic.rd} {objdump -drj.text tlspic.dd}
{objdump -sj.got tlspic.sd} {objdump -sj.tdata tlspic.td}}
"libtlspic.so"}
- {"TLS descriptor -fpic -shared transitions" "-shared -melf_i386"
+ {"TLS descriptor -fpic -shared transitions"
+ "-shared -melf_i386 --no-ld-generated-unwind-info"
"--32" {tlsdesc.s tlspic2.s}
{{readelf -Ssrl tlsdesc.rd} {objdump -drj.text tlsdesc.dd}
{objdump "-s -j.got -j.got.plt" tlsdesc.sd} {objdump -sj.tdata tlsdesc.td}}
@@ -131,21 +133,24 @@ set i386tests {
{"Helper shared library" "-shared -melf_i386"
"--32" {tlslib.s} {} "libtlslib.so"}
{"TLS -fpic and -fno-pic exec transitions"
- "-melf_i386 tmpdir/libtlslib.so" "--32" {tlsbinpic.s tlsbin.s}
+ "-melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info"
+ "--32" {tlsbinpic.s tlsbin.s}
{{readelf -Ssrl tlsbin.rd} {objdump -drj.text tlsbin.dd}
{objdump -sj.got tlsbin.sd} {objdump -sj.tdata tlsbin.td}}
"tlsbin"}
{"TLS descriptor -fpic and -fno-pic exec transitions"
- "-melf_i386 tmpdir/libtlslib.so" "--32" {tlsbindesc.s tlsbin.s}
+ "-melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info"
+ "--32" {tlsbindesc.s tlsbin.s}
{{readelf -Ssrl tlsbindesc.rd} {objdump -drj.text tlsbindesc.dd}
{objdump -sj.got tlsbindesc.sd} {objdump -sj.tdata tlsbindesc.td}}
"tlsbindesc"}
- {"TLS -fno-pic -shared" "-shared -melf_i386"
+ {"TLS -fno-pic -shared" "-shared -melf_i386 --no-ld-generated-unwind-info"
"--32" {tlsnopic1.s tlsnopic2.s}
{{readelf -Ssrl tlsnopic.rd} {objdump -drj.text tlsnopic.dd}
{objdump -sj.got tlsnopic.sd}} "libtlsnopic.so"}
{"TLS with global dynamic and descriptors"
- "-shared -melf_i386" "--32" {tlsgdesc.s}
+ "-shared -melf_i386 --no-ld-generated-unwind-info"
+ "--32" {tlsgdesc.s}
{{readelf -Ssrl tlsgdesc.rd} {objdump -drj.text tlsgdesc.dd}}
"libtlsgdesc.so"}
{"TLS in debug sections" "-melf_i386"
diff --git a/ld/testsuite/ld-i386/tlsbin.dd b/ld/testsuite/ld-i386/tlsbin.dd
index 9cf14a5379..6f6c0e4114 100644
--- a/ld/testsuite/ld-i386/tlsbin.dd
+++ b/ld/testsuite/ld-i386/tlsbin.dd
@@ -1,7 +1,7 @@
#source: tlsbinpic.s
#source: tlsbin.s
#as: --32
-#ld: -melf_i386 tmpdir/libtlslib.so
+#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info
#objdump: -drj.text
#target: i?86-*-*
diff --git a/ld/testsuite/ld-i386/tlsbin.rd b/ld/testsuite/ld-i386/tlsbin.rd
index 84cec7858d..5579334614 100644
--- a/ld/testsuite/ld-i386/tlsbin.rd
+++ b/ld/testsuite/ld-i386/tlsbin.rd
@@ -1,7 +1,7 @@
#source: tlsbinpic.s
#source: tlsbin.s
#as: --32
-#ld: -melf_i386 tmpdir/libtlslib.so
+#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info
#readelf: -Ssrl
#target: i?86-*-*
diff --git a/ld/testsuite/ld-i386/tlsbin.sd b/ld/testsuite/ld-i386/tlsbin.sd
index 2fa7a8970b..99dc4c57a8 100644
--- a/ld/testsuite/ld-i386/tlsbin.sd
+++ b/ld/testsuite/ld-i386/tlsbin.sd
@@ -1,7 +1,7 @@
#source: tlsbinpic.s
#source: tlsbin.s
#as: --32
-#ld: -melf_i386 tmpdir/libtlslib.so
+#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info
#objdump: -sj.got
#target: i?86-*-*
diff --git a/ld/testsuite/ld-i386/tlsbin.td b/ld/testsuite/ld-i386/tlsbin.td
index bb29455e5d..a1ed433d27 100644
--- a/ld/testsuite/ld-i386/tlsbin.td
+++ b/ld/testsuite/ld-i386/tlsbin.td
@@ -1,7 +1,7 @@
#source: tlsbinpic.s
#source: tlsbin.s
#as: --32
-#ld: -melf_i386 tmpdir/libtlslib.so
+#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info
#objdump: -sj.tdata
#target: i?86-*-*
diff --git a/ld/testsuite/ld-i386/tlsbindesc.dd b/ld/testsuite/ld-i386/tlsbindesc.dd
index f77d1c8d5f..db547644f2 100644
--- a/ld/testsuite/ld-i386/tlsbindesc.dd
+++ b/ld/testsuite/ld-i386/tlsbindesc.dd
@@ -1,7 +1,7 @@
#source: tlsbindesc.s
#source: tlsbin.s
#as: --32
-#ld: -melf_i386 tmpdir/libtlslib.so
+#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info
#objdump: -drj.text
#target: i?86-*-*
diff --git a/ld/testsuite/ld-i386/tlsbindesc.rd b/ld/testsuite/ld-i386/tlsbindesc.rd
index c2cea19959..a334e5617b 100644
--- a/ld/testsuite/ld-i386/tlsbindesc.rd
+++ b/ld/testsuite/ld-i386/tlsbindesc.rd
@@ -1,7 +1,7 @@
#source: tlsbindesc.s
#source: tlsbin.s
#as: --32
-#ld: -melf_i386 tmpdir/libtlslib.so
+#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info
#readelf: -Ssrl
#target: i?86-*-*
diff --git a/ld/testsuite/ld-i386/tlsbindesc.sd b/ld/testsuite/ld-i386/tlsbindesc.sd
index a87f5da402..7d56466c7b 100644
--- a/ld/testsuite/ld-i386/tlsbindesc.sd
+++ b/ld/testsuite/ld-i386/tlsbindesc.sd
@@ -1,7 +1,7 @@
#source: tlsbindesc.s
#source: tlsbin.s
#as: --32
-#ld: -melf_i386 tmpdir/libtlslib.so
+#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info
#objdump: -sj.got
#target: i?86-*-*
diff --git a/ld/testsuite/ld-i386/tlsbindesc.td b/ld/testsuite/ld-i386/tlsbindesc.td
index 726df3edbe..64859ddfae 100644
--- a/ld/testsuite/ld-i386/tlsbindesc.td
+++ b/ld/testsuite/ld-i386/tlsbindesc.td
@@ -1,7 +1,7 @@
#source: tlsbindesc.s
#source: tlsbin.s
#as: --32
-#ld: -melf_i386 tmpdir/libtlslib.so
+#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info
#objdump: -sj.tdata
#target: i?86-*-*
diff --git a/ld/testsuite/ld-i386/tlsdesc.dd b/ld/testsuite/ld-i386/tlsdesc.dd
index bca00901b9..85db8ddb42 100644
--- a/ld/testsuite/ld-i386/tlsdesc.dd
+++ b/ld/testsuite/ld-i386/tlsdesc.dd
@@ -1,7 +1,7 @@
#source: tlsdesc.s
#source: tlspic2.s
#as: --32
-#ld: -shared -melf_i386
+#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#objdump: -drj.text
#target: i?86-*-*
diff --git a/ld/testsuite/ld-i386/tlsdesc.rd b/ld/testsuite/ld-i386/tlsdesc.rd
index 42edd44a58..c7c41c6b1f 100644
--- a/ld/testsuite/ld-i386/tlsdesc.rd
+++ b/ld/testsuite/ld-i386/tlsdesc.rd
@@ -1,7 +1,7 @@
#source: tlsdesc.s
#source: tlspic2.s
#as: --32
-#ld: -shared -melf_i386
+#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#readelf: -Ssrl
#target: i?86-*-*
diff --git a/ld/testsuite/ld-i386/tlsdesc.sd b/ld/testsuite/ld-i386/tlsdesc.sd
index 656c409714..ad3d1e3679 100644
--- a/ld/testsuite/ld-i386/tlsdesc.sd
+++ b/ld/testsuite/ld-i386/tlsdesc.sd
@@ -1,7 +1,7 @@
#source: tlsdesc.s
#source: tlspic2.s
#as: --32
-#ld: -shared -melf_i386
+#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#objdump: -s -j.got -j.got.plt
#target: i?86-*-*
diff --git a/ld/testsuite/ld-i386/tlsdesc.td b/ld/testsuite/ld-i386/tlsdesc.td
index f3612b32a7..12cc43ca01 100644
--- a/ld/testsuite/ld-i386/tlsdesc.td
+++ b/ld/testsuite/ld-i386/tlsdesc.td
@@ -1,7 +1,7 @@
#source: tlsdesc.s
#source: tlspic2.s
#as: --32
-#ld: -shared -melf_i386
+#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#objdump: -sj.tdata
#target: i?86-*-*
diff --git a/ld/testsuite/ld-i386/tlsgdesc.dd b/ld/testsuite/ld-i386/tlsgdesc.dd
index 25659de283..92062cef93 100644
--- a/ld/testsuite/ld-i386/tlsgdesc.dd
+++ b/ld/testsuite/ld-i386/tlsgdesc.dd
@@ -1,6 +1,6 @@
#source: tlsgdesc.s
#as: --32
-#ld: -shared -melf_i386
+#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#objdump: -drj.text
#target: i?86-*-*
diff --git a/ld/testsuite/ld-i386/tlsgdesc.rd b/ld/testsuite/ld-i386/tlsgdesc.rd
index 3a224a2406..fa0eeb9835 100644
--- a/ld/testsuite/ld-i386/tlsgdesc.rd
+++ b/ld/testsuite/ld-i386/tlsgdesc.rd
@@ -1,6 +1,6 @@
#source: tlsgdesc.s
#as: --32
-#ld: -shared -melf_i386
+#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#readelf: -Ssrl
#target: i?86-*-*
diff --git a/ld/testsuite/ld-i386/tlsnopic.dd b/ld/testsuite/ld-i386/tlsnopic.dd
index a0a8853f2c..995cdaa1b9 100644
--- a/ld/testsuite/ld-i386/tlsnopic.dd
+++ b/ld/testsuite/ld-i386/tlsnopic.dd
@@ -1,7 +1,7 @@
#source: tlsnopic1.s
#source: tlsnopic2.s
#as: --32
-#ld: -shared -melf_i386
+#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#objdump: -drj.text
#target: i?86-*-*
diff --git a/ld/testsuite/ld-i386/tlsnopic.rd b/ld/testsuite/ld-i386/tlsnopic.rd
index 2590a9ff4a..2396fc5801 100644
--- a/ld/testsuite/ld-i386/tlsnopic.rd
+++ b/ld/testsuite/ld-i386/tlsnopic.rd
@@ -1,7 +1,7 @@
#source: tlsnopic1.s
#source: tlsnopic2.s
#as: --32
-#ld: -shared -melf_i386
+#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#readelf: -Ssrl
#target: i?86-*-*
diff --git a/ld/testsuite/ld-i386/tlsnopic.sd b/ld/testsuite/ld-i386/tlsnopic.sd
index fdfaacf2e2..925c5d5d85 100644
--- a/ld/testsuite/ld-i386/tlsnopic.sd
+++ b/ld/testsuite/ld-i386/tlsnopic.sd
@@ -1,7 +1,7 @@
#source: tlsnopic1.s
#source: tlsnopic2.s
#as: --32
-#ld: -shared -melf_i386
+#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#objdump: -sj.got
#target: i?86-*-*
diff --git a/ld/testsuite/ld-i386/tlspic.dd b/ld/testsuite/ld-i386/tlspic.dd
index dd436d2f8d..b0c046d9ef 100644
--- a/ld/testsuite/ld-i386/tlspic.dd
+++ b/ld/testsuite/ld-i386/tlspic.dd
@@ -1,7 +1,7 @@
#source: tlspic1.s
#source: tlspic2.s
#as: --32
-#ld: -shared -melf_i386
+#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#objdump: -drj.text
#target: i?86-*-*
diff --git a/ld/testsuite/ld-i386/tlspic.rd b/ld/testsuite/ld-i386/tlspic.rd
index 46b8ed55c6..7fe042ecc7 100644
--- a/ld/testsuite/ld-i386/tlspic.rd
+++ b/ld/testsuite/ld-i386/tlspic.rd
@@ -1,7 +1,7 @@
#source: tlspic1.s
#source: tlspic2.s
#as: --32
-#ld: -shared -melf_i386
+#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#readelf: -Ssrl
#target: i?86-*-*
diff --git a/ld/testsuite/ld-i386/tlspic.sd b/ld/testsuite/ld-i386/tlspic.sd
index f9c962764c..15b3b9316e 100644
--- a/ld/testsuite/ld-i386/tlspic.sd
+++ b/ld/testsuite/ld-i386/tlspic.sd
@@ -1,7 +1,7 @@
#source: tlspic1.s
#source: tlspic2.s
#as: --32
-#ld: -shared -melf_i386
+#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#objdump: -sj.got
#target: i?86-*-*
diff --git a/ld/testsuite/ld-i386/tlspic.td b/ld/testsuite/ld-i386/tlspic.td
index 1291584da4..a96d6f617e 100644
--- a/ld/testsuite/ld-i386/tlspic.td
+++ b/ld/testsuite/ld-i386/tlspic.td
@@ -1,7 +1,7 @@
#source: tlspic1.s
#source: tlspic2.s
#as: --32
-#ld: -shared -melf_i386
+#ld: -shared -melf_i386 --no-ld-generated-unwind-info
#objdump: -sj.tdata
#target: i?86-*-*