aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2011-07-29 15:48:40 +0200
committerUros Bizjak <uros@gcc.gnu.org>2011-07-29 15:48:40 +0200
commitdadecee2036a9656936063460299f413233b13ff (patch)
treec5de10fd2dd2a214db09002d032ac6d25d8bb75d /gcc/function.c
parentdb7ccee202ecc15386eb283a83f75530f7ed856a (diff)
downloadgcc-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.c10
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)