Linker.c broken

Edward Z. Yang ezyang at mit.edu
Sat Jul 2 00:02:12 UTC 2016


I'm guessing it's:

commit 6377757918c1e7f63638d6f258cad8d5f02bb6a7
Author: Simon Marlow <marlowsd at gmail.com>
Date:   Wed Jun 29 21:50:18 2016 +0100

    Linker: some extra debugging / logging

which added ghci_find.

Edward

Excerpts from Simon Peyton Jones via ghc-devs's message of 2016-07-01 18:51:20 -0400:
> Aargh!  Windows is broken /again/.   Some mess-up in Linker.c.
> I have not yet tried reverting recent patches.  Might someone fix please?
> It’s really helpful to validate on Windows when making RTS changes.
> Simon
> 
> 
> 
> rts\Linker.c: In function 'ghci_find':
> 
> 
> 
> rts\Linker.c:1482:52: error:
> 
>      error: pointer type mismatch in conditional expression [-Werror]
> 
>                                   oc->archiveMemberName : oc->fileName);
> 
>                                                         ^
> 
> 
> 
> rts\Linker.c:1480:28: error:
> 
>      error: format '%ls' expects argument of type 'wchar_t *', but argument 3 has type 'void *' [-Werror=format=]
> 
>                      debugBelch("%p is in %" PATH_FMT, addr,
> 
>                                 ^
> 
> "inplace/bin/ghc-stage1.exe" -optc-fno-stack-protector -optc-Wall -optc-Werror -optc-Wall -optc-Wextra -optc-Wstrict-prototypes -optc-Wmissing-prototypes -optc-Wmissing-declarations -optc-Winline -optc-Waggregate-return -optc-Wpointer-arith -optc-Wmissing-noreturn -optc-Wnested-externs -optc-Wredundant-decls -optc-Iincludes -optc-Iincludes/dist -optc-Iincludes/dist-derivedconstants/header -optc-Iincludes/dist-ghcconstants/header -optc-Irts -optc-Irts/dist/build -optc-DCOMPILING_RTS -optc-fno-strict-aliasing -optc-fno-common -optc-Irts/dist/build/./autogen -optc-Wno-error=inline -optc-O2 -optc-fomit-frame-pointer -optc-g -optc-fno-omit-frame-pointer -optc-g -optc-O0 -optc-DRtsWay=\"rts_debug\" -optc-DWINVER=0x06000100 -static -optc-DDEBUG -ticky -DTICKY_TICKY  -O0 -H64m -Wall -fllvm-fill-undef-with-garbage    -Werror -Iincludes -Iincludes/dist -Iincludes/dist-derivedconstants/header -Iincludes/dist-ghcconstants/header -Irts -Irts/dist/build -DCOMPILING_RTS -this-unit-id rts -dcmm-lint      -i -irts -irts/dist/build -Irts/dist/build -irts/dist/build/./autogen -Irts/dist/build/./autogen           -O2 -O0    -Wnoncanonical-monad-instances  -c rts/RaiseAsync.c -o rts/dist/build/RaiseAsync.debug_o
> 
> 
> 
> rts\Linker.c:1483:28: error:
> 
>      error: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'long long unsigned int' [-Werror=format=]
> 
>                      debugBelch(", section %d, offset %lx\n", i,
> 
>                                 ^
> 
> 
> 
> In file included from rts\Linker.c:13:0: error:
> 
> rts\Linker.c: In function 'ocTryLoad':
> 
> 
> 
> rts\Linker.c:2563:55: error:
> 
>      error: pointer type mismatch in conditional expression [-Werror]
> 
>                                      oc->archiveMemberName : oc->fileName));
> 
>                                                            ^
> 
> 
> 
> includes\Rts.h:300:53: error:
> 
>      note: in definition of macro 'IF_DEBUG'
> 
>      #define IF_DEBUG(c,s)  if (RtsFlags.DebugFlags.c) { s; }
> 
>                                                          ^
> 
> 
> 
> rts\Linker.c:2561:33: error:
> 
>      error: format '%ls' expects argument of type 'wchar_t *', but argument 2 has type 'void *' [-Werror=format=]
> 
>          IF_DEBUG(linker, debugBelch("Resolving %" PATH_FMT "\n",
> 
>                                      ^
> 
> 
> 
> includes\Rts.h:300:53: error:
> 
>      note: in definition of macro 'IF_DEBUG'
> 
>      #define IF_DEBUG(c,s)  if (RtsFlags.DebugFlags.c) { s; }
> 
>                                                          ^
> 
> cc1.exe: all warnings being treated as errors
> 
> `gcc.exe' failed in phase `C Compiler'. (Exit code: 1)
> 
> rts/ghc.mk:255: recipe for target 'rts/dist/build/Linker.debug_o' failed
> 
> make[1]: *** [rts/dist/build/Linker.debug_o] Error 1
> 
> make[1]: *** Waiting for unfinished jobs....
> 
> Makefile:129: recipe for target 'all' failed
> 
> make: *** [all] Error 2
> 
> /cygdrive/c/code/HEAD$


More information about the ghc-devs mailing list