From 45139290942c9124d14e77e1a0830032d5a5496f Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Mon, 13 May 2019 04:51:31 +0000 Subject: [JITLink] Track section alignment and make sure it is respected during layout. Previously we had only honored alignments on individual atoms, but tools/runtimes may assume that the section alignment is respected too. llvm-svn: 360555 --- .../JITLink/X86/MachO_x86-64_relocations.s | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'llvm/test/ExecutionEngine') diff --git a/llvm/test/ExecutionEngine/JITLink/X86/MachO_x86-64_relocations.s b/llvm/test/ExecutionEngine/JITLink/X86/MachO_x86-64_relocations.s index b306a490ebe..568faebd965 100644 --- a/llvm/test/ExecutionEngine/JITLink/X86/MachO_x86-64_relocations.s +++ b/llvm/test/ExecutionEngine/JITLink/X86/MachO_x86-64_relocations.s @@ -277,4 +277,24 @@ subtractor_with_alt_entry_subtrahend_quad_B: .globl zero_fill_test .zerofill __DATA,__zero_fill_test,zero_fill_test,8,3 +# Check that section alignments are respected. +# We test this by introducing two segments with alignment 8, each containing one +# byte of data. We require both symbols to have an aligned address. +# +# jitlink-check: section_alignment_check1[2:0] = 0 +# jitlink-check: section_alignment_check2[2:0] = 0 + .section __DATA,__sec_align_chk1 + .p2align 3 + + .globl section_alignment_check1 +section_alignment_check1: + .byte 0 + + .section __DATA,__sec_align_chk2 + .p2align 3 + + .globl section_alignment_check2 +section_alignment_check2: + .byte 0 + .subsections_via_symbols -- cgit v1.2.3