On Wed, Jan 02, 2013 at 08:57:04AM -0800, Ian Lance Taylor wrote:
On Wed, Jan 2, 2013 at 1:16 AM, horseriver <horserivers@gmail.com> wrote:
I am compiling 2.6.0 kernel with gcc 4.4.5 and link with ld 2.20 version.
when linking .so , output this error :
/usr/bin/ld: arch/i386/kernel/vsyscall-int80.so: Not enough room for program headers, try linking with -N
does gcc generate the program headers ? why not enough room for it ?
I guess it is because gcc version is not compitable with ld version
is there some advice ?
It is more likely to be an issue of compatibility between the kernel's linker script and the version of ld that you are using.
you mean the vmlinux.lds which is in the arch/i386/kernel directory , does not compitable with /usr/ld which I'm using ? thanks!
I don't know why this fails for you, but since GNU binutils 2.23 has been released, I would recommend trying that. Alternatively, since 2.6.0 is relatively old, trying using an older version of the GNU binutils.
Ian