aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2008-12-23 09:01:51 +0000
committerNick Clifton <nickc@redhat.com>2008-12-23 09:01:51 +0000
commit0f88be7a13937526f4789565a7dee988bf1369d5 (patch)
treedec9b5642bf6f5910809de144c2a28886f63dcf5 /ld
parent5995b57073ad5990e2f63c7f65c0a6c27cad55a9 (diff)
downloadgdb-0f88be7a13937526f4789565a7dee988bf1369d5.zip
gdb-0f88be7a13937526f4789565a7dee988bf1369d5.tar.gz
gdb-0f88be7a13937526f4789565a7dee988bf1369d5.tar.bz2
Remove STT_IFUNC support.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog4
-rw-r--r--ld/NEWS4
-rw-r--r--ld/testsuite/ChangeLog9
-rw-r--r--ld/testsuite/ld-i386/i386.exp1
-rw-r--r--ld/testsuite/ld-i386/ifunc.d14
-rw-r--r--ld/testsuite/ld-i386/ifunc.s128
-rw-r--r--ld/testsuite/ld-x86-64/ifunc.d14
-rw-r--r--ld/testsuite/ld-x86-64/ifunc.s198
-rw-r--r--ld/testsuite/ld-x86-64/x86-64.exp2
9 files changed, 14 insertions, 360 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index b631ccb..5eccb4e 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,7 @@
+2008-12-23 Nick Clifton <nickc@redhat.com>
+
+ * NEWS: Remove mention of support for STT_IFUNC.
+
2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* configure: Regenerate.
diff --git a/ld/NEWS b/ld/NEWS
index 4c7dc1e..6cf6838 100644
--- a/ld/NEWS
+++ b/ld/NEWS
@@ -1,8 +1,4 @@
-*- text -*-
-* For GNU/Linux systems the linker will now forego processing any relocations
- made against symbols of the STT_IFUNC type and instead emit them into
- the resulting binary for processing by the loader.
-
* Add CR16 ELF --embedded-relocs (used to embedded relocations into binaries
for Embedded-PIC code) option.
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 9421562..de2862f 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,12 @@
+2008-12-23 Nick Clifton <nickc@redhat.com>
+
+ * ld-i386/i386.exp: Do not run ifunc test.
+ * ld-i386/ifunc.s: Delete.
+ * ld-i386/ifunc.d: Delete.
+ * ld-x86-64/x86-64.exp: Do not run ifunc test.
+ * ld-x86-64/ifunc.s: Delete.
+ * ld-x86-64/ifunc.d: Delete.
+
2008-12-20 Hans-Peter Nilsson <hp@axis.com>
* ld-cris/tls-err-77.d, ld-cris/tls-gc-79.d, ld-cris/tls-ie-8e.s,
diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp
index 0446f18..6f75f3a 100644
--- a/ld/testsuite/ld-i386/i386.exp
+++ b/ld/testsuite/ld-i386/i386.exp
@@ -138,4 +138,3 @@ run_dump_test "hidden3"
run_dump_test "protected1"
run_dump_test "protected2"
run_dump_test "protected3"
-run_dump_test "ifunc"
diff --git a/ld/testsuite/ld-i386/ifunc.d b/ld/testsuite/ld-i386/ifunc.d
deleted file mode 100644
index f5a7584..0000000
--- a/ld/testsuite/ld-i386/ifunc.d
+++ /dev/null
@@ -1,14 +0,0 @@
-#name: Generation of dynamic relocs for STT_IFUNC symbols
-#source: ifunc.s
-#as: --32
-#ld: -melf_i386 -lc --defsym _start=0 -L/usr/lib
-#readelf: --relocs --syms
-
-Relocation section '.rel.ifunc.dyn' at offset 0x[0-9a-f]+ contains 2 entries:
- +Offset +Info +Type +Sym.Value +Sym. Name
-[0-9a-f]+ 0+0202 R_386_PC32 func\(\) func
-[0-9a-f]+ 0+0102 R_386_PC32 long_fun\(\) long_func_name
-#...
- ..: [0-9a-f]+ .. IFUNC GLOBAL DEFAULT .. long_func_name
- ..: [0-9a-f]+ .. IFUNC GLOBAL DEFAULT .. func
-#pass
diff --git a/ld/testsuite/ld-i386/ifunc.s b/ld/testsuite/ld-i386/ifunc.s
deleted file mode 100644
index 3f34cfb..0000000
--- a/ld/testsuite/ld-i386/ifunc.s
+++ /dev/null
@@ -1,128 +0,0 @@
- .file "ifunc.c"
-#APP
- .type func, %indirect_function
- .type long_func_name, %indirect_function
- .section .rodata.str1.1,"aMS",@progbits,1
-.LC0:
- .string "arg is %d\n"
-#NO_APP
- .text
- .p2align 4,,15
-.globl bar
- .type bar, @function
-bar:
- pushl %ebp
- movl %esp, %ebp
- subl $8, %esp
- movl 8(%ebp), %eax
- movl $.LC0, (%esp)
- movl %eax, 4(%esp)
- call printf
- leave
- ret
- .size bar, .-bar
- .section .rodata.str1.1
-.LC1:
- .string "main: calling func"
- .section .rodata.str1.4,"aMS",@progbits,1
- .align 4
-.LC2:
- .string "main: func finished, calling long_func_name"
- .section .rodata.str1.1
-.LC3:
- .string "main: long_func_name finished"
- .text
- .p2align 4,,15
-.globl main
- .type main, @function
-main:
- leal 4(%esp), %ecx
- andl $-16, %esp
- pushl -4(%ecx)
- pushl %ebp
- movl %esp, %ebp
- pushl %ecx
- subl $4, %esp
- movl $.LC1, (%esp)
- call puts
- call func
- movl $.LC2, (%esp)
- call puts
- call long_func_name
- movl $.LC3, (%esp)
- call puts
- addl $4, %esp
- xorl %eax, %eax
- popl %ecx
- popl %ebp
- leal -4(%ecx), %esp
- ret
- .size main, .-main
- .p2align 4,,15
-.globl long_func_name
- .type long_func_name, @function
-long_func_name:
- pushl %ebp
- movl %esp, %ebp
- subl $8, %esp
- call rand
- movl $func0, %edx
- testl %eax, %eax
- jne .L7
- movl $func1, %edx
-.L7:
- movl %edx, %eax
- leave
- ret
- .size long_func_name, .-long_func_name
- .p2align 4,,15
-.globl func
- .type func, @function
-func:
- pushl %ebp
- movl %esp, %ebp
- subl $8, %esp
- call rand
- movl $func0, %edx
- testl %eax, %eax
- jne .L12
- movl $func1, %edx
-.L12:
- movl %edx, %eax
- leave
- ret
- .size func, .-func
- .section .rodata.str1.1
-.LC4:
- .string "func1\n"
- .text
- .p2align 4,,15
-.globl func1
- .type func1, @function
-func1:
- pushl %ebp
- movl %esp, %ebp
- subl $8, %esp
- movl $.LC4, (%esp)
- call puts
- leave
- ret
- .size func1, .-func1
- .section .rodata.str1.1
-.LC5:
- .string "func0\n"
- .text
- .p2align 4,,15
-.globl func0
- .type func0, @function
-func0:
- pushl %ebp
- movl %esp, %ebp
- subl $8, %esp
- movl $.LC5, (%esp)
- call puts
- leave
- ret
- .size func0, .-func0
- .ident "GCC: (GNU) 4.3.0 20080428 (Red Hat 4.3.0-8)"
- .section .note.GNU-stack,"",@progbits
diff --git a/ld/testsuite/ld-x86-64/ifunc.d b/ld/testsuite/ld-x86-64/ifunc.d
deleted file mode 100644
index 1f147e3..0000000
--- a/ld/testsuite/ld-x86-64/ifunc.d
+++ /dev/null
@@ -1,14 +0,0 @@
-#name: Generation of dynamic relocs for STT_IFUNC symbols
-#source: ifunc.s
-#ld: --defsym _start=0 --defsym puts=0 --defsym rand=0 --defsym printf=0
-#readelf: --relocs --syms
-
-Relocation section '.rela.ifunc.dyn' at offset 0x[0-9a-f]+ contains 2 entries:
- +Offset +Info +Type +Sym. Value +Sym. Name \+ Addend
-[0-9a-f]+ 0+20+2 R_X86_64_PC32 .*
-[0-9a-f]+ 0+10+2 R_X86_64_PC32 .*
-#...
- ..: [0-9a-f]+ .. IFUNC GLOBAL DEFAULT .. long_func_name
-#...
- ..: [0-9a-f]+ .. IFUNC GLOBAL DEFAULT .. func
-#pass
diff --git a/ld/testsuite/ld-x86-64/ifunc.s b/ld/testsuite/ld-x86-64/ifunc.s
deleted file mode 100644
index 4a6a62e..0000000
--- a/ld/testsuite/ld-x86-64/ifunc.s
+++ /dev/null
@@ -1,198 +0,0 @@
- .file "ifunc.c"
-#APP
- .type func, %indirect_function
- .type long_func_name, %indirect_function
- .section .rodata.str1.1,"aMS",@progbits,1
-.LC0:
- .string "arg is %d\n"
-#NO_APP
- .text
- .p2align 4,,15
-.globl bar
- .type bar, @function
-bar:
-.LFB25:
- movl %edi, %esi
- xorl %eax, %eax
- movl $.LC0, %edi
- jmp printf
-.LFE25:
- .size bar, .-bar
- .section .rodata.str1.1
-.LC1:
- .string "main: calling func"
- .section .rodata.str1.8,"aMS",@progbits,1
- .align 8
-.LC2:
- .string "main: func finished, calling long_func_name"
- .section .rodata.str1.1
-.LC3:
- .string "main: long_func_name finished"
- .text
- .p2align 4,,15
-.globl main
- .type main, @function
-main:
-.LFB24:
- subq $8, %rsp
-.LCFI0:
- movl $.LC1, %edi
- call puts
- call func
- movl $.LC2, %edi
- call puts
- call long_func_name
- movl $.LC3, %edi
- call puts
- xorl %eax, %eax
- addq $8, %rsp
- ret
-.LFE24:
- .size main, .-main
- .p2align 4,,15
-.globl long_func_name
- .type long_func_name, @function
-long_func_name:
-.LFB23:
- subq $8, %rsp
-.LCFI1:
- call rand
- movl %eax, %edx
- movl $func1, %eax
- testl %edx, %edx
- movl $func0, %edx
- cmovne %rdx, %rax
- addq $8, %rsp
- ret
-.LFE23:
- .size long_func_name, .-long_func_name
- .p2align 4,,15
-.globl func
- .type func, @function
-func:
-.LFB22:
- subq $8, %rsp
-.LCFI2:
- call rand
- movl %eax, %edx
- movl $func1, %eax
- testl %edx, %edx
- movl $func0, %edx
- cmovne %rdx, %rax
- addq $8, %rsp
- ret
-.LFE22:
- .size func, .-func
- .section .rodata.str1.1
-.LC4:
- .string "func1\n"
- .text
- .p2align 4,,15
-.globl func1
- .type func1, @function
-func1:
-.LFB21:
- movl $.LC4, %edi
- jmp puts
-.LFE21:
- .size func1, .-func1
- .section .rodata.str1.1
-.LC5:
- .string "func0\n"
- .text
- .p2align 4,,15
-.globl func0
- .type func0, @function
-func0:
-.LFB20:
- movl $.LC5, %edi
- jmp puts
-.LFE20:
- .size func0, .-func0
- .section .eh_frame,"a",@progbits
-.Lframe1:
- .long .LECIE1-.LSCIE1
-.LSCIE1:
- .long 0x0
- .byte 0x1
- .string "zR"
- .uleb128 0x1
- .sleb128 -8
- .byte 0x10
- .uleb128 0x1
- .byte 0x3
- .byte 0xc
- .uleb128 0x7
- .uleb128 0x8
- .byte 0x90
- .uleb128 0x1
- .align 8
-.LECIE1:
-.LSFDE1:
- .long .LEFDE1-.LASFDE1
-.LASFDE1:
- .long .LASFDE1-.Lframe1
- .long .LFB25
- .long .LFE25-.LFB25
- .uleb128 0x0
- .align 8
-.LEFDE1:
-.LSFDE3:
- .long .LEFDE3-.LASFDE3
-.LASFDE3:
- .long .LASFDE3-.Lframe1
- .long .LFB24
- .long .LFE24-.LFB24
- .uleb128 0x0
- .byte 0x4
- .long .LCFI0-.LFB24
- .byte 0xe
- .uleb128 0x10
- .align 8
-.LEFDE3:
-.LSFDE5:
- .long .LEFDE5-.LASFDE5
-.LASFDE5:
- .long .LASFDE5-.Lframe1
- .long .LFB23
- .long .LFE23-.LFB23
- .uleb128 0x0
- .byte 0x4
- .long .LCFI1-.LFB23
- .byte 0xe
- .uleb128 0x10
- .align 8
-.LEFDE5:
-.LSFDE7:
- .long .LEFDE7-.LASFDE7
-.LASFDE7:
- .long .LASFDE7-.Lframe1
- .long .LFB22
- .long .LFE22-.LFB22
- .uleb128 0x0
- .byte 0x4
- .long .LCFI2-.LFB22
- .byte 0xe
- .uleb128 0x10
- .align 8
-.LEFDE7:
-.LSFDE9:
- .long .LEFDE9-.LASFDE9
-.LASFDE9:
- .long .LASFDE9-.Lframe1
- .long .LFB21
- .long .LFE21-.LFB21
- .uleb128 0x0
- .align 8
-.LEFDE9:
-.LSFDE11:
- .long .LEFDE11-.LASFDE11
-.LASFDE11:
- .long .LASFDE11-.Lframe1
- .long .LFB20
- .long .LFE20-.LFB20
- .uleb128 0x0
- .align 8
-.LEFDE11:
- .ident "GCC: (GNU) 4.3.0 20080428 (Red Hat 4.3.0-8)"
- .section .note.GNU-stack,"",@progbits
diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp
index d3608f6..0b8e614 100644
--- a/ld/testsuite/ld-x86-64/x86-64.exp
+++ b/ld/testsuite/ld-x86-64/x86-64.exp
@@ -92,4 +92,4 @@ run_dump_test "hidden3"
run_dump_test "protected1"
run_dump_test "protected2"
run_dump_test "protected3"
-run_dump_test "ifunc"
+