diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-10-30 06:40:37 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-30 06:40:37 +0100 |
| commit | cf2cc010a33b6aa9bd480e1ffa13a8d6ca181ea8 (patch) | |
| tree | f8493678c7234890de4663496e93b9d68d72a444 /compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp | |
| parent | 2055237e8f7087db9a7ca4c0b9921cbc858f345a (diff) | |
| parent | 65ff2a6ad71de45c848a622d86b6c74092e1b734 (diff) | |
| download | rust-cf2cc010a33b6aa9bd480e1ffa13a8d6ca181ea8.tar.gz rust-cf2cc010a33b6aa9bd480e1ffa13a8d6ca181ea8.zip | |
Rollup merge of #132340 - Zalathar:set-section, r=compiler-errors
cg_llvm: Consistently use safe wrapper function `set_section` Follow-up to #131962 and https://github.com/rust-lang/rust/pull/132260#discussion_r1821626260. To avoid too much scope creep, I've deliberately kept the changes to `LLVMRustGetSliceFromObjectDataByName` as minimal as possible.
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp')
| -rw-r--r-- | compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp index 20bf32d731e..3e906f89c15 100644 --- a/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp +++ b/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp @@ -1559,8 +1559,10 @@ extern "C" LLVMModuleRef LLVMRustParseBitcodeForLTO(LLVMContextRef Context, extern "C" const char *LLVMRustGetSliceFromObjectDataByName(const char *data, size_t len, const char *name, + size_t name_len, size_t *out_len) { *out_len = 0; + auto Name = StringRef(name, name_len); auto Data = StringRef(data, len); auto Buffer = MemoryBufferRef(Data, ""); // The id is unused. file_magic Type = identify_magic(Buffer.getBuffer()); @@ -1571,8 +1573,8 @@ extern "C" const char *LLVMRustGetSliceFromObjectDataByName(const char *data, return nullptr; } for (const object::SectionRef &Sec : (*ObjFileOrError)->sections()) { - Expected<StringRef> Name = Sec.getName(); - if (Name && *Name == name) { + Expected<StringRef> SecName = Sec.getName(); + if (SecName && *SecName == Name) { Expected<StringRef> SectionOrError = Sec.getContents(); if (!SectionOrError) { LLVMRustSetLastError(toString(SectionOrError.takeError()).c_str()); |
