diff options
-rw-r--r-- | aclocal.m4 | 2 | ||||
-rw-r--r-- | compiler/main/DriverPipeline.hs | 2 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | rts/linker/Elf.c | 10 |
4 files changed, 10 insertions, 6 deletions
diff --git a/aclocal.m4 b/aclocal.m4 index 6341bc9f1a..2062b0d11d 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -227,7 +227,7 @@ AC_DEFUN([FPTOOLS_SET_HASKELL_PLATFORM_VARS], checkVendor() { case [$]1 in - dec|unknown|hp|apple|next|sun|sgi|ibm|montavista|portbld) + dec|none|unknown|hp|apple|next|sun|sgi|ibm|montavista|portbld) ;; *) echo "Unknown vendor [$]1" diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs index c4918cc0da..0979f92d47 100644 --- a/compiler/main/DriverPipeline.hs +++ b/compiler/main/DriverPipeline.hs @@ -1895,7 +1895,7 @@ linkBinary' staticLink dflags o_files dep_packages = do let thread_opts | WayThreaded `elem` ways dflags = let os = platformOS (targetPlatform dflags) - in if os `elem` [OSMinGW32, OSFreeBSD, OSOpenBSD, + in if os `elem` [OSMinGW32, OSFreeBSD, OSOpenBSD, OSAndroid, OSNetBSD, OSHaiku, OSQNXNTO, OSiOS, OSDarwin] then [] else ["-lpthread"] diff --git a/configure.ac b/configure.ac index 547e9b1551..c7eac4ae3e 100644 --- a/configure.ac +++ b/configure.ac @@ -1081,7 +1081,7 @@ dnl ** Use MMAP in the runtime linker? dnl -------------------------------------------------------------- case ${TargetOS} in - linux|freebsd|dragonfly|netbsd|openbsd|kfreebsdgnu|gnu|solaris2) + linux|linux-android|freebsd|dragonfly|netbsd|openbsd|kfreebsdgnu|gnu|solaris2) RtsLinkerUseMmap=1 ;; darwin|ios) diff --git a/rts/linker/Elf.c b/rts/linker/Elf.c index 2ce4d3df2d..73e34d38a7 100644 --- a/rts/linker/Elf.c +++ b/rts/linker/Elf.c @@ -1,6 +1,10 @@ #include "Rts.h" -#if defined(linux_HOST_OS) || defined(solaris2_HOST_OS) || defined(freebsd_HOST_OS) || defined(kfreebsdgnu_HOST_OS) || defined(dragonfly_HOST_OS) || defined(netbsd_HOST_OS) || defined(openbsd_HOST_OS) || defined(gnu_HOST_OS) +#if defined(linux_HOST_OS) || defined(solaris2_HOST_OS) \ +|| defined(linux_android_HOST_OS) \ +|| defined(freebsd_HOST_OS) || defined(kfreebsdgnu_HOST_OS) \ +|| defined(dragonfly_HOST_OS) || defined(netbsd_HOST_OS) \ +|| defined(openbsd_HOST_OS) || defined(gnu_HOST_OS) #include "RtsUtils.h" #include "RtsSymbolInfo.h" @@ -613,13 +617,13 @@ static int getSectionKind_ELF( Elf_Shdr *hdr, int *is_bss ) /* .rodata-style section */ return SECTIONKIND_CODE_OR_RODATA; } -#ifndef openbsd_HOST_OS +#ifdef SHT_INIT_ARRAY if (hdr->sh_type == SHT_INIT_ARRAY && (hdr->sh_flags & SHF_ALLOC) && (hdr->sh_flags & SHF_WRITE)) { /* .init_array section */ return SECTIONKIND_INIT_ARRAY; } -#endif /* not OpenBSD */ +#endif /* not SHT_INIT_ARRAY */ if (hdr->sh_type == SHT_NOBITS && (hdr->sh_flags & SHF_ALLOC) && (hdr->sh_flags & SHF_WRITE)) { /* .bss-style section */ |