summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/IntrinsicEmitter.cpp
diff options
context:
space:
mode:
authorGeorge Rimar <grimar@accesssoftek.com>2017-10-11 08:13:40 +0000
committerGeorge Rimar <grimar@accesssoftek.com>2017-10-11 08:13:40 +0000
commit26fa916deb65b7e62ac595462a0351fad10a04c4 (patch)
tree2ade233fb5b7dd3c644dad7a9237898fb17d3a69 /llvm/utils/TableGen/IntrinsicEmitter.cpp
parent3b81809e06da76b644a842caaccb1591900801e3 (diff)
downloadbcm5719-llvm-26fa916deb65b7e62ac595462a0351fad10a04c4.tar.gz
bcm5719-llvm-26fa916deb65b7e62ac595462a0351fad10a04c4.zip
[ELF] - Do not set output section flags except SHF_{ALLOC,WRITE,EXECINSTR}.
This is PR34546. Currently LLD creates output sections even if it has no input sections, but its command contains an assignment. Committed code just assigns the same flag that was used in previous live section. That does not work sometimes. For example if we have following script: .ARM.exidx : { *(.ARM.exidx*) } .foo : { _foo = 0; } } Then first section has SHF_LINK_ORDER flag. But section foo should not. That was a reason of crash in OutputSection::finalize(). LLD tried to calculate Link value, calling front() on empty input sections list. We should only keep access flags and omit all others when creating such sections. Patch fixes the crash observed. Differential revision: https://reviews.llvm.org/D37736 llvm-svn: 315441
Diffstat (limited to 'llvm/utils/TableGen/IntrinsicEmitter.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud