mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
It turns out that putting an 8-byte symbol in a 4-byte section makes Solaris ld sulk. GNU ld is perfectly happy with it, which is worrying for a whole other set of reasons...
Thanks to Anton, Duncan and Rafael for helping me track this down. Pointy hat to Rafael for introducing the bug in the first place. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150811 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
28
test/CodeGen/X86/personality_size.ll
Normal file
28
test/CodeGen/X86/personality_size.ll
Normal file
@@ -0,0 +1,28 @@
|
||||
; RUN: llc < %s -relocation-model=pic -disable-cfi -mtriple=x86_64-pc-solaris2.11 -disable-cgp-branch-opts | FileCheck %s -check-prefix=X64
|
||||
; RUN: llc < %s -relocation-model=pic -disable-cfi -mtriple=i386-pc-solaris2.11 -disable-cgp-branch-opts | FileCheck %s -check-prefix=X32
|
||||
; PR1632
|
||||
|
||||
define void @_Z1fv() {
|
||||
entry:
|
||||
invoke void @_Z1gv()
|
||||
to label %return unwind label %unwind
|
||||
|
||||
unwind: ; preds = %entry
|
||||
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
|
||||
cleanup
|
||||
ret void
|
||||
|
||||
return: ; preds = %eh_then, %entry
|
||||
ret void
|
||||
}
|
||||
|
||||
declare void @_Z1gv()
|
||||
|
||||
declare i32 @__gxx_personality_v0(...)
|
||||
|
||||
; X64: .size DW.ref.__gxx_personality_v0, 8
|
||||
; X64: .quad __gxx_personality_v0
|
||||
|
||||
; X32: .size DW.ref.__gxx_personality_v0, 4
|
||||
; X32: .long __gxx_personality_v0
|
||||
|
Reference in New Issue
Block a user