[Lldb-commits] [PATCH] D17107: [lldb] Unicode support on Win32

Zachary Turner via lldb-commits lldb-commits at lists.llvm.org
Thu Mar 17 15:36:54 PDT 2016


zturner added a comment.

I'm getting this when linking:

  [826/826] Linking CXX executable bin\lldb.exe
  FAILED: cmd.exe /C "cd . && "C:\Program Files (x86)\CMake\bin\cmake.exe" -E vs_link_exe --intdir=tools\lldb\tools\driver\CMakeFiles\lldb.dir --manifests  -- C:\PROGRA~2\MICROS~3.0\VC\bin\AMD64_~2\link.exe /nologo @CMakeFiles/lldb.rsp  /out:bin\lldb.exe /implib:lib\lldb.lib /pdb:bin\lldb.pdb /version:3.9  /machine:X86 /STACK:10000000 /debug /INCREMENTAL /subsystem:console  && cd ."
  ucrtd.lib(ucrtbased.dll) : error LNK2005: _signal already defined in Platform.cpp.obj
     Creating library lib\lldb.lib and object lib\lldb.exp
  bin\lldb.exe : fatal error LNK1169: one or more multiply defined symbols found
  LINK Pass 1 failed. with 1169
  [826/826] Linking CXX executable bin\lldb-mi.exe
  FAILED: cmd.exe /C "cd . && "C:\Program Files (x86)\CMake\bin\cmake.exe" -E vs_link_exe --intdir=tools\lldb\tools\lldb-mi\CMakeFiles\lldb-mi.dir --manifests  -- C:\PROGRA~2\MICROS~3.0\VC\bin\AMD64_~2\link.exe /nologo @CMakeFiles/lldb-mi.rsp  /out:bin\lldb-mi.exe /implib:lib\lldb-mi.lib /pdb:bin\lldb-mi.pdb /version:3.9  /machine:X86 /STACK:10000000 /debug /INCREMENTAL /subsystem:console  && cd ."
  ucrtd.lib(ucrtbased.dll) : error LNK2005: _signal already defined in Platform.cpp.obj
     Creating library lib\lldb-mi.lib and object lib\lldb-mi.exp
  bin\lldb-mi.exe : fatal error LNK1169: one or more multiply defined symbols found
  LINK Pass 1 failed. with 1169
  ninja: build stopped: subcommand failed.

I assume it must be related to the fact that we're now defining `UNICODE` and `_UNICODE`, but I need to run and don't have enough time to figure out why.

I've always disliked the fact that we redefine the `signal` function which is already builtin in Windows anyway.  I actually feel like we need to introduce the function `sighandler_t Host::Signal(int sig, sighandler_t sigFunc)`, and on non-windows have this function call `signal`, and on Windows use our own custom implementation.

Let me know if you have any better ideas.


http://reviews.llvm.org/D17107





More information about the lldb-commits mailing list