This patch reworks how llvm targets set
authorJack Carter <jcarter@mips.com>
Wed, 30 Jan 2013 02:09:52 +0000 (02:09 +0000)
committerJack Carter <jcarter@mips.com>
Wed, 30 Jan 2013 02:09:52 +0000 (02:09 +0000)
commit9a7bf438b50fed2c77f0e2bc835defa5b4728f82
tree0456246d33e5f34ccc1ee5ab8c4833746d9ae827
parentd749382c8cc991bc75a384212a898e2396a09837
This patch reworks how llvm targets set
and update ELF header e_flags.

Currently gathering information such as symbol,
section and data is done by collecting it in an
MCAssembler object. From MCAssembler and MCAsmLayout
objects ELFObjectWriter::WriteObject() forms and
streams out the ELF object file.

This patch just adds a few members to the MCAssember
class to store and access the e_flag settings. It
allows for runtime additions to the e_flag by
assembler directives. The standalone assembler can
get to MCAssembler from getParser().getStreamer().getAssembler().

This patch is the generic infrastructure and will be
followed by patches for ARM and Mips for their target
specific use.

Contributer: Jack Carter

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173882 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/MC/MCAssembler.h
include/llvm/MC/MCELFObjectWriter.h
lib/MC/ELFObjectWriter.cpp
lib/MC/MCAssembler.cpp
lib/MC/MCELFObjectTargetWriter.cpp
lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
test/MC/ARM/elf-eflags-eabi.s