mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-14 06:50:27 +08:00
Restore flag_pic in ix86_function_specific_restore
gcc/ PR target/59492 * config/i386/i386.c (ix86_function_specific_restore): Don't change -fPIC. 2013-12-14 H.J. Lu <hongjiu.lu@intel.com> PR target/59492 * g++.dg/other/pr59492.C: New file. From-SVN: r205989
This commit is contained in:
parent
85098de7c6
commit
4eca178ac8
@ -1,3 +1,9 @@
|
||||
2013-12-14 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR target/59492
|
||||
* config/i386/i386.c (ix86_function_specific_restore): Don't
|
||||
change -fPIC.
|
||||
|
||||
2013-12-14 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* var-tracking.c (add_stores): Fix oversight in latest commit.
|
||||
|
@ -4337,6 +4337,9 @@ ix86_function_specific_restore (struct gcc_options *opts,
|
||||
unsigned int ix86_arch_mask;
|
||||
int i;
|
||||
|
||||
/* We don't change -fPIC. */
|
||||
opts->x_flag_pic = flag_pic;
|
||||
|
||||
ix86_arch = (enum processor_type) ptr->arch;
|
||||
ix86_schedule = (enum attr_cpu) ptr->schedule;
|
||||
ix86_tune = (enum processor_type) ptr->tune;
|
||||
|
@ -1,3 +1,8 @@
|
||||
2013-12-14 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR target/59492
|
||||
* g++.dg/other/pr59492.C: New file.
|
||||
|
||||
2013-12-14 Andreas Schwab <schwab@linux-m68k.org>
|
||||
|
||||
* g++.dg/cilk-plus/cilk-plus.exp: Fix last change.
|
||||
|
18
gcc/testsuite/g++.dg/other/pr59492.C
Normal file
18
gcc/testsuite/g++.dg/other/pr59492.C
Normal file
@ -0,0 +1,18 @@
|
||||
// { dg-do assemble { target { { i?86-*-* x86_64-*-* } && fpic } } }
|
||||
// { dg-options "-mx32 -fPIC" }
|
||||
// { dg-require-ifunc "" }
|
||||
// { dg-require-effective-target maybe_x32 }
|
||||
|
||||
void
|
||||
__throw_runtime_error(const char*) __attribute__((__noreturn__));
|
||||
unsigned int
|
||||
__attribute__ ((target("rdrnd")))
|
||||
__x86_rdrand(void)
|
||||
{
|
||||
unsigned int retries = 100;
|
||||
unsigned int val;
|
||||
while (__builtin_ia32_rdrand32_step(&val) == 0)
|
||||
if (--retries == 0)
|
||||
__throw_runtime_error(("random_device::__x86_rdrand(void)"));
|
||||
return val;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user