166b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | elf-dump  | FileCheck %s
266b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman
366b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// Test that this produces a R_X86_64_PLT32 with bar.
466b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman
566b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman        .globl foo
666b8ab22586debccb1f787d4d52b7f042d4ddeb8John Baumanfoo:
766b8ab22586debccb1f787d4d52b7f042d4ddeb8John Baumanbar = foo
866b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman        .section zed, "", @progbits
966b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman        call bar@PLT
1066b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman
1166b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman
1266b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// Test that this produres a relocation with bar2
1366b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman
1466b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman    .weak    foo2
1566b8ab22586debccb1f787d4d52b7f042d4ddeb8John Baumanfoo2:
1666b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman    .weak    bar2
1766b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman    .set    bar2,foo2
1866b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman    .quad    bar2
1966b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman
2066b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK:       # Relocation 0
2166b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:  (('r_offset', 0x0000000000000001)
2266b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:   ('r_sym', 0x00000001)
2366b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:   ('r_type', 0x00000004)
2466b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:   ('r_addend', 0xfffffffffffffffc)
2566b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:  ),
2666b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman
2766b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK:      # Relocation 1
2866b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT: (('r_offset', 0x0000000000000005)
2966b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:  ('r_sym', 0x00000006)
3066b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:  ('r_type', 0x00000001)
3166b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:  ('r_addend', 0x0000000000000000)
3266b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT: ),
3366b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman
3466b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK:       # Symbol 1
3566b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:  (('st_name', 0x00000005) # 'bar'
3666b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:   ('st_bind', 0x0)
3766b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:   ('st_type', 0x0)
3866b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:   ('st_other', 0x00)
3966b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:   ('st_shndx', 0x0001)
4066b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:   ('st_value', 0x0000000000000000)
4166b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:   ('st_size', 0x0000000000000000)
4266b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:  ),
4366b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman
4466b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK:      # Symbol 6
4566b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT: (('st_name', 0x0000000e) # 'bar2'
4666b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:  ('st_bind', 0x2)
4766b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:  ('st_type', 0x0)
4866b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:  ('st_other', 0x00)
4966b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:  ('st_shndx', 0x0004)
5066b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:  ('st_value', 0x0000000000000005)
5166b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT:  ('st_size', 0x0000000000000000)
5266b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// CHECK-NEXT: ),
53