Don't declare all text sections at the start of the .s
authorRafael Espindola <rafael.espindola@gmail.com>
Fri, 20 Mar 2015 20:00:01 +0000 (20:00 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Fri, 20 Mar 2015 20:00:01 +0000 (20:00 +0000)
commitd80979b25d4065c91be0ca5cf318d27ce663cd6f
tree42c6282645c450c0905578d87d9d6c555c7eb070
parente9994ab8a74eeba8fb503e666a6f4a812897a4dc
Don't declare all text sections at the start of the .s

The code this patch removes was there to make sure the text sections went
before the dwarf sections. That is necessary because MachO uses offsets
relative to the start of the file, so adding a section can change relaxations.

The dwarf sections were being printed at the start just to produce symbols
pointing at the start of those sections.

The underlying issue was fixed in r231898. The dwarf sections are now printed
when they are about to be used, which is after we printed the text sections.

To make sure we don't regress, the patch makes the MachO streamer assert
if CodeGen puts anything unexpected after the DWARF sections.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232842 91177308-0d34-0410-b5e6-96231b3b80d8
14 files changed:
include/llvm/MC/MCObjectStreamer.h
include/llvm/Support/TargetRegistry.h
lib/CodeGen/LLVMTargetMachine.cpp
lib/MC/MCMachOStreamer.cpp
lib/MC/MCObjectStreamer.cpp
lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
lib/Target/ARM/ARMAsmPrinter.cpp
lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
test/CodeGen/ARM/darwin-section-order.ll [deleted file]
test/CodeGen/ARM/none-macho.ll
test/DebugInfo/ARM/header.ll [new file with mode: 0644]
test/DebugInfo/ARM/sectionorder.ll [deleted file]
tools/dsymutil/DwarfLinker.cpp
tools/llvm-mc/llvm-mc.cpp