Linux.com

Home Linux Community Forums Programming and Development Software Development LDS Script Error: insufficient program headers

LDS Script Error: insufficient program headers

Link to this post 13 May 11

Hi,

I am building a project using the GNU / Cygwin tool chain, cross compiled for the MIPS-ELF.

My problem involves the linker, ld (really mips-elf-ld). I receive this error
message, when I build.

mips-elf-ld:
project.out: Not enough room for program headers, try linking with -N
mips-elf-ld: final link failed: Bad value
dmake.exe: Error code 129, while making '\project.out'

I modified a sample that I was given, the sample does not for whatever reason have to deal with
insufficent headers, so the LDS mapping file does not have anything
there that I can use. I am trying on my own to solve the problem, but
so far no luck.

Further Information: Adding in the line ". = SIZEOF_HEADERS;" as the
first line in the SECTIONS block, changes the error message to saying
that the linker allocated 3 headers but needs space for 16. What do I
have to add to the LDS file to solve the problem?

I tried to add a PHDRS block, as the unversal example does
not give enough information to tailor it to my needs. The internet example is:

PHDRS
{
headers PT_PHDR PHDRS ;
interp PT_INTERP ;
text PT_LOAD FILEHDR PHDRS ;
data PT_LOAD ;
dynamic PT_DYNAMIC ;
}

Adding this block makes the problem worse or at the least does not
solve the problem. I tried adding in various things to this block,
after adding it, but got nowhere.

Is there some way to just state that number, since I now know that I
need 16 headers. I did research and know that one header is 32-bytes.

Thanks in advance,

Sarah

Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Join / Linux Training / Board