1f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -t | FileCheck %s 2737cd213e359c2862253c3a1ee443419566e90b9Rafael Espindola 3737cd213e359c2862253c3a1ee443419566e90b9Rafael Espindolafoo: 4737cd213e359c2862253c3a1ee443419566e90b9Rafael Espindolabar = foo 5737cd213e359c2862253c3a1ee443419566e90b9Rafael Espindola 601f9ea35a71b4efb00de8e4c9e9136c9c88f6273Rafael Espindola .globl foo2 701f9ea35a71b4efb00de8e4c9e9136c9c88f6273Rafael Espindolafoo2 = bar2 801f9ea35a71b4efb00de8e4c9e9136c9c88f6273Rafael Espindola 901f9ea35a71b4efb00de8e4c9e9136c9c88f6273Rafael Espindolafoo3: 1001f9ea35a71b4efb00de8e4c9e9136c9c88f6273Rafael Espindola .globl bar3 1101f9ea35a71b4efb00de8e4c9e9136c9c88f6273Rafael Espindolabar3 = foo3 1201f9ea35a71b4efb00de8e4c9e9136c9c88f6273Rafael Espindola 1336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 1436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// Test that bar4 and bar 5 are also functions and have the same value as foo4. 1536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .byte 0 1636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .type foo4,@function 17152c1061e0b4ad379eec5fa38ee0091fc11ff936Rafael Espindolafoo4: 18152c1061e0b4ad379eec5fa38ee0091fc11ff936Rafael Espindolabar4 = foo4 1936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesbar5 = bar4 20152c1061e0b4ad379eec5fa38ee0091fc11ff936Rafael Espindola 21d179886f0595eb3564a9edfdfff79def130d89ccRafael Espindola .long foo2 22f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck 23f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK: Symbols [ 24f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Symbol { 25c9f2cc7e05b2a7f3991a94cad1730a59dd7555e3Rafael Espindola// CHECK-NEXT: Name: (0) 26c9f2cc7e05b2a7f3991a94cad1730a59dd7555e3Rafael Espindola// CHECK-NEXT: Value: 0x0 27c9f2cc7e05b2a7f3991a94cad1730a59dd7555e3Rafael Espindola// CHECK-NEXT: Size: 0 28c9f2cc7e05b2a7f3991a94cad1730a59dd7555e3Rafael Espindola// CHECK-NEXT: Binding: Local (0x0) 29c9f2cc7e05b2a7f3991a94cad1730a59dd7555e3Rafael Espindola// CHECK-NEXT: Type: None (0x0) 30c9f2cc7e05b2a7f3991a94cad1730a59dd7555e3Rafael Espindola// CHECK-NEXT: Other: 0 3136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT: Section: Undefined (0x0) 32c9f2cc7e05b2a7f3991a94cad1730a59dd7555e3Rafael Espindola// CHECK-NEXT: } 33c9f2cc7e05b2a7f3991a94cad1730a59dd7555e3Rafael Espindola// CHECK-NEXT: Symbol { 34f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Name: bar 35f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Value: 0x0 36f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Size: 0 37f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Binding: Local 38f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Type: None 39f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Other: 0 40f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Section: .text 41f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: } 42f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Symbol { 43f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Name: bar4 4436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT: Value: 0x1 4536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT: Size: 0 4636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT: Binding: Local 4736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT: Type: Function 4836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT: Other: 0 4936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT: Section: .text 5036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT: } 5136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT: Symbol { 5236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT: Name: bar5 5336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT: Value: 0x1 54f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Size: 0 55f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Binding: Local 56f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Type: Function 57f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Other: 0 58f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Section: .text 59f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: } 60f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Symbol { 61f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Name: foo 62f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Value: 0x0 63f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Size: 0 64f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Binding: Local 65f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Type: None 66f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Other: 0 67f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Section: .text 68f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: } 69f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Symbol { 70f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Name: foo3 71f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Value: 0x0 72f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Size: 0 73f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Binding: Local 74f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Type: None 75f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Other: 0 76f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Section: .text 77f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: } 78f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Symbol { 79f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Name: foo4 8036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT: Value: 0x1 81f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Size: 0 82f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Binding: Local 83f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Type: Function 84f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Other: 0 85f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Section: .text 86f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: } 87f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Symbol { 88f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Name: .text (0) 89f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK: } 90f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Symbol { 91f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Name: .data (0) 92f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK: } 93f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Symbol { 94f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Name: .bss (0) 95f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK: } 96f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Symbol { 97f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Name: bar3 98f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Value: 0x0 99f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Size: 0 100f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Binding: Global 101f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Type: None 102f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Other: 0 103f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Section: .text 104f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: } 105f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Symbol { 106f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Name: bar2 107f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Value: 0x0 108f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Size: 0 109f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Binding: Global 110f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Type: None 111f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: Other: 0 11236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK-NEXT: Section: Undefined (0x0) 113f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: } 114f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck// CHECK-NEXT: ] 115