This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] PowerPC64 ELFv2 ABI 6/6: Bump ld.so soname version number
- From: "Ulrich Weigand" <uweigand at de dot ibm dot com>
- To: joseph at codesourcery dot com (Joseph S. Myers), amodra at gmail dot com
- Cc: libc-alpha at sourceware dot org
- Date: Wed, 13 Nov 2013 19:32:32 +0100 (CET)
- Subject: Re: [PATCH] PowerPC64 ELFv2 ABI 6/6: Bump ld.so soname version number
- Authentication-results: sourceware.org; auth=none
> On Wed, 13 Nov 2013, Ulrich Weigand wrote:
>
> > Joseph Myers wrote:
> >
> > > There's also the matter of setting the minimum symbol version in this case
> > > to GLIBC_2.19. And having configure tests to ensure the only combinations
> > > are the (BE, ELFv1) and (LE, ELFv2) combinations it's desired to support.
> >
> > So I understand Alan Modra already checked in a change to shlib-versions to
> > set the minimum symbol version for powerpc64le. If we only use ELFv2 with
> > powerpc64le, is there anything else that needs to be done?
>
> The version there is wrong - it should be GLIBC_2.19, not GLIBC_2.18,
> since the 2.18 release did not in fact support little-endian.
Alan, any comments on that?
> But apart from that, just the configure checks.
OK, thanks.
> > As to the configure check, I guess we could add something along these lines
> > to the configure.ac file I added:
> >
> > # We support only the ELFv1 ABI on big-endian powerpc64-linux,
> > # and only the ELFv2 ABI on little-endian powerpc64le-linux.
> > if test -z "$enable_hacker_mode"; then
> > if test "$config_machine" = powerpc64le; then
> > if test $libc_cv_ppc64_elfv2_abi = no; then
> > AC_MSG_ERROR([Only the ELFv2 ABI is supported on powerpc64le-linux.])
> > fi
> > else
> > if test $libc_cv_ppc64_elfv2_abi = yes; then
> > AC_MSG_ERROR([Only the ELFv1 ABI is supported on powerpc64-linux.])
> > fi
> > fi
> > fi
> >
> > Is this what you were thinking about?
>
> Yes, but I wouldn't have the enable_hacker_mode conditional; make the
> errors unconditional just like the existing check that IBM long double is
> required in sysdeps/unix/sysv/linux/powerpc/configure.ac.
Well, if you want I'll of course remove the enable_hacker_mode check, but
I'm wondering why ...
This is different for the long double check: if you don't have IBM long double,
glibc will actually definitely not work, because it will use incompatible
math library routines. But building e.g. a big-endian ELFv2 glibc will work
just fine from a technical perspective; I've in fact been using that for
testing while we still have limited powerpc64le systems ... It simply is
not a configuration we will want to *support*.
I thought testing / experimental purposes like that are what the hacker mode
is for, to enable building unsupported configurations without having to patch
the source code ...
> (And it looks
> like the check that little-endian powerpc32 isn't supported is still
> needed as well.)
Is this about this part of Alan's change here:
powerpc64*) base_machine=powerpc machine=powerpc/powerpc64 ;;
powerpc*) base_machine=powerpc machine=powerpc/powerpc32 ;;
So I guess we shouldn't have the "*" in the second line?
Bye,
Ulrich
--
Dr. Ulrich Weigand
GNU/Linux compilers and toolchain
Ulrich.Weigand@de.ibm.com