GNU libc confusion with symbols undefined.
Brown, Rodrick
rodrick.brown at citi.com
Fri Sep 18 15:20:38 UTC 2009
Thanks!!
-----Original Message-----
From: fedora-devel-list-bounces at redhat.com [mailto:fedora-devel-list-bounces at redhat.com] On Behalf Of Adam Jackson
Sent: Friday, September 18, 2009 11:08 AM
To: Development discussions related to Fedora
Subject: Re: GNU libc confusion with symbols undefined.
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
More information about the devel
mailing list