Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 29 Oct 2012 23:34:39 +0400
From: "Dmitry V. Levin" <ldv@...linux.org>
To: owl-dev@...ts.openwall.com
Subject: Re: glibc

On Mon, Oct 29, 2012 at 10:17:48PM +0400, Vasily Kulikov wrote:
[...]
> 'strncmp' symbol is present on x86_64, but absent on i686:
> 
>     $ readelf -s logs/glibc-build-i386/elf/rtld-libc.a | grep strncmp
>         22: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND strncmp
>     File: logs/glibc-build-i386/elf/rtld-libc.a(rtld-strncmp-c.os)
>          1: 00000000     0 FILE    LOCAL  DEFAULT  ABS strncmp-c.c
>         15: 00000000   279 FUNC    GLOBAL DEFAULT    1 __strncmp_ia32
>         16: 00000000   279 FUNC    GLOBAL DEFAULT    1 __GI_strncmp
> 
>     $ readelf -s logs/glibc-build-x86_64/elf/rtld-libc.a | grep strncmp
>         19: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND strncmp
>     File: logs/glibc-build-x86_64/elf/rtld-libc.a(rtld-strncmp.os)
>         10: 0000000000000000    33 FUNC    GLOBAL DEFAULT    1 strncmp
>     File: logs/glibc-build-x86_64/elf/rtld-libc.a(rtld-strncmp-ssse3.os)
>         11: 0000000000000000    33 FUNC    GLOBAL DEFAULT    4 __strncmp_ssse3

The difference between x86_64 and i686 is due to STT_GNU_IFUNC.

> The direct using of 'getenv' adds the dependency.  Commenting 2 usages
> of 'getenv' in the patch removed the linking problem.

Which ones?


-- 
ldv

[ CONTENT OF TYPE application/pgp-signature SKIPPED ]

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ