On Sat, Jan 19, 2013 at 1:30 PM, horseriver <horserivers@xxxxxxxxx> wrote: > On Sat, Jan 19, 2013 at 09:47:53PM -0800, Ian Lance Taylor wrote: >> On Fri, Jan 18, 2013 at 10:19 PM, horseriver <horserivers@xxxxxxxxx> wrote: >> > hi: >> > >> > Here are two command for producting one .so file : >> > >> > 1. gcc -nostdlib -Wl,-T,vsyscall.lds vsyscall-int80.o -o vsyscall-int80.so >> > >> > 2. ld -T vsyscall.lds vsyscall-int80.o -o vsyscall-int80.so >> >> There is no substantive difference between these commands. There are >> various minor differences that probably don't matter. Use the -v >> option when invoking gcc to see precisely how it invokes the linker. >> >> In particular, invoking the linker via the gcc driver will cause some >> C++-specific operations to occur when needed, but since you aren't >> using C++ in this case they won't happen. > > Thanks! > > I have a weird problem here! > > When I type the 1 to make vsyscall-int80.so ,ld report error: Not enough room for program headers, try linking with -N > > But,When I type 2 to make vsyscall-int80.so,it works successfully. > > What is the reason? I don't know. Run the complete gcc command with the -v option and you will see precisely how it invokes the linker. Ian _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies