diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-08-25 04:43:17 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-08-25 04:43:17 +0000 |
commit | d9431cf8819b66fb30c8179fc399f0d7b29f0c6a (patch) | |
tree | d6f14f08c0542c8bf16fe789664bc72db9ffa572 /gcc/config | |
parent | a3d89e66c5243fadd06db7df5fdee554eedcd0a1 (diff) | |
download | gcc-d9431cf8819b66fb30c8179fc399f0d7b29f0c6a.tar.gz |
* 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
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/i386/uwin.h | 17 | ||||
-rw-r--r-- | gcc/config/i386/xm-uwin.h | 4 |
2 files changed, 12 insertions, 9 deletions
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 + |