Welcome to the Linux Foundation Forum!

LDS Script Error: insufficient program headers

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

Categories

Upcoming Training