xref: /llvm-project/lld/test/ELF/note-alignment.s (revision d45df094353b8b0b5f1f76d9f5f828c34595fe11)
1# REQUIRES: x86
2# RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t.o
3# RUN: ld.lld %t.o -o %t
4# RUN: llvm-readelf -l %t | FileCheck %s
5
6# Check that we don't mix 4-byte and 8-byte aligned notes in one PT_LOAD.
7# The possible 4-byte padding before the 8-byte align note may make consumers
8# fail to parse it.
9
10# CHECK: NOTE {{0x[0-9a-f]+}} {{0x[0-9a-f]+}} {{0x[0-9a-f]+}} 0x000004 0x000004 R   0x4
11# CHECK: NOTE {{0x[0-9a-f]+}} {{0x[0-9a-f]+}} {{0x[0-9a-f]+}} 0x000010 0x000010 R   0x8
12# CHECK: NOTE {{0x[0-9a-f]+}} {{0x[0-9a-f]+}} {{0x[0-9a-f]+}} 0x000008 0x000008 R   0x4
13
14# CHECK:      03     .note.a
15# CHECK-NEXT: 04     .note.b .note.c
16# CHECK-NEXT: 05     .note.d .note.e
17
18.section .note.a, "a", @note
19.align 4
20.long 0
21
22.section .note.b, "a", @note
23.align 8
24.quad 0
25
26.section .note.c, "a", @note
27.align 8
28.quad 0
29
30.section .note.d, "a", @note
31.align 4
32.long 0
33
34.section .note.e, "a", @note
35.align 4
36.long 0
37