diff options
author | Thomas Fitzsimmons <fitzsim@redhat.com> | 2001-12-13 23:50:11 +0000 |
---|---|---|
committer | Thomas Fitzsimmons <fitzsim@redhat.com> | 2001-12-13 23:50:11 +0000 |
commit | 2e1a71756e754ada402efe9f5e2d6378dc11e496 (patch) | |
tree | 7df86f70bc78f4f8b0bcef05c1a4d677d8fc400f /newlib/libm/machine/i386/i386mach.h | |
parent | b92591a1fc53f2d5c42faaf438f697006bf63a82 (diff) | |
download | cygnal-2e1a71756e754ada402efe9f5e2d6378dc11e496.tar.gz cygnal-2e1a71756e754ada402efe9f5e2d6378dc11e496.tar.bz2 cygnal-2e1a71756e754ada402efe9f5e2d6378dc11e496.zip |
* Makefile.shared: New file.
* libc/sys/linux/shared.ld: New file.
* libm/machine/*: New files.
* libm/machine/i386/*: New files.
* Makefile.am: Add libtool support. Change math and mathfp
references to variables.
* configure.host: Add variables for libtool support. Add
libm_machine_dir variable.
* configure.in: Add objectlist variables, for libtool
support. Add CC_FOR_BUILD tests.
* libc/Makefile.am: Add libtool support. Change crt0.o
reference to be a variable reference.
* libc/configure.in: Add libtool support. Change sublib
names to be lib${subdir}.la when using libtool.
* libc/ctype/Makefile.am: Add libtool support.
* libc/errno/Makefile.am: Likewise.
* libc/locale/Makefile.am: Likewise.
* libc/machine/Makefile.am: Likewise.
* libc/machine/configure.in: Likewise.
* libc/machine/i386/Makefile.am: Likewise.
* libc/machine/i386/configure.in: Likewise.
* libc/misc/Makefile.am: Likewise.
* libc/posix/Makefile.am: Likewise.
* libc/reent/Makefile.am: Likewise.
* libc/signal/Makefile.am: Likewise.
* libc/stdio/Makefile.am: Likewise.
* libc/stdlib/Makefile.am: Likewise.
* libc/string/Makefile.am: Likewise.
* libc/sys/Makefile.am: Likewise.
* libc/sys/configure.in: Likewise.
* libc/sys/linux/Makefile.am: Add libtool support. Change
awk reference to a variable reference. Change signal.h
reference to a variable reference.
* libc/sys/linux/configure.in: Add libtool support.
* libc/syscalls/Makefile.am: Likewise.
* libc/time/Makefile.am: Likewise.
* libc/unix/Makefile.am: Likewise.
* libm/Makefile.am: Add libtool support. Change math and
mathfp references to variables.
* libm/configure.in: Add libtool support. Add
LIBM_MACHINE_LIB variable.
* libm/common/Makefile.am: Add libtool support.
* libm/math/Makefile.am: Likewise.
* libm/mathfp/Makefile.am: Likewise.
Regenerate all Makefile.in, aclocal.m4, and configure.
Diffstat (limited to 'newlib/libm/machine/i386/i386mach.h')
-rw-r--r-- | newlib/libm/machine/i386/i386mach.h | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/newlib/libm/machine/i386/i386mach.h b/newlib/libm/machine/i386/i386mach.h new file mode 100644 index 000000000..23c32190d --- /dev/null +++ b/newlib/libm/machine/i386/i386mach.h @@ -0,0 +1,83 @@ +/* This file was based on the modified setjmp.S performed by + * Joel Sherill (joel@OARcorp.com) which specified the use + * of the __USER_LABEL_PREFIX__ and __REGISTER_PREFIX__ macros. + ** + ** This file is distributed WITHOUT ANY WARRANTY; without even the implied + ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + */ + +/* These are predefined by new versions of GNU cpp. */ + +#ifndef __USER_LABEL_PREFIX__ +#define __USER_LABEL_PREFIX__ _ +#endif + +#define __REG_PREFIX__ % + +/* 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(__REG_PREFIX__, x) + +#define eax REG(eax) +#define ebx REG(ebx) +#define ecx REG(ecx) +#define edx REG(edx) +#define esi REG(esi) +#define edi REG(edi) +#define ebp REG(ebp) +#define esp REG(esp) + +#define st0 REG(st) +#define st1 REG(st(1)) +#define st2 REG(st(2)) +#define st3 REG(st(3)) +#define st4 REG(st(4)) +#define st5 REG(st(5)) +#define st6 REG(st(6)) +#define st7 REG(st(7)) + +#define ax REG(ax) +#define bx REG(bx) +#define cx REG(cx) +#define dx REG(dx) + +#define ah REG(ah) +#define bh REG(bh) +#define ch REG(ch) +#define dh REG(dh) + +#define al REG(al) +#define bl REG(bl) +#define cl REG(cl) +#define dl REG(dl) + +#define mm1 REG(mm1) +#define mm2 REG(mm2) +#define mm3 REG(mm3) +#define mm4 REG(mm4) +#define mm5 REG(mm5) +#define mm6 REG(mm6) +#define mm7 REG(mm7) + +#ifdef _I386MACH_NEED_SOTYPE_FUNCTION +#define SOTYPE_FUNCTION(sym) .type SYM(sym),@function +#else +#define SOTYPE_FUNCTION(sym) +#endif + +#ifdef _I386MACH_ALLOW_HW_INTERRUPTS +#define __CLI +#define __STI +#else +#define __CLI cli +#define __STI sti +#endif |