[AArch64] Restrict pic-small.c by new test directive
2015-07-01 Jiong Wang <jiong.wang@arm.com> gcc/ * doc/sourcebuild.texi (AArch64-specific attributes): New subsection. Document "aarch64_small_fpic". gcc/testsuite/ * lib/target-supports.exp (check_effective_target_aarch64_small_fpic): New function. * gcc.target/aarch64/pic-small.c: Restrict this test under check_effective_target_aarch64_small_fpic. From-SVN: r225232
This commit is contained in:
parent
34ecdb0f20
commit
8997ef1850
@ -1,3 +1,8 @@
|
||||
2015-07-01 Jiong Wang <jiong.wang@arm.com>
|
||||
|
||||
* doc/sourcebuild.texi (AArch64-specific attributes): New subsection.
|
||||
Document "aarch64_small_fpic".
|
||||
|
||||
2015-07-01 Jiong Wang <jiong.wang@arm.com>
|
||||
|
||||
* configure.ac: Add check for aarch64 assembler -fpic relocation
|
||||
|
@ -1580,6 +1580,15 @@ ARM target prefers @code{LDRD} and @code{STRD} instructions over
|
||||
|
||||
@end table
|
||||
|
||||
@subsubsection AArch64-specific attributes
|
||||
|
||||
@table @code
|
||||
@item aarch64_small_fpic
|
||||
Binutils installed on test system supports relocation types required by -fpic
|
||||
for AArch64 small memory model.
|
||||
|
||||
@end table
|
||||
|
||||
@subsubsection MIPS-specific attributes
|
||||
|
||||
@table @code
|
||||
|
@ -1,3 +1,9 @@
|
||||
2015-07-01 Jiong Wang <jiong.wang@arm.com>
|
||||
|
||||
* lib/target-supports.exp (check_effective_target_aarch64_small_fpic): New function.
|
||||
* gcc.target/aarch64/pic-small.c: Restrict this test under
|
||||
check_effective_target_aarch64_small_fpic.
|
||||
|
||||
2015-07-01 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gfortran.dg/gomp/pr66633.f90: New test.
|
||||
|
@ -1,4 +1,5 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target aarch64_small_fpic } */
|
||||
/* { dg-options "-O2 -fpic -fno-inline --save-temps" } */
|
||||
|
||||
void abort ();
|
||||
|
@ -937,6 +937,26 @@ proc check_effective_target_fpic { } {
|
||||
return 0
|
||||
}
|
||||
|
||||
# On AArch64, if -fpic is not supported, then we will fall back to -fPIC
|
||||
# silently. So, we can't rely on above "check_effective_target_fpic" as it
|
||||
# assumes compiler will give warning if -fpic not supported. Here we check
|
||||
# whether binutils supports those new -fpic relocation modifiers, and assume
|
||||
# -fpic is supported if there is binutils support. GCC configuration will
|
||||
# enable -fpic for AArch64 in this case.
|
||||
#
|
||||
# "check_effective_target_aarch64_small_fpic" is dedicated for checking small
|
||||
# memory model -fpic relocation types.
|
||||
|
||||
proc check_effective_target_aarch64_small_fpic { } {
|
||||
if { [istarget aarch64*-*-*] } {
|
||||
return [check_no_compiler_messages aarch64_small_fpic object {
|
||||
void foo (void) { asm ("ldr x0, [x2, #:gotpage_lo15:globalsym]"); }
|
||||
}]
|
||||
} else {
|
||||
return 0
|
||||
}
|
||||
}
|
||||
|
||||
# Return 1 if -shared is supported, as in no warnings or errors
|
||||
# emitted, 0 otherwise.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user