[all-commits] [llvm/llvm-project] 2210c8: Reapply [libomptarget] Support BE ELF files in plu...
Ulrich Weigand via All-commits
all-commits at lists.llvm.org
Fri Mar 15 10:29:54 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 2210c85a664463cdc11e3b7990c9663c739e6060
https://github.com/llvm/llvm-project/commit/2210c85a664463cdc11e3b7990c9663c739e6060
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-03-15 (Fri, 15 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
M openmp/libomptarget/plugins-nextgen/common/include/Utils/ELF.h
M openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp
M openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.cpp
M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
Log Message:
-----------
Reapply [libomptarget] Support BE ELF files in plugins-nextgen (#85246)
Code in plugins-nextgen reading ELF files is currently hard-coded to
assume a 64-bit little-endian ELF format. Unfortunately, this assumption
is even embedded in the interface between GlobalHandler and Utils/ELF
routines, which use ELF64LE types.
To fix this, I've refactored the interface to use generic types, in
particular by using (a unique_ptr to) ObjectFile instead of
ELF64LEObjectFile, and ELFSymbolRef instead of ELF64LE::Sym.
This allows properly templating over multiple ELF format variants inside
Utils/ELF; specifically, this patch adds support for 64-bit big-endian
ELF files in addition to 64-bit little-endian files.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list