Questions about RedHat/Fedora - ld dynamic linker hash style
Andrew Haley
aph at redhat.com
Wed Jan 28 12:34:28 PST 2009
Kelly O'Hair wrote:
> I need some advice or information, figured this alias might be the
> right place to ask, probably lots of gcc/ld experts listing in here. ;^)
>
> Fedora (RedHat?) seems to have a different default dynamic linker hash
> style,
> I think basically it is:
> ld --hash-style=gnu ..
>
> So without using one of:
> --hash-style=both or --hash-style=sysv
>
> The bits created won't run on systems that don't support this new hash
> style, like SuSE 10.
>
> We had planned on changing our formal JDK7 builds to Fedora 9 but
> ran into this problem, making our built bits less portable than we
> would like. We need to resolve this, or change our build system
> choice.
>
> I'd like to just add one of the options to the link lines in the
> OpenJDK Makefiles, but I suspect I need to be careful to only add
> the option when the Linux system doing the build needs it.
>
> Anybody have any ideas on how to deal with this?
> I suppose if we had a './configure' step it could be figured out
> there, but alas, we don't.
>
> Or, can you configure gcc/ld on a system to have a different default
> hash style?
You can do that.
$ gcc -dumpspecs > specfile
$ sed -i 's/hash-style=gnu/hash-style=both/' specfile
$ gcc -specs=specfile hello.c
This will work regardless of whether the gcc you have defaults to
hash-style=gnu.
Andrew.
More information about the porters-dev
mailing list