From d9431cf8819b66fb30c8179fc399f0d7b29f0c6a Mon Sep 17 00:00:00 2001 From: law Date: Wed, 25 Aug 1999 04:43:17 +0000 Subject: * fixinc/mkfixinc.sh: Don't fix uwin headers. * i386/uwin.h (MD_STARTFILE_PREFIX): Define. (LINK_SPEC): Add -u _main when building executables. (ASM_DECLARE_FUNCTION): Update from Cygwin. (ASM_FILE_END): Use the default for ix86-pe. * i386/xm-uwin.h (HAVE_BCOPY): Undefine. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28836 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 9 +++++++++ gcc/config/i386/uwin.h | 17 ++++++++--------- gcc/config/i386/xm-uwin.h | 4 ++++ gcc/fixinc/mkfixinc.sh | 1 + 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9df927a19b2..7e12cc5d6dc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +Tue Aug 24 22:41:06 1999 Mumit Khan + + * fixinc/mkfixinc.sh: Don't fix uwin headers. + * i386/uwin.h (MD_STARTFILE_PREFIX): Define. + (LINK_SPEC): Add -u _main when building executables. + (ASM_DECLARE_FUNCTION): Update from Cygwin. + (ASM_FILE_END): Use the default for ix86-pe. + * i386/xm-uwin.h (HAVE_BCOPY): Undefine. + Tue Aug 24 20:49:47 1999 Art Haas * final.c (output_addr_const): Handle case where ASM_OPEN_PAREN diff --git a/gcc/config/i386/uwin.h b/gcc/config/i386/uwin.h index 73e04add2e9..29a3f982dd4 100644 --- a/gcc/config/i386/uwin.h +++ b/gcc/config/i386/uwin.h @@ -29,6 +29,7 @@ Boston, MA 02111-1307, USA. */ #define STANDARD_INCLUDE_COMPONENT "UWIN" #define SYSTEM_INCLUDE_DIR "/usr/gnu/include" +#define MD_STARTFILE_PREFIX "/usr/gnu/lib/" #undef CPP_PREDEFINES #define CPP_PREDEFINES "-D__i386__ -D_WIN32 -D__WIN32__ \ @@ -62,25 +63,24 @@ Boston, MA 02111-1307, USA. */ /* Specify a different entry point when linking a DLL */ #undef LINK_SPEC #define LINK_SPEC \ - "%{mwindows:--subsystem windows} %{mdll:--dll -e _DllMainCRTStartup@12}" + "%{mwindows:--subsystem windows} %{mdll:--dll -e _DllMainCRTStartup@12} \ + %{!mdll:-u _main}" #undef STARTFILE_SPEC #define STARTFILE_SPEC "%{mdll:dllcrt2%O%s} %{!mdll:crt2%O%s}" /* These are PE BFD bug workarounds. Should go away eventually. */ +/* Write the extra assembler code needed to declare a function + properly. If we are generating SDB debugging information, this + will happen automatically, so we only need to handle other cases. */ #undef ASM_DECLARE_FUNCTION_NAME #define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \ do \ { \ if (i386_pe_dllexport_name_p (NAME)) \ - { \ - drectve_section (); \ - fprintf ((FILE), "\t.ascii \" -export:%s\"\n", \ - I386_PE_STRIP_ENCODING (NAME)); \ - function_section (DECL); \ - } \ - /* disable i386_pe_declare_function_type for UWIN */ \ + i386_pe_record_exported_symbol (NAME); \ + /* UWIN binutils bug workaround. */ \ if (0 && write_symbols != SDB_DEBUG) \ i386_pe_declare_function_type (FILE, NAME, TREE_PUBLIC (DECL)); \ ASM_OUTPUT_LABEL (FILE, NAME); \ @@ -89,5 +89,4 @@ Boston, MA 02111-1307, USA. */ #undef ASM_OUTPUT_EXTERNAL #undef ASM_OUTPUT_EXTERNAL_LIBCALL -#undef ASM_FILE_END diff --git a/gcc/config/i386/xm-uwin.h b/gcc/config/i386/xm-uwin.h index 2e1ecde0fa7..4f0ad4c5a63 100644 --- a/gcc/config/i386/xm-uwin.h +++ b/gcc/config/i386/xm-uwin.h @@ -37,3 +37,7 @@ Boston, MA 02111-1307, USA. */ #undef PATH_SEPARATOR #define PATH_SEPARATOR ':' +/* U/WIN 2.0b[3-5] bcopy was implemented using memcpy, which breaks the + C++ front end, so don't use it. */ +#undef HAVE_BCOPY + diff --git a/gcc/fixinc/mkfixinc.sh b/gcc/fixinc/mkfixinc.sh index 98174c59a54..10bd27fe9a2 100755 --- a/gcc/fixinc/mkfixinc.sh +++ b/gcc/fixinc/mkfixinc.sh @@ -80,6 +80,7 @@ case $machine in i[34567]86-*-win32 | \ i[34567]86-*-pe | i[34567]86-*-cygwin* | \ i[34567]86-*-mingw32* | \ + i[34567]86-*-uwin* | \ mips-sgi-irix5cross64 | \ powerpc-*-eabiaix* | \ powerpc-*-eabisim* | \ -- cgit v1.2.1