This is the mail archive of the mailing list for the glibc project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] PowerPC64 ELFv2 ABI 6/6: Bump soname version number

> 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 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/

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?


  Dr. Ulrich Weigand
  GNU/Linux compilers and toolchain

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]