diff options
author | James Molloy <james.molloy@arm.com> | 2012-01-26 09:25:43 +0000 |
---|---|---|
committer | James Molloy <james.molloy@arm.com> | 2012-01-26 09:25:43 +0000 |
commit | 34982576a43887e7f062ed0a3571af2cbab003f3 (patch) | |
tree | 672c8ca4d13c41c1f797d7278c1ea3db30fc5cc5 /test | |
parent | 668f7ac9e4642e1b4af4f5b047d569c68bc2c55f (diff) | |
download | external_llvm-34982576a43887e7f062ed0a3571af2cbab003f3.zip external_llvm-34982576a43887e7f062ed0a3571af2cbab003f3.tar.gz external_llvm-34982576a43887e7f062ed0a3571af2cbab003f3.tar.bz2 |
Add support for the R_ARM_TARGET1 relocation, which should be given to relocations applied to all C++ constructors and destructors.
This enables the linker to match concrete relocation types (absolute or relative) with whatever library or C++ support code is being linked against.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149057 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/MC/ARM/cxx-global-constructor.ll | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/MC/ARM/cxx-global-constructor.ll b/test/MC/ARM/cxx-global-constructor.ll new file mode 100644 index 0000000..e06d2c7 --- /dev/null +++ b/test/MC/ARM/cxx-global-constructor.ll @@ -0,0 +1,12 @@ +; RUN: llc %s -mtriple=armv7-linux-gnueabi -relocation-model=pic \ +; RUN: -filetype=obj -o - | elf-dump --dump-section-data | FileCheck %s + + +@llvm.global_ctors = appending global [1 x { i32, void ()* }] [{ i32, void ()* } { i32 65535, void ()* @f }] + +define void @f() { + ret void +} + +; Check for a relocation of type R_ARM_TARGET1. +; CHECK: ('r_type', 0x26) |