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.
This commit is contained in:
parent
094f2e6fca
commit
a32113705f
@ -1,3 +1,12 @@
|
|||||||
|
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.
|
||||||
|
|
||||||
2008-01-03 Jeff Johnston <jjohnstn@redhat.com>
|
2008-01-03 Jeff Johnston <jjohnstn@redhat.com>
|
||||||
|
|
||||||
Make isatty syscall handling consistent with other newlib syscalls.
|
Make isatty syscall handling consistent with other newlib syscalls.
|
||||||
|
40
newlib/libc/machine/m68k/m68kasm.h
Normal file
40
newlib/libc/machine/m68k/m68kasm.h
Normal file
@ -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)
|
@ -13,11 +13,13 @@
|
|||||||
* they apply.
|
* they apply.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "m68kasm.h"
|
||||||
|
|
||||||
.text
|
.text
|
||||||
.align 4
|
.align 4
|
||||||
|
|
||||||
.globl memcpy
|
.globl SYM(memcpy)
|
||||||
.type memcpy, @function
|
.type SYM(memcpy), @function
|
||||||
|
|
||||||
/* memcpy, optimised
|
/* memcpy, optimised
|
||||||
*
|
*
|
||||||
@ -31,7 +33,7 @@
|
|||||||
* to further improve speed.
|
* to further improve speed.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
memcpy:
|
SYM(memcpy):
|
||||||
move.l 4(%sp),%a0 | dest ptr
|
move.l 4(%sp),%a0 | dest ptr
|
||||||
move.l 8(%sp),%a1 | src ptr
|
move.l 8(%sp),%a1 | src ptr
|
||||||
move.l 12(%sp),%d1 | len
|
move.l 12(%sp),%d1 | len
|
||||||
|
@ -13,11 +13,13 @@
|
|||||||
* they apply.
|
* they apply.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "m68kasm.h"
|
||||||
|
|
||||||
.text
|
.text
|
||||||
.align 4
|
.align 4
|
||||||
|
|
||||||
.globl memset
|
.globl SYM(memset)
|
||||||
.type memset, @function
|
.type SYM(memset), @function
|
||||||
|
|
||||||
| memset, optimised
|
| memset, optimised
|
||||||
|
|
|
|
||||||
@ -38,7 +40,7 @@
|
|||||||
|
|
|
|
||||||
| VG, April 2007
|
| VG, April 2007
|
||||||
|
|
|
|
||||||
memset:
|
SYM(memset):
|
||||||
move.l 4(%sp),%a0 | dest ptr
|
move.l 4(%sp),%a0 | dest ptr
|
||||||
move.l 8(%sp),%d0 | value
|
move.l 8(%sp),%d0 | value
|
||||||
move.l 12(%sp),%d1 | len
|
move.l 12(%sp),%d1 | len
|
||||||
|
@ -1,43 +1,4 @@
|
|||||||
/* These are predefined by new versions of GNU cpp. */
|
#include "m68kasm.h"
|
||||||
|
|
||||||
#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)
|
|
||||||
|
|
||||||
.global SYM (setjmp)
|
.global SYM (setjmp)
|
||||||
.global SYM (longjmp)
|
.global SYM (longjmp)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user