2018-02-17 05:16:57 +08:00
|
|
|
# RUN: ld64.lld -arch x86_64 -r -print_atoms %s -o %t | FileCheck %s
|
2014-05-16 04:59:23 +08:00
|
|
|
#
|
|
|
|
# Test parsing of tentative definitions, including size, scope, and alignment.
|
|
|
|
#
|
|
|
|
#
|
|
|
|
# int tent4;
|
|
|
|
# long tent8;
|
|
|
|
# __attribute__((visibility("hidden"))) int tentHidden;
|
|
|
|
# __attribute__((aligned(16))) int tent4_16;
|
|
|
|
# __attribute__((aligned(32))) long tent64_32[8];
|
|
|
|
#
|
|
|
|
|
|
|
|
--- !mach-o
|
|
|
|
arch: x86_64
|
|
|
|
file-type: MH_OBJECT
|
|
|
|
flags: [ MH_SUBSECTIONS_VIA_SYMBOLS ]
|
|
|
|
has-UUID: false
|
|
|
|
OS: unknown
|
|
|
|
sections:
|
|
|
|
- segment: __TEXT
|
|
|
|
section: __tex
|
|
|
|
type: S_REGULAR
|
|
|
|
attributes: [ S_ATTR_PURE_INSTRUCTIONS ]
|
|
|
|
address: 0x0000000000000000
|
|
|
|
undefined-symbols:
|
|
|
|
- name: _tent4
|
|
|
|
type: N_UNDF
|
|
|
|
scope: [ N_EXT ]
|
|
|
|
desc: 0x0200
|
|
|
|
value: 0x0000000000000004
|
|
|
|
- name: _tent4_16
|
|
|
|
type: N_UNDF
|
|
|
|
scope: [ N_EXT ]
|
|
|
|
desc: 0x0400
|
|
|
|
value: 0x0000000000000004
|
|
|
|
- name: _tent64_32
|
|
|
|
type: N_UNDF
|
|
|
|
scope: [ N_EXT ]
|
|
|
|
desc: 0x0500
|
|
|
|
value: 0x0000000000000040
|
|
|
|
- name: _tent8
|
|
|
|
type: N_UNDF
|
|
|
|
scope: [ N_EXT ]
|
|
|
|
desc: 0x0300
|
|
|
|
value: 0x0000000000000008
|
|
|
|
- name: _tentHidden
|
|
|
|
type: N_UNDF
|
|
|
|
scope: [ N_EXT, N_PEXT ]
|
|
|
|
desc: 0x0200
|
|
|
|
value: 0x0000000000000004
|
|
|
|
...
|
|
|
|
|
|
|
|
|
|
|
|
# CHECK: defined-atoms:
|
|
|
|
# CHECK: name: _tent4
|
|
|
|
# CHECK: scope: global
|
|
|
|
# CHECK: type: zero-fill
|
|
|
|
# CHECK: size: 4
|
|
|
|
# CHECK: merge: as-tentative
|
2015-03-26 06:06:04 +08:00
|
|
|
# CHECK: alignment: 4
|
2014-05-16 04:59:23 +08:00
|
|
|
|
|
|
|
# CHECK: name: _tent4_16
|
|
|
|
# CHECK: scope: global
|
|
|
|
# CHECK: type: zero-fill
|
|
|
|
# CHECK: size: 4
|
|
|
|
# CHECK: merge: as-tentative
|
2015-03-26 06:06:04 +08:00
|
|
|
# CHECK: alignment: 16
|
2014-05-16 04:59:23 +08:00
|
|
|
|
|
|
|
# CHECK: name: _tent64_32
|
|
|
|
# CHECK: scope: global
|
|
|
|
# CHECK: type: zero-fill
|
|
|
|
# CHECK: size: 64
|
|
|
|
# CHECK: merge: as-tentative
|
2015-03-26 06:06:04 +08:00
|
|
|
# CHECK: alignment: 32
|
2014-05-16 04:59:23 +08:00
|
|
|
|
|
|
|
# CHECK: name: _tent8
|
|
|
|
# CHECK: scope: global
|
|
|
|
# CHECK: type: zero-fill
|
|
|
|
# CHECK: size: 8
|
|
|
|
# CHECK: merge: as-tentative
|
2015-03-26 06:06:04 +08:00
|
|
|
# CHECK: alignment: 8
|
2014-05-16 04:59:23 +08:00
|
|
|
|
|
|
|
# CHECK: name: _tentHidden
|
|
|
|
# CHECK: scope: hidden
|
|
|
|
# CHECK: type: zero-fill
|
|
|
|
# CHECK: size: 4
|
|
|
|
# CHECK: merge: as-tentative
|
2015-03-26 06:06:04 +08:00
|
|
|
# CHECK: alignment: 4
|