summaryrefslogtreecommitdiff
path: root/ldso
diff options
context:
space:
mode:
Diffstat (limited to 'ldso')
-rw-r--r--ldso/ldso/Makefile4
-rw-r--r--ldso/ldso/ldso.c2
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 */
{