aboutsummaryrefslogtreecommitdiffstats
path: root/core/Makefile
diff options
context:
space:
mode:
authorFeng Tang <feng.tang@intel.com>2010-06-03 13:22:51 +0800
committerFeng Tang <feng.tang@intel.com>2010-07-20 11:10:03 +0800
commit58ddf011b33b45676ad8436ae870fa7050c0a228 (patch)
treeebf10570d8c52053694da1b8825c2594a6583e1c /core/Makefile
parent70aa5968a72030aff10fbdb1cb2c1c6c08de5fec (diff)
downloadsyslinux-58ddf011b33b45676ad8436ae870fa7050c0a228.tar.gz
elflink: before chang core/Makefile back
Diffstat (limited to 'core/Makefile')
-rw-r--r--core/Makefile13
1 files changed, 9 insertions, 4 deletions
diff --git a/core/Makefile b/core/Makefile
index 166f0e4e..66b3fe66 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -50,7 +50,9 @@ COBJ := $(patsubst %.c,%.o,$(CSRC))
SOBJ := $(patsubst %.S,%.o,$(SSRC))
LIB = libcore.a
-LIBS = $(LIB) $(com32)/lib/libcomcore.a $(LIBGCC)
+#LIBS = $(LIB) $(com32)/lib/libcomcore.a $(LIBGCC)
+LIBS = $(LIB) $(LIBGCC) --whole-archive $(com32)/lib/libcom32min.a
+LIBDEP = $(filter-out -% %start%,$(LIBS))
LIBOBJS = $(COBJ) $(SOBJ)
NASMDEBUG = -g -F dwarf
@@ -88,9 +90,12 @@ kwdhash.gen: keywords genhash.pl
-DHEXDATE="$(HEXDATE)" \
-l $(@:.o=.lsr) -o $@ -MP -MD .$@.d $<
-%.elf: %.o $(LIBS) syslinux.ld
- $(LD) $(LDFLAGS) -T syslinux.ld -M -o $@ $< \
- --start-group $(LIBS) --end-group \
+#%.elf: %.o $(LIBS) syslinux.ld
+# $(LD) $(LDFLAGS) -T syslinux.ld -M -o $@ $< \
+# --start-group $(LIBS) --end-group \
+%.elf: %.o $(LIBDEP) syslinux.ld
+ $(LD) $(LDFLAGS) -Bsymbolic -pie -E --hash-style=gnu \
+ -T syslinux.ld -M -o $@ $< $(LIBS) \
> $(@:.elf=.map)
$(OBJDUMP) -h $@ > $(@:.elf=.sec)
$(PERL) lstadjust.pl $(@:.elf=.lsr) $(@:.elf=.sec) $(@:.elf=.lst)