[Sparc] Use %r_disp32 for pc_rel entries in gcc_except_table and eh_frame.
authorVenkatraman Govindaraju <venkatra@cs.wisc.edu>
Wed, 29 Jan 2014 04:51:35 +0000 (04:51 +0000)
committerVenkatraman Govindaraju <venkatra@cs.wisc.edu>
Wed, 29 Jan 2014 04:51:35 +0000 (04:51 +0000)
commit771023dbcb5dbf2e967f064021ecf0d8e8acf6de
tree4ee9dfe5f873161fca7fdd180055ad61b46406cb
parent6a67a3f3ec5c70c3a9473068fe20c97c612d9780
[Sparc] Use %r_disp32 for pc_rel entries in gcc_except_table and eh_frame.

Otherwise, assembler (gas) fails to assemble them with error message "operation
combines symbols in different segments". This is because MC computes
pc_rel entries with subtract expression between labels from different sections.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200373 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Sparc/CMakeLists.txt
lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp
lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.h
lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
lib/Target/Sparc/SparcISelLowering.cpp
lib/Target/Sparc/SparcTargetObjectFile.cpp [new file with mode: 0644]
lib/Target/Sparc/SparcTargetObjectFile.h [new file with mode: 0644]
test/CodeGen/SPARC/exception.ll