2006-05-23 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 24 May 2006 02:39:16 +0000 (02:39 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 24 May 2006 02:39:16 +0000 (02:39 +0000)
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.

ld/testsuite/ChangeLog
ld/testsuite/ld-elf/eh1.d [new file with mode: 0644]
ld/testsuite/ld-elf/eh1.s [new file with mode: 0644]
ld/testsuite/ld-elf/eh1a.s [new file with mode: 0644]
ld/testsuite/ld-elf/eh2.d [new file with mode: 0644]
ld/testsuite/ld-elf/eh2a.s [new file with mode: 0644]
ld/testsuite/ld-elf/eh3.d [new file with mode: 0644]
ld/testsuite/ld-elf/eh3.s [new file with mode: 0644]
ld/testsuite/ld-elf/eh3a.s [new file with mode: 0644]

index 682e542253698dfdd79f0091c1fdfa4aa4d81d9f..33e4b94e41f5c2373d6575eb35187836371dc407 100644 (file)
@@ -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 (file)
index 0000000..897955b
--- /dev/null
@@ -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 (file)
index 0000000..a605209
--- /dev/null
@@ -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 (file)
index 0000000..c644014
--- /dev/null
@@ -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 (file)
index 0000000..6f4f2c5
--- /dev/null
@@ -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 (file)
index 0000000..2c024f8
--- /dev/null
@@ -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 (file)
index 0000000..492c877
--- /dev/null
@@ -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 (file)
index 0000000..24bd90d
--- /dev/null
@@ -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 (file)
index 0000000..c245871
--- /dev/null
@@ -0,0 +1,3 @@
+       .section        .eh_frame,"a",%progbits
+       .align  8
+       .zero   8