Message ID | 20200708222342.314779-1-murphyp@linux.vnet.ibm.com |
---|---|
State | Committed |
Delegated to: | Tulio Magno Quites Machado Filho |
Headers |
Return-Path: <libc-alpha-bounces@sourceware.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D46623858D35; Wed, 8 Jul 2020 22:24:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D46623858D35 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1594247044; bh=gsDClEcbQv1j9tIOMDnaFkrQX+Hjbv8/CS2FQ8cSKOM=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=tPZSOtkGdm8tB4qGfwmUBC9dBpJOUDWLXgR/MAQJ/DqqRj+3JzrBfX70TXx/yTBDN RiPUAAHiiO6PCFeHQ/Le7nUY8unwe0/X/GhkgJnnyyiez9vdXejVSc3XZipzQAIsqg bVe286J65gH2oTzqtJ4V6sTsPnFW8gawCJUUdVPk= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by sourceware.org (Postfix) with ESMTPS id F3C9F3858D34 for <libc-alpha@sourceware.org>; Wed, 8 Jul 2020 22:23:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org F3C9F3858D34 Received: from pps.filterd (m0098396.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 068M3IFZ136592 for <libc-alpha@sourceware.org>; Wed, 8 Jul 2020 18:23:45 -0400 Received: from ppma01dal.us.ibm.com (83.d6.3fa9.ip4.static.sl-reverse.com [169.63.214.131]) by mx0a-001b2d01.pphosted.com with ESMTP id 325k3qx609-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for <libc-alpha@sourceware.org>; Wed, 08 Jul 2020 18:23:45 -0400 Received: from pps.filterd (ppma01dal.us.ibm.com [127.0.0.1]) by ppma01dal.us.ibm.com (8.16.0.42/8.16.0.42) with SMTP id 068MG8jO013094 for <libc-alpha@sourceware.org>; Wed, 8 Jul 2020 22:23:44 GMT Received: from b03cxnp07029.gho.boulder.ibm.com (b03cxnp07029.gho.boulder.ibm.com [9.17.130.16]) by ppma01dal.us.ibm.com with ESMTP id 325k1y1sxa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for <libc-alpha@sourceware.org>; Wed, 08 Jul 2020 22:23:44 +0000 Received: from b03ledav001.gho.boulder.ibm.com (b03ledav001.gho.boulder.ibm.com [9.17.130.232]) by b03cxnp07029.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 068MNgVh60227868 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <libc-alpha@sourceware.org>; Wed, 8 Jul 2020 22:23:42 GMT Received: from b03ledav001.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C781D6E050 for <libc-alpha@sourceware.org>; Wed, 8 Jul 2020 22:23:42 +0000 (GMT) Received: from b03ledav001.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 879B86E04E for <libc-alpha@sourceware.org>; Wed, 8 Jul 2020 22:23:42 +0000 (GMT) Received: from brokenarrow.ibmuc.com (unknown [9.163.86.118]) by b03ledav001.gho.boulder.ibm.com (Postfix) with ESMTP for <libc-alpha@sourceware.org>; Wed, 8 Jul 2020 22:23:42 +0000 (GMT) To: libc-alpha@sourceware.org Subject: [PATCH] powerpc64le: guarantee a .gnu.attributes section [BZ #26220] Date: Wed, 8 Jul 2020 17:23:42 -0500 Message-Id: <20200708222342.314779-1-murphyp@linux.vnet.ibm.com> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235, 18.0.687 definitions=2020-07-08_18:2020-07-08, 2020-07-08 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 adultscore=0 priorityscore=1501 mlxscore=0 lowpriorityscore=0 mlxlogscore=866 bulkscore=0 suspectscore=1 malwarescore=0 phishscore=0 impostorscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2007080132 X-Spam-Status: No, score=-13.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list <libc-alpha.sourceware.org> List-Unsubscribe: <http://sourceware.org/mailman/options/libc-alpha>, <mailto:libc-alpha-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/libc-alpha/> List-Post: <mailto:libc-alpha@sourceware.org> List-Help: <mailto:libc-alpha-request@sourceware.org?subject=help> List-Subscribe: <http://sourceware.org/mailman/listinfo/libc-alpha>, <mailto:libc-alpha-request@sourceware.org?subject=subscribe> From: "Paul E. Murphy via Libc-alpha" <libc-alpha@sourceware.org> Reply-To: "Paul E. Murphy" <murphyp@linux.vnet.ibm.com> Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" <libc-alpha-bounces@sourceware.org> |
Series |
powerpc64le: guarantee a .gnu.attributes section [BZ #26220]
|
|
Commit Message
Paul E. Murphy
July 8, 2020, 10:23 p.m. UTC
Upstream GCC 11 development is now building the ibm128 runtime support (in libgcc) without a .gnu.attributes section on ppc64le. Ensure we have one to replace by building one ibm128 file in libc and libm with attributes. --- sysdeps/powerpc/powerpc64/le/Makefile | 8 ++++++++ 1 file changed, 8 insertions(+)
Comments
"Paul E. Murphy via Libc-alpha" <libc-alpha@sourceware.org> writes: > Upstream GCC 11 development is now building the ibm128 runtime > support (in libgcc) without a .gnu.attributes section on ppc64le. > Ensure we have one to replace by building one ibm128 file in > libc and libm with attributes. Tested with GCC master and LGTM. But I think it also need to be approved by Carlos before it gets merged in glibc 2.32. Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
On 7/8/20 6:23 PM, Paul E. Murphy via Libc-alpha wrote: > Upstream GCC 11 development is now building the ibm128 runtime > support (in libgcc) without a .gnu.attributes section on ppc64le. > Ensure we have one to replace by building one ibm128 file in > libc and libm with attributes. > --- > sysdeps/powerpc/powerpc64/le/Makefile | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/sysdeps/powerpc/powerpc64/le/Makefile b/sysdeps/powerpc/powerpc64/le/Makefile > index 05ab13d85c..033dc77b01 100644 > --- a/sysdeps/powerpc/powerpc64/le/Makefile > +++ b/sysdeps/powerpc/powerpc64/le/Makefile > @@ -38,6 +38,14 @@ if [ ! -z "$(filter libm.so libc.so,$(notdir $1))" ]; then \ > fi > endef > > +# Ensure a .gnu.attributes section is present by building an ibm128 file with > +# -mgnu-attribute in both libm and libc shared libraries. Prior to GCC 11 this > +# section was implicitly included via static libgcc ibm128 routines. > +ifeq ($(subdir),math) > +$(objpfx)m_ldexpl.os: CFLAGS += -mgnu-attribute > +$(objpfx)s_ldexpl.os: CFLAGS += -mgnu-attribute > +endif > + > endif # ifeq ($(build-shared),yes) > endif # ifeq ($(ibm128-fcts),yes) > > I'll admit this seems a bit hackish. I would have expected the compiler would have output something that marked the object as using the ibm128 with gnu attributes by default, but I guess that isn't a default and you have to ask for the attributes? OK for 2.32. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
On 7/17/20 4:03 PM, Carlos O'Donell wrote: > On 7/8/20 6:23 PM, Paul E. Murphy via Libc-alpha wrote: >> Upstream GCC 11 development is now building the ibm128 runtime >> support (in libgcc) without a .gnu.attributes section on ppc64le. >> Ensure we have one to replace by building one ibm128 file in >> libc and libm with attributes. >> --- >> sysdeps/powerpc/powerpc64/le/Makefile | 8 ++++++++ >> 1 file changed, 8 insertions(+) >> >> diff --git a/sysdeps/powerpc/powerpc64/le/Makefile b/sysdeps/powerpc/powerpc64/le/Makefile >> index 05ab13d85c..033dc77b01 100644 >> --- a/sysdeps/powerpc/powerpc64/le/Makefile >> +++ b/sysdeps/powerpc/powerpc64/le/Makefile >> @@ -38,6 +38,14 @@ if [ ! -z "$(filter libm.so libc.so,$(notdir $1))" ]; then \ >> fi >> endef >> >> +# Ensure a .gnu.attributes section is present by building an ibm128 file with >> +# -mgnu-attribute in both libm and libc shared libraries. Prior to GCC 11 this >> +# section was implicitly included via static libgcc ibm128 routines. >> +ifeq ($(subdir),math) >> +$(objpfx)m_ldexpl.os: CFLAGS += -mgnu-attribute >> +$(objpfx)s_ldexpl.os: CFLAGS += -mgnu-attribute >> +endif >> + >> endif # ifeq ($(build-shared),yes) >> endif # ifeq ($(ibm128-fcts),yes) >> >> > > I'll admit this seems a bit hackish. I would have expected the compiler > would have output something that marked the object as using the ibm128 > with gnu attributes by default, but I guess that isn't a default and > you have to ask for the attributes? Yes, but I think libc/libm should provide a permissive gnu attributes section on libc/libm instead of stripping it. We disabled this feature when building glibc to avoid the linking warning/errors, thus any externally built and subsequently linked libraries might provide their own. I have committed this patch. Thank you Carlos and Tulio for reviewing.
diff --git a/sysdeps/powerpc/powerpc64/le/Makefile b/sysdeps/powerpc/powerpc64/le/Makefile index 05ab13d85c..033dc77b01 100644 --- a/sysdeps/powerpc/powerpc64/le/Makefile +++ b/sysdeps/powerpc/powerpc64/le/Makefile @@ -38,6 +38,14 @@ if [ ! -z "$(filter libm.so libc.so,$(notdir $1))" ]; then \ fi endef +# Ensure a .gnu.attributes section is present by building an ibm128 file with +# -mgnu-attribute in both libm and libc shared libraries. Prior to GCC 11 this +# section was implicitly included via static libgcc ibm128 routines. +ifeq ($(subdir),math) +$(objpfx)m_ldexpl.os: CFLAGS += -mgnu-attribute +$(objpfx)s_ldexpl.os: CFLAGS += -mgnu-attribute +endif + endif # ifeq ($(build-shared),yes) endif # ifeq ($(ibm128-fcts),yes)