Use register numbers instead of register names
Avoid ambiguity by using register numbers. Register names are
interpreted depending on the ABI. Fixes the issue with mips64 gcc,
where registers t0-t4 are translated into $8-$11 (o32 ABI) instead
of $12-$15 (o64 ABI).
Also, use t9 ($25) for storing function address
(in getProcAddress.cpp).
Change-Id: I12ef5cd98bf14dab3c01f2756889cc02856c1cd8
diff --git a/opengl/libs/GLES2/gl2.cpp b/opengl/libs/GLES2/gl2.cpp
index dfd19f2..40555d7 100644
--- a/opengl/libs/GLES2/gl2.cpp
+++ b/opengl/libs/GLES2/gl2.cpp
@@ -123,10 +123,10 @@
#define API_ENTRY(_api) __attribute__((noinline)) _api
#define CALL_GL_API(_api, ...) \
- register unsigned long _t0 asm("t0"); \
- register unsigned long _fn asm("t9"); \
- register unsigned long _tls asm("v1"); \
- register unsigned long _v0 asm("v0"); \
+ register unsigned long _t0 asm("$12"); \
+ register unsigned long _fn asm("$25"); \
+ register unsigned long _tls asm("$3"); \
+ register unsigned long _v0 asm("$2"); \
asm volatile( \
".set push\n\t" \
".set noreorder\n\t" \
@@ -156,10 +156,10 @@
#define API_ENTRY(_api) __attribute__((noinline)) _api
#define CALL_GL_API(_api, ...) \
- register unsigned int _t0 asm("t0"); \
- register unsigned int _fn asm("t9"); \
- register unsigned int _tls asm("v1"); \
- register unsigned int _v0 asm("v0"); \
+ register unsigned int _t0 asm("$8"); \
+ register unsigned int _fn asm("$25"); \
+ register unsigned int _tls asm("$3"); \
+ register unsigned int _v0 asm("$2"); \
asm volatile( \
".set push\n\t" \
".set noreorder\n\t" \