From a32113705f7e8771a9450c1db67e7678955d9459 Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Mon, 7 Jan 2008 18:59:45 +0000 Subject: [PATCH] 2008-01-07 Jeff Johnston * 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. --- newlib/ChangeLog | 9 +++++++ newlib/libc/machine/m68k/m68kasm.h | 40 +++++++++++++++++++++++++++++ newlib/libc/machine/m68k/memcpy.S | 8 +++--- newlib/libc/machine/m68k/memset.S | 8 +++--- newlib/libc/machine/m68k/setjmp.S | 41 +----------------------------- 5 files changed, 60 insertions(+), 46 deletions(-) create mode 100644 newlib/libc/machine/m68k/m68kasm.h diff --git a/newlib/ChangeLog b/newlib/ChangeLog index 769873d18..8cb8b2f50 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,12 @@ +2008-01-07 Jeff Johnston + + * 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. + 2008-01-03 Jeff Johnston Make isatty syscall handling consistent with other newlib syscalls. 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)