aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-i386/tlsbin.dd
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2002-09-19 19:01:18 +0000
committerJakub Jelinek <jakub@redhat.com>2002-09-19 19:01:18 +0000
commit37e55690c4f22ba8d0a24fb9a3ccbb1515e49790 (patch)
tree9402d50f3d4ef21d38bd384f6e3fb92636523b3e /ld/testsuite/ld-i386/tlsbin.dd
parente21b0cc13f51883a0dd05ec2ecfd0eedf0e59039 (diff)
downloadgdb-37e55690c4f22ba8d0a24fb9a3ccbb1515e49790.zip
gdb-37e55690c4f22ba8d0a24fb9a3ccbb1515e49790.tar.gz
gdb-37e55690c4f22ba8d0a24fb9a3ccbb1515e49790.tar.bz2
bfd/
* reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE, BFD_RELOC_386_TLS_GOTIE): Add. * bfd-in2.h, libbfd.h: Rebuilt. * elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE and R_386_TLS_GOTIE. (elf_i386_reloc_type_lookup): Handle it. (struct elf_i386_link_hash_entry): Change tls_type type to unsigned char instead of enum, change GOT_* into defines. (GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define. (elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE. (elf_i386_check_relocs): Likewise. Avoid crash if local symbol is accessed both as normal and TLS symbol. Move R_386_TLS_LDM and R_386_PLT32 cases so that R_386_TLS_IE can fall through. Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs. (elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE. Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs. (allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if tls_type is GOT_TLS_IE_BOTH. (elf_i386_size_dynamic_sections): Likewise. (elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE. Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs. (elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch all 4 GOT_TLS_* TLS types. gas/ * config/tc-i386.c (tc_i386_fix_adjustable): Handle BFD_RELOC_386_TLS_IE and BFD_RELOC_386_TLS_GOTIE. (BFD_RELOC_386_TLS_IE, BFD_RELOC_386_TLS_GOTIE): Define to 0 if not defined. (lex_got): Handle @GOTNTPOFF and @INDNTPOFF. (md_apply_fix3, tc_gen_reloc): Handle BFD_RELOC_386_TLS_IE and BFD_RELOC_386_TLS_GOTIE. gas/testsuite/ * gas/i386/tlspic.s: Add tests. * gas/i386/tlspic.d: Regenerated. * gas/i386/tlsnopic.s: Add tests. * gas/i386/tlsnopic.d: Regenerated. include/ * elf/i386.h (R_386_TLS_TPOFF, R_386_TLS_IE, R_386_TLS_GOTIE): Define. ld/testsuite/ * ld-i386/i386.exp: New. * ld-i386/tlsbin.dd: New test. * ld-i386/tlsbinpic.s: New test. * ld-i386/tlsbin.rd: New test. * ld-i386/tlsbin.s: New test. * ld-i386/tlsbin.sd: New test. * ld-i386/tlsbin.td: New test. * ld-i386/tlslib.s: New test. * ld-i386/tlsnopic1.s: New test. * ld-i386/tlsnopic2.s: New test. * ld-i386/tlsnopic.dd: New test. * ld-i386/tlsnopic.rd: New test. * ld-i386/tlsnopic.sd: New test. * ld-i386/tlspic1.s: New test. * ld-i386/tlspic2.s: New test. * ld-i386/tlspic.dd: New test. * ld-i386/tlspic.rd: New test. * ld-i386/tlspic.sd: New test. * ld-i386/tlspic.td: New test.
Diffstat (limited to 'ld/testsuite/ld-i386/tlsbin.dd')
-rw-r--r--ld/testsuite/ld-i386/tlsbin.dd456
1 files changed, 456 insertions, 0 deletions
diff --git a/ld/testsuite/ld-i386/tlsbin.dd b/ld/testsuite/ld-i386/tlsbin.dd
new file mode 100644
index 0000000..9ad0cc3
--- /dev/null
+++ b/ld/testsuite/ld-i386/tlsbin.dd
@@ -0,0 +1,456 @@
+#source: tlsbinpic.s
+#source: tlsbin.s
+#as: --32
+#ld: -melf_i386 tmpdir/libtlslib.so
+#objdump: -drj.text
+#target: i?86-*-*
+
+# PT_TLS layout is:
+# Offset from Offset from Name
+# TCB base TCB end
+# 0x00 -0xa0 sg1..sg8
+# 0x20 -0x80 sl1..sl8
+# 0x40 -0x60 sh1..sh8
+# 0x60 -0x40 bg1..bg8
+# 0x80 -0x20 bl1..bl8
+
+.*: +file format elf32-i386
+
+Disassembly of section .text:
+
+0+8049000 <fn2>:
+ 8049000: 55[ ]+push %ebp
+ 8049001: 89 e5[ ]+mov %esp,%ebp
+ 8049003: 53[ ]+push %ebx
+ 8049004: 50[ ]+push %eax
+ 8049005: e8 00 00 00 00[ ]+call 804900a <fn2\+0xa>
+ 804900a: 5b[ ]+pop %ebx
+ 804900b: 81 c3 f6 10 00 00[ ]+add \$0x10f6,%ebx
+ 8049011: 90[ ]+nop *
+ 8049012: 90[ ]+nop *
+ 8049013: 90[ ]+nop *
+ 8049014: 90[ ]+nop *
+# GD -> IE because variable is not defined in executable
+ 8049015: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
+ 804901b: 2b 83 2c 00 00 00[ ]+sub 0x2c\(%ebx\),%eax
+# ->R_386_TLS_TPOFF32 sG1
+ 8049021: 90[ ]+nop *
+ 8049022: 90[ ]+nop *
+ 8049023: 90[ ]+nop *
+ 8049024: 90[ ]+nop *
+# GD -> IE because variable is not defined in executable where
+# the variable is referenced through @gottpoff too
+ 8049025: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
+ 804902b: 2b 83 1c 00 00 00[ ]+sub 0x1c\(%ebx\),%eax
+# ->R_386_TLS_TPOFF32 sG2
+ 8049031: 90[ ]+nop *
+ 8049032: 90[ ]+nop *
+ 8049033: 90[ ]+nop *
+ 8049034: 90[ ]+nop *
+# GD -> IE because variable is not defined in executable where
+# the variable is referenced through @gotntpoff too
+ 8049035: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
+ 804903b: 2b 83 10 00 00 00[ ]+sub 0x10\(%ebx\),%eax
+# ->R_386_TLS_TPOFF sG3
+ 8049041: 90[ ]+nop *
+ 8049042: 90[ ]+nop *
+ 8049043: 90[ ]+nop *
+ 8049044: 90[ ]+nop *
+# GD -> IE because variable is not defined in executable where
+# the variable is referenced through @gottpoff and @gotntpoff too
+ 8049045: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
+ 804904b: 2b 83 20 00 00 00[ ]+sub 0x20\(%ebx\),%eax
+# ->R_386_TLS_TPOFF32 sG4
+ 8049051: 90[ ]+nop *
+ 8049052: 90[ ]+nop *
+ 8049053: 90[ ]+nop *
+ 8049054: 90[ ]+nop *
+# GD -> LE with global variable defined in executable
+ 8049055: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
+ 804905b: 81 e8 a0 00 00 00[ ]+sub \$0xa0,%eax
+# sg1
+ 8049061: 90[ ]+nop *
+ 8049062: 90[ ]+nop *
+ 8049063: 90[ ]+nop *
+ 8049064: 90[ ]+nop *
+# GD -> LE with local variable defined in executable
+ 8049065: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
+ 804906b: 81 e8 80 00 00 00[ ]+sub \$0x80,%eax
+# sl1
+ 8049071: 90[ ]+nop *
+ 8049072: 90[ ]+nop *
+ 8049073: 90[ ]+nop *
+ 8049074: 90[ ]+nop *
+# GD -> LE with hidden variable defined in executable
+ 8049075: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
+ 804907b: 81 e8 60 00 00 00[ ]+sub \$0x60,%eax
+# sh1
+ 8049081: 90[ ]+nop *
+ 8049082: 90[ ]+nop *
+ 8049083: 90[ ]+nop *
+ 8049084: 90[ ]+nop *
+# LD
+ 8049085: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
+ 804908b: 90[ ]+nop *
+ 804908c: 8d 74 26 00[ ]+lea 0x0\(%esi,1\),%esi
+ 8049090: 90[ ]+nop *
+ 8049091: 90[ ]+nop *
+ 8049092: 8d 90 80 ff ff ff[ ]+lea 0xffffff80\(%eax\),%edx
+# sl1
+ 8049098: 90[ ]+nop *
+ 8049099: 90[ ]+nop *
+ 804909a: 8d 88 84 ff ff ff[ ]+lea 0xffffff84\(%eax\),%ecx
+# sl2
+ 80490a0: 90[ ]+nop *
+ 80490a1: 90[ ]+nop *
+ 80490a2: 90[ ]+nop *
+ 80490a3: 90[ ]+nop *
+# LD against hidden variables
+ 80490a4: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
+ 80490aa: 90[ ]+nop *
+ 80490ab: 8d 74 26 00[ ]+lea 0x0\(%esi,1\),%esi
+ 80490af: 90[ ]+nop *
+ 80490b0: 90[ ]+nop *
+ 80490b1: 8d 90 a0 ff ff ff[ ]+lea 0xffffffa0\(%eax\),%edx
+# sh1
+ 80490b7: 90[ ]+nop *
+ 80490b8: 90[ ]+nop *
+ 80490b9: 8d 88 a4 ff ff ff[ ]+lea 0xffffffa4\(%eax\),%ecx
+# sh2
+ 80490bf: 90[ ]+nop *
+ 80490c0: 90[ ]+nop *
+ 80490c1: 90[ ]+nop *
+ 80490c2: 90[ ]+nop *
+# @gottpoff IE against global var
+ 80490c3: 65 8b 0d 00 00 00 00 mov %gs:0x0,%ecx
+ 80490ca: 90[ ]+nop *
+ 80490cb: 90[ ]+nop *
+ 80490cc: 2b 8b 1c 00 00 00[ ]+sub 0x1c\(%ebx\),%ecx
+# ->R_386_TLS_TPOFF32 sG2
+ 80490d2: 90[ ]+nop *
+ 80490d3: 90[ ]+nop *
+ 80490d4: 90[ ]+nop *
+ 80490d5: 90[ ]+nop *
+# @gottpoff IE against global var
+ 80490d6: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
+ 80490dc: 90[ ]+nop *
+ 80490dd: 90[ ]+nop *
+ 80490de: 2b 83 20 00 00 00[ ]+sub 0x20\(%ebx\),%eax
+# ->R_386_TLS_TPOFF32 sG4
+ 80490e4: 90[ ]+nop *
+ 80490e5: 90[ ]+nop *
+ 80490e6: 90[ ]+nop *
+ 80490e7: 90[ ]+nop *
+# @gotntpoff IE against global var
+ 80490e8: 65 8b 0d 00 00 00 00 mov %gs:0x0,%ecx
+ 80490ef: 90[ ]+nop *
+ 80490f0: 90[ ]+nop *
+ 80490f1: 03 8b 10 00 00 00[ ]+add 0x10\(%ebx\),%ecx
+# ->R_386_TLS_TPOFF sG3
+ 80490f7: 90[ ]+nop *
+ 80490f8: 90[ ]+nop *
+ 80490f9: 90[ ]+nop *
+ 80490fa: 90[ ]+nop *
+# @gotntpoff IE against global var
+ 80490fb: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
+ 8049101: 90[ ]+nop *
+ 8049102: 90[ ]+nop *
+ 8049103: 03 83 24 00 00 00[ ]+add 0x24\(%ebx\),%eax
+# ->R_386_TLS_TPOFF sG4
+ 8049109: 90[ ]+nop *
+ 804910a: 90[ ]+nop *
+ 804910b: 90[ ]+nop *
+ 804910c: 90[ ]+nop *
+# @gottpoff IE -> LE against global var defined in exec
+ 804910d: 65 8b 0d 00 00 00 00 mov %gs:0x0,%ecx
+ 8049114: 90[ ]+nop *
+ 8049115: 90[ ]+nop *
+ 8049116: 81 e9 a0 00 00 00[ ]+sub \$0xa0,%ecx
+# sg1
+ 804911c: 90[ ]+nop *
+ 804911d: 90[ ]+nop *
+ 804911e: 90[ ]+nop *
+ 804911f: 90[ ]+nop *
+# @gotntpoff IE -> LE against local var
+ 8049120: 65 8b 0d 00 00 00 00 mov %gs:0x0,%ecx
+ 8049127: 90[ ]+nop *
+ 8049128: 90[ ]+nop *
+ 8049129: 81 c0 80 ff ff ff[ ]+add \$0xffffff80,%eax
+# sl1
+ 804912f: 90[ ]+nop *
+ 8049130: 90[ ]+nop *
+ 8049131: 90[ ]+nop *
+ 8049132: 90[ ]+nop *
+# @gottpoff IE -> LE against hidden var
+ 8049133: 65 8b 0d 00 00 00 00 mov %gs:0x0,%ecx
+ 804913a: 90[ ]+nop *
+ 804913b: 90[ ]+nop *
+ 804913c: 81 e9 60 00 00 00[ ]+sub \$0x60,%ecx
+# sh1
+ 8049142: 90[ ]+nop *
+ 8049143: 90[ ]+nop *
+ 8049144: 90[ ]+nop *
+ 8049145: 90[ ]+nop *
+# Direct access through %gs
+# @gotntpoff IE against global var
+ 8049146: 8b 8b 14 00 00 00[ ]+mov 0x14\(%ebx\),%ecx
+# ->R_386_TLS_TPOFF sG5
+ 804914c: 90[ ]+nop *
+ 804914d: 90[ ]+nop *
+ 804914e: 65 8b 11[ ]+mov %gs:\(%ecx\),%edx
+ 8049151: 90[ ]+nop *
+ 8049152: 90[ ]+nop *
+ 8049153: 90[ ]+nop *
+ 8049154: 90[ ]+nop *
+# @gotntpoff IE->LE against local var
+ 8049155: c7 c0 90 ff ff ff[ ]+mov \$0xffffff90,%eax
+# sl5
+ 804915b: 90[ ]+nop *
+ 804915c: 90[ ]+nop *
+ 804915d: 65 8b 10[ ]+mov %gs:\(%eax\),%edx
+ 8049160: 90[ ]+nop *
+ 8049161: 90[ ]+nop *
+ 8049162: 90[ ]+nop *
+ 8049163: 90[ ]+nop *
+# @gotntpoff IE->LE against hidden var
+ 8049164: c7 c2 b0 ff ff ff[ ]+mov \$0xffffffb0,%edx
+# sh5
+ 804916a: 90[ ]+nop *
+ 804916b: 90[ ]+nop *
+ 804916c: 65 8b 12[ ]+mov %gs:\(%edx\),%edx
+ 804916f: 90[ ]+nop *
+ 8049170: 90[ ]+nop *
+ 8049171: 90[ ]+nop *
+ 8049172: 90[ ]+nop *
+ 8049173: 8b 5d fc[ ]+mov 0xfffffffc\(%ebp\),%ebx
+ 8049176: c9[ ]+leave *
+ 8049177: c3[ ]+ret *
+
+08049178 <_start>:
+ 8049178: 55[ ]+push %ebp
+ 8049179: 89 e5[ ]+mov %esp,%ebp
+ 804917b: e8 00 00 00 00[ ]+call 8049180 <_start\+0x8>
+ 8049180: 59[ ]+pop %ecx
+ 8049181: 81 c1 80 0f 00 00[ ]+add \$0xf80,%ecx
+ 8049187: 90[ ]+nop *
+ 8049188: 90[ ]+nop *
+ 8049189: 90[ ]+nop *
+ 804918a: 90[ ]+nop *
+# @gottpoff IE against global var
+ 804918b: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx
+ 8049192: 90[ ]+nop *
+ 8049193: 90[ ]+nop *
+ 8049194: 2b 91 28 00 00 00[ ]+sub 0x28\(%ecx\),%edx
+# ->R_386_TLS_TPOFF32 sG6
+ 804919a: 90[ ]+nop *
+ 804919b: 90[ ]+nop *
+ 804919c: 90[ ]+nop *
+ 804919d: 90[ ]+nop *
+# @indntpoff IE against global var
+ 804919e: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
+ 80491a4: 90[ ]+nop *
+ 80491a5: 90[ ]+nop *
+ 80491a6: 03 05 18 a1 04 08[ ]+add 0x804a118,%eax
+# ->R_386_TLS_TPOFF sG7
+ 80491ac: 90[ ]+nop *
+ 80491ad: 90[ ]+nop *
+ 80491ae: 90[ ]+nop *
+ 80491af: 90[ ]+nop *
+# @indntpoff direct %gs access IE against global var
+ 80491b0: 8b 15 30 a1 04 08[ ]+mov 0x804a130,%edx
+# ->R_386_TLS_TPOFF sG8
+ 80491b6: 90[ ]+nop *
+ 80491b7: 90[ ]+nop *
+ 80491b8: 65 8b 02[ ]+mov %gs:\(%edx\),%eax
+ 80491bb: 90[ ]+nop *
+ 80491bc: 90[ ]+nop *
+ 80491bd: 90[ ]+nop *
+ 80491be: 90[ ]+nop *
+# @gottpoff IE -> LE against global var defined in exec
+ 80491bf: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx
+ 80491c6: 90[ ]+nop *
+ 80491c7: 90[ ]+nop *
+ 80491c8: 81 ea 2c 00 00 00[ ]+sub \$0x2c,%edx
+# bg6
+ 80491ce: 90[ ]+nop *
+ 80491cf: 90[ ]+nop *
+ 80491d0: 90[ ]+nop *
+ 80491d1: 90[ ]+nop *
+# @indntpoff IE -> LE against global var defined in exec
+ 80491d2: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
+ 80491d8: 90[ ]+nop *
+ 80491d9: 90[ ]+nop *
+ 80491da: 81 c0 d8 ff ff ff[ ]+add \$0xffffffd8,%eax
+# bg7
+ 80491e0: 90[ ]+nop *
+ 80491e1: 90[ ]+nop *
+ 80491e2: 90[ ]+nop *
+ 80491e3: 90[ ]+nop *
+# @indntpoff direct %gs access IE -> LE against global var defined
+# in exec
+ 80491e4: c7 c2 dc ff ff ff[ ]+mov \$0xffffffdc,%edx
+# bg8
+ 80491ea: 90[ ]+nop *
+ 80491eb: 90[ ]+nop *
+ 80491ec: 65 8b 02[ ]+mov %gs:\(%edx\),%eax
+ 80491ef: 90[ ]+nop *
+ 80491f0: 90[ ]+nop *
+ 80491f1: 90[ ]+nop *
+ 80491f2: 90[ ]+nop *
+# @gottpoff IE -> LE against local var
+ 80491f3: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx
+ 80491fa: 90[ ]+nop *
+ 80491fb: 90[ ]+nop *
+ 80491fc: 81 ea 0c 00 00 00[ ]+sub \$0xc,%edx
+# bl6
+ 8049202: 90[ ]+nop *
+ 8049203: 90[ ]+nop *
+ 8049204: 90[ ]+nop *
+ 8049205: 90[ ]+nop *
+# @indntpoff IE -> LE against local var
+ 8049206: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
+ 804920c: 90[ ]+nop *
+ 804920d: 90[ ]+nop *
+ 804920e: 81 c0 f8 ff ff ff[ ]+add \$0xfffffff8,%eax
+# bl7
+ 8049214: 90[ ]+nop *
+ 8049215: 90[ ]+nop *
+ 8049216: 90[ ]+nop *
+ 8049217: 90[ ]+nop *
+# @indntpoff direct %gs access IE -> LE against local var
+ 8049218: c7 c2 fc ff ff ff[ ]+mov \$0xfffffffc,%edx
+# bl8
+ 804921e: 90[ ]+nop *
+ 804921f: 90[ ]+nop *
+ 8049220: 65 8b 02[ ]+mov %gs:\(%edx\),%eax
+ 8049223: 90[ ]+nop *
+ 8049224: 90[ ]+nop *
+ 8049225: 90[ ]+nop *
+ 8049226: 90[ ]+nop *
+# @gottpoff IE -> LE against hidden but not local var
+ 8049227: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx
+ 804922e: 90[ ]+nop *
+ 804922f: 90[ ]+nop *
+ 8049230: 81 ea 4c 00 00 00[ ]+sub \$0x4c,%edx
+# sh6
+ 8049236: 90[ ]+nop *
+ 8049237: 90[ ]+nop *
+ 8049238: 90[ ]+nop *
+ 8049239: 90[ ]+nop *
+# @indntpoff IE -> LE against hidden but not local var
+ 804923a: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
+ 8049240: 90[ ]+nop *
+ 8049241: 90[ ]+nop *
+ 8049242: 81 c0 b8 ff ff ff[ ]+add \$0xffffffb8,%eax
+# sh7
+ 8049248: 90[ ]+nop *
+ 8049249: 90[ ]+nop *
+ 804924a: 90[ ]+nop *
+ 804924b: 90[ ]+nop *
+# @indntpoff direct %gs access IE -> LE against hidden but not
+# local var
+ 804924c: c7 c2 bc ff ff ff[ ]+mov \$0xffffffbc,%edx
+# sh8
+ 8049252: 90[ ]+nop *
+ 8049253: 90[ ]+nop *
+ 8049254: 65 8b 02[ ]+mov %gs:\(%edx\),%eax
+ 8049257: 90[ ]+nop *
+ 8049258: 90[ ]+nop *
+ 8049259: 90[ ]+nop *
+ 804925a: 90[ ]+nop *
+# LE @tpoff, global var defined in exec
+ 804925b: ba a0 00 00 00[ ]+mov \$0xa0,%edx
+# sg1
+ 8049260: 90[ ]+nop *
+ 8049261: 90[ ]+nop *
+ 8049262: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
+ 8049268: 90[ ]+nop *
+ 8049269: 90[ ]+nop *
+ 804926a: 29 d0[ ]+sub %edx,%eax
+ 804926c: 90[ ]+nop *
+ 804926d: 90[ ]+nop *
+ 804926e: 90[ ]+nop *
+ 804926f: 90[ ]+nop *
+# LE @tpoff, local var
+ 8049270: b8 1f 00 00 00[ ]+mov \$0x1f,%eax
+# bl1+1
+ 8049275: 90[ ]+nop *
+ 8049276: 90[ ]+nop *
+ 8049277: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx
+ 804927e: 90[ ]+nop *
+ 804927f: 90[ ]+nop *
+ 8049280: 29 c2[ ]+sub %eax,%edx
+ 8049282: 90[ ]+nop *
+ 8049283: 90[ ]+nop *
+ 8049284: 90[ ]+nop *
+ 8049285: 90[ ]+nop *
+# LE @tpoff, hidden var defined in exec
+ 8049286: b8 5d 00 00 00[ ]+mov \$0x5d,%eax
+# sh1+3
+ 804928b: 90[ ]+nop *
+ 804928c: 90[ ]+nop *
+ 804928d: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx
+ 8049294: 90[ ]+nop *
+ 8049295: 90[ ]+nop *
+ 8049296: 29 c2[ ]+sub %eax,%edx
+ 8049298: 90[ ]+nop *
+ 8049299: 90[ ]+nop *
+ 804929a: 90[ ]+nop *
+ 804929b: 90[ ]+nop *
+# LE @ntpoff, global var defined in exec
+ 804929c: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
+ 80492a2: 90[ ]+nop *
+ 80492a3: 90[ ]+nop *
+ 80492a4: 8d 90 64 ff ff ff[ ]+lea 0xffffff64\(%eax\),%edx
+# sg2
+ 80492aa: 90[ ]+nop *
+ 80492ab: 90[ ]+nop *
+ 80492ac: 90[ ]+nop *
+ 80492ad: 90[ ]+nop *
+# LE @ntpoff, local var, non-canonical sequence
+ 80492ae: b8 e6 ff ff ff[ ]+mov \$0xffffffe6,%eax
+# bl2+2
+ 80492b3: 90[ ]+nop *
+ 80492b4: 90[ ]+nop *
+ 80492b5: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx
+ 80492bc: 90[ ]+nop *
+ 80492bd: 90[ ]+nop *
+ 80492be: 01 c2[ ]+add %eax,%edx
+ 80492c0: 90[ ]+nop *
+ 80492c1: 90[ ]+nop *
+ 80492c2: 90[ ]+nop *
+ 80492c3: 90[ ]+nop *
+# LE @ntpoff, hidden var defined in exec, non-canonical sequence
+ 80492c4: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx
+ 80492cb: 90[ ]+nop *
+ 80492cc: 90[ ]+nop *
+ 80492cd: 81 c2 a5 ff ff ff[ ]+add \$0xffffffa5,%edx
+# sh2+1
+ 80492d3: 90[ ]+nop *
+ 80492d4: 90[ ]+nop *
+ 80492d5: 90[ ]+nop *
+ 80492d6: 90[ ]+nop *
+# LE @ntpoff, global var defined in exec
+ 80492d7: 65 a1 68 ff ff ff[ ]+mov %gs:0xffffff68,%eax
+# sg3
+ 80492dd: 90[ ]+nop *
+ 80492de: 90[ ]+nop *
+ 80492df: 90[ ]+nop *
+ 80492e0: 90[ ]+nop *
+# LE @ntpoff, local var
+ 80492e1: 65 8b 15 eb ff ff ff mov %gs:0xffffffeb,%edx
+# bl3+3
+ 80492e8: 90[ ]+nop *
+ 80492e9: 90[ ]+nop *
+ 80492ea: 90[ ]+nop *
+ 80492eb: 90[ ]+nop *
+# LE @ntpoff, hidden var defined in exec
+ 80492ec: 65 8b 15 a9 ff ff ff mov %gs:0xffffffa9,%edx
+# sh3+1
+ 80492f3: 90[ ]+nop *
+ 80492f4: 90[ ]+nop *
+ 80492f5: 90[ ]+nop *
+ 80492f6: 90[ ]+nop *
+ 80492f7: 8b 5d fc[ ]+mov 0xfffffffc\(%ebp\),%ebx
+ 80492fa: c9[ ]+leave *
+ 80492fb: c3[ ]+ret *