[llvm] [llvm-jitlink] Allow optional stub-kind filter in stub_addr() expressions (PR #78369)

Michał Górny via llvm-commits llvm-commits at lists.llvm.org
Sun Jan 21 08:14:28 PST 2024


mgorny wrote:

This change broke building on i686 (possibly all 32-bit arches) with GCC (possibly with clang too):

```
[15/16] Building CXX object tools/llvm-jitlink/CMakeFiles/llvm-jitlink.dir/llvm-jitlink.cpp.o
FAILED: tools/llvm-jitlink/CMakeFiles/llvm-jitlink.dir/llvm-jitlink.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/c++ -DGTEST_HAS_RTTI=0 -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/mgorny/git/llvm-project/build/tools/llvm-jitlink -I/home/mgorny/git/llvm-project/llvm/tools/llvm-jitlink -I/home/mgorny/git/llvm-project/build/include -I/home/mgorny/git/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -m32 -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Os -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -MD -MT tools/llvm-jitlink/CMakeFiles/llvm-jitlink.dir/llvm-jitlink.cpp.o -MF tools/llvm-jitlink/CMakeFiles/llvm-jitlink.dir/llvm-jitlink.cpp.o.d -o tools/llvm-jitlink/CMakeFiles/llvm-jitlink.dir/llvm-jitlink.cpp.o -c /home/mgorny/git/llvm-project/llvm/tools/llvm-jitlink/llvm-jitlink.cpp
/home/mgorny/git/llvm-project/llvm/tools/llvm-jitlink/llvm-jitlink.cpp: In member function ‘llvm::Error llvm::Session::FileInfo::registerStubEntry(LinkGraph&, Symbol&, GetSymbolTargetFunction)’:
/home/mgorny/git/llvm-project/llvm/tools/llvm-jitlink/llvm-jitlink.cpp:1215:65: error: invalid initialization of reference of type ‘llvm::SmallVector<llvm::RuntimeDyldChecker::MemoryRegionInfo>&’ from expression of type ‘llvm::SmallVector<llvm::RuntimeDyldChecker::MemoryRegionInfo, 1>’
 1215 |   SmallVector<MemoryRegionInfo> &Entry = StubInfos[TS->getName()];
      |                                                                 ^
/home/mgorny/git/llvm-project/llvm/tools/llvm-jitlink/llvm-jitlink.cpp: In member function ‘llvm::Error llvm::Session::FileInfo::registerMultiStubEntry(LinkGraph&, Symbol&, GetSymbolTargetFunction)’:
/home/mgorny/git/llvm-project/llvm/tools/llvm-jitlink/llvm-jitlink.cpp:1233:69: error: invalid initialization of reference of type ‘llvm::SmallVector<llvm::RuntimeDyldChecker::MemoryRegionInfo>&’ from expression of type ‘llvm::SmallVector<llvm::RuntimeDyldChecker::MemoryRegionInfo, 1>’
 1233 |   SmallVector<MemoryRegionInfo> &Entry = StubInfos[Target->getName()];
      |                                                                     ^
ninja: build stopped: subcommand failed.
```

https://github.com/llvm/llvm-project/pull/78369


More information about the llvm-commits mailing list