38 lines
1.1 KiB
Plaintext
38 lines
1.1 KiB
Plaintext
$OpenBSD: patch-rts_Linker_c,v 1.7 2013/07/18 21:43:24 kili Exp $
|
|
|
|
Workaround error: unknown symbol '__guard_local'
|
|
|
|
--- rts/Linker.c.orig Thu Apr 18 23:22:46 2013
|
|
+++ rts/Linker.c Sun Jul 7 16:00:36 2013
|
|
@@ -822,6 +822,14 @@ typedef struct _RtsSymbolVal {
|
|
#define RTS_DARWIN_ONLY_SYMBOLS
|
|
#endif
|
|
|
|
+#if defined(openbsd_HOST_OS)
|
|
+#define RTS_OPENBSD_ONLY_SYMBOLS \
|
|
+ SymE_NeedsProto(__guard_local) \
|
|
+ SymE_NeedsProto(__stack_smash_handler)
|
|
+#else
|
|
+#define RTS_OPENBSD_ONLY_SYMBOLS
|
|
+#endif
|
|
+
|
|
#ifndef SMP
|
|
# define MAIN_CAP_SYM SymI_HasProto(MainCapability)
|
|
#else
|
|
@@ -1352,6 +1360,7 @@ RTS_POSIX_ONLY_SYMBOLS
|
|
RTS_MINGW_ONLY_SYMBOLS
|
|
RTS_CYGWIN_ONLY_SYMBOLS
|
|
RTS_DARWIN_ONLY_SYMBOLS
|
|
+RTS_OPENBSD_ONLY_SYMBOLS
|
|
RTS_LIBGCC_SYMBOLS
|
|
RTS_LIBFFI_SYMBOLS
|
|
#undef SymI_NeedsProto
|
|
@@ -1387,6 +1396,7 @@ static RtsSymbolVal rtsSyms[] = {
|
|
RTS_MINGW_ONLY_SYMBOLS
|
|
RTS_CYGWIN_ONLY_SYMBOLS
|
|
RTS_DARWIN_ONLY_SYMBOLS
|
|
+ RTS_OPENBSD_ONLY_SYMBOLS
|
|
RTS_LIBGCC_SYMBOLS
|
|
RTS_LIBFFI_SYMBOLS
|
|
#if defined(darwin_HOST_OS) && defined(i386_HOST_ARCH)
|