summaryrefslogtreecommitdiff
path: root/ldso/ldso/Makefile
diff options
context:
space:
mode:
authorJoakim Tjernlund <joakim.tjernlund@transmode.se>2004-08-27 11:08:35 +0000
committerJoakim Tjernlund <joakim.tjernlund@transmode.se>2004-08-27 11:08:35 +0000
commitd6ea3852863b744ad86802f0a1ebe4d596286a3e (patch)
tree7966b97e5cdd8c17a7758b496c4ce54b6f8c0f12 /ldso/ldso/Makefile
parent3f2ae8a18aa181090a237ab58f757f3e947796d5 (diff)
#include "dl-startup.c into ldso.c, making ldso one compilation unit.
Now all functions and vaiables can be made static to reduce relocs. Basicly, all variables should be merged into one struct variable and then export that struct. Exported functions should be exported as functions pointers in the above struct. This will reduce the number of relocs inside ldso to a handful. Add -Bsymbolic to linker for ldso. This will resolve all functions (all JMP_SLOT goes away) and the remaining relocs are transformed into RELATIVE relocs.
Diffstat (limited to 'ldso/ldso/Makefile')
-rw-r--r--ldso/ldso/Makefile4
1 files changed, 2 insertions, 2 deletions
diff --git a/ldso/ldso/Makefile b/ldso/ldso/Makefile
index dde68bd98..90f44baa8 100644
--- a/ldso/ldso/Makefile
+++ b/ldso/ldso/Makefile
@@ -40,10 +40,10 @@ XXFLAGS+= $(XARCH_CFLAGS) $(CPU_CFLAGS) $(PICFLAG) \
XXFLAGS :=$(XXFLAGS:-O0=-O1)
XXFLAGS+=$(shell $(CC) -print-search-dirs | sed -ne "s/install: *\(.*\)/-I\1include/gp")
-LDFLAGS=$(CPU_LDFLAGS-y) -shared --warn-common --export-dynamic --sort-common \
+LDFLAGS=$(CPU_LDFLAGS-y) -Bsymbolic -shared --warn-common --export-dynamic --sort-common \
-z combreloc --discard-locals --discard-all --no-undefined
-CSRC= ldso.c dl-startup.c
+CSRC= ldso.c
COBJS=$(patsubst %.c,%.o, $(CSRC))
ASRC=$(shell ls $(TARGET_ARCH)/*.S)
AOBJS=$(patsubst %.S,%.o, $(ASRC))