Skip to content

Commit 5df8895

Browse files
committed
fixup: Add a test for 32-bit ELF
1 parent ca33510 commit 5df8895

File tree

1 file changed

+112
-79
lines changed

1 file changed

+112
-79
lines changed

llvm/test/tools/yaml2obj/ELF/note-section.yaml

Lines changed: 112 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ Sections:
334334
Desc: '123456'
335335
Type: NT_VERSION
336336

337-
## Check that an incorrect alignment is reported
337+
## Check that an incorrect alignment is reported.
338338

339339
# RUN: not yaml2obj --docnum=16 %s 2>&1 | FileCheck %s --check-prefix=ERR_ALIGN1
340340
# ERR_ALIGN1: error: .note.foo: invalid alignment for a note section: 0x1
@@ -352,87 +352,91 @@ Sections:
352352
- Type: 0x1
353353

354354
## Check that note entries and their `Desc` fields are aligned according to the
355-
## specified section alignment
355+
## specified section alignment.
356356

357357
# RUN: yaml2obj --docnum=17 %s -o - | \
358358
# RUN: llvm-readobj --sections --section-data --notes - | \
359-
# RUN: FileCheck %s --check-prefix=TEST17
360-
361-
# TEST17: Name: .note.foo4
362-
# TEST17: SectionData (
363-
# TEST17-NEXT: 0000: 05000000 02000000 01000000 41424344 |............ABCD|
364-
# TEST17-NEXT: 0010: 00000000 01020000 00000000 03000000 |................|
365-
# TEST17-NEXT: 0020: 02000000 03040500 04000000 00000000 |................|
366-
# TEST17-NEXT: 0030: 03000000 474E5500 |....GNU.|
367-
# TEST17-NEXT: )
368-
# TEST17: Name: .note.foo8
369-
# TEST17: SectionData (
370-
# TEST17-NEXT: 0000: 05000000 02000000 01000000 41424344 |............ABCD|
371-
# TEST17-NEXT: 0010: 00000000 00000000 01020000 00000000 |................|
372-
# TEST17-NEXT: 0020: 00000000 03000000 02000000 00000000 |................|
373-
# TEST17-NEXT: 0030: 03040500 00000000 04000000 00000000 |................|
374-
# TEST17-NEXT: 0040: 03000000 474E5500 |....GNU.|
375-
# TEST17-NEXT: )
376-
# TEST17: NoteSections [
377-
# TEST17-NEXT: NoteSection {
378-
# TEST17-NEXT: Name: .note.foo4
379-
# TEST17-NEXT: Offset:
380-
# TEST17-NEXT: Size:
381-
# TEST17-NEXT: Notes [
382-
# TEST17-NEXT: {
383-
# TEST17-NEXT: Owner: ABCD
384-
# TEST17-NEXT: Data size: 0x2
385-
# TEST17-NEXT: Type: NT_VERSION (version)
386-
# TEST17-NEXT: Description data (
387-
# TEST17-NEXT: 0000: 0102 |..|
388-
# TEST17-NEXT: )
389-
# TEST17-NEXT: }
390-
# TEST17-NEXT: {
391-
# TEST17-NEXT: Owner:
392-
# TEST17-NEXT: Data size: 0x3
393-
# TEST17-NEXT: Type: NT_ARCH (architecture)
394-
# TEST17-NEXT: Description data (
395-
# TEST17-NEXT: 0000: 030405 |...|
396-
# TEST17-NEXT: )
397-
# TEST17-NEXT: }
398-
# TEST17-NEXT: {
399-
# TEST17-NEXT: Owner: GNU
400-
# TEST17-NEXT: Data size: 0x0
401-
# TEST17-NEXT: Type: NT_GNU_BUILD_ID (unique build ID bitstring)
402-
# TEST17-NEXT: Build ID:
403-
# TEST17-NEXT: }
404-
# TEST17-NEXT: ]
405-
# TEST17-NEXT: }
406-
# TEST17-NEXT: NoteSection {
407-
# TEST17-NEXT: Name: .note.foo8
408-
# TEST17-NEXT: Offset:
409-
# TEST17-NEXT: Size:
410-
# TEST17-NEXT: Notes [
411-
# TEST17-NEXT: {
412-
# TEST17-NEXT: Owner: ABCD
413-
# TEST17-NEXT: Data size: 0x2
414-
# TEST17-NEXT: Type: NT_VERSION (version)
415-
# TEST17-NEXT: Description data (
416-
# TEST17-NEXT: 0000: 0102 |..|
417-
# TEST17-NEXT: )
418-
# TEST17-NEXT: }
419-
# TEST17-NEXT: {
420-
# TEST17-NEXT: Owner:
421-
# TEST17-NEXT: Data size: 0x3
422-
# TEST17-NEXT: Type: NT_ARCH (architecture)
423-
# TEST17-NEXT: Description data (
424-
# TEST17-NEXT: 0000: 030405 |...|
425-
# TEST17-NEXT: )
426-
# TEST17-NEXT: }
427-
# TEST17-NEXT: {
428-
# TEST17-NEXT: Owner: GNU
429-
# TEST17-NEXT: Data size: 0x0
430-
# TEST17-NEXT: Type: NT_GNU_BUILD_ID (unique build ID bitstring)
431-
# TEST17-NEXT: Build ID:
432-
# TEST17-NEXT: }
433-
# TEST17-NEXT: ]
434-
# TEST17-NEXT: }
435-
# TEST17-NEXT: ]
359+
# RUN: FileCheck %s --check-prefix=TEST1718
360+
361+
# RUN: yaml2obj --docnum=18 %s -o - | \
362+
# RUN: llvm-readobj --sections --section-data --notes - | \
363+
# RUN: FileCheck %s --check-prefix=TEST1718
364+
365+
# TEST1718: Name: .note.foo4
366+
# TEST1718: SectionData (
367+
# TEST1718-NEXT: 0000: 05000000 02000000 01000000 41424344 |............ABCD|
368+
# TEST1718-NEXT: 0010: 00000000 01020000 00000000 03000000 |................|
369+
# TEST1718-NEXT: 0020: 02000000 03040500 04000000 00000000 |................|
370+
# TEST1718-NEXT: 0030: 03000000 474E5500 |....GNU.|
371+
# TEST1718-NEXT: )
372+
# TEST1718: Name: .note.foo8
373+
# TEST1718: SectionData (
374+
# TEST1718-NEXT: 0000: 05000000 02000000 01000000 41424344 |............ABCD|
375+
# TEST1718-NEXT: 0010: 00000000 00000000 01020000 00000000 |................|
376+
# TEST1718-NEXT: 0020: 00000000 03000000 02000000 00000000 |................|
377+
# TEST1718-NEXT: 0030: 03040500 00000000 04000000 00000000 |................|
378+
# TEST1718-NEXT: 0040: 03000000 474E5500 |....GNU.|
379+
# TEST1718-NEXT: )
380+
# TEST1718: NoteSections [
381+
# TEST1718-NEXT: NoteSection {
382+
# TEST1718-NEXT: Name: .note.foo4
383+
# TEST1718-NEXT: Offset:
384+
# TEST1718-NEXT: Size:
385+
# TEST1718-NEXT: Notes [
386+
# TEST1718-NEXT: {
387+
# TEST1718-NEXT: Owner: ABCD
388+
# TEST1718-NEXT: Data size: 0x2
389+
# TEST1718-NEXT: Type: NT_VERSION (version)
390+
# TEST1718-NEXT: Description data (
391+
# TEST1718-NEXT: 0000: 0102 |..|
392+
# TEST1718-NEXT: )
393+
# TEST1718-NEXT: }
394+
# TEST1718-NEXT: {
395+
# TEST1718-NEXT: Owner:
396+
# TEST1718-NEXT: Data size: 0x3
397+
# TEST1718-NEXT: Type: NT_ARCH (architecture)
398+
# TEST1718-NEXT: Description data (
399+
# TEST1718-NEXT: 0000: 030405 |...|
400+
# TEST1718-NEXT: )
401+
# TEST1718-NEXT: }
402+
# TEST1718-NEXT: {
403+
# TEST1718-NEXT: Owner: GNU
404+
# TEST1718-NEXT: Data size: 0x0
405+
# TEST1718-NEXT: Type: NT_GNU_BUILD_ID (unique build ID bitstring)
406+
# TEST1718-NEXT: Build ID:
407+
# TEST1718-NEXT: }
408+
# TEST1718-NEXT: ]
409+
# TEST1718-NEXT: }
410+
# TEST1718-NEXT: NoteSection {
411+
# TEST1718-NEXT: Name: .note.foo8
412+
# TEST1718-NEXT: Offset:
413+
# TEST1718-NEXT: Size:
414+
# TEST1718-NEXT: Notes [
415+
# TEST1718-NEXT: {
416+
# TEST1718-NEXT: Owner: ABCD
417+
# TEST1718-NEXT: Data size: 0x2
418+
# TEST1718-NEXT: Type: NT_VERSION (version)
419+
# TEST1718-NEXT: Description data (
420+
# TEST1718-NEXT: 0000: 0102 |..|
421+
# TEST1718-NEXT: )
422+
# TEST1718-NEXT: }
423+
# TEST1718-NEXT: {
424+
# TEST1718-NEXT: Owner:
425+
# TEST1718-NEXT: Data size: 0x3
426+
# TEST1718-NEXT: Type: NT_ARCH (architecture)
427+
# TEST1718-NEXT: Description data (
428+
# TEST1718-NEXT: 0000: 030405 |...|
429+
# TEST1718-NEXT: )
430+
# TEST1718-NEXT: }
431+
# TEST1718-NEXT: {
432+
# TEST1718-NEXT: Owner: GNU
433+
# TEST1718-NEXT: Data size: 0x0
434+
# TEST1718-NEXT: Type: NT_GNU_BUILD_ID (unique build ID bitstring)
435+
# TEST1718-NEXT: Build ID:
436+
# TEST1718-NEXT: }
437+
# TEST1718-NEXT: ]
438+
# TEST1718-NEXT: }
439+
# TEST1718-NEXT: ]
436440

437441
--- !ELF
438442
FileHeader:
@@ -462,3 +466,32 @@ Sections:
462466
Desc: 030405
463467
- Name: GNU
464468
Type: NT_GNU_BUILD_ID
469+
470+
--- !ELF
471+
FileHeader:
472+
Class: ELFCLASS32
473+
Data: ELFDATA2LSB
474+
Type: ET_REL
475+
Sections:
476+
- Name: .note.foo4
477+
Type: SHT_NOTE
478+
AddressAlign: 4
479+
Notes:
480+
- Name: ABCD
481+
Type: NT_VERSION
482+
Desc: 0102
483+
- Type: NT_ARCH
484+
Desc: 030405
485+
- Name: GNU
486+
Type: NT_GNU_BUILD_ID
487+
- Name: .note.foo8
488+
Type: SHT_NOTE
489+
AddressAlign: 8
490+
Notes:
491+
- Name: ABCD
492+
Type: NT_VERSION
493+
Desc: 0102
494+
- Type: NT_ARCH
495+
Desc: 030405
496+
- Name: GNU
497+
Type: NT_GNU_BUILD_ID

0 commit comments

Comments
 (0)