2009-03-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/9970
	* ldlang.c (lang_end): Warn missing entry symbol for -pie.

ld/testsuite/

2009-03-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/9970
	* ld-pie/pie.exp: Use -fpie to compile.  Run *.d tests.

	* ld-pie/start.d: New.
	* ld-pie/start.s: Likewise.
This commit is contained in:
H.J. Lu 2009-03-20 17:39:04 +00:00
parent 8c21ca2102
commit 4bf27aa9ba
6 changed files with 35 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2009-03-20 H.J. Lu <hongjiu.lu@intel.com>
PR ld/9970
* ldlang.c (lang_end): Warn missing entry symbol for -pie.
2009-03-19 Alan Modra <amodra@bigpond.net.au>
* emultempl/spuelf.em (spu_before_allocation): Report errors from

View File

@ -5417,7 +5417,7 @@ lang_end (void)
bfd_boolean warn;
if ((link_info.relocatable && !link_info.gc_sections)
|| link_info.shared)
|| (link_info.shared && !link_info.executable))
warn = entry_from_cmdline;
else
warn = TRUE;

View File

@ -1,3 +1,11 @@
2009-03-20 H.J. Lu <hongjiu.lu@intel.com>
PR ld/9970
* ld-pie/pie.exp: Use -fpie to compile. Run *.d tests.
* ld-pie/start.d: New.
* ld-pie/start.s: Likewise.
2009-03-18 H.J. Lu <hongjiu.lu@intel.com>
PR ld/6766

View File

@ -28,8 +28,8 @@ if { ![istarget *-*-linux*] } {
}
# Check if -pie is supported or not.
send_log "$CC -pie $srcdir/$subdir/pie.c -o tmpdir/pie"
catch "exec $CC -pie $srcdir/$subdir/pie.c -o tmpdir/pie" exec_output
send_log "$CC -fpie -pie $srcdir/$subdir/pie.c -o tmpdir/pie"
catch "exec $CC -fpie -pie $srcdir/$subdir/pie.c -o tmpdir/pie" exec_output
send_log "$exec_output\n"
if { ![string match "" $exec_output] } {
return
@ -41,3 +41,10 @@ set array_tests {
}
run_ld_link_exec_tests [] $array_tests
set test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
foreach t $test_list {
# We need to strip the ".d", but can leave the dirname.
verbose [file rootname $t]
run_dump_test [file rootname $t]
}

View File

@ -0,0 +1,8 @@
#name: missing entry symbol
#ld: -pie
#warning: .*: warning: cannot find entry symbol .*
#nm: -n
#...
[0-9a-f]+ T +foo
#...

View File

@ -0,0 +1,4 @@
.text
.globl foo
foo:
.byte 0