-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Closed
Labels
system:32-bitAffects only 32-bit systemsAffects only 32-bit systemssystem:armARMv7 and AArch64ARMv7 and AArch64
Description
While working on updating libjulia_jll for Julia 1.9, I've run into this compiler error:
[16:34:50] /workspace/srcdir/julia/src/debuginfo.cpp: In member function 'void JITObjectRegistry::registerJITObject(const llvm::object::ObjectFile&, std::function<long long unsigned int(const llvm::StringRef&)>, std::function<void*(void*)>)':
[16:34:50] /workspace/srcdir/julia/src/debuginfo.cpp:228:33: error: 'L' was not declared in this scope
[16:34:50] uint64_t loadaddr = L.getSectionLoadAddress(section);
[16:34:50] ^
[16:34:50] make[1]: *** [Makefile:221: debuginfo.o] Error 1
Looking at the code in question, indeed there is access to a variable L
that is not defined. This can be traced back to PR #43664 by @dnadlinger, which replaced
virtual void _NotifyObjectEmitted(const object::ObjectFile &Object,
const RuntimeDyld::LoadedObjectInfo &L,
RTDyldMemoryManager *memmgr)
by
void registerJITObject(const object::ObjectFile &Object,
std::function<uint64_t(const StringRef &)> getLoadAddress,
std::function<void*(void*)> lookupWriteAddress)
yet retained the code section with the offending line
uint64_t loadaddr = L.getSectionLoadAddress(section);
I don't know enough about this code to guess at how it should be fixed.
Also, it seems CI does not report this because there are no 32bit ARM test being conducted. That's a pity :-(
Metadata
Metadata
Assignees
Labels
system:32-bitAffects only 32-bit systemsAffects only 32-bit systemssystem:armARMv7 and AArch64ARMv7 and AArch64