summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2006-05-24 02:39:16 +0000
committerH.J. Lu <hjl.tools@gmail.com>2006-05-24 02:39:16 +0000
commitf607ec8858a8ce6a1a821257d657db95ee47af2a (patch)
treef934a96cd25e252e539eae57127f245e30766c6a
parenta34a056a10ca131c7392436a957cdee41758fa95 (diff)
downloadbinutils-gdb-f607ec8858a8ce6a1a821257d657db95ee47af2a.tar.gz
2006-05-23 H.J. Lu <hongjiu.lu@intel.com>
PR ld/2655 PR ld/2657 * ld-elf/eh1.d: New file. * ld-elf/eh1.s: Likewise. * ld-elf/eh1a.s: Likewise. * ld-elf/eh2.d: Likewise. * ld-elf/eh2a.s: Likewise. * ld-elf/eh3.d: Likewise. * ld-elf/eh3.s: Likewise. * ld-elf/eh3a.s: Likewise.
-rw-r--r--ld/testsuite/ChangeLog13
-rw-r--r--ld/testsuite/ld-elf/eh1.d33
-rw-r--r--ld/testsuite/ld-elf/eh1.s47
-rw-r--r--ld/testsuite/ld-elf/eh1a.s3
-rw-r--r--ld/testsuite/ld-elf/eh2.d33
-rw-r--r--ld/testsuite/ld-elf/eh2a.s3
-rw-r--r--ld/testsuite/ld-elf/eh3.d33
-rw-r--r--ld/testsuite/ld-elf/eh3.s48
-rw-r--r--ld/testsuite/ld-elf/eh3a.s3
9 files changed, 216 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 682e5422536..33e4b94e41f 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,16 @@
+2006-05-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/2655
+ PR ld/2657
+ * ld-elf/eh1.d: New file.
+ * ld-elf/eh1.s: Likewise.
+ * ld-elf/eh1a.s: Likewise.
+ * ld-elf/eh2.d: Likewise.
+ * ld-elf/eh2a.s: Likewise.
+ * ld-elf/eh3.d: Likewise.
+ * ld-elf/eh3.s: Likewise.
+ * ld-elf/eh3a.s: Likewise.
+
2006-05-22 Daniel Jacobowitz <dan@codesourcery.com>
* ld-mips-elf/textrel-1.d: Relax some patterns.
diff --git a/ld/testsuite/ld-elf/eh1.d b/ld/testsuite/ld-elf/eh1.d
new file mode 100644
index 00000000000..897955b2b6f
--- /dev/null
+++ b/ld/testsuite/ld-elf/eh1.d
@@ -0,0 +1,33 @@
+#source: eh1.s
+#source: eh1a.s
+#ld:
+#readelf: -wf
+#target: x86_64-*-*
+
+The section .eh_frame contains:
+
+00000000 00000014 00000000 CIE
+ Version: 1
+ Augmentation: ""
+ Code alignment factor: 1
+ Data alignment factor: -8
+ Return address column: 16
+
+ DW_CFA_def_cfa: r7 ofs 8
+ DW_CFA_offset: r16 at cfa-8
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+
+00000018 0000001c 0000001c FDE cie=00000000 pc=004000b0..004000b0
+ DW_CFA_advance_loc: 0 to 004000b0
+ DW_CFA_def_cfa_offset: 16
+ DW_CFA_offset: r6 at cfa-16
+ DW_CFA_advance_loc: 0 to 004000b0
+ DW_CFA_def_cfa_reg: r6
+
+00000038 ZERO terminator
+
diff --git a/ld/testsuite/ld-elf/eh1.s b/ld/testsuite/ld-elf/eh1.s
new file mode 100644
index 00000000000..a6052096808
--- /dev/null
+++ b/ld/testsuite/ld-elf/eh1.s
@@ -0,0 +1,47 @@
+ .text
+.globl _start
+ .type _start, %function
+_start:
+.LFB2:
+.LCFI0:
+.LCFI1:
+.LFE2:
+ .size _start, .-_start
+ .section .eh_frame,"a",%progbits
+.Lframe1:
+ .long .LECIE1-.LSCIE1
+.LSCIE1:
+ .long 0x0
+ .byte 0x1
+ .string ""
+ .uleb128 0x1
+ .sleb128 -8
+ .byte 0x10
+ .byte 0xc
+ .uleb128 0x7
+ .uleb128 0x8
+ .byte 0x90
+ .uleb128 0x1
+ .align 8
+.LECIE1:
+.LSFDE1:
+ .long .LEFDE1-.LASFDE1
+.LASFDE1:
+ .long .LASFDE1-.Lframe1
+ .quad .LFB2
+ .quad .LFE2-.LFB2
+ .byte 0x4
+ .long .LCFI0-.LFB2
+ .byte 0xe
+ .uleb128 0x10
+ .byte 0x86
+ .uleb128 0x2
+ .byte 0x4
+ .long .LCFI1-.LCFI0
+ .byte 0xd
+ .uleb128 0x6
+ .byte 0x0
+ .byte 0x0
+ .byte 0x0
+ .byte 0x0
+.LEFDE1:
diff --git a/ld/testsuite/ld-elf/eh1a.s b/ld/testsuite/ld-elf/eh1a.s
new file mode 100644
index 00000000000..c644014dc6d
--- /dev/null
+++ b/ld/testsuite/ld-elf/eh1a.s
@@ -0,0 +1,3 @@
+ .section .eh_frame,"a",%progbits
+ .align 8
+ .zero 4
diff --git a/ld/testsuite/ld-elf/eh2.d b/ld/testsuite/ld-elf/eh2.d
new file mode 100644
index 00000000000..6f4f2c58ed5
--- /dev/null
+++ b/ld/testsuite/ld-elf/eh2.d
@@ -0,0 +1,33 @@
+#source: eh1.s
+#source: eh2a.s
+#ld:
+#readelf: -wf
+#target: x86_64-*-*
+
+The section .eh_frame contains:
+
+00000000 00000014 00000000 CIE
+ Version: 1
+ Augmentation: ""
+ Code alignment factor: 1
+ Data alignment factor: -8
+ Return address column: 16
+
+ DW_CFA_def_cfa: r7 ofs 8
+ DW_CFA_offset: r16 at cfa-8
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+
+00000018 0000001c 0000001c FDE cie=00000000 pc=004000b0..004000b0
+ DW_CFA_advance_loc: 0 to 004000b0
+ DW_CFA_def_cfa_offset: 16
+ DW_CFA_offset: r6 at cfa-16
+ DW_CFA_advance_loc: 0 to 004000b0
+ DW_CFA_def_cfa_reg: r6
+
+00000038 ZERO terminator
+
diff --git a/ld/testsuite/ld-elf/eh2a.s b/ld/testsuite/ld-elf/eh2a.s
new file mode 100644
index 00000000000..2c024f8f080
--- /dev/null
+++ b/ld/testsuite/ld-elf/eh2a.s
@@ -0,0 +1,3 @@
+ .section .eh_frame,"a",%progbits
+ .align 4
+ .zero 4
diff --git a/ld/testsuite/ld-elf/eh3.d b/ld/testsuite/ld-elf/eh3.d
new file mode 100644
index 00000000000..492c87784b9
--- /dev/null
+++ b/ld/testsuite/ld-elf/eh3.d
@@ -0,0 +1,33 @@
+#source: eh3.s
+#source: eh3a.s
+#ld:
+#readelf: -wf
+#target: x86_64-*-*
+
+The section .eh_frame contains:
+
+00000000 00000014 00000000 CIE
+ Version: 1
+ Augmentation: ""
+ Code alignment factor: 1
+ Data alignment factor: -8
+ Return address column: 16
+
+ DW_CFA_def_cfa: r7 ofs 8
+ DW_CFA_offset: r16 at cfa-8
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+
+00000018 0000001c 0000001c FDE cie=00000000 pc=004000b0..004000b0
+ DW_CFA_advance_loc: 0 to 004000b0
+ DW_CFA_def_cfa_offset: 16
+ DW_CFA_offset: r6 at cfa-16
+ DW_CFA_advance_loc: 0 to 004000b0
+ DW_CFA_def_cfa_reg: r6
+
+00000038 ZERO terminator
+#pass
diff --git a/ld/testsuite/ld-elf/eh3.s b/ld/testsuite/ld-elf/eh3.s
new file mode 100644
index 00000000000..24bd90d2413
--- /dev/null
+++ b/ld/testsuite/ld-elf/eh3.s
@@ -0,0 +1,48 @@
+ .text
+.globl _start
+ .type _start, %function
+_start:
+.LFB2:
+.LCFI0:
+.LCFI1:
+.LFE2:
+ .size _start, .-_start
+ .section .eh_frame,"a",%progbits
+ .align 16
+.Lframe1:
+ .long .LECIE1-.LSCIE1
+.LSCIE1:
+ .long 0x0
+ .byte 0x1
+ .string ""
+ .uleb128 0x1
+ .sleb128 -8
+ .byte 0x10
+ .byte 0xc
+ .uleb128 0x7
+ .uleb128 0x8
+ .byte 0x90
+ .uleb128 0x1
+ .align 8
+.LECIE1:
+.LSFDE1:
+ .long .LEFDE1-.LASFDE1
+.LASFDE1:
+ .long .LASFDE1-.Lframe1
+ .quad .LFB2
+ .quad .LFE2-.LFB2
+ .byte 0x4
+ .long .LCFI0-.LFB2
+ .byte 0xe
+ .uleb128 0x10
+ .byte 0x86
+ .uleb128 0x2
+ .byte 0x4
+ .long .LCFI1-.LCFI0
+ .byte 0xd
+ .uleb128 0x6
+ .byte 0x0
+ .byte 0x0
+ .byte 0x0
+ .byte 0x0
+.LEFDE1:
diff --git a/ld/testsuite/ld-elf/eh3a.s b/ld/testsuite/ld-elf/eh3a.s
new file mode 100644
index 00000000000..c245871ed10
--- /dev/null
+++ b/ld/testsuite/ld-elf/eh3a.s
@@ -0,0 +1,3 @@
+ .section .eh_frame,"a",%progbits
+ .align 8
+ .zero 8