1. Oct 10, 2018
    • Zachary Turner's avatar
      Fix lld test. · 2be11c02
      Zachary Turner authored
      I removed this output from the dumper because it was non-portable,
      but I didn't update the test which checked the output.
      
      llvm-svn: 344066
      2be11c02
    • Nico Weber's avatar
      lld-link: attempt to fix tests on Windows after r344061. · e1b9331d
      Nico Weber authored
      llvm-svn: 344065
      e1b9331d
    • Adrian Prantl's avatar
      Add missing space · d969abde
      Adrian Prantl authored
      llvm-svn: 344064
      d969abde
    • Zachary Turner's avatar
      [PDB] Fix failure on big endian machines. · b7dd12b7
      Zachary Turner authored
      We changed an ArrayRef<uint8_t> to an ArrayRef<uint32_t>, but
      it needs to be an ArrayRef<support::ulittle32_t>.
      
      We also change ArrayRef<> to FixedStreamArray<>.  Technically
      an ArrayRef<> will work, but it can cause a copy in the underlying
      implementation if the memory is not contiguous, and there's no
      reason not to use a FixedStreamArray<>.
      
      Thanks to nemanjai@ and thakis@ for helping me track this down
      and confirm the fix.
      
      llvm-svn: 344063
      b7dd12b7
    • Rui Ueyama's avatar
      Add an entry to the release notes. · c2921f00
      Rui Ueyama authored
      llvm-svn: 344062
      c2921f00
    • Nico Weber's avatar
      lld-link: Use /pdbsourcepath: for more places when present. · 4764bb2c
      Nico Weber authored
      /pdbsourcepath: was added in https://reviews.llvm.org/D48882 to make it
      possible to have relative paths in the debug info that clang-cl writes.
      lld-link then makes the paths absolute at link time, which debuggers require.
      This way, clang-cl's output is independent of the absolute path of the build
      directory, which is useful for cacheability in distcc-like systems.
      
      This patch extends /pdbsourcepath: (if passed) to also be used for:
      
      1. The "cwd" stored in the env block in the pdb is /pdbsourcepath: if present
      2. The "exe" stored in the env block in the pdb is made absolute relative
         to /pdbsourcepath: instead of the cwd
      3. The "pdb" stored in the env block in the pdb is made absolute relative
         to /pdbsourcepath: instead of the cwd
      4. For making absolute paths to .obj files referenced from the pdb
      
      /pdbsourcepath: is now useful in three scenarios (the first one already working
      before this change):
      
      1. When building with full debug info, passing the real build dir to
         /pdbsourcepath: allows having clang-cl's output to be independent
         of the build directory path. This patch effectively doesn't change
         behavior for this use case (assuming the cwd is the build dir).
      
      2. When building without compile-time debug info but linking with /debug,
         a fake fixed /pdbsourcepath: can be passed to get symbolized stacks
         while making the pdb and exe independent of the current build dir.
         For this two work, lld-link needs to be invoked with relative paths for
         the lld-link invocation itself (for "exe"), for the pdb output name, the exe
         output name (for "pdb"), and the obj input files, and no absolute path
         must appear on the link command (for "cmd" in the pdb's env block).
         Since no full debug info is present, it doesn't matter that the absolute
         path doesn't exist on disk -- we only get symbols in stacks.
      
      3. When building production builds with full debug info that don't have
         local changes, and that get source indexed and their pdbs get uploaded
         to a symbol server. /pdbsourcepath: again makes the build output independent
         of the current directory, and the fixed path passed to /pdbsourcepath: can
         be given the source indexing transform so that it gets mapped to a
         repository path. This has the same requirements as 2.
      
      This patch also makes it possible to create PDB files containing Windows-style
      absolute paths when cross-compiling on a POSIX system.
      
      Differential Revision: https://reviews.llvm.org/D53021
      
      llvm-svn: 344061
      4764bb2c
    • Craig Topper's avatar
      [X86] Autogenerate complete checks. NFC · 4ea56962
      Craig Topper authored
      llvm-svn: 344060
      4ea56962
    • Sanjay Patel's avatar
      [AArch64][x86] add tests for bitcasted fnabs; NFC · a875030a
      Sanjay Patel authored
      Alternate target coverage for  D44548.
      
      llvm-svn: 344059
      a875030a
  2. Oct 09, 2018