This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: about gcc & ld


----- Original Message -----
From: Yu Tang <carino@mail.ustc.edu.cn>
To: <gcc@gcc.gnu.org>
Sent: Tuesday, January 09, 2001 7:56 PM
Subject: about gcc & ld


> Hi, I get my problem when I am study about ELF.
> here is a simple c program:
> ---------------------------
> /*  haha.c */
> #include "stdio.h"
> int main()
> {
> printf("haha\n");
> }//main
> ---------------------------
> I compiled it as following steps
> #gcc -c haha.c
> #ld haha.o /usr/lib/crt0.o /usr/lib/crti.o /usr/XXX/crtbegin.o
> /usr/XXX/crtend.o -lc -o hahald
>
> And It can't work. :(  [but when use #gcc haha.c -o hahagcc]
> and hahagcc works.
> (I have found a little difference between hahagcc & hahald,
>  the section .intrp of hahagcc is "/usr/lib/ld-linux.so.2",
>  while hahald is "/usr/lib/libc.so.1

Just utilize GCC. The GCC specs file defines which ld is involved during
compiling. ld-linux.so.2 is a integral component of glibc as a linker. But
ld doesn' know which glibc is suitable to current GCC. So that's why we
could get more than one GCC in one Linux platform.

> )
> So what's wrong with my way? and how can i make gccld work proper?
>
>
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]