Re: libc reduction
Martin Schulze <joey@finlandia.Infodrom.North.DE> writes:
> Is here somebody around who groks library reduction? I'm not getting
> anywhere with it, lacking some background information and seem to be
> blind all over.
Hmm. I guess you mebbe should look at the CVS changelog for the file
and email the people who have hacked it lately (last year?).
> The problem:
>
> __udivdi3 is in the reduced libc, while __divdi3 is not.
> This causes mke2fs to fail on plain files.
>
> Some output (which I don't fully understand due to the lack of objdump
> documentation)
[...]
> finlandia!joey(tty5):/home/project/Debian/CVS/boot-floppies> objdump --dynamic-syms /mnt/lib/libext2fs.so.2.4 |grep divdi
> 00000000 DF *UND* 0000019e GLIBC_2.0 __divdi3
> finlandia!joey(tty5):/home/project/Debian/CVS/boot-floppies> objdump --dynamic-syms /mnt/sbin/mke2fs |grep divdi
> 0804b1d0 g DF .text 0000011a Base __udivdi3
>
> I guess that ".text" means the symbol is defined in that file
No, that the symbol is defined in the 'text' (code) section of the
ELF file.
> and that "*UND*" is just a reference to the symbol. If so, the
> symbol get's stripped off and I don't know why...
Yes -- look at the nm binutils info pages.
`U'
The symbol is undefined.
`N'
The symbol is a debugging symbol.
`D'
The symbol is in the initialized data section.
> Letting mklibs.sh run on libext2, mke2fs and libc results in
>
> undefined-symbol: __divdi3
> undefined-symbol: __udivdi3
>
> but not in provided symbols.
>
> I'm giving up for the moment unless somebody gives me the required
> hint.
I wish I could help more. Well, HTH.
--
.....Adam Di Carlo....adam@onShore.com.....<URL:http://www.onShore.com/>
Reply to:
- References:
- libc reduction
- From: Martin Schulze <joey@finlandia.Infodrom.North.DE>