diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2011-07-29 15:48:40 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2011-07-29 15:48:40 +0200 |
commit | dadecee2036a9656936063460299f413233b13ff (patch) | |
tree | c5de10fd2dd2a214db09002d032ac6d25d8bb75d /gcc/function.c | |
parent | db7ccee202ecc15386eb283a83f75530f7ed856a (diff) | |
download | gcc-dadecee2036a9656936063460299f413233b13ff.zip gcc-dadecee2036a9656936063460299f413233b13ff.tar.gz gcc-dadecee2036a9656936063460299f413233b13ff.tar.bz2 |
re PR target/47715 ([x32] TLS doesn't work)
PR target/47715
* config/i386/i386.md (*load_tp_x32): New.
(*load_tp_x32_zext): Ditto.
(*add_tp_x32): Ditto.
(*add_tp_x32_zext): Ditto.
(*load_tp_<mode>): Disable for TARGET_X32 targets.
(*add_tp_<mode>): Ditto.
* config/i386/i386.c (get_thread_pointer): Load thread pointer in
ptr_mode and convert to Pmode if needed.
From-SVN: r176924
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/function.c b/gcc/function.c index c94680c..8f8c96f 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -4570,9 +4570,14 @@ stack_protect_prologue (void) tree guard_decl = targetm.stack_protect_guard (); rtx x, y; + printf ("TESTx\n"); + x = expand_normal (crtl->stack_protect_guard); y = expand_normal (guard_decl); + debug_rtx (x); + debug_rtx (y); + /* Allow the target to copy from Y to X without leaking Y into a register. */ if (HAVE_stack_protect_set) @@ -4604,9 +4609,14 @@ stack_protect_epilogue (void) rtx label = gen_label_rtx (); rtx x, y, tmp; + printf ("TESTz\n"); + x = expand_normal (crtl->stack_protect_guard); y = expand_normal (guard_decl); + debug_rtx (x); + debug_rtx (y); + /* Allow the target to compare Y with X without leaking either into a register. */ switch (HAVE_stack_protect_test != 0) |