diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2008-01-07 21:59:45 +0300 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2008-01-07 21:59:45 +0300 |
commit | a32113705f7e8771a9450c1db67e7678955d9459 (patch) | |
tree | 1d9b15134856da8cb58206975202d345b1e8e60a /newlib/libc/machine/m68k | |
parent | 094f2e6fca4428b8b102938f21e644446a052ead (diff) |
2008-01-07 Jeff Johnston <jjohnstn@redhat.com>
* libc/machine/m68k/m68kasm.h: New file.
* libc/machine/m68k/setjmp.S: Remove common definitions and
place in m68kasm.h. Include "m68kasm.h".
* libc/machine/m68k/memcpy.S: Include "m68kasm.h" and use
SYM() macro when referencing function name.
* libc/machine/m68k/memset.S: Ditto.
Diffstat (limited to 'newlib/libc/machine/m68k')
-rw-r--r-- | newlib/libc/machine/m68k/m68kasm.h | 40 | ||||
-rw-r--r-- | newlib/libc/machine/m68k/memcpy.S | 8 | ||||
-rw-r--r-- | newlib/libc/machine/m68k/memset.S | 8 | ||||
-rw-r--r-- | newlib/libc/machine/m68k/setjmp.S | 41 |
4 files changed, 51 insertions, 46 deletions
diff --git a/newlib/libc/machine/m68k/m68kasm.h b/newlib/libc/machine/m68k/m68kasm.h new file mode 100644 index 000000000..a5c610af9 --- /dev/null +++ b/newlib/libc/machine/m68k/m68kasm.h @@ -0,0 +1,40 @@ +/* These are predefined by new versions of GNU cpp. */ + +#ifndef __USER_LABEL_PREFIX__ +#define __USER_LABEL_PREFIX__ _ +#endif + +#ifndef __REGISTER_PREFIX__ +#define __REGISTER_PREFIX__ +#endif + +/* ANSI concatenation macros. */ + +#define CONCAT1(a, b) CONCAT2(a, b) +#define CONCAT2(a, b) a ## b + +/* Use the right prefix for global labels. */ + +#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x) + +/* Use the right prefix for registers. */ + +#define REG(x) CONCAT1 (__REGISTER_PREFIX__, x) + +#define d0 REG (d0) +#define d1 REG (d1) +#define d2 REG (d2) +#define d3 REG (d3) +#define d4 REG (d4) +#define d5 REG (d5) +#define d6 REG (d6) +#define d7 REG (d7) +#define a0 REG (a0) +#define a1 REG (a1) +#define a2 REG (a2) +#define a3 REG (a3) +#define a4 REG (a4) +#define a5 REG (a5) +#define a6 REG (a6) +#define fp REG (fp) +#define sp REG (sp) diff --git a/newlib/libc/machine/m68k/memcpy.S b/newlib/libc/machine/m68k/memcpy.S index ed9e7b2a1..c7f3000a7 100644 --- a/newlib/libc/machine/m68k/memcpy.S +++ b/newlib/libc/machine/m68k/memcpy.S @@ -13,11 +13,13 @@ * they apply. */ +#include "m68kasm.h" + .text .align 4 - .globl memcpy - .type memcpy, @function + .globl SYM(memcpy) + .type SYM(memcpy), @function /* memcpy, optimised * @@ -31,7 +33,7 @@ * to further improve speed. */ -memcpy: +SYM(memcpy): move.l 4(%sp),%a0 | dest ptr move.l 8(%sp),%a1 | src ptr move.l 12(%sp),%d1 | len diff --git a/newlib/libc/machine/m68k/memset.S b/newlib/libc/machine/m68k/memset.S index 545bf7e7d..98c5322e0 100644 --- a/newlib/libc/machine/m68k/memset.S +++ b/newlib/libc/machine/m68k/memset.S @@ -13,11 +13,13 @@ * they apply. */ +#include "m68kasm.h" + .text .align 4 - .globl memset - .type memset, @function + .globl SYM(memset) + .type SYM(memset), @function | memset, optimised | @@ -38,7 +40,7 @@ | | VG, April 2007 | -memset: +SYM(memset): move.l 4(%sp),%a0 | dest ptr move.l 8(%sp),%d0 | value move.l 12(%sp),%d1 | len diff --git a/newlib/libc/machine/m68k/setjmp.S b/newlib/libc/machine/m68k/setjmp.S index 02a02c4e1..4b260efcc 100644 --- a/newlib/libc/machine/m68k/setjmp.S +++ b/newlib/libc/machine/m68k/setjmp.S @@ -1,43 +1,4 @@ -/* These are predefined by new versions of GNU cpp. */ - -#ifndef __USER_LABEL_PREFIX__ -#define __USER_LABEL_PREFIX__ _ -#endif - -#ifndef __REGISTER_PREFIX__ -#define __REGISTER_PREFIX__ -#endif - -/* ANSI concatenation macros. */ - -#define CONCAT1(a, b) CONCAT2(a, b) -#define CONCAT2(a, b) a ## b - -/* Use the right prefix for global labels. */ - -#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x) - -/* Use the right prefix for registers. */ - -#define REG(x) CONCAT1 (__REGISTER_PREFIX__, x) - -#define d0 REG (d0) -#define d1 REG (d1) -#define d2 REG (d2) -#define d3 REG (d3) -#define d4 REG (d4) -#define d5 REG (d5) -#define d6 REG (d6) -#define d7 REG (d7) -#define a0 REG (a0) -#define a1 REG (a1) -#define a2 REG (a2) -#define a3 REG (a3) -#define a4 REG (a4) -#define a5 REG (a5) -#define a6 REG (a6) -#define fp REG (fp) -#define sp REG (sp) +#include "m68kasm.h" .global SYM (setjmp) .global SYM (longjmp) |