llvm-project/lld/test/mach-o/cstring-sections.yaml
Zachary Turner 9f169afab2 Make YAML quote forward slashes.
If you have the string /usr/bin, prior to this patch it would not
be quoted by our YAML serializer.  But a string like C:\src would
be, due to the presence of a backslash.  This makes the quoting
rules of basically every single file path different depending on
the path syntax (posix vs. Windows).

While technically not required by the YAML specification to quote
forward slashes, when the behavior of paths is inconsistent it
makes it difficult to portably write FileCheck lines that will
work with either kind of path.

Differential Revision: https://reviews.llvm.org/D53169

llvm-svn: 344359
2018-10-12 16:31:20 +00:00

66 lines
2.3 KiB
YAML

# RUN: ld64.lld -arch x86_64 -r %s -o %t -print_atoms | FileCheck %s
#
# Test -keep_private_externs in -r mode.
#
--- !mach-o
arch: x86_64
file-type: MH_OBJECT
flags: [ MH_SUBSECTIONS_VIA_SYMBOLS ]
sections:
- segment: __TEXT
section: __objc_methname
type: S_CSTRING_LITERALS
attributes: [ ]
address: 0x0000000000000000
content: [ 0x61, 0x62, 0x63, 0x00, 0x64, 0x65, 0x66, 0x00 ]
- segment: __TEXT
section: __objc_classname
type: S_CSTRING_LITERALS
attributes: [ ]
address: 0x0000000000000006
content: [ 0x61, 0x62, 0x63, 0x00, 0x67, 0x68, 0x69, 0x00 ]
- segment: __TEXT
section: __cstring
type: S_CSTRING_LITERALS
attributes: [ ]
address: 0x000000000000000A
content: [ 0x61, 0x62, 0x63, 0x00, 0x6A, 0x6B, 0x6C, 0x00 ]
...
# CHECK: defined-atoms:
# CHECK: - scope: hidden
# CHECK: type: c-string
# CHECK: content: [ 61, 62, 63, 00 ]
# CHECK: merge: by-content
# CHECK: section-choice: custom-required
# CHECK: section-name: '__TEXT/__objc_methname'
# CHECK: - scope: hidden
# CHECK: type: c-string
# CHECK: content: [ 64, 65, 66, 00 ]
# CHECK: merge: by-content
# CHECK: section-choice: custom-required
# CHECK: section-name: '__TEXT/__objc_methname'
# CHECK: - scope: hidden
# CHECK: type: c-string
# CHECK: content: [ 61, 62, 63, 00 ]
# CHECK: merge: by-content
# CHECK: section-choice: custom-required
# CHECK: section-name: '__TEXT/__objc_classname'
# CHECK: - scope: hidden
# CHECK: type: c-string
# CHECK: content: [ 67, 68, 69, 00 ]
# CHECK: merge: by-content
# CHECK: section-choice: custom-required
# CHECK: section-name: '__TEXT/__objc_classname'
# CHECK: - scope: hidden
# CHECK: type: c-string
# CHECK: content: [ 61, 62, 63, 00 ]
# CHECK: merge: by-content
# CHECK: - scope: hidden
# CHECK: type: c-string
# CHECK: content: [ 6A, 6B, 6C, 00 ]
# CHECK: merge: by-content