Re: what is the difference between the two command?

2013-01-20 Thread Ian Lance Taylor
On Sat, Jan 19, 2013 at 1:30 PM, horseriver horseriv...@gmail.com 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 horseriv...@gmail.com 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@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Need for .rel.text in vmlinux!

2013-01-20 Thread sebas sujeen
Hello,
  I was just verifying the sections in vmlinux file, I am just thinking why
there is a .rel.text or more generally relocation sections in a vmlinux
file. If it is relocatable , then does it not require a linker of some sort
to fix the relocation symbols? Thanks in advance!

Best regards,
-sujeen
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies