relocation-386.s revision 7c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9
1c97f80efc80030c7544a9903c79d2dccd197a0ffRafael Espindola// RUN: llvm-mc -filetype=obj -triple i386-pc-linux-gnu %s -o - | elf-dump | FileCheck %s 2c97f80efc80030c7544a9903c79d2dccd197a0ffRafael Espindola 31683fcc82397681a64a35884edc9c62c49f2f179Rafael Espindola// Test that we produce the correct relocation types and that the relocations 41683fcc82397681a64a35884edc9c62c49f2f179Rafael Espindola// correctly point to the section or the symbol. 5c97f80efc80030c7544a9903c79d2dccd197a0ffRafael Espindola 6f7d5278fb32b84b6218a222346202ab3af17057cJason W Kim// CHECK: # Relocation 0x00000000 7f7d5278fb32b84b6218a222346202ab3af17057cJason W Kim// CHECK-NEXT: (('r_offset', 0x00000002) 8f7d5278fb32b84b6218a222346202ab3af17057cJason W Kim// CHECK-NEXT: ('r_sym', 0x00000001) 9f7d5278fb32b84b6218a222346202ab3af17057cJason W Kim// CHECK-NEXT: ('r_type', 0x00000009) 109edab3a9e15c40c1c9bf70df81c6afdab1cd02c2Rafael Espindola// CHECK-NEXT: ), 11f7d5278fb32b84b6218a222346202ab3af17057cJason W Kim// CHECK-NEXT: # Relocation 0x00000001 129edab3a9e15c40c1c9bf70df81c6afdab1cd02c2Rafael Espindola// CHECK-NEXT: (('r_offset', 139edab3a9e15c40c1c9bf70df81c6afdab1cd02c2Rafael Espindola// CHECK-NEXT: ('r_sym', 14f7d5278fb32b84b6218a222346202ab3af17057cJason W Kim// CHECK-NEXT: ('r_type', 0x00000004) 15aa85c216334a6adac7e0a154d357b370629dc1bcRafael Espindola// CHECK-NEXT: ), 16f7d5278fb32b84b6218a222346202ab3af17057cJason W Kim// CHECK-NEXT: # Relocation 0x00000002 17aa85c216334a6adac7e0a154d357b370629dc1bcRafael Espindola// CHECK-NEXT: (('r_offset', 18aa85c216334a6adac7e0a154d357b370629dc1bcRafael Espindola// CHECK-NEXT: ('r_sym', 19f7d5278fb32b84b6218a222346202ab3af17057cJason W Kim// CHECK-NEXT: ('r_type', 0x0000000a) 20aa85c216334a6adac7e0a154d357b370629dc1bcRafael Espindola// CHECK-NEXT: ), 21c97f80efc80030c7544a9903c79d2dccd197a0ffRafael Espindola 221683fcc82397681a64a35884edc9c62c49f2f179Rafael Espindola// Relocation 3 (bar3@GOTOFF) is done with symbol 7 (bss) 23f7d5278fb32b84b6218a222346202ab3af17057cJason W Kim// CHECK-NEXT: # Relocation 0x00000003 24ce2d3c57758619e99a99104e1168a9558658fab0Rafael Espindola// CHECK-NEXT: (('r_offset', 251683fcc82397681a64a35884edc9c62c49f2f179Rafael Espindola// CHECK-NEXT: ('r_sym', 0x00000007 26ce2d3c57758619e99a99104e1168a9558658fab0Rafael Espindola// CHECK-NEXT: ('r_type', 27ce2d3c57758619e99a99104e1168a9558658fab0Rafael Espindola// CHECK-NEXT: ), 28ce2d3c57758619e99a99104e1168a9558658fab0Rafael Espindola 29eada30479399014c22c7b7edb008177c312eefeeRafael Espindola// Relocation 4 (bar2@GOT) is of type R_386_GOT32 30f7d5278fb32b84b6218a222346202ab3af17057cJason W Kim// CHECK-NEXT: # Relocation 0x00000004 31eada30479399014c22c7b7edb008177c312eefeeRafael Espindola// CHECK-NEXT: (('r_offset', 32eada30479399014c22c7b7edb008177c312eefeeRafael Espindola// CHECK-NEXT: ('r_sym', 33f7d5278fb32b84b6218a222346202ab3af17057cJason W Kim// CHECK-NEXT: ('r_type', 0x00000003 34eada30479399014c22c7b7edb008177c312eefeeRafael Espindola// CHECK-NEXT: ), 35eada30479399014c22c7b7edb008177c312eefeeRafael Espindola 363cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola// Relocation 5 (foo@TLSGD) is of type R_386_TLS_GD 373cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola// CHECK-NEXT: # Relocation 0x00000005 383cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola// CHECK-NEXT: (('r_offset', 0x00000020) 391683fcc82397681a64a35884edc9c62c49f2f179Rafael Espindola// CHECK-NEXT: ('r_sym', 0x0000000d) 403cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola// CHECK-NEXT: ('r_type', 0x00000012) 413cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola// CHECK-NEXT: ), 423cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola 433cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola// Relocation 6 ($foo@TPOFF) is of type R_386_TLS_LE_32 443cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola// CHECK-NEXT: # Relocation 0x00000006 453cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola// CHECK-NEXT: (('r_offset', 0x00000025) 461683fcc82397681a64a35884edc9c62c49f2f179Rafael Espindola// CHECK-NEXT: ('r_sym', 0x0000000d) 473cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola// CHECK-NEXT: ('r_type', 0x00000022) 483cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola// CHECK-NEXT: ), 493cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola 503cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola// Relocation 7 (foo@INDNTPOFF) is of type R_386_TLS_IE 513cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola// CHECK-NEXT: # Relocation 0x00000007 523cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola// CHECK-NEXT: (('r_offset', 0x0000002b) 531683fcc82397681a64a35884edc9c62c49f2f179Rafael Espindola// CHECK-NEXT: ('r_sym', 0x0000000d) 543cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola// CHECK-NEXT: ('r_type', 0x0000000f) 553cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola// CHECK-NEXT: ), 563cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola 573cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola// Relocation 8 (foo@NTPOFF) is of type R_386_TLS_LE 583cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola// CHECK-NEXT: # Relocation 0x00000008 593cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola// CHECK-NEXT: (('r_offset', 0x00000031) 601683fcc82397681a64a35884edc9c62c49f2f179Rafael Espindola// CHECK-NEXT: ('r_sym', 0x0000000d) 613cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola// CHECK-NEXT: ('r_type', 0x00000011) 62a0a2f8734cdfc19d44201b791a969bcdda96bb70Rafael Espindola// CHECK-NEXT: ), 63a0a2f8734cdfc19d44201b791a969bcdda96bb70Rafael Espindola 64a0a2f8734cdfc19d44201b791a969bcdda96bb70Rafael Espindola// Relocation 9 (foo@GOTNTPOFF) is of type R_386_TLS_GOTIE 65a0a2f8734cdfc19d44201b791a969bcdda96bb70Rafael Espindola// CHECK-NEXT: # Relocation 0x00000009 66a0a2f8734cdfc19d44201b791a969bcdda96bb70Rafael Espindola// CHECK-NEXT: (('r_offset', 0x00000037) 671683fcc82397681a64a35884edc9c62c49f2f179Rafael Espindola// CHECK-NEXT: ('r_sym', 0x0000000d) 68a0a2f8734cdfc19d44201b791a969bcdda96bb70Rafael Espindola// CHECK-NEXT: ('r_type', 0x00000010) 69a0a2f8734cdfc19d44201b791a969bcdda96bb70Rafael Espindola// CHECK-NEXT: ), 703cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola 71a264f72d3fb9dec1427480fcf17ef3c746ea723aRafael Espindola// Relocation 10 (foo@TLSLDM) is of type R_386_TLS_LDM 72a264f72d3fb9dec1427480fcf17ef3c746ea723aRafael Espindola// CHECK-NEXT: # Relocation 0x0000000a 73a264f72d3fb9dec1427480fcf17ef3c746ea723aRafael Espindola// CHECK-NEXT: (('r_offset', 0x0000003d) 741683fcc82397681a64a35884edc9c62c49f2f179Rafael Espindola// CHECK-NEXT: ('r_sym', 0x0000000d) 75a264f72d3fb9dec1427480fcf17ef3c746ea723aRafael Espindola// CHECK-NEXT: ('r_type', 0x00000013) 76a264f72d3fb9dec1427480fcf17ef3c746ea723aRafael Espindola// CHECK-NEXT: ), 770cf15d61b7e3bf53f5a99f58ada37b93bc039559Rafael Espindola 780cf15d61b7e3bf53f5a99f58ada37b93bc039559Rafael Espindola// Relocation 11 (foo@DTPOFF) is of type R_386_TLS_LDO_32 790cf15d61b7e3bf53f5a99f58ada37b93bc039559Rafael Espindola// CHECK-NEXT: # Relocation 0x0000000b 800cf15d61b7e3bf53f5a99f58ada37b93bc039559Rafael Espindola// CHECK-NEXT: (('r_offset', 0x00000043) 811683fcc82397681a64a35884edc9c62c49f2f179Rafael Espindola// CHECK-NEXT: ('r_sym', 0x0000000d) 820cf15d61b7e3bf53f5a99f58ada37b93bc039559Rafael Espindola// CHECK-NEXT: ('r_type', 0x00000020) 830cf15d61b7e3bf53f5a99f58ada37b93bc039559Rafael Espindola// CHECK-NEXT: ), 8412203cc7c3f7392d62556946a10b2f10205ea63dRafael Espindola// Relocation 12 (calll 4096) is of type R_386_PC32 8512203cc7c3f7392d62556946a10b2f10205ea63dRafael Espindola// CHECK-NEXT: # Relocation 0x0000000c 8612203cc7c3f7392d62556946a10b2f10205ea63dRafael Espindola// CHECK-NEXT: (('r_offset', 0x00000048) 8712203cc7c3f7392d62556946a10b2f10205ea63dRafael Espindola// CHECK-NEXT: ('r_sym', 0x00000000) 8812203cc7c3f7392d62556946a10b2f10205ea63dRafael Espindola// CHECK-NEXT: ('r_type', 0x00000002) 8912203cc7c3f7392d62556946a10b2f10205ea63dRafael Espindola// CHECK-NEXT: ), 9025958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// Relocation 13 (zed@GOT) is of type R_386_GOT32 and uses the symbol 911683fcc82397681a64a35884edc9c62c49f2f179Rafael Espindola// CHECK-NEXT: # Relocation 0x0000000d 921683fcc82397681a64a35884edc9c62c49f2f179Rafael Espindola// CHECK-NEXT: (('r_offset', 0x0000004e) 931683fcc82397681a64a35884edc9c62c49f2f179Rafael Espindola// CHECK-NEXT: ('r_sym', 0x00000004) 9425958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ('r_type', 0x00000003) 9525958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ), 9625958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// Relocation 14 (zed@GOTOFF) is of type R_386_GOTOFF and uses the symbol 9725958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: # Relocation 0x0000000e 9825958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: (('r_offset', 0x00000054) 9925958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ('r_sym', 0x00000004) 10025958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ('r_type', 0x00000009) 10125958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ), 10225958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// Relocation 15 (zed@INDNTPOFF) is of type R_386_TLS_IE and uses the symbol 10325958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: # Relocation 0x0000000f 10425958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: (('r_offset', 0x0000005a) 10525958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ('r_sym', 0x00000004) 10625958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ('r_type', 0x0000000f) 10725958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ), 10825958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// Relocation 16 (zed@NTPOFF) is of type R_386_TLS_LE and uses the symbol 10925958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: # Relocation 0x00000010 11025958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: (('r_offset', 0x00000060) 11125958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ('r_sym', 0x00000004) 1121683fcc82397681a64a35884edc9c62c49f2f179Rafael Espindola// CHECK-NEXT: ('r_type', 0x00000011) 1131683fcc82397681a64a35884edc9c62c49f2f179Rafael Espindola// CHECK-NEXT: ), 11425958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// Relocation 17 (zed@GOTNTPOFF) is of type R_386_TLS_GOTIE and uses the symbol 11525958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: # Relocation 0x00000011 11625958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: (('r_offset', 0x00000066) 11725958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ('r_sym', 0x00000004) 11825958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ('r_type', 0x00000010) 11925958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ), 12025958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// Relocation 18 (zed@PLT) is of type R_386_PLT32 and uses the symbol 12125958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: # Relocation 0x00000012 12225958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: (('r_offset', 0x0000006b) 12325958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ('r_sym', 0x00000004) 12425958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ('r_type', 0x00000004) 12525958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ), 12625958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// Relocation 19 (zed@TLSGD) is of type R_386_TLS_GD and uses the symbol 12725958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: # Relocation 0x00000013 12825958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: (('r_offset', 0x00000071) 12925958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ('r_sym', 0x00000004) 13025958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ('r_type', 0x00000012) 13125958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ), 13225958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// Relocation 20 (zed@TLSLDM) is of type R_386_TLS_LDM and uses the symbol 13325958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: # Relocation 0x00000014 13425958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: (('r_offset', 0x00000077) 13525958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ('r_sym', 0x00000004) 13625958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ('r_type', 0x00000013) 13725958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ), 13825958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// Relocation 21 (zed@TPOFF) is of type R_386_TLS_LE_32 and uses the symbol 13925958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT:# Relocation 0x00000015 14025958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: (('r_offset', 0x0000007d) 14125958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ('r_sym', 0x00000004) 14225958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ('r_type', 0x00000022) 14325958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ), 14425958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// Relocation 22 (zed@DTPOFF) is of type R_386_TLS_LDO_32 and uses the symbol 14525958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: Relocation 0x00000016 14625958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: (('r_offset', 0x00000083) 14725958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ('r_sym', 0x00000004) 14825958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ('r_type', 0x00000020) 14925958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola// CHECK-NEXT: ), 150a5ff979c114a658c69fddd065d702a13c40f6ae1Rafael Espindola// Relocation 23 ($bar) is of type R_386_32 and uses the section 151a5ff979c114a658c69fddd065d702a13c40f6ae1Rafael Espindola// CHECK-NEXT: Relocation 0x00000017 152a5ff979c114a658c69fddd065d702a13c40f6ae1Rafael Espindola// CHECK-NEXT: (('r_offset', 153a5ff979c114a658c69fddd065d702a13c40f6ae1Rafael Espindola// CHECK-NEXT: ('r_sym', 154a5ff979c114a658c69fddd065d702a13c40f6ae1Rafael Espindola// CHECK-NEXT: ('r_type', 0x00000001) 155a5ff979c114a658c69fddd065d702a13c40f6ae1Rafael Espindola// CHECK-NEXT: ), 1560cf15d61b7e3bf53f5a99f58ada37b93bc039559Rafael Espindola 1577c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// Section 4 is bss 1587c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// CHECK: # Section 0x00000004 1597c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// CHECK-NEXT: (('sh_name', 0x0000000d) # '.bss' 1607c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola 1617c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// CHECK: # Symbol 0x00000001 1627c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// CHECK-NEXT: (('st_name', 0x00000005) # '.Lfoo' 1637c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola 1647c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// Symbol 4 is zed 1657c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// CHECK: # Symbol 0x00000004 1667c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// CHECK-NEXT: (('st_name', 0x00000035) # 'zed' 1677c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// CHECK-NEXT: ('st_value', 0x00000000) 1687c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// CHECK-NEXT: ('st_size', 0x00000000) 1697c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// CHECK-NEXT: ('st_bind', 0x00000000) 1707c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// CHECK-NEXT: ('st_type', 0x00000006) 1717c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// CHECK-NEXT: ('st_other', 0x00000000) 1727c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// CHECK-NEXT: ('st_shndx', 0x00000005) 1737c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola 1747c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// Symbol 7 is section 4 1757c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// CHECK: # Symbol 0x00000007 1767c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// CHECK-NEXT: (('st_name', 0x00000000) # '' 1777c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// CHECK-NEXT: ('st_value', 0x00000000) 1787c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// CHECK-NEXT: ('st_size', 0x00000000) 1797c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// CHECK-NEXT: ('st_bind', 0x00000000) 1807c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// CHECK-NEXT: ('st_type', 0x00000003) 1817c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// CHECK-NEXT: ('st_other', 0x00000000) 1827c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola// CHECK-NEXT: ('st_shndx', 0x00000004) 1837c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola 1847c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9Rafael Espindola 185c97f80efc80030c7544a9903c79d2dccd197a0ffRafael Espindola .text 186c97f80efc80030c7544a9903c79d2dccd197a0ffRafael Espindolabar: 187c97f80efc80030c7544a9903c79d2dccd197a0ffRafael Espindola leal .Lfoo@GOTOFF(%ebx), %eax 1889edab3a9e15c40c1c9bf70df81c6afdab1cd02c2Rafael Espindola 1899edab3a9e15c40c1c9bf70df81c6afdab1cd02c2Rafael Espindola .global bar2 1909edab3a9e15c40c1c9bf70df81c6afdab1cd02c2Rafael Espindolabar2: 1919edab3a9e15c40c1c9bf70df81c6afdab1cd02c2Rafael Espindola calll bar2@PLT 192aa85c216334a6adac7e0a154d357b370629dc1bcRafael Espindola addl $_GLOBAL_OFFSET_TABLE_, %ebx 193ce2d3c57758619e99a99104e1168a9558658fab0Rafael Espindola movb bar3@GOTOFF(%ebx), %al 194ce2d3c57758619e99a99104e1168a9558658fab0Rafael Espindola 195ce2d3c57758619e99a99104e1168a9558658fab0Rafael Espindola .type bar3,@object 196ce2d3c57758619e99a99104e1168a9558658fab0Rafael Espindola .local bar3 197ce2d3c57758619e99a99104e1168a9558658fab0Rafael Espindola .comm bar3,1,1 1989edab3a9e15c40c1c9bf70df81c6afdab1cd02c2Rafael Espindola 199eada30479399014c22c7b7edb008177c312eefeeRafael Espindola movl bar2j@GOT(%eax), %eax 200eada30479399014c22c7b7edb008177c312eefeeRafael Espindola 2013cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola leal foo@TLSGD(, %ebx,1), %eax 2023cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola movl $foo@TPOFF, %edx 2033cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola movl foo@INDNTPOFF, %ecx 2043cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola addl foo@NTPOFF(%eax), %eax 205a0a2f8734cdfc19d44201b791a969bcdda96bb70Rafael Espindola addl foo@GOTNTPOFF(%ebx), %ecx 206a264f72d3fb9dec1427480fcf17ef3c746ea723aRafael Espindola leal foo@TLSLDM(%ebx), %eax 2070cf15d61b7e3bf53f5a99f58ada37b93bc039559Rafael Espindola leal foo@DTPOFF(%eax), %edx 20812203cc7c3f7392d62556946a10b2f10205ea63dRafael Espindola calll 4096 20925958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola movl zed@GOT(%eax), %eax 21025958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola movl zed@GOTOFF(%eax), %eax 21125958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola movl zed@INDNTPOFF(%eax), %eax 2121683fcc82397681a64a35884edc9c62c49f2f179Rafael Espindola movl zed@NTPOFF(%eax), %eax 21325958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola movl zed@GOTNTPOFF(%eax), %eax 21425958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola call zed@PLT 21525958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola movl zed@TLSGD(%eax), %eax 21625958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola movl zed@TLSLDM(%eax), %eax 21725958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola movl zed@TPOFF(%eax), %eax 21825958730dffe0a16f9c251a1fa317799b8419a1fRafael Espindola movl zed@DTPOFF(%eax), %eax 219a5ff979c114a658c69fddd065d702a13c40f6ae1Rafael Espindola pushl $bar 2201683fcc82397681a64a35884edc9c62c49f2f179Rafael Espindola 2211683fcc82397681a64a35884edc9c62c49f2f179Rafael Espindola .section zedsec,"awT",@progbits 2221683fcc82397681a64a35884edc9c62c49f2f179Rafael Espindolazed: 2231683fcc82397681a64a35884edc9c62c49f2f179Rafael Espindola .long 0 2243cede2d0b2b6cc0a06f55da7c2f8e4263ec0091eRafael Espindola 2259edab3a9e15c40c1c9bf70df81c6afdab1cd02c2Rafael Espindola .section .rodata.str1.16,"aMS",@progbits,1 226c97f80efc80030c7544a9903c79d2dccd197a0ffRafael Espindola.Lfoo: 227c97f80efc80030c7544a9903c79d2dccd197a0ffRafael Espindola .asciz "bool llvm::llvm_start_multithreaded()" 228