2009-05-22  H.J. Lu  <hongjiu.lu@intel.com>

	* symbols.c (COPIED_SYMFLAGS): Add BSF_GNU_INDIRECT_FUNCTION.

gas/testsuite/gas/

2009-05-22  H.J. Lu  <hongjiu.lu@intel.com>

	* gas/elf/ifunc-1.d: New.
	* gas/elf/ifunc-1.s: Likewise.

	* gas/elf/elf.exp: Run ifunc-1.
This commit is contained in:
H.J. Lu 2009-05-22 18:11:59 +00:00
parent d25eec221e
commit ad04f5cebf
6 changed files with 30 additions and 1 deletions

View File

@ -1,3 +1,7 @@
2009-05-22 H.J. Lu <hongjiu.lu@intel.com>
* symbols.c (COPIED_SYMFLAGS): Add BSF_GNU_INDIRECT_FUNCTION.
2009-05-22 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
* config/tc-i386.c (process_drex): Delete. Remove SSE5 support.

View File

@ -1948,7 +1948,8 @@ copy_symbol_attributes (symbolS *dest, symbolS *src)
/* In an expression, transfer the settings of these flags.
The user can override later, of course. */
#define COPIED_SYMFLAGS (BSF_FUNCTION | BSF_OBJECT)
#define COPIED_SYMFLAGS (BSF_FUNCTION | BSF_OBJECT \
| BSF_GNU_INDIRECT_FUNCTION)
dest->bsym->flags |= src->bsym->flags & COPIED_SYMFLAGS;
#ifdef OBJ_COPY_SYMBOL_ATTRIBUTES

View File

@ -1,3 +1,10 @@
2009-05-22 H.J. Lu <hongjiu.lu@intel.com>
* gas/elf/ifunc-1.d: New.
* gas/elf/ifunc-1.s: Likewise.
* gas/elf/elf.exp: Run ifunc-1.
2009-05-22 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
* gas/i386/i386.exp: Remove SSE5 tests.

View File

@ -125,6 +125,7 @@ if { ([istarget "*-*-*elf*"]
|| [istarget "xscale*-*-*"]} then {
run_elf_list_test "type-noifunc" "" "" "-s" "| grep \"1 \\\[FONTC\\\]\""
} else {
run_dump_test ifunc-1
run_elf_list_test "type" "" "" "-s" "| grep \"1 \\\[FIONTC\\\]\""
}

View File

@ -0,0 +1,7 @@
#readelf: -s
#name: .set with IFUNC
#...
[ ]+[0-9]+:[ ]+[0-9a-f]+[ ]+[0-9]+[ ]+IFUNC[ ]+GLOBAL[ ]+DEFAULT[ ]+[1-9] __GI_foo
[ ]+[0-9]+:[ ]+[0-9a-f]+[ ]+[0-9]+[ ]+IFUNC[ ]+GLOBAL[ ]+DEFAULT[ ]+[1-9] foo
#pass

View File

@ -0,0 +1,9 @@
.globl __GI_foo
.set __GI_foo, foo
.text
.globl foo
.type foo, %function
foo:
.byte 0x0
.size foo, .-foo
.type foo, %gnu_indirect_function