llvm-project/llvm/lib/Target/BPF
Yonghong Song 03e1c8b8f9 bpf: introduce -mattr=dwarfris to disable DwarfUsesRelocationsAcrossSections
Commit e4507fb8c94b ("bpf: disable DwarfUsesRelocationsAcrossSections")
disables MCAsmInfo DwarfUsesRelocationsAcrossSections unconditionally
so that dwarf will not use cross section (between dwarf and symbol table)
relocations. This new debug format enables pahole to dump structures
correctly as libdwarves.so does not have BPF backend support yet.

This new debug format, however, breaks bcc (https://github.com/iovisor/bcc)
source debug output as llvm in-memory Dwarf support has some issues to
handle it. More specifically, with DwarfUsesRelocationsAcrossSections
disabled, JIT compiler does not generate .debug_abbrev and Dwarf
DIE (debug info entry) processing is not happy about this.

This patch introduces a new flag -mattr=dwarfris
(dwarf relocation in section) to disable DwarfUsesRelocationsAcrossSections.
DwarfUsesRelocationsAcrossSections is true by default.

Signed-off-by: Yonghong Song <yhs@fb.com>
llvm-svn: 326505
2018-03-01 23:04:59 +00:00
..
AsmParser [Asm] Add debug tracing in table-generated assembly matcher 2017-10-11 09:17:43 +00:00
Disassembler bpf: New decoder namespace for 32-bit subregister load/store 2018-02-23 23:49:31 +00:00
InstPrinter bpf: add support for objdump -print-imm-hex 2017-12-20 19:39:58 +00:00
MCTargetDesc bpf: introduce -mattr=dwarfris to disable DwarfUsesRelocationsAcrossSections 2018-03-01 23:04:59 +00:00
TargetInfo Add backend name to Target to enable runtime info to be fed back into TableGen 2017-11-15 23:55:44 +00:00
BPF.h bpf: New optimization pass for eliminating unnecessary i32 promotions 2018-02-23 23:49:32 +00:00
BPF.td bpf: introduce -mattr=dwarfris to disable DwarfUsesRelocationsAcrossSections 2018-03-01 23:04:59 +00:00
BPFAsmPrinter.cpp bpf: add inline-asm support 2017-09-18 23:29:36 +00:00
BPFCallingConv.td bpf: New calling convention for 32-bit subregisters 2018-02-23 23:49:23 +00:00
BPFFrameLowering.cpp
BPFFrameLowering.h Move TargetFrameLowering.h to CodeGen where it's implemented 2017-11-03 22:32:11 +00:00
BPFISelDAGToDAG.cpp bpf: New instruction patterns for 32-bit subregister load and store 2018-02-23 23:49:28 +00:00
BPFISelLowering.cpp bpf: Enable 32-bit subregister support for -mattr=+alu32 2018-02-23 23:49:30 +00:00
BPFISelLowering.h bpf: Support i32 in getScalarShiftAmountTy method 2018-02-23 23:49:26 +00:00
BPFInstrFormats.td bpf: add new insns for bswap_to_le and negation 2017-09-28 02:46:11 +00:00
BPFInstrInfo.cpp bpf: Support 32-bit subregister in various InstrInfo hooks 2018-02-23 23:49:29 +00:00
BPFInstrInfo.h Target/TargetInstrInfo.h -> CodeGen/TargetInstrInfo.h to match layering 2017-11-08 01:01:31 +00:00
BPFInstrInfo.td bpf: New instruction patterns for 32-bit subregister load and store 2018-02-23 23:49:28 +00:00
BPFMCInstLower.cpp Cleanup dump() functions. 2017-01-28 02:02:38 +00:00
BPFMCInstLower.h [bpf] error when unknown bpf helper is called 2017-01-17 07:26:17 +00:00
BPFMIPeephole.cpp bpf: New optimization pass for eliminating unnecessary i32 promotions 2018-02-23 23:49:32 +00:00
BPFRegisterInfo.cpp bpf: Use markSuperRegs to mark reserved registers 2018-02-23 23:49:18 +00:00
BPFRegisterInfo.h [BPF] Return true in enableMultipleCopyHints(). 2018-02-18 10:09:54 +00:00
BPFRegisterInfo.td bpf: add 32bit register set 2017-09-22 04:36:35 +00:00
BPFSubtarget.cpp bpf: introduce -mattr=dwarfris to disable DwarfUsesRelocationsAcrossSections 2018-03-01 23:04:59 +00:00
BPFSubtarget.h bpf: introduce -mattr=dwarfris to disable DwarfUsesRelocationsAcrossSections 2018-03-01 23:04:59 +00:00
BPFTargetMachine.cpp bpf: introduce -mattr=dwarfris to disable DwarfUsesRelocationsAcrossSections 2018-03-01 23:04:59 +00:00
BPFTargetMachine.h Revert "TargetMachine: Merge TargetMachine and LLVMTargetMachine" 2017-10-12 22:57:28 +00:00
CMakeLists.txt bpf: New optimization pass for eliminating unnecessary i32 promotions 2018-02-23 23:49:32 +00:00
LLVMBuild.txt bpf: Add BPF AsmParser support in LLVM 2017-09-12 17:55:23 +00:00