From 4e03fd0d699b62d6a852b19e5e55b254d1159a43 Mon Sep 17 00:00:00 2001 From: hjl Date: Wed, 27 Jan 2016 19:54:03 +0000 Subject: [PATCH] Don't change stack_alignment_needed for __tls_get_addr __tls_get_addr must be called with 16-byte aligned stack, which is guaranted by setting preferred_stack_boundary to 128 bits. There is no need to change stack_alignment_needed for __tls_get_addr. PR target/68986 * config/i386/i386.c (ix86_update_stack_boundary): Don't change stack_alignment_needed for __tls_get_addr call. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232901 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/config/i386/i386.c | 6 +----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fecbc49..cc8b21c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-01-27 H.J. Lu + + PR target/68986 + * config/i386/i386.c (ix86_update_stack_boundary): Don't + change stack_alignment_needed for __tls_get_addr call. + 2016-01-27 Segher Boessenkool * config/rs6000/rs6000.c (print_operand): Rollback 's' removal. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index cfbdf0f..6dc1fa5 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -12035,11 +12035,7 @@ ix86_update_stack_boundary (void) /* __tls_get_addr needs to be called with 16-byte aligned stack. */ if (ix86_tls_descriptor_calls_expanded_in_cfun && crtl->preferred_stack_boundary < 128) - { - crtl->preferred_stack_boundary = 128; - if (crtl->stack_alignment_needed < 128) - crtl->stack_alignment_needed = 128; - } + crtl->preferred_stack_boundary = 128; } /* Handle the TARGET_GET_DRAP_RTX hook. Return NULL if no DRAP is -- 2.7.4