From patchwork Tue May 22 12:12:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 27398 Received: (qmail 67518 invoked by alias); 22 May 2018 12:16:51 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 35060 invoked by uid 89); 22 May 2018 12:13:04 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-23.8 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_LAZY_DOMAIN_SECURITY, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mx1.redhat.com Subject: Re: [PATCH] i386: Do not attempt to change stack alignment To: Andreas Schwab Cc: libc-alpha@sourceware.org References: <20180522081927.7608F416529F7@oldenburg.str.redhat.com> <1d856213-90a9-33c4-c168-124fa64610c4@redhat.com> <151068b8-7520-a78f-8594-d15960f37c8e@redhat.com> From: Florian Weimer Message-ID: <05e2f0a1-5a35-b5a6-7665-0b915ce5a6de@redhat.com> Date: Tue, 22 May 2018 14:12:58 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: On 05/22/2018 12:24 PM, Andreas Schwab wrote: > On Mai 22 2018, Florian Weimer wrote: > >> I don't really understand what you are after >> here. -mpreferred-stack-boundary=4 is the default, so the Makefile bits I >> removed are just a cleanup that was missed when the (rather broken) >> -mpreferred-stack-boundary=2 flag was removed. > My issue is that this has nothing to do with GCC, but with our (former) > use of the option. Your summary is misleading. Do you think this wording is an improvement? Thanks, Florian Subject: [PATCH] i386: Drop -mpreferred-stack-boundary=4 To: libc-alpha@sourceware.org GCC uses it by default. 2018-05-22 Florian Weimer i386: Drop -mpreferred-stack-boundary=4; GCC uses it by default. * sysdeps/i386/Makefile [$(subdir) == math] (sysdep-CFLAGS): Do not add -mpreferred-stack-boundary=4. [$(subdir) == csu] (sysdep-CFLAGS): Likewise. (stack-align-test-flags): Likewise. [$(subdir) == stdlib] (CFLAGS-exit.c, CFLAGS-cxa_finalize.c): Likewise. [$(subdir) == elf] (CFLAGS-dl-init.c, CFLAGS-dl-fini.c) (CFLAGS-dl-open.c, CFLAGS-dl-close.c, CFLAGS-dl-error.c): Likewise. [$(subdir) == dlfcn] (CFLAGS-dlopen.c, CFLAGS-dlopenold.c) (CFLAGS-dlclose.c, CFLAGS-dlerror.c): Likewise. * sysdeps/i386/nptl/Makefile [$(subdir) == nptl] (CFLAGS-pthread_create.c, CFLAGS-tst-align.c) (CFLAGS-tst-align2.c): Likewise. diff --git a/sysdeps/i386/Makefile b/sysdeps/i386/Makefile index a1500454e5..1682394e76 100644 --- a/sysdeps/i386/Makefile +++ b/sysdeps/i386/Makefile @@ -19,46 +19,10 @@ CFLAGS-dl-load.c += -Wno-unused CFLAGS-dl-reloc.c += -Wno-unused endif -# Most of the glibc routines don't ever call user defined callbacks -# nor use any FPU or SSE* and as such don't need bigger %esp alignment -# than 4 bytes. -# Lots of routines in math will use FPU, so make math subdir an exception -# here. -# In gcc 4.6 (and maybe earlier?) giving -mpreferred-stack-boundary=2 is -# an error, so don't try to reduce it here like we used to. We still -# explicit set -mpreferred-stack-boundary=4 the places where it matters, -# in case an older compiler defaulted to 2. -ifeq ($(subdir),math) -sysdep-CFLAGS += -mpreferred-stack-boundary=4 -else ifeq ($(subdir),csu) -sysdep-CFLAGS += -mpreferred-stack-boundary=4 gen-as-const-headers += link-defines.sym else -# Likewise, any function which calls user callbacks -uses-callbacks += -mpreferred-stack-boundary=4 -# Likewise, any stack alignment tests -stack-align-test-flags += -malign-double -mpreferred-stack-boundary=4 -endif -endif - -# And a couple of other routines -ifeq ($(subdir),stdlib) -CFLAGS-exit.c += -mpreferred-stack-boundary=4 -CFLAGS-cxa_finalize.c += -mpreferred-stack-boundary=4 -endif -ifeq ($(subdir),elf) -CFLAGS-dl-init.c += -mpreferred-stack-boundary=4 -CFLAGS-dl-fini.c += -mpreferred-stack-boundary=4 -CFLAGS-dl-open.c += -mpreferred-stack-boundary=4 -CFLAGS-dl-close.c += -mpreferred-stack-boundary=4 -CFLAGS-dl-error.c += -mpreferred-stack-boundary=4 -endif -ifeq ($(subdir),dlfcn) -CFLAGS-dlopen.c += -mpreferred-stack-boundary=4 -CFLAGS-dlopenold.c += -mpreferred-stack-boundary=4 -CFLAGS-dlclose.c += -mpreferred-stack-boundary=4 -CFLAGS-dlerror.c += -mpreferred-stack-boundary=4 +stack-align-test-flags += -malign-double endif ifneq (,$(filter -mno-tls-direct-seg-refs,$(CFLAGS))) diff --git a/sysdeps/i386/nptl/Makefile b/sysdeps/i386/nptl/Makefile index 93a6d30b44..73024033ee 100644 --- a/sysdeps/i386/nptl/Makefile +++ b/sysdeps/i386/nptl/Makefile @@ -18,9 +18,3 @@ ifeq ($(subdir),csu) gen-as-const-headers += tcb-offsets.sym endif - -ifeq ($(subdir),nptl) -CFLAGS-pthread_create.c += -mpreferred-stack-boundary=4 -CFLAGS-tst-align.c += -mpreferred-stack-boundary=4 -CFLAGS-tst-align2.c += -mpreferred-stack-boundary=4 -endif