X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FLinker.c;h=85d5809210524e1540380b85c3a5129bd699d6ef;hb=920a3de7d913f9f369ffb8e5f0892ef7c9aeacde;hp=6fe931063cdb50c7675c00db9889ec3212704f8e;hpb=04e741db0c35f396b59d6da83aafce06b4ca76b1;p=ghc-hetmet.git diff --git a/ghc/rts/Linker.c b/ghc/rts/Linker.c index 6fe9310..85d5809 100644 --- a/ghc/rts/Linker.c +++ b/ghc/rts/Linker.c @@ -1,5 +1,4 @@ /* ----------------------------------------------------------------------------- - * $Id: Linker.c,v 1.139 2003/11/02 06:55:24 dons Exp $ * * (c) The GHC Team, 2000-2003 * @@ -230,6 +229,7 @@ typedef struct _RtsSymbolVal { #define RTS_MINGW_ONLY_SYMBOLS \ SymX(asyncReadzh_fast) \ SymX(asyncWritezh_fast) \ + SymX(asyncDoProczh_fast) \ SymX(memset) \ SymX(inet_ntoa) \ SymX(inet_addr) \ @@ -554,6 +554,13 @@ typedef struct _RtsSymbolVal { #define RTS_LONG_LONG_SYMS /* nothing */ #endif +#ifdef HAVE_TERMIOS_H +#define RTS_TERMIOS_SYMS \ + Sym(saved_termios) +#else +#define RTS_TERMIOS_SYMS /* nothing */ +#endif + // 64-bit support functions in libgcc.a #if defined(__GNUC__) && SIZEOF_VOID_P <= 4 #define RTS_LIBGCC_SYMBOLS \ @@ -595,6 +602,7 @@ RTS_LONG_LONG_SYMS RTS_POSIX_ONLY_SYMBOLS RTS_MINGW_ONLY_SYMBOLS RTS_CYGWIN_ONLY_SYMBOLS +RTS_TERMIOS_SYMS RTS_LIBGCC_SYMBOLS #undef Sym #undef SymX @@ -1910,11 +1918,16 @@ ocResolve_PEi386 ( ObjectCode* oc ) * real count can be found in the first reloc entry. * * See Section 4.1 (last para) of the PE spec (rev6.0). + * + * Nov2003 update: the GNU linker still doesn't correctly + * handle the generation of relocatable object files with + * overflown relocations. Hence the output to warn of potential + * troubles. */ COFF_reloc* rel = (COFF_reloc*) myindex ( sizeof_COFF_reloc, reltab, 0 ); noRelocs = rel->VirtualAddress; - fprintf(stderr, "Overflown relocs: %u\n", noRelocs); + fprintf(stderr, "WARNING: Overflown relocation field (# relocs found: %u)\n", noRelocs); fflush(stderr); j = 1; } else { noRelocs = sectab_i->NumberOfRelocations;