[all-commits] [llvm/llvm-project] 6c7324: [ELF] Fix a null pointer dereference when --emit-r...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Thu Feb 13 09:02:11 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 6c73246179376442705b3a545f4e1f1478777a04
https://github.com/llvm/llvm-project/commit/6c73246179376442705b3a545f4e1f1478777a04
Author: Fangrui Song <maskray at google.com>
Date: 2020-02-13 (Thu, 13 Feb 2020)
Changed paths:
M lld/ELF/Driver.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
A lld/test/ELF/emit-relocs-debug.s
Log Message:
-----------
[ELF] Fix a null pointer dereference when --emit-relocs and --strip-debug are used together
Fixes https://bugs.llvm.org//show_bug.cgi?id=44878
When --strip-debug is specified, .debug* are removed from inputSections
while .rel[a].debug* (incorrectly) remain.
LinkerScript::addOrphanSections() requires the output section of a relocated
InputSectionBase to be created first.
.debug* are not in inputSections ->
output sections .debug* are not created ->
getOutputSectionName(.rel[a].debug*) dereferences a null pointer.
Fix the null pointer dereference by deleting .rel[a].debug* from inputSections as well.
Reviewed By: grimar, nickdesaulniers
Differential Revision: https://reviews.llvm.org/D74510
More information about the All-commits
mailing list