[syslinux] ldlinux.elf: Not enough room for program headers

Ady Ady ady-sf at hotmail.com
Thu Feb 2 08:40:46 PST 2017

The Syslinux package in Debian (6.03+dfsg-14) Failed To Build From 

Is there a better solution than [1]?

Is this issue only relevant for Debian? Or, can it be found in other 
distros / cases too?

Is it still relevant for current upstream Syslinux git master?

The original report is about:
 "ldlinux.elf: Not enough room for program headers"

The workaround that was proposed in Debian is:
 "Simple fix for build failure is to add --no-dynamic-linker to the 
linker command lines."

+--- a/core/Makefile	2017-01-28 18:33:22.750959519 +0000
++++ b/core/Makefile	2017-01-28 18:27:47.387981830 +0000
+@@ -165,7 +165,7 @@
+ %.elf: %.o $(LIBDEP) $(LDSCRIPT) $(AUXLIBS)
+ 	$(LD) $(LDFLAGS) -Bsymbolic $(LD_PIE) -E --hash-style=gnu -T 
$(LDSCRIPT) -M -o $@ $< \
+-		--start-group $(LIBS) $(subst $(*F).elf,lib$(*F).a,$@) --end-group 
++		--start-group $(LIBS) $(subst $(*F).elf,lib$(*F).a,$@) --end-group 
--no-dynamic-linker \
+ 		> $(@:.elf=.map)
+ 	$(OBJDUMP) -h $@ > $(@:.elf=.sec)
+ 	$(PERL) $(SRC)/lstadjust.pl $(@:.elf=.lsr) $(@:.elf=.sec) 

Is this problem (or the solution) dependent on some (specific) version 
(or update) in some Syslinux's dependency (ldd? glibc? coreutils? 
binutils? gcc? other?)?

Is there something that the official (upstream) Syslinux source code 
can do so as to improve/avoid this situation (for all distros)?



More information about the Syslinux mailing list