Clear hwcap_2 with Sun ld
* gcc.target/i386/clearcapv2.map: New file. * gcc.target/i386/i386.exp: Try it first before clearcap.map. From-SVN: r188820
This commit is contained in:
parent
3e71d9533a
commit
32e36d1a83
3 changed files with 26 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
|||
2012-06-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* gcc.target/i386/clearcapv2.map: New file.
|
||||
* gcc.target/i386/i386.exp: Try it first before clearcap.map.
|
||||
|
||||
2012-06-19 Kaz Kojima <kkojima@gcc.gnu.org>
|
||||
|
||||
* gcc.dg/stack-usage-1.c: Remove dg-options line for sh targets
|
||||
|
|
7
gcc/testsuite/gcc.target/i386/clearcapv2.map
Normal file
7
gcc/testsuite/gcc.target/i386/clearcapv2.map
Normal file
|
@ -0,0 +1,7 @@
|
|||
# clear all hardware capabilities emitted by Sun as: the tests here
|
||||
# guard against execution at runtime
|
||||
# uses mapfile v2 syntax which is the only way to clear AT_SUN_CAP_HW2 flags
|
||||
$mapfile_version 2
|
||||
CAPABILITY {
|
||||
HW = ;
|
||||
};
|
|
@ -256,12 +256,23 @@ proc check_effective_target_rtm { } {
|
|||
|
||||
# If the linker used understands -M <mapfile>, pass it to clear hardware
|
||||
# capabilities set by the Sun assembler.
|
||||
set clearcap_ldflags "-Wl,-M,$srcdir/$subdir/clearcap.map"
|
||||
# Try mapfile syntax v2 first which is the only way to clear hwcap_2 flags.
|
||||
set clearcap_ldflags "-Wl,-M,$srcdir/$subdir/clearcapv2.map"
|
||||
|
||||
if [check_no_compiler_messages mapfile executable {
|
||||
if ![check_no_compiler_messages mapfilev2 executable {
|
||||
int main (void) { return 0; }
|
||||
} $clearcap_ldflags ] {
|
||||
# If this doesn't work, fall back to the less capable v1 syntax.
|
||||
set clearcap_ldflags "-Wl,-M,$srcdir/$subdir/clearcap.map"
|
||||
|
||||
if ![check_no_compiler_messages mapfile executable {
|
||||
int main (void) { return 0; }
|
||||
} $clearcap_ldflags ] {
|
||||
} $clearcap_ldflags ] {
|
||||
unset clearcap_ldflags
|
||||
}
|
||||
}
|
||||
|
||||
if [info exists clearcap_ldflags] {
|
||||
if { [info procs gcc_target_compile] != [list] \
|
||||
&& [info procs saved_gcc_target_compile] == [list] } {
|
||||
rename gcc_target_compile saved_gcc_target_compile
|
||||
|
|
Loading…
Add table
Reference in a new issue