LDSO_GNU_HASH_SUPPORT breaks cross-compilation

Bernhard Fischer rep.dot.nop at gmail.com
Wed Feb 6 18:02:30 UTC 2008


On Wed, Nov 07, 2007 at 09:33:21PM +0100, Bernhard Fischer wrote:
>On Wed, Nov 07, 2007 at 07:55:35PM +0000, Denys Vlasenko wrote:
>>On Wednesday 07 November 2007 15:14, carmelo at uclibc.org wrote:
>>> +config LDSO_GNU_HASH_SUPPORT
>>> +	bool "Enable GNU hash style support"
>>> +	depends on HAVE_SHARED
>>> +	default n
>>> +	help
>>> +	  Newest binutils support a new hash style named GNU-hash. The dynamic
>>> +	  linker will use the new GNU-hash section (.gnu.hash) for symbol lookup 
>>> +	  if present into the ELF binaries, otherwise it will use the old SysV 
>>> +	  hash style (.hash). This ensures that it is completely backward compatible.
>>> +	  Further, being the hash table implementation self-contained into each
>>> +	  executable and shared libraries, objects with mixed hash style can
>>> +	  peacefully coexist in the same process.
>>> +	  
>>> +	  If you want to use this new feature, answer Y  
>>> +
>>
>>If I would read this help text, I'd wonder whether this
>>new GNU style hash is actually better than old way, and why.
>>Is it smaller? faster? or what...
>
>One very visible effect introduced by it is that cross-compilation is
>broken now. Unpleasant.
>
>Reverting locally.

Hi Carmelo,

Do you intend to fix this anytime soon?

Your check if ld supports --hash-style=gnu is not working (since i'm
about to configure or install_dev and don't have a proper cross-ld yet):

make[1]: Entering directory
`/there/toolchain_build_arm_nofpu/uClibc'
install -d include/bits
/usr/bin/make -j1 -C extra/config conf
/bin/sh:
/there/build_arm_nofpu/staging_dir/usr/bin/arm-linux-uclibcgnueabi-gcc: No such file or directory
./../Rules.mak:465: *** Your binutils don't support --hash-style option, while you want to use it.  Stop.
 make[1]: *** [extra/config/conf] Error 2

Same for e.g. install_dev.



More information about the uClibc mailing list