diff options
-rw-r--r-- | ldso/ldso/Makefile | 4 | ||||
-rw-r--r-- | ldso/ldso/ldso.c | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/ldso/ldso/Makefile b/ldso/ldso/Makefile index e647bc972..262ec5073 100644 --- a/ldso/ldso/Makefile +++ b/ldso/ldso/Makefile @@ -73,6 +73,10 @@ ASRC=$(shell ls $(TARGET_ARCH)/*.S) AOBJS=$(patsubst %.S,%.o, $(ASRC)) OBJS=$(AOBJS) $(COBJS) +ifeq ($(strip $(TARGET_ARCH)),cris) +LDFLAGS+=-mcrislinux +endif + ifneq ($(strip $(DODEBUG)),true) LDFLAGS+=-s endif diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c index cec71ca56..ff13675aa 100644 --- a/ldso/ldso/ldso.c +++ b/ldso/ldso/ldso.c @@ -310,6 +310,8 @@ LD_BOOT(unsigned long args) " .balign 4" "1: .long _GLOBAL_OFFSET_TABLE_" "2:" : "=r" (got) : : "r0"); +#elif defined(__cris__) + __asm__("\tmove.d $pc,%0\n\tsub.d .:GOTOFF,%0\n\t":"=r"(got)); #else /* Do things the slow way in C */ { |