diff options
Diffstat (limited to 'examples/stubs.c')
-rw-r--r-- | examples/stubs.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/examples/stubs.c b/examples/stubs.c index ec53532..a8cb954 100644 --- a/examples/stubs.c +++ b/examples/stubs.c @@ -162,11 +162,13 @@ gd_t *global_data; #x ":\n" \ " mov r13, r1\n" \ " add %0, r1\n" \ - " add %1, r1\n" \ + " mov.l @r1, r2\n" \ + " add %1, r2\n" \ + " mov.l @r2, r1\n" \ " jmp @r1\n" \ " nop\n" \ " nop\n" \ - : : "i"(offsetof(gd_t, jt)), "i"(XF_ ## x * sizeof(void *)) : "r1"); + : : "i"(offsetof(gd_t, jt)), "i"(XF_ ## x * sizeof(void *)) : "r1", "r2"); #elif defined(CONFIG_SPARC) /* * g7 holds the pointer to the global_data. g1 is call clobbered. |