This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
Re: [PATCH] tile: improve detection for missing -mcmodel=large support
- From: "Carlos O'Donell" <carlos at redhat dot com>
- To: Chris Metcalf <cmetcalf at tilera dot com>
- Cc: libc-ports at sourceware dot org
- Date: Thu, 23 May 2013 18:17:41 -0400
- Subject: Re: [PATCH] tile: improve detection for missing -mcmodel=large support
- References: <201305231925 dot r4NJPPJG013785 at farm-0002 dot internal dot tilera dot com>
On 05/23/2013 03:20 PM, Chris Metcalf wrote:
> The existing test avoided passing -mcmodel=large if the compiler didn't
> support it. However, we need to test not just the compiler support, but
> also the toolchain (as and ld) support, so make the test more complete.
> In addition, we have to avoid using the hwN_plt() assembly operators if
> that support is missing, so guard the uses with #ifdef NO_PLT_PCREL.
>
> This allows us to properly build glibc with the current community
> binutils, which doesn't yet have the PC-relative PLT operator support.
> The -mcmodel=large support is in gcc 4.8, but the toolchain support
> won't be present in the community until binutils 2.24.
> ---
> This change should also be applied on the 2.17 release branch for
> when we release a 2.17.1.
No, just backport it immediately after checkin to master. The 2.17
branch *is* 2.17.1 in development and when we get enough changes in
that branch we cut it and make a 2.17.1 release.
You need release manager ACK though, which is David Miller. We normally
handle backports via bugzilla bugs with keyword glibc_2.17, but it
can be less formal if you just CC David and ask for ACK.
> 2013-05-23 Chris Metcalf <cmetcalf@tilera.com>
>
> * sysdeps/tile/tilegx/Makefile ($(cflags-mcmodel-large)):
> Test for assembler and linker support for "-mcmodel=large -fpic"
> in addition to compiler support; provide -DNO_PLT_PCREL if not.
> * sysdeps/tile/start.S [NO_PLT_PCREL]: Guard for no PC-relative
> PLT operators in assembly.
> * sysdeps/tile/crti.S [NO_PLT_PCREL]: Likewise.
I didn't look at the rest of the patch but I assume it works
for you.
Cheers,
Carlos.