You've already forked linux-packaging-mono
							
							
		
			
				
	
	
		
			74 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| // The purpose of this test is to verify that symbol aliases
 | |
| // (@foo:  alias <type> @bar) generate the correct entries in the symbol table.
 | |
| // They should be identical except for the name.
 | |
| 
 | |
| // RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | llvm-readobj -t | FileCheck %s
 | |
| // RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | llvm-readobj -t | FileCheck %s
 | |
| 
 | |
| 	.def	 _foo;
 | |
| 	.scl	2;
 | |
| 	.type	32;
 | |
| 	.endef
 | |
| 	.text
 | |
| 	.globl	_foo
 | |
| 	.align	16, 0x90
 | |
| _foo:                                   # @foo
 | |
| # %bb.0:                                # %entry
 | |
| 	ret
 | |
| 
 | |
| 	.data
 | |
| 	.globl	_bar                    # @bar
 | |
| 	.align	4
 | |
| _bar:
 | |
| 	.long	0                       # 0x0
 | |
| 
 | |
| 
 | |
| # Order is important here. Assign _bar_alias_alias before _bar_alias.
 | |
| 	.globl	_foo_alias
 | |
| _foo_alias = _foo
 | |
| 	.globl	_bar_alias_alias
 | |
| _bar_alias_alias = _bar_alias
 | |
| 	.globl	_bar_alias
 | |
| _bar_alias = _bar
 | |
| 
 | |
| // CHECK:      Name:                {{_?}}foo
 | |
| // CHECK-NEXT: Value:               [[FOO_VALUE:.*$]]
 | |
| // CHECK-NEXT: Section:             [[FOO_SECTION_NUMBER:.*$]]
 | |
| // CHECK-NEXT: BaseType:            [[FOO_SIMPLE_TYPE:.*$]]
 | |
| // CHECK-NEXT: ComplexType:         [[FOO_COMPLEX_TYPE:.*$]]
 | |
| // CHECK-NEXT: StorageClass:        [[FOO_STORAGE_CLASS:.*$]]
 | |
| // CHECK-NEXT: AuxSymbolCount:      [[FOO_NUMBER_OF_AUX_SYMBOLS:.*$]]
 | |
| 
 | |
| // CHECK:      Name:                {{_?}}bar
 | |
| // CHECK-NEXT: Value:               [[BAR_VALUE:.*$]]
 | |
| // CHECK-NEXT: Section:             [[BAR_SECTION_NUMBER:.*$]]
 | |
| // CHECK-NEXT: BaseType:            [[BAR_SIMPLE_TYPE:.*$]]
 | |
| // CHECK-NEXT: ComplexType:         [[BAR_COMPLEX_TYPE:.*$]]
 | |
| // CHECK-NEXT: StorageClass:        [[BAR_STORAGE_CLASS:.*$]]
 | |
| // CHECK-NEXT: AuxSymbolCount:      [[BAR_NUMBER_OF_AUX_SYMBOLS:.*$]]
 | |
| 
 | |
| // CHECK:      Name:                {{_?}}foo_alias
 | |
| // CHECK-NEXT: Value:               [[FOO_VALUE]]
 | |
| // CHECK-NEXT: Section:             [[FOO_SECTION_NUMBER]]
 | |
| // CHECK-NEXT: BaseType:            [[FOO_SIMPLE_TYPE]]
 | |
| // CHECK-NEXT: ComplexType:         Null (0x0)
 | |
| // CHECK-NEXT: StorageClass:        [[FOO_STORAGE_CLASS]]
 | |
| // CHECK-NEXT: AuxSymbolCount:      [[FOO_NUMBER_OF_AUX_SYMBOLS]]
 | |
| 
 | |
| // CHECK:      Name:                {{_?}}bar_alias_alias
 | |
| // CHECK-NEXT: Value:               [[BAR_VALUE]]
 | |
| // CHECK-NEXT: Section:             [[BAR_SECTION_NUMBER]]
 | |
| // CHECK-NEXT: BaseType:            [[BAR_SIMPLE_TYPE]]
 | |
| // CHECK-NEXT: ComplexType:         [[BAR_COMPLEX_TYPE]]
 | |
| // CHECK-NEXT: StorageClass:        [[BAR_STORAGE_CLASS]]
 | |
| // CHECK-NEXT: AuxSymbolCount:      [[BAR_NUMBER_OF_AUX_SYMBOLS]]
 | |
| 
 | |
| // CHECK:      Name:                {{_?}}bar_alias
 | |
| // CHECK-NEXT: Value:               [[BAR_VALUE]]
 | |
| // CHECK-NEXT: Section:             [[BAR_SECTION_NUMBER]]
 | |
| // CHECK-NEXT: BaseType:            [[BAR_SIMPLE_TYPE]]
 | |
| // CHECK-NEXT: ComplexType:         [[BAR_COMPLEX_TYPE]]
 | |
| // CHECK-NEXT: StorageClass:        [[BAR_STORAGE_CLASS]]
 | |
| // CHECK-NEXT: AuxSymbolCount:      [[BAR_NUMBER_OF_AUX_SYMBOLS]]
 | |
| 
 |