From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 69348 invoked by alias); 29 Sep 2016 13:50:40 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 69102 invoked by uid 89); 29 Sep 2016 13:50:39 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.5 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 spammy=sk:debugi, assemblies, NEWS, H*m:vnet X-HELO: mx0a-001b2d01.pphosted.com Subject: Re: [PING][PATCH v3 1/9] Add configure check to test if gcc supports attribute ifunc. To: libc-alpha@sourceware.org References: <1472047472-30307-1-git-send-email-stli@linux.vnet.ibm.com> From: Stefan Liebler Date: Thu, 29 Sep 2016 13:50:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16092913-0040-0000-0000-000002E4AC1D X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 16092913-0041-0000-0000-00001D4AA55A Message-Id: X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-09-29_09:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=15 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1609020000 definitions=main-1609290242 X-SW-Source: 2016-09/txt/msg00589.txt.bz2 PING. On 09/05/2016 09:12 AM, Stefan Liebler wrote: > On 08/24/2016 04:04 PM, Stefan Liebler wrote: >> This patch adds a configure check to test if gcc supports attribute >> ifunc. >> The support can either be enabled in /gcc/config.gcc for one >> architecture in general by setting default_gnu_indirect_function >> variable to yes >> or by configuring gcc with --enable-gnu-indirect-function. >> >> The next patch rewrites libc_ifunc macro to use gcc attribute ifunc >> instead >> of inline assembly to generate the IFUNC symbols due to false debuginfo. >> >> If gcc does not support attribute ifunc, the old approach for generating >> ifunc'ed symbols is used. Then the debug-information is false. Thus it is >> recommended to use a gcc with indirect function support (See notes in >> INSTALL). >> After this patch-series these inline assemblies for ifunc-handling are >> not >> scattered in multiple files but are used only indirect via ifunc-macros >> and can simply removed in libc-symbols.h in future. >> >> If glibc is configured with --enable-multi-arch and gcc does not support >> attribute ifunc, a configure warning is dumped! >> >> This NEWS entry will be added: >> * For multi-arch support it is recommended to use a GCC with >> gnu-indirect-function >> support as it is used to generate ifunc'ed symbols with correct >> debug-information. This support can either be enabled by configuring >> GCC with >> '--enable-gnu-indirect-function' or by enabling it by default by >> setting >> 'default_gnu_indirect_function' variable for a particular >> architecture in >> gcc source file 'gcc/config.gcc'. >> >> ChangeLog: >> >> * config.h.in (HAVE_GCC_IFUNC): New undef. >> * configure.ac: Add check if gcc supports attribute ifunc feature. >> * configure: Regenerated. >> * manual/install.texi: Add recommendation for gcc with >> indirect-function support. >> * INSTALL: Regenerated. > > Hi, > > PING. > > Here is the current status of the patchset: > -"[PATCH v3 1/9] Add configure check to test if gcc supports attribute > ifunc.": > ok from Florian. > > -"[PATCH v3 2/9] Use gcc attribute ifunc in libc_ifunc macro instead of > inline assembly due to false debuginfo.": > partial ok from Paul. Paul, are the redirection of the f/l variants of > __finite and others ok as they are needed (see my previous answer)? > PING: ifunc-macros in libc-symbols.h > > -"[PATCH v3 3/9] s390: Refactor ifunc resolvers due to false debuginfo.": > PING. > > -"[PATCH v3 4/9] i386, x86: Use libc_ifunc macro for time, gettimeofday.": > PING. Andreas, are the names for the redirection defines okay? > > -"[PATCH v3 5/9] ppc: Use libc_ifunc macro for time, gettimeofday.": > ok from Paul. > > -"[PATCH v3 6/9] Use libc_ifunc macro for clock_* symbols in librt.": > ok from Florian. > > -"[PATCH v3 7/9] Use libc_ifunc macro for system in libpthread.": > ok from Florian. > > -"[PATCH v3 8/9] Use libc_ifunc macro for vfork in libpthread.": > ok from Florian. > > -"[PATCH v3 9/9] Use libc_ifunc macro for siglongjmp, longjmp in > libpthread.": > PING. > > Bye. > Stefan >