Syllable; elf-init.c in csu/stamp.os
Kristian Van Der Vliet
vanders@liqwyd.com
Mon Jan 26 21:48:00 GMT 2004
On Monday 26 January 2004 9:20 pm, Andreas Schwab wrote:
> Kristian Van Der Vliet <vanders@liqwyd.com> writes:
>> It turns out that this is because elf-init.c is being included as part of
>> libc_pic.a, exactly where it should not be. On further investigation the
>> files csu/stamp.os & csu/stamp.oS appear to be incorrect. Configuring
>> with
>>
>> --build=i586-unknown-syllable --host=i586-unknown-syllable
>>
>> csu/stamp.os is generated as
>>
>> csu/init-first.os csu/libc-start.os csu/sysdep.os csu/version.os
>> csu/check_fds.os csu/elf-init.os csu/dso_handle.os csu/errno.os
>> csu/errno-loc.os csu/divdi3.os
>>
>> (Note the inclusion of elf-init.os)
>>
>> csu/stamp.oS is a 1 byte file with no files listed within it.
>
> Do you have symbol versioning disabled? Because of these lines in
> Makerules:
>
> ifeq (yesyes,$(build-shared)$(elf))
> ifndef libc.so-version
> # Undefine this because it can't work when we libc.so is unversioned.
> static-only-routines =
> endif
> endif
>
> there will be no *.oS (static-only) objects produced in this case.
Thank you. Syllable is using versioning, but had missed the importance of
shlib-versions. Testing by adding an implicit
libc.so-version=.1
in sysdeps/unix/sysv/syllable/Makefile has fixed the generation of stamp.os
I'll now go through shlib-versions & add specific patterns for Syllable. The
purpose of shlib-versions was something I was not previously aware of.
Now the compile has completed I see only three undefined symbols left in
libc_pic.a & a couple of stub functions I need to override with Syllable
specific versions. Thats a result!
--
Vanders
http://syllable.sourceforge.net/
http://www.liqwyd.com
More information about the Libc-alpha
mailing list