about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/mips/mips32/crti.S10
-rw-r--r--sysdeps/mips/mips64/n32/crti.S10
-rw-r--r--sysdeps/mips/mips64/n64/crti.S10
3 files changed, 24 insertions, 6 deletions
diff --git a/sysdeps/mips/mips32/crti.S b/sysdeps/mips/mips32/crti.S
index dfbbdc4f8f..a801f28820 100644
--- a/sysdeps/mips/mips32/crti.S
+++ b/sysdeps/mips/mips32/crti.S
@@ -40,6 +40,12 @@
 
 #include <libc-symbols.h>
 
+#ifdef __mips_micromips
+# define JALR_RELOC R_MICROMIPS_JALR
+#else
+# define JALR_RELOC R_MIPS_JALR
+#endif
+
 #ifndef PREINIT_FUNCTION
 # define PREINIT_FUNCTION __gmon_start__
 #endif
@@ -71,13 +77,13 @@ _init:
 	lw $2,%got(PREINIT_FUNCTION)($28)
 	beq $2,$0,.Lno_weak_fn
 	lw $25,%call16(PREINIT_FUNCTION)($28)
-	.reloc 1f,R_MIPS_JALR,PREINIT_FUNCTION
+	.reloc 1f,JALR_RELOC,PREINIT_FUNCTION
 1:	jalr $25
 .Lno_weak_fn:
 	.insn
 #else
 	lw $25,%got(PREINIT_FUNCTION)($28)
-	.reloc 1f,R_MIPS_JALR,PREINIT_FUNCTION
+	.reloc 1f,JALR_RELOC,PREINIT_FUNCTION
 1:	jalr $25
 #endif
 
diff --git a/sysdeps/mips/mips64/n32/crti.S b/sysdeps/mips/mips64/n32/crti.S
index afe6d8edaa..376fa53c97 100644
--- a/sysdeps/mips/mips64/n32/crti.S
+++ b/sysdeps/mips/mips64/n32/crti.S
@@ -40,6 +40,12 @@
 
 #include <libc-symbols.h>
 
+#ifdef __mips_micromips
+# define JALR_RELOC R_MICROMIPS_JALR
+#else
+# define JALR_RELOC R_MIPS_JALR
+#endif
+
 #ifndef PREINIT_FUNCTION
 # define PREINIT_FUNCTION __gmon_start__
 #endif
@@ -71,13 +77,13 @@ _init:
 	lw $2,%got_disp(PREINIT_FUNCTION)($28)
 	beq $2,$0,.Lno_weak_fn
 	lw $25,%call16(PREINIT_FUNCTION)($28)
-	.reloc 1f,R_MIPS_JALR,PREINIT_FUNCTION
+	.reloc 1f,JALR_RELOC,PREINIT_FUNCTION
 1:	jalr $25
 .Lno_weak_fn:
 	.insn
 #else
 	lw $25,%got_disp(PREINIT_FUNCTION)($28)
-	.reloc 1f,R_MIPS_JALR,PREINIT_FUNCTION
+	.reloc 1f,JALR_RELOC,PREINIT_FUNCTION
 1:	jalr $25
 #endif
 
diff --git a/sysdeps/mips/mips64/n64/crti.S b/sysdeps/mips/mips64/n64/crti.S
index 4049d29290..e7fdea453b 100644
--- a/sysdeps/mips/mips64/n64/crti.S
+++ b/sysdeps/mips/mips64/n64/crti.S
@@ -40,6 +40,12 @@
 
 #include <libc-symbols.h>
 
+#ifdef __mips_micromips
+# define JALR_RELOC R_MICROMIPS_JALR
+#else
+# define JALR_RELOC R_MIPS_JALR
+#endif
+
 #ifndef PREINIT_FUNCTION
 # define PREINIT_FUNCTION __gmon_start__
 #endif
@@ -71,13 +77,13 @@ _init:
 	ld $2,%got_disp(PREINIT_FUNCTION)($28)
 	beq $2,$0,.Lno_weak_fn
 	ld $25,%call16(PREINIT_FUNCTION)($28)
-	.reloc 1f,R_MIPS_JALR,PREINIT_FUNCTION
+	.reloc 1f,JALR_RELOC,PREINIT_FUNCTION
 1:	jalr $25
 .Lno_weak_fn:
 	.insn
 #else
 	ld $25,%got_disp(PREINIT_FUNCTION)($28)
-	.reloc 1f,R_MIPS_JALR,PREINIT_FUNCTION
+	.reloc 1f,JALR_RELOC,PREINIT_FUNCTION
 1:	jalr $25
 #endif