mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-15 19:09:58 +08:00
2e1a71756e
* 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.
84 lines
1.7 KiB
C
84 lines
1.7 KiB
C
/* 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
|