GNU libc confusion with symbols undefined.
Adam Jackson
ajax at redhat.com
Fri Sep 18 15:07:47 UTC 2009
On Fri, 2009-09-18 at 09:21 -0500, Brown, Rodrick wrote:
> I'm trying to understand the following here
>
> I have a simple test program that calls memcpy/malloc/printf
>
> int
> main(int argc, char **argv)
> {
> char * p = malloc(10);
> memcpy(p,"Hello",6);
> printf("%s\n", p);
> }
>
> When looking at the symbol list why are the following routines undefined? And why is it referncing GLIBC_2.2.5?
>
> $ nm /tmp/f |grep ' U '
> U __libc_start_main@@GLIBC_2.2.5
> U malloc@@GLIBC_2.2.5
> U memcpy@@GLIBC_2.2.5
> U printf@@GLIBC_2.2.5
They're "undefined" in your binary because your binary does not define
them. It references them, and some other library you're linked against
provides them.
- ajax
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
URL: <http://listman.redhat.com/archives/fedora-devel-list/attachments/20090918/e5f5e225/attachment.sig>
More information about the fedora-devel-list
mailing list