[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: