## FIXME the addend for offset 0x20000 should be TOC base+0x8000+1, not 0x80001.
# CHECK: .rela.dyn {
-# CHECK-NEXT: 0x303B0 R_PPC64_RELATIVE - 0x8001
-# CHECK-NEXT: 0x303B8 R_PPC64_RELATIVE - 0x303B1
-# CHECK-NEXT: 0x303C0 R_PPC64_ADDR64 external 0x1
-# CHECK-NEXT: 0x303C8 R_PPC64_ADDR64 global 0x1
+# CHECK-NEXT: 0x303B8 R_PPC64_RELATIVE - 0x8001
+# CHECK-NEXT: 0x303C0 R_PPC64_RELATIVE - 0x303B9
+# CHECK-NEXT: 0x303C8 R_PPC64_ADDR64 external 0x1
+# CHECK-NEXT: 0x303D0 R_PPC64_ADDR64 global 0x1
# CHECK-NEXT: }
.data
ld 1, .L1@toc@l(2)
# CHECK-LABEL: Disassembly of section .R_PPC64_TOC16_LO_DS:
-# CHECK: ld 1, -32768(2)
+# CHECK: ld 1, -32760(2)
.section .R_PPC64_TOC16_LO,"ax",@progbits
addi 1, 2, .L1@toc@l
# CHECK-LABEL: Disassembly of section .R_PPC64_TOC16_LO:
-# CHECK: addi 1, 2, -32768
+# CHECK: addi 1, 2, -32760
.section .R_PPC64_TOC16_HI,"ax",@progbits
addis 1, 2, .L1@toc@h
return false;
}
- if (Symbol.isUndefined() && !Symbol.isBindingSet())
- return false;
-
if (Symbol.isTemporary())
return false;
.text
movsd .Lsym8(%rip), %xmm1
+.hidden hidden
+
test2_a = undef
test2_b = undef + 1
// CHECK-NEXT: Section: .rodata.str1.1
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
+// CHECK-NEXT: Name: hidden
+// CHECK-NEXT: Value: 0x0
+// CHECK-NEXT: Size: 0
+// CHECK-NEXT: Binding: Global
+// CHECK-NEXT: Type: None
+// CHECK-NEXT: Other [
+// CHECK-NEXT: STV_HIDDEN
+// CHECK-NEXT: ]
+// CHECK-NEXT: Section: Undefined
+// CHECK-NEXT: }
+// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: sym6
// CHECK-NEXT: Value: 0x0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Other: 0
// CHECK-NEXT: Section: Undefined
// CHECK-NEXT: }
+// CHECK-NEXT: Symbol {
+// CHECK-NEXT: Name: undef
+// CHECK-NEXT: Value: 0x0
+// CHECK-NEXT: Size: 0
+// CHECK-NEXT: Binding: Global
+// CHECK-NEXT: Type: None
+// CHECK-NEXT: Other: 0
+// CHECK-NEXT: Section: Undefined
+// CHECK-NEXT: }
// CHECK-NEXT: ]
// CHECK-NEXT: Section: .text
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
+// CHECK-NEXT: Name: bar1
+// CHECK-NEXT: Value: 0x0
+// CHECK-NEXT: Size: 0
+// CHECK-NEXT: Binding: Global
+// CHECK-NEXT: Type: None
+// CHECK-NEXT: Other: 0
+// CHECK-NEXT: Section: Undefined
+// CHECK-NEXT: }
+// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: bar10
// CHECK-NEXT: Value: 0x28
// CHECK-NEXT: Size: 0