From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11814 invoked by alias); 25 May 2006 23:10:38 -0000 Received: (qmail 11802 invoked by uid 22791); 25 May 2006 23:10:34 -0000 X-Spam-Check-By: sourceware.org Received: from smtp106.sbc.mail.mud.yahoo.com (HELO smtp106.sbc.mail.mud.yahoo.com) (68.142.198.205) by sourceware.org (qpsmtpd/0.31) with SMTP; Thu, 25 May 2006 23:10:24 +0000 Received: (qmail 30323 invoked from network); 25 May 2006 23:10:22 -0000 Received: from unknown (HELO lucon.org) (hjjean@sbcglobal.net@71.146.96.173 with login) by smtp106.sbc.mail.mud.yahoo.com with SMTP; 25 May 2006 23:10:20 -0000 Received: by lucon.org (Postfix, from userid 1000) id 8E198641B3; Thu, 25 May 2006 16:10:19 -0700 (PDT) Date: Fri, 26 May 2006 04:33:00 -0000 From: "H. J. Lu" To: Nick Clifton Cc: binutils@sources.redhat.com, discuss@x86-64.org Subject: PATCH: Change x86-64 maximum page size to 2MB Message-ID: <20060525231019.GA16017@lucon.org> References: <20060516232326.GA18996@lucon.org> <446D8BE1.3030504@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <446D8BE1.3030504@redhat.com> User-Agent: Mutt/1.4.2.1i Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org X-SW-Source: 2006-05/txt/msg00472.txt.bz2 On Fri, May 19, 2006 at 10:12:01AM +0100, Nick Clifton wrote: > Hi H. J. > > >The current x86-64 maximum page size is 1MB. With the future > >development, 2MB is better for performance. Using 2MB won't break > >anything, except for up to 2MB gap in virtual address space per file, > >instead of 1MB. x86-64 has 48 bits in virtual address space. It > >shouldn't be an issue for most applications. I have a patch: > > > >http://sourceware.org/ml/binutils/2005-05/msg00644.html > > > >which can be used to implement "-z max-page-size=xxxx" so that people > >can control maximum page size at the link time if they prefer different > >maximum page size. > > This seems to be perfectly reasonable. I tested this patch on gcc, glibc, 2.4 and 2.6 kernels. I will check it in shortly. H.J. ---- bfd/ 2006-05-25 H.J. Lu * elf64-x86-64.c (ELF_MAXPAGESIZE): Updated to 0x200000. ld/ 2006-05-25 H.J. Lu * emulparams/elf_x86_64.sh (MAXPAGESIZE): Updated to 0x200000. ld/testsuite/ 2006-05-25 H.J. Lu * ld-x86-64/tlsbin.dd: Updated for 2MB maximum page size. * ld-x86-64/tlsbin.rd: Likewise. * ld-x86-64/tlsbin.sd: Likewise. * ld-x86-64/tlsbin.td: Likewise. * ld-x86-64/tlsbindesc.dd: Likewise. * ld-x86-64/tlsbindesc.rd: Likewise. * ld-x86-64/tlsbindesc.sd: Likewise. * ld-x86-64/tlsbindesc.td: Likewise. * ld-x86-64/tlsdesc.dd: Likewise. * ld-x86-64/tlsdesc.pd: Likewise. * ld-x86-64/tlsdesc.rd: Likewise. * ld-x86-64/tlsdesc.sd: Likewise. * ld-x86-64/tlsdesc.td: Likewise. * ld-x86-64/tlsgdesc.dd: Likewise. * ld-x86-64/tlspic.dd: Likewise. * ld-x86-64/tlspic.rd: Likewise. * ld-x86-64/tlspic.sd: Likewise. * ld-x86-64/tlspic.td: Likewise. --- binutils/bfd/elf64-x86-64.c.2mb 2006-03-27 09:05:29.000000000 -0800 +++ binutils/bfd/elf64-x86-64.c 2006-05-25 07:13:10.000000000 -0700 @@ -3630,7 +3630,7 @@ static const struct bfd_elf_special_sect #define TARGET_LITTLE_NAME "elf64-x86-64" #define ELF_ARCH bfd_arch_i386 #define ELF_MACHINE_CODE EM_X86_64 -#define ELF_MAXPAGESIZE 0x100000 +#define ELF_MAXPAGESIZE 0x200000 #define elf_backend_can_gc_sections 1 #define elf_backend_can_refcount 1 --- binutils/ld/emulparams/elf_x86_64.sh.2mb 2006-05-19 09:31:05.000000000 -0700 +++ binutils/ld/emulparams/elf_x86_64.sh 2006-05-25 07:31:05.000000000 -0700 @@ -2,7 +2,7 @@ SCRIPT_NAME=elf ELFSIZE=64 OUTPUT_FORMAT="elf64-x86-64" TEXT_START_ADDR=0x400000 -MAXPAGESIZE=0x100000 +MAXPAGESIZE=0x200000 COMMONPAGESIZE=0x1000 NONPAGED_TEXT_START_ADDR=0x400000 ARCH="i386:x86-64" --- binutils/ld/testsuite/ld-x86-64/tlsbin.dd.2mb 2004-05-11 10:08:36.000000000 -0700 +++ binutils/ld/testsuite/ld-x86-64/tlsbin.dd 2006-05-25 09:11:56.000000000 -0700 @@ -24,7 +24,7 @@ Disassembly of section .text: # GD -> IE because variable is not defined in executable 401004: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax 40100b: 00 00 * - 40100d: 48 03 05 d4 03 10 00[ ]+add 1049556\(%rip\),%rax +# 5013e8 <.*> + 40100d: 48 03 05 d4 03 20 00[ ]+add 2098132\(%rip\),%rax +# 6013e8 <.*> # -> R_X86_64_TPOFF64 sG1 401014: 90[ ]+nop * 401015: 90[ ]+nop * @@ -34,7 +34,7 @@ Disassembly of section .text: # the variable is referenced through IE too 401018: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax 40101f: 00 00 * - 401021: 48 03 05 b0 03 10 00[ ]+add 1049520\(%rip\),%rax +# 5013d8 <.*> + 401021: 48 03 05 b0 03 20 00[ ]+add 2098096\(%rip\),%rax +# 6013d8 <.*> # -> R_X86_64_TPOFF64 sG2 401028: 90[ ]+nop * 401029: 90[ ]+nop * @@ -102,7 +102,7 @@ Disassembly of section .text: 4010b3: 00 00 * 4010b5: 90[ ]+nop * 4010b6: 90[ ]+nop * - 4010b7: 4c 03 0d 1a 03 10 00[ ]+add 1049370\(%rip\),%r9 +# 5013d8 <.*> + 4010b7: 4c 03 0d 1a 03 20 00[ ]+add 2097946\(%rip\),%r9 +# 6013d8 <.*> # -> R_X86_64_TPOFF64 sG2 4010be: 90[ ]+nop * 4010bf: 90[ ]+nop * @@ -143,7 +143,7 @@ Disassembly of section .text: 401103: 90[ ]+nop * # Direct access through %fs # IE against global var - 401104: 48 8b 0d c5 02 10 00[ ]+mov 1049285\(%rip\),%rcx +# 5013d0 <.*> + 401104: 48 8b 0d c5 02 20 00[ ]+mov 2097861\(%rip\),%rcx +# 6013d0 <.*> # -> R_X86_64_TPOFF64 sG5 40110b: 90[ ]+nop * 40110c: 90[ ]+nop * @@ -186,7 +186,7 @@ Disassembly of section .text: 401147: 00 00 * 401149: 90[ ]+nop * 40114a: 90[ ]+nop * - 40114b: 4c 03 1d 8e 02 10 00[ ]+add 1049230\(%rip\),%r11 +# 5013e0 <.*> + 40114b: 4c 03 1d 8e 02 20 00[ ]+add 2097806\(%rip\),%r11 +# 6013e0 <.*> # -> R_X86_64_TPOFF64 sG6 401152: 90[ ]+nop * 401153: 90[ ]+nop * --- binutils/ld/testsuite/ld-x86-64/tlsbin.rd.2mb 2006-02-02 14:57:50.000000000 -0800 +++ binutils/ld/testsuite/ld-x86-64/tlsbin.rd 2006-05-25 07:39:20.000000000 -0700 @@ -18,11 +18,11 @@ Section Headers: \[ 6\] .rela.plt +.* \[ 7\] .plt +.* \[ 8\] .text +PROGBITS +0+401000 0+1000 0+22a 00 +AX +0 +0 +4096 - \[ 9\] .tdata +PROGBITS +0+50122a 0+122a 0+60 00 WAT +0 +0 +1 - \[10\] .tbss +NOBITS +0+50128a 0+128a 0+40 00 WAT +0 +0 +1 - \[11\] .dynamic +DYNAMIC +0+501290 0+1290 0+140 10 +WA +4 +0 +8 - \[12\] .got +PROGBITS +0+5013d0 0+13d0 0+20 08 +WA +0 +0 +8 - \[13\] .got.plt +PROGBITS +0+5013f0 0+13f0 0+20 08 +WA +0 +0 +8 + \[ 9\] .tdata +PROGBITS +0+60122a 0+122a 0+60 00 WAT +0 +0 +1 + \[10\] .tbss +NOBITS +0+60128a 0+128a 0+40 00 WAT +0 +0 +1 + \[11\] .dynamic +DYNAMIC +0+601290 0+1290 0+140 10 +WA +4 +0 +8 + \[12\] .got +PROGBITS +0+6013d0 0+13d0 0+20 08 +WA +0 +0 +8 + \[13\] .got.plt +PROGBITS +0+6013f0 0+13f0 0+20 08 +WA +0 +0 +8 \[14\] .shstrtab +.* \[15\] .symtab +.* \[16\] .strtab +.* @@ -40,10 +40,10 @@ Program Headers: PHDR.* INTERP.* .*Requesting program interpreter.* - LOAD +0x0+ 0x0+400000 0x0+400000 0x0+122a 0x0+122a R E 0x100000 - LOAD +0x0+122a 0x0+50122a 0x0+50122a 0x0+1e6 0x0+1e6 RW 0x100000 - DYNAMIC +0x0+1290 0x0+501290 0x0+501290 0x0+140 0x0+140 RW 0x8 - TLS +0x0+122a 0x0+50122a 0x0+50122a 0x0+60 0x0+a0 R +0x1 + LOAD +0x0+ 0x0+400000 0x0+400000 0x0+122a 0x0+122a R E 0x200000 + LOAD +0x0+122a 0x0+60122a 0x0+60122a 0x0+1e6 0x0+1e6 RW 0x200000 + DYNAMIC +0x0+1290 0x0+601290 0x0+601290 0x0+140 0x0+140 RW 0x8 + TLS +0x0+122a 0x0+60122a 0x0+60122a 0x0+60 0x0+a0 R +0x1 Section to Segment mapping: Segment Sections... --- binutils/ld/testsuite/ld-x86-64/tlsbin.sd.2mb 2004-05-11 10:08:36.000000000 -0700 +++ binutils/ld/testsuite/ld-x86-64/tlsbin.sd 2006-05-25 09:26:45.000000000 -0700 @@ -8,5 +8,5 @@ .*: +file format elf64-x86-64 Contents of section .got: - 5013d0 00000000 00000000 00000000 00000000 .* - 5013e0 00000000 00000000 00000000 00000000 .* + 6013d0 00000000 00000000 00000000 00000000 .* + 6013e0 00000000 00000000 00000000 00000000 .* --- binutils/ld/testsuite/ld-x86-64/tlsbin.td.2mb 2004-05-11 10:08:36.000000000 -0700 +++ binutils/ld/testsuite/ld-x86-64/tlsbin.td 2006-05-25 09:27:50.000000000 -0700 @@ -8,9 +8,9 @@ .*: +file format elf64-x86-64 Contents of section .tdata: - 50122a 11000000 12000000 13000000 14000000 .* - 50123a 15000000 16000000 17000000 18000000 .* - 50124a 41000000 42000000 43000000 44000000 .* - 50125a 45000000 46000000 47000000 48000000 .* - 50126a 01010000 02010000 03010000 04010000 .* - 50127a 05010000 06010000 07010000 08010000 .* + 60122a 11000000 12000000 13000000 14000000 .* + 60123a 15000000 16000000 17000000 18000000 .* + 60124a 41000000 42000000 43000000 44000000 .* + 60125a 45000000 46000000 47000000 48000000 .* + 60126a 01010000 02010000 03010000 04010000 .* + 60127a 05010000 06010000 07010000 08010000 .* --- binutils/ld/testsuite/ld-x86-64/tlsbindesc.dd.2mb 2006-01-18 13:07:49.000000000 -0800 +++ binutils/ld/testsuite/ld-x86-64/tlsbindesc.dd 2006-05-25 09:14:55.000000000 -0700 @@ -22,7 +22,7 @@ Disassembly of section .text: [0-9a-f]+: 55[ ]+push %rbp [0-9a-f]+: 48 89 e5[ ]+mov %rsp,%rbp # GD -> IE because variable is not defined in executable - [0-9a-f]+: 48 8b 05 65 03 10 00[ ]+mov 1049445\(%rip\),%rax +# 501370 <.*> + [0-9a-f]+: 48 8b 05 65 03 20 00[ ]+mov 2098021\(%rip\),%rax +# 601370 <.*> # -> R_X86_64_TPOFF64 sG1 [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * @@ -32,7 +32,7 @@ Disassembly of section .text: [0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is not defined in executable where # the variable is referenced through IE too - [0-9a-f]+: 48 8b 05 48 03 10 00[ ]+mov 1049416\(%rip\),%rax +# 501360 <.*> + [0-9a-f]+: 48 8b 05 48 03 20 00[ ]+mov 2097992\(%rip\),%rax +# 601360 <.*> # -> R_X86_64_TPOFF64 sG2 [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * @@ -99,7 +99,7 @@ Disassembly of section .text: [0-9a-f]+: 00 00 * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 4c 03 0d d6 02 10 00[ ]+add 1049302\(%rip\),%r9 +# 501360 <.*> + [0-9a-f]+: 4c 03 0d d6 02 20 00[ ]+add 2097878\(%rip\),%r9 +# 601360 <.*> # -> R_X86_64_TPOFF64 sG2 [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * @@ -140,7 +140,7 @@ Disassembly of section .text: [0-9a-f]+: 90[ ]+nop * # Direct access through %fs # IE against global var - [0-9a-f]+: 48 8b 0d 81 02 10 00[ ]+mov 1049217\(%rip\),%rcx +# 501358 <.*> + [0-9a-f]+: 48 8b 0d 81 02 20 00[ ]+mov 2097793\(%rip\),%rcx +# 601358 <.*> # -> R_X86_64_TPOFF64 sG5 [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * @@ -183,7 +183,7 @@ Disassembly of section .text: [0-9a-f]+: 00 00 * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 4c 03 1d 4a 02 10 00[ ]+add 1049162\(%rip\),%r11 +# 501368 <.*> + [0-9a-f]+: 4c 03 1d 4a 02 20 00[ ]+add 2097738\(%rip\),%r11 +# 601368 <.*> # -> R_X86_64_TPOFF64 sG6 [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * --- binutils/ld/testsuite/ld-x86-64/tlsbindesc.rd.2mb 2006-02-02 14:57:50.000000000 -0800 +++ binutils/ld/testsuite/ld-x86-64/tlsbindesc.rd 2006-05-25 09:13:17.000000000 -0700 @@ -16,11 +16,11 @@ Section Headers: \[ 4\] .dynstr +.* \[ 5\] .rela.dyn +.* \[ 6\] .text +PROGBITS +0+401000 0+1000 0+1f6 00 +AX +0 +0 +4096 - \[ 7\] .tdata +PROGBITS +0+5011f6 0+11f6 0+60 00 WAT +0 +0 +1 - \[ 8\] .tbss +NOBITS +0+501256 0+1256 0+40 00 WAT +0 +0 +1 - \[ 9\] .dynamic +DYNAMIC +0+501258 0+1258 0+100 10 +WA +4 +0 +8 - \[10\] .got +PROGBITS +0+501358 0+1358 0+20 08 +WA +0 +0 +8 - \[11\] .got.plt +PROGBITS +0+501378 0+1378 0+18 08 +WA +0 +0 +8 + \[ 7\] .tdata +PROGBITS +0+6011f6 0+11f6 0+60 00 WAT +0 +0 +1 + \[ 8\] .tbss +NOBITS +0+601256 0+1256 0+40 00 WAT +0 +0 +1 + \[ 9\] .dynamic +DYNAMIC +0+601258 0+1258 0+100 10 +WA +4 +0 +8 + \[10\] .got +PROGBITS +0+601358 0+1358 0+20 08 +WA +0 +0 +8 + \[11\] .got.plt +PROGBITS +0+601378 0+1378 0+18 08 +WA +0 +0 +8 \[12\] .shstrtab +.* \[13\] .symtab +.* \[14\] .strtab +.* @@ -38,10 +38,10 @@ Program Headers: PHDR.* INTERP.* .*Requesting program interpreter.* - LOAD +0x0+ 0x0+400000 0x0+400000 0x0+11f6 0x0+11f6 R E 0x100000 - LOAD +0x0+11f6 0x0+5011f6 0x0+5011f6 0x0+19a 0x0+19a RW 0x100000 - DYNAMIC +0x0+1258 0x0+501258 0x0+501258 0x0+100 0x0+100 RW 0x8 - TLS +0x0+11f6 0x0+5011f6 0x0+5011f6 0x0+60 0x0+a0 R +0x1 + LOAD +0x0+ 0x0+400000 0x0+400000 0x0+11f6 0x0+11f6 R E 0x200000 + LOAD +0x0+11f6 0x0+6011f6 0x0+6011f6 0x0+19a 0x0+19a RW 0x200000 + DYNAMIC +0x0+1258 0x0+601258 0x0+601258 0x0+100 0x0+100 RW 0x8 + TLS +0x0+11f6 0x0+6011f6 0x0+6011f6 0x0+60 0x0+a0 R +0x1 Section to Segment mapping: Segment Sections... @@ -54,10 +54,10 @@ Program Headers: Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries: +Offset +Info +Type +Symbol's Value Symbol's Name \+ Addend -0+501358 0+100000012 R_X86_64_TPOFF64 +0+ sG5 \+ 0 -0+501360 0+200000012 R_X86_64_TPOFF64 +0+ sG2 \+ 0 -0+501368 0+400000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0 -0+501370 0+500000012 R_X86_64_TPOFF64 +0+ sG1 \+ 0 +0+601358 0+100000012 R_X86_64_TPOFF64 +0+ sG5 \+ 0 +0+601360 0+200000012 R_X86_64_TPOFF64 +0+ sG2 \+ 0 +0+601368 0+400000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0 +0+601370 0+500000012 R_X86_64_TPOFF64 +0+ sG1 \+ 0 Symbol table '.dynsym' contains 8 entries: +Num: +Value +Size Type +Bind +Vis +Ndx Name @@ -104,8 +104,8 @@ Symbol table '.symtab' contains 67 entri +[0-9]+: 0+98 +0 TLS +LOCAL DEFAULT +8 bl7 +[0-9]+: 0+9c +0 TLS +LOCAL DEFAULT +8 bl8 +[0-9]+: 0+0 +0 TLS +LOCAL HIDDEN +7 _TLS_MODULE_BASE_ - +[0-9]+: 0+501258 +0 OBJECT LOCAL HIDDEN 9 _DYNAMIC - +[0-9]+: 0+501378 +0 OBJECT LOCAL HIDDEN 11 _GLOBAL_OFFSET_TABLE_ + +[0-9]+: 0+601258 +0 OBJECT LOCAL HIDDEN 9 _DYNAMIC + +[0-9]+: 0+601378 +0 OBJECT LOCAL HIDDEN 11 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +7 sg8 +[0-9]+: 0+7c +0 TLS +GLOBAL DEFAULT +8 bg8 +[0-9]+: 0+74 +0 TLS +GLOBAL DEFAULT +8 bg6 --- binutils/ld/testsuite/ld-x86-64/tlsbindesc.sd.2mb 2006-01-18 13:07:49.000000000 -0800 +++ binutils/ld/testsuite/ld-x86-64/tlsbindesc.sd 2006-05-25 09:27:09.000000000 -0700 @@ -8,5 +8,5 @@ .*: +file format elf64-x86-64 Contents of section .got: - 501358 00000000 00000000 00000000 00000000 .* - 501368 00000000 00000000 00000000 00000000 .* + 601358 00000000 00000000 00000000 00000000 .* + 601368 00000000 00000000 00000000 00000000 .* --- binutils/ld/testsuite/ld-x86-64/tlsbindesc.td.2mb 2006-01-18 13:07:49.000000000 -0800 +++ binutils/ld/testsuite/ld-x86-64/tlsbindesc.td 2006-05-25 09:28:21.000000000 -0700 @@ -8,9 +8,9 @@ .*: +file format elf64-x86-64 Contents of section .tdata: - 5011f6 11000000 12000000 13000000 14000000 .* - 501206 15000000 16000000 17000000 18000000 .* - 501216 41000000 42000000 43000000 44000000 .* - 501226 45000000 46000000 47000000 48000000 .* - 501236 01010000 02010000 03010000 04010000 .* - 501246 05010000 06010000 07010000 08010000 .* + 6011f6 11000000 12000000 13000000 14000000 .* + 601206 15000000 16000000 17000000 18000000 .* + 601216 41000000 42000000 43000000 44000000 .* + 601226 45000000 46000000 47000000 48000000 .* + 601236 01010000 02010000 03010000 04010000 .* + 601246 05010000 06010000 07010000 08010000 .* --- binutils/ld/testsuite/ld-x86-64/tlsdesc.dd.2mb 2006-01-18 13:07:49.000000000 -0800 +++ binutils/ld/testsuite/ld-x86-64/tlsdesc.dd 2006-05-25 09:07:10.000000000 -0700 @@ -17,7 +17,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD - +[0-9a-f]+: 48 8d 05 89 03 10 00[ ]+lea 1049481\(%rip\),%rax +# 101398 <.*> + +[0-9a-f]+: 48 8d 05 89 03 20 00[ ]+lea 2098057\(%rip\),%rax +# 201398 <.*> # -> R_X86_64_TLSDESC sg1 +[0-9a-f]+: ff 10[ ]+callq \*\(%rax\) +[0-9a-f]+: 90[ ]+nop * @@ -25,7 +25,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is referenced through IE too - +[0-9a-f]+: 48 8b 05 1c 03 10 00[ ]+mov 1049372\(%rip\),%rax +# 101338 <.*> + +[0-9a-f]+: 48 8b 05 1c 03 20 00[ ]+mov 2097948\(%rip\),%rax +# 201338 <.*> # -> R_X86_64_TPOFF64 sg2 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -34,7 +34,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD against local variable - +[0-9a-f]+: 48 8d 05 3f 03 10 00[ ]+lea 1049407\(%rip\),%rax +# 101368 <.*> + +[0-9a-f]+: 48 8d 05 3f 03 20 00[ ]+lea 2097983\(%rip\),%rax +# 201368 <.*> # -> R_X86_64_TLSDESC [0 0x2000000000000000] +[0-9a-f]+: ff 10[ ]+callq \*\(%rax\) +[0-9a-f]+: 90[ ]+nop * @@ -42,7 +42,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD -> IE against local variable referenced through IE too - +[0-9a-f]+: 48 8b 05 d2 02 10 00[ ]+mov 1049298\(%rip\),%rax +# 101308 <.*> + +[0-9a-f]+: 48 8b 05 d2 02 20 00[ ]+mov 2097874\(%rip\),%rax +# 201308 <.*> # -> R_X86_64_TPOFF64 *ABS*+0x24 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -51,7 +51,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD against hidden and local variable - +[0-9a-f]+: 48 8d 05 65 03 10 00[ ]+lea 1049445\(%rip\),%rax +# 1013a8 <.*> + +[0-9a-f]+: 48 8d 05 65 03 20 00[ ]+lea 2098021\(%rip\),%rax +# 2013a8 <.*> # -> R_X86_64_TLSDESC [0 0x4000000000000000] +[0-9a-f]+: ff 10[ ]+callq \*\(%rax\) +[0-9a-f]+: 90[ ]+nop * @@ -59,7 +59,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD -> IE against hidden and local variable referenced through IE too - +[0-9a-f]+: 48 8b 05 f0 02 10 00[ ]+mov 1049328\(%rip\),%rax +# 101340 <.*> + +[0-9a-f]+: 48 8b 05 f0 02 20 00[ ]+mov 2097904\(%rip\),%rax +# 201340 <.*> # -> R_X86_64_TPOFF64 *ABS*+0x44 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -68,7 +68,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD against hidden but not local variable - +[0-9a-f]+: 48 8d 05 1b 03 10 00[ ]+lea 1049371\(%rip\),%rax +# 101378 <.*> + +[0-9a-f]+: 48 8d 05 1b 03 20 00[ ]+lea 2097947\(%rip\),%rax +# 201378 <.*> # -> R_X86_64_TLSDESC [0 0x6000000000000000] +[0-9a-f]+: ff 10[ ]+callq \*\(%rax\) +[0-9a-f]+: 90[ ]+nop * @@ -76,7 +76,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD -> IE against hidden but not local variable referenced through IE too - +[0-9a-f]+: 48 8b 05 ae 02 10 00[ ]+mov 1049262\(%rip\),%rax +# 101318 <.*> + +[0-9a-f]+: 48 8b 05 ae 02 20 00[ ]+mov 2097838\(%rip\),%rax +# 201318 <.*> # -> R_X86_64_TPOFF64 *ABS*+0x64 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -85,7 +85,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # LD - +[0-9a-f]+: 48 8d 05 11 03 10 00[ ]+lea 1049361\(%rip\),%rax +# 101388 <.*> + +[0-9a-f]+: 48 8d 05 11 03 20 00[ ]+lea 2097937\(%rip\),%rax +# 201388 <.*> # -> R_X86_64_TLSDESC [0 0x000000000000000] +[0-9a-f]+: ff 10[ ]+callq \*\(%rax\) +[0-9a-f]+: 90[ ]+nop * @@ -119,7 +119,7 @@ Disassembly of section .text: +[0-9a-f]+: 00 00 * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 48 03 0d 71 02 10 00[ ]+add 1049201\(%rip\),%rcx +# 101338 <.*> + +[0-9a-f]+: 48 03 0d 71 02 20 00[ ]+add 2097777\(%rip\),%rcx +# 201338 <.*> # -> R_X86_64_TPOFF64 sg2 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -130,7 +130,7 @@ Disassembly of section .text: +[0-9a-f]+: 00 00 * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 4c 03 35 2b 02 10 00[ ]+add 1049131\(%rip\),%r14 +# 101308 <.*> + +[0-9a-f]+: 4c 03 35 2b 02 20 00[ ]+add 2097707\(%rip\),%r14 +# 201308 <.*> # -> R_X86_64_TPOFF64 *ABS*+0x24 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -141,7 +141,7 @@ Disassembly of section .text: +[0-9a-f]+: 00 00 * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 48 03 0d 4d 02 10 00[ ]+add 1049165\(%rip\),%rcx +# 101340 <.*> + +[0-9a-f]+: 48 03 0d 4d 02 20 00[ ]+add 2097741\(%rip\),%rcx +# 201340 <.*> # -> R_X86_64_TPOFF64 *ABS*+0x44 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -152,7 +152,7 @@ Disassembly of section .text: +[0-9a-f]+: 00 00 * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 48 03 0d 0f 02 10 00[ ]+add 1049103\(%rip\),%rcx +# 101318 <.*> + +[0-9a-f]+: 48 03 0d 0f 02 20 00[ ]+add 2097679\(%rip\),%rcx +# 201318 <.*> # -> R_X86_64_TPOFF64 *ABS*+0x64 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -160,7 +160,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * # Direct access through %fs # IE against global var - +[0-9a-f]+: 48 8b 0d 0c 02 10 00[ ]+mov 1049100\(%rip\),%rcx +# 101320 <.*> + +[0-9a-f]+: 48 8b 0d 0c 02 20 00[ ]+mov 2097676\(%rip\),%rcx +# 201320 <.*> # -> R_X86_64_TPOFF64 sg5 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -170,7 +170,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # IE against local var - +[0-9a-f]+: 4c 8b 15 eb 01 10 00[ ]+mov 1049067\(%rip\),%r10 +# 101310 <.*> + +[0-9a-f]+: 4c 8b 15 eb 01 20 00[ ]+mov 2097643\(%rip\),%r10 +# 201310 <.*> # -> R_X86_64_TPOFF64 *ABS*+0x30 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -180,7 +180,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # IE against hidden and local var - +[0-9a-f]+: 48 8b 15 f2 01 10 00[ ]+mov 1049074\(%rip\),%rdx +# 101328 <.*> + +[0-9a-f]+: 48 8b 15 f2 01 20 00[ ]+mov 2097650\(%rip\),%rdx +# 201328 <.*> # -> R_X86_64_TPOFF64 *ABS*+0x50 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -190,7 +190,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # IE against hidden but not local var - +[0-9a-f]+: 48 8b 0d e9 01 10 00[ ]+mov 1049065\(%rip\),%rcx +# 101330 <.*> + +[0-9a-f]+: 48 8b 0d e9 01 20 00[ ]+mov 2097641\(%rip\),%rcx +# 201330 <.*> # -> R_X86_64_TPOFF64 *ABS*+0x70 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * --- binutils/ld/testsuite/ld-x86-64/tlsdesc.pd.2mb 2006-01-18 13:07:49.000000000 -0800 +++ binutils/ld/testsuite/ld-x86-64/tlsdesc.pd 2006-05-25 09:09:50.000000000 -0700 @@ -10,15 +10,15 @@ Disassembly of section .plt: 0000000000000470 <.*@plt-0x10>: - 470: ff 35 e2 0e 10 00 pushq 1052386\(%rip\) # 101358 <_GLOBAL_OFFSET_TABLE_\+0x8> - 476: ff 25 e4 0e 10 00 jmpq \*1052388\(%rip\) # 101360 <_GLOBAL_OFFSET_TABLE_\+0x10> + 470: ff 35 e2 0e 20 00 pushq 2100962\(%rip\) # 201358 <_GLOBAL_OFFSET_TABLE_\+0x8> + 476: ff 25 e4 0e 20 00 jmpq \*2100964\(%rip\) # 201360 <_GLOBAL_OFFSET_TABLE_\+0x10> 47c: 90 nop * 47d: 90 nop * 47e: 90 nop * 47f: 90 nop * 0000000000000480 <.*@plt>: - 480: ff 35 d2 0e 10 00 pushq 1052370\(%rip\) # 101358 <_GLOBAL_OFFSET_TABLE_\+0x8> - 486: ff 25 bc 0e 10 00 jmpq \*1052348\(%rip\) # 101348 <_DYNAMIC\+0x190> + 480: ff 35 d2 0e 20 00 pushq 2100946\(%rip\) # 201358 <_GLOBAL_OFFSET_TABLE_\+0x8> + 486: ff 25 bc 0e 20 00 jmpq \*2100924\(%rip\) # 201348 <_DYNAMIC\+0x190> 48c: 90 nop * 48d: 90 nop * 48e: 90 nop * --- binutils/ld/testsuite/ld-x86-64/tlsdesc.rd.2mb 2006-02-02 14:57:50.000000000 -0800 +++ binutils/ld/testsuite/ld-x86-64/tlsdesc.rd 2006-05-25 09:00:02.000000000 -0700 @@ -17,11 +17,11 @@ Section Headers: \[ 5\] .rela.plt +.* \[ 6\] .plt +PROGBITS +0+470 0+470 0+20 10 +AX +0 +0 +4 \[ 7\] .text +PROGBITS +0+1000 0+1000 0+154 00 +AX +0 +0 4096 - \[ 8\] .tdata +PROGBITS +0+101154 0+1154 0+60 00 WAT +0 +0 +1 - \[ 9\] .tbss +NOBITS +0+1011b4 0+11b4 0+20 00 WAT +0 +0 +1 - \[10\] .dynamic +DYNAMIC +0+1011b8 0+11b8 0+150 10 +WA +3 +0 +8 - \[11\] .got +PROGBITS +0+101308 0+1308 0+48 08 +WA +0 +0 +8 - \[12\] .got.plt +PROGBITS +0+101350 0+1350 0+68 08 +WA +0 +0 +8 + \[ 8\] .tdata +PROGBITS +0+201154 0+1154 0+60 00 WAT +0 +0 +1 + \[ 9\] .tbss +NOBITS +0+2011b4 0+11b4 0+20 00 WAT +0 +0 +1 + \[10\] .dynamic +DYNAMIC +0+2011b8 0+11b8 0+150 10 +WA +3 +0 +8 + \[11\] .got +PROGBITS +0+201308 0+1308 0+48 08 +WA +0 +0 +8 + \[12\] .got.plt +PROGBITS +0+201350 0+1350 0+68 08 +WA +0 +0 +8 \[13\] .shstrtab +.* \[14\] .symtab +.* \[15\] .strtab +.* @@ -36,10 +36,10 @@ There are 4 program headers, starting at Program Headers: Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align - LOAD +0x0+ 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x100000 - LOAD +0x0+1154 0x0+101154 0x0+101154 0x0+264 0x0+264 RW +0x100000 - DYNAMIC +0x0+11b8 0x0+1011b8 0x0+1011b8 0x0+150 0x0+150 RW +0x8 - TLS +0x0+1154 0x0+101154 0x0+101154 0x0+60 0x0+80 R +0x1 + LOAD +0x0+ 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x200000 + LOAD +0x0+1154 0x0+201154 0x0+201154 0x0+264 0x0+264 RW +0x200000 + DYNAMIC +0x0+11b8 0x0+2011b8 0x0+2011b8 0x0+150 0x0+150 RW +0x8 + TLS +0x0+1154 0x0+201154 0x0+201154 0x0+60 0x0+80 R +0x1 Section to Segment mapping: Segment Sections... @@ -60,7 +60,7 @@ Dynamic section at offset 0x[0-9a-f]+ co 0x[0-9a-f]+ +\(PLTREL\).* 0x[0-9a-f]+ +\(JMPREL\).* 0x[0-9a-f]+ +\(TLSDESC_PLT\) +0x480 - 0x[0-9a-f]+ +\(TLSDESC_GOT\) +0x101348 + 0x[0-9a-f]+ +\(TLSDESC_GOT\) +0x201348 0x[0-9a-f]+ +\(RELA\).* 0x[0-9a-f]+ +\(RELASZ\).* 0x[0-9a-f]+ +\(RELAENT\).* @@ -69,22 +69,22 @@ Dynamic section at offset 0x[0-9a-f]+ co Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend -0+101308 0+12 R_X86_64_TPOFF64 +0+24 -0+101310 0+12 R_X86_64_TPOFF64 +0+30 -0+101318 0+12 R_X86_64_TPOFF64 +0+64 -0+101328 0+12 R_X86_64_TPOFF64 +0+50 -0+101330 0+12 R_X86_64_TPOFF64 +0+70 -0+101340 0+12 R_X86_64_TPOFF64 +0+44 -0+101320 0+700000012 R_X86_64_TPOFF64 +0+10 sg5 \+ 0 -0+101338 0+b00000012 R_X86_64_TPOFF64 +0+4 sg2 \+ 0 +0+201308 0+12 R_X86_64_TPOFF64 +0+24 +0+201310 0+12 R_X86_64_TPOFF64 +0+30 +0+201318 0+12 R_X86_64_TPOFF64 +0+64 +0+201328 0+12 R_X86_64_TPOFF64 +0+50 +0+201330 0+12 R_X86_64_TPOFF64 +0+70 +0+201340 0+12 R_X86_64_TPOFF64 +0+44 +0+201320 0+700000012 R_X86_64_TPOFF64 +0+10 sg5 \+ 0 +0+201338 0+b00000012 R_X86_64_TPOFF64 +0+4 sg2 \+ 0 Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 5 entries: +Offset +Info +Type +Symbol's Value Symbol's Name \+ Addend -0+101398 0+800000024 R_X86_64_TLSDESC +0+ sg1 \+ 0 -0+101368 0+24 R_X86_64_TLSDESC +0+20 -0+1013a8 0+24 R_X86_64_TLSDESC +0+40 -0+101378 0+24 R_X86_64_TLSDESC +0+60 -0+101388 0+24 R_X86_64_TLSDESC +0+ +0+201398 0+800000024 R_X86_64_TLSDESC +0+ sg1 \+ 0 +0+201368 0+24 R_X86_64_TLSDESC +0+20 +0+2013a8 0+24 R_X86_64_TLSDESC +0+40 +0+201378 0+24 R_X86_64_TLSDESC +0+60 +0+201388 0+24 R_X86_64_TLSDESC +0+ Symbol table '.dynsym' contains 16 entries: +Num: +Value +Size Type +Bind +Vis +Ndx Name @@ -133,7 +133,7 @@ Symbol table '.symtab' contains 55 entri +[0-9]+: 0+3c +0 TLS +LOCAL DEFAULT +8 sl8 +[0-9]+: 0+60 +0 TLS +LOCAL HIDDEN +9 sH1 +[0-9]+: 0+ +0 TLS +LOCAL HIDDEN +8 _TLS_MODULE_BASE_ - +[0-9]+: 0+1011b8 +0 OBJECT LOCAL HIDDEN ABS _DYNAMIC + +[0-9]+: 0+2011b8 +0 OBJECT LOCAL HIDDEN ABS _DYNAMIC +[0-9]+: 0+48 +0 TLS +LOCAL HIDDEN +8 sh3 +[0-9]+: 0+64 +0 TLS +LOCAL HIDDEN +9 sH2 +[0-9]+: 0+78 +0 TLS +LOCAL HIDDEN +9 sH7 @@ -147,7 +147,7 @@ Symbol table '.symtab' contains 55 entri +[0-9]+: 0+74 +0 TLS +LOCAL HIDDEN +9 sH6 +[0-9]+: 0+7c +0 TLS +LOCAL HIDDEN +9 sH8 +[0-9]+: 0+40 +0 TLS +LOCAL HIDDEN +8 sh1 - +[0-9]+: 0+101350 +0 OBJECT LOCAL HIDDEN ABS _GLOBAL_OFFSET_TABLE_ + +[0-9]+: 0+201350 +0 OBJECT LOCAL HIDDEN ABS _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+44 +0 TLS +LOCAL HIDDEN +8 sh2 +[0-9]+: 0+54 +0 TLS +LOCAL HIDDEN +8 sh6 +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +8 sg8 --- binutils/ld/testsuite/ld-x86-64/tlsdesc.sd.2mb 2006-01-18 13:07:49.000000000 -0800 +++ binutils/ld/testsuite/ld-x86-64/tlsdesc.sd 2006-05-25 09:07:59.000000000 -0700 @@ -8,16 +8,16 @@ .*: +file format elf64-x86-64 Contents of section \.got: - 101308 00000000 00000000 00000000 00000000 .* - 101318 00000000 00000000 00000000 00000000 .* - 101328 00000000 00000000 00000000 00000000 .* - 101338 00000000 00000000 00000000 00000000 .* - 101348 00000000 00000000 .* + 201308 00000000 00000000 00000000 00000000 .* + 201318 00000000 00000000 00000000 00000000 .* + 201328 00000000 00000000 00000000 00000000 .* + 201338 00000000 00000000 00000000 00000000 .* + 201348 00000000 00000000 .* Contents of section \.got\.plt: - 101350 b8111000 00000000 00000000 00000000 .* - 101360 00000000 00000000 00000000 00000000 .* - 101370 00000000 00000000 00000000 00000000 .* - 101380 00000000 00000000 00000000 00000000 .* - 101390 00000000 00000000 00000000 00000000 .* - 1013a0 00000000 00000000 00000000 00000000 .* - 1013b0 00000000 00000000 .* + 201350 b8112000 00000000 00000000 00000000 .* + 201360 00000000 00000000 00000000 00000000 .* + 201370 00000000 00000000 00000000 00000000 .* + 201380 00000000 00000000 00000000 00000000 .* + 201390 00000000 00000000 00000000 00000000 .* + 2013a0 00000000 00000000 00000000 00000000 .* + 2013b0 00000000 00000000 .* --- binutils/ld/testsuite/ld-x86-64/tlsdesc.td.2mb 2006-01-18 13:07:51.000000000 -0800 +++ binutils/ld/testsuite/ld-x86-64/tlsdesc.td 2006-05-25 09:08:33.000000000 -0700 @@ -8,9 +8,9 @@ .*: +file format elf64-x86-64 Contents of section .tdata: - 101154 11000000 12000000 13000000 14000000 .* - 101164 15000000 16000000 17000000 18000000 .* - 101174 41000000 42000000 43000000 44000000 .* - 101184 45000000 46000000 47000000 48000000 .* - 101194 01010000 02010000 03010000 04010000 .* - 1011a4 05010000 06010000 07010000 08010000 .* + 201154 11000000 12000000 13000000 14000000 .* + 201164 15000000 16000000 17000000 18000000 .* + 201174 41000000 42000000 43000000 44000000 .* + 201184 45000000 46000000 47000000 48000000 .* + 201194 01010000 02010000 03010000 04010000 .* + 2011a4 05010000 06010000 07010000 08010000 .* --- binutils/ld/testsuite/ld-x86-64/tlsgdesc.dd.2mb 2006-01-18 13:07:51.000000000 -0800 +++ binutils/ld/testsuite/ld-x86-64/tlsgdesc.dd 2006-05-25 09:26:06.000000000 -0700 @@ -20,7 +20,7 @@ Disassembly of section .text: +[0-9a-f]+: 00 00 * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 48 03 0d 5e 02 10 00[ ]+add 1049182\(%rip\),%rcx +# 100660 <.*> + +[0-9a-f]+: 48 03 0d 5e 02 20 00[ ]+add 2097758\(%rip\),%rcx +# 200660 <.*> # -> R_X86_64_TPOFF64 sG3 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -31,14 +31,14 @@ Disassembly of section .text: +[0-9a-f]+: 00 00 * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 48 03 0d 68 02 10 00[ ]+add 1049192\(%rip\),%rcx +# 100680 <.*> + +[0-9a-f]+: 48 03 0d 68 02 20 00[ ]+add 2097768\(%rip\),%rcx +# 200680 <.*> # -> R_X86_64_TPOFF64 sG4 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD, gd first - +[0-9a-f]+: 66 48 8d 3d 6c 02 10[ ]+lea 1049196\(%rip\),%rdi +# 100690 <.*> + +[0-9a-f]+: 66 48 8d 3d 6c 02 20[ ]+lea 2097772\(%rip\),%rdi +# 200690 <.*> +[0-9a-f]+: 00 * # -> R_X86_64_DTPMOD64 sG1 +[0-9a-f]+: 66 66 48 e8 9c ff ff[ ]+callq [0-9a-f]+ <.*> @@ -48,7 +48,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 48 8d 05 a1 02 10 00[ ]+lea 1049249\(%rip\),%rax +# 1006d8 <.*> + +[0-9a-f]+: 48 8d 05 a1 02 20 00[ ]+lea 2097825\(%rip\),%rax +# 2006d8 <.*> # -> R_X86_64_TLSDESC sG1 +[0-9a-f]+: ff 10[ ]+callq \*\(%rax\) +[0-9a-f]+: 90[ ]+nop * @@ -56,14 +56,14 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD, desc first - +[0-9a-f]+: 48 8d 05 84 02 10 00[ ]+lea 1049220\(%rip\),%rax +# 1006c8 <.*> + +[0-9a-f]+: 48 8d 05 84 02 20 00[ ]+lea 2097796\(%rip\),%rax +# 2006c8 <.*> # -> R_X86_64_TLSDESC sG2 +[0-9a-f]+: ff 10[ ]+callq \*\(%rax\) +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 66 48 8d 3d 1e 02 10[ ]+lea 1049118\(%rip\),%rdi +# 100670 <.*> + +[0-9a-f]+: 66 48 8d 3d 1e 02 20[ ]+lea 2097694\(%rip\),%rdi +# 200670 <.*> +[0-9a-f]+: 00 * # -> R_X86_64_DTPMOD64 sG2 +[0-9a-f]+: 66 66 48 e8 6e ff ff[ ]+callq [0-9a-f]+ <.*> @@ -76,13 +76,13 @@ Disassembly of section .text: # GD -> IE, gd first, after IE use +[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax +[0-9a-f]+: 00 00 * - +[0-9a-f]+: 48 03 05 f2 01 10 00[ ]+add 1049074\(%rip\),%rax +# 100660 <.*> + +[0-9a-f]+: 48 03 05 f2 01 20 00[ ]+add 2097650\(%rip\),%rax +# 200660 <.*> # -> R_X86_64_TPOFF64 sG3 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 48 8b 05 e7 01 10 00[ ]+mov 1049063\(%rip\),%rax +# 100660 <.*> + +[0-9a-f]+: 48 8b 05 e7 01 20 00[ ]+mov 2097639\(%rip\),%rax +# 200660 <.*> # -> R_X86_64_TPOFF64 sG3 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -91,7 +91,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD -> IE, desc first, after IE use - +[0-9a-f]+: 48 8b 05 fa 01 10 00[ ]+mov 1049082\(%rip\),%rax +# 100680 <.*> + +[0-9a-f]+: 48 8b 05 fa 01 20 00[ ]+mov 2097658\(%rip\),%rax +# 200680 <.*> # -> R_X86_64_TPOFF64 sG4 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -101,7 +101,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax +[0-9a-f]+: 00 00 * - +[0-9a-f]+: 48 03 05 e4 01 10 00[ ]+add 1049060\(%rip\),%rax +# 100680 <.*> + +[0-9a-f]+: 48 03 05 e4 01 20 00[ ]+add 2097636\(%rip\),%rax +# 200680 <.*> # -> R_X86_64_TPOFF64 sG4 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -110,13 +110,13 @@ Disassembly of section .text: # GD -> IE, gd first, before IE use +[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax +[0-9a-f]+: 00 00 * - +[0-9a-f]+: 48 03 05 b8 01 10 00[ ]+add 1049016\(%rip\),%rax +# 100668 <.*> + +[0-9a-f]+: 48 03 05 b8 01 20 00[ ]+add 2097592\(%rip\),%rax +# 200668 <.*> # -> R_X86_64_TPOFF64 sG5 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 48 8b 05 ad 01 10 00[ ]+mov 1049005\(%rip\),%rax +# 100668 <.*> + +[0-9a-f]+: 48 8b 05 ad 01 20 00[ ]+mov 2097581\(%rip\),%rax +# 200668 <.*> # -> R_X86_64_TPOFF64 sG5 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -125,7 +125,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD -> IE, desc first, before IE use - +[0-9a-f]+: 48 8b 05 c0 01 10 00[ ]+mov 1049024\(%rip\),%rax +# 100688 <.*> + +[0-9a-f]+: 48 8b 05 c0 01 20 00[ ]+mov 2097600\(%rip\),%rax +# 200688 <.*> # -> R_X86_64_TPOFF64 sG6 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -135,7 +135,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax +[0-9a-f]+: 00 00 * - +[0-9a-f]+: 48 03 05 aa 01 10 00[ ]+add 1049002\(%rip\),%rax +# 100688 <.*> + +[0-9a-f]+: 48 03 05 aa 01 20 00[ ]+add 2097578\(%rip\),%rax +# 200688 <.*> # -> R_X86_64_TPOFF64 sG6 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -146,7 +146,7 @@ Disassembly of section .text: +[0-9a-f]+: 00 00 * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 48 03 0d 74 01 10 00[ ]+add 1048948\(%rip\),%rcx +# 100668 <.*> + +[0-9a-f]+: 48 03 0d 74 01 20 00[ ]+add 2097524\(%rip\),%rcx +# 200668 <.*> # -> R_X86_64_TPOFF64 sG5 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -157,7 +157,7 @@ Disassembly of section .text: +[0-9a-f]+: 00 00 * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 48 03 0d 7e 01 10 00[ ]+add 1048958\(%rip\),%rcx +# 100688 <.*> + +[0-9a-f]+: 48 03 0d 7e 01 20 00[ ]+add 2097534\(%rip\),%rcx +# 200688 <.*> # -> R_X86_64_TPOFF64 sG6 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * --- binutils/ld/testsuite/ld-x86-64/tlspic.dd.2mb 2005-09-28 10:40:56.000000000 -0700 +++ binutils/ld/testsuite/ld-x86-64/tlspic.dd 2006-05-25 08:58:02.000000000 -0700 @@ -17,7 +17,7 @@ Disassembly of section .text: +1006: 90[ ]+nop * +1007: 90[ ]+nop * # GD - +1008: 66 48 8d 3d 80 03 10[ ]+lea 1049472\(%rip\),%rdi +# 101390 <.*> + +1008: 66 48 8d 3d 80 03 20[ ]+lea 2098048\(%rip\),%rdi +# 201390 <.*> +100f: 00 * # -> R_X86_64_DTPMOD64 sg1 +1010: 66 66 48 e8 [0-9a-f ]+callq [0-9a-f]+ <.*> @@ -30,14 +30,14 @@ Disassembly of section .text: # GD -> IE because variable is referenced through IE too +101c: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax +1023: 00 00 * - +1025: 48 03 05 84 03 10 00[ ]+add 1049476\(%rip\),%rax +# 1013b0 <.*> + +1025: 48 03 05 84 03 20 00[ ]+add 2098052\(%rip\),%rax +# 2013b0 <.*> # -> R_X86_64_TPOFF64 sg2 +102c: 90[ ]+nop * +102d: 90[ ]+nop * +102e: 90[ ]+nop * +102f: 90[ ]+nop * # GD against local variable - +1030: 66 48 8d 3d 08 03 10[ ]+lea 1049352\(%rip\),%rdi +# 101340 <.*> + +1030: 66 48 8d 3d 08 03 20[ ]+lea 2097928\(%rip\),%rdi +# 201340 <.*> +1037: 00 * # -> R_X86_64_DTPMOD64 [0 0x2000000000000000] +1038: 66 66 48 e8 [0-9a-f ]+callq [0-9a-f]+ <.*> @@ -50,14 +50,14 @@ Disassembly of section .text: # GD -> IE against local variable referenced through IE too +1044: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax +104b: 00 00 * - +104d: 48 03 05 fc 02 10 00[ ]+add 1049340\(%rip\),%rax +# 101350 <.*> + +104d: 48 03 05 fc 02 20 00[ ]+add 2097916\(%rip\),%rax +# 201350 <.*> # -> R_X86_64_TPOFF64 *ABS*+0x24 +1054: 90[ ]+nop * +1055: 90[ ]+nop * +1056: 90[ ]+nop * +1057: 90[ ]+nop * # GD against hidden and local variable - +1058: 66 48 8d 3d 58 03 10[ ]+lea 1049432\(%rip\),%rdi +# 1013b8 <.*> + +1058: 66 48 8d 3d 58 03 20[ ]+lea 2098008\(%rip\),%rdi +# 2013b8 <.*> +105f: 00 * # -> R_X86_64_DTPMOD64 [0 0x4000000000000000] +1060: 66 66 48 e8 [0-9a-f ]+callq [0-9a-f]+ <.*> @@ -70,14 +70,14 @@ Disassembly of section .text: # GD -> IE against hidden and local variable referenced through IE too +106c: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax +1073: 00 00 * - +1075: 48 03 05 4c 03 10 00[ ]+add 1049420\(%rip\),%rax +# 1013c8 <.*> + +1075: 48 03 05 4c 03 20 00[ ]+add 2097996\(%rip\),%rax +# 2013c8 <.*> # -> R_X86_64_TPOFF64 *ABS*+0x44 +107c: 90[ ]+nop * +107d: 90[ ]+nop * +107e: 90[ ]+nop * +107f: 90[ ]+nop * # GD against hidden but not local variable - +1080: 66 48 8d 3d e8 02 10[ ]+lea 1049320\(%rip\),%rdi +# 101370 <.*> + +1080: 66 48 8d 3d e8 02 20[ ]+lea 2097896\(%rip\),%rdi +# 201370 <.*> +1087: 00 * # -> R_X86_64_DTPMOD64 [0 0x6000000000000000] +1088: 66 66 48 e8 [0-9a-f ]+callq [0-9a-f]+ <.*> @@ -90,14 +90,14 @@ Disassembly of section .text: # GD -> IE against hidden but not local variable referenced through IE too +1094: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax +109b: 00 00 * - +109d: 48 03 05 dc 02 10 00[ ]+add 1049308\(%rip\),%rax +# 101380 <.*> + +109d: 48 03 05 dc 02 20 00[ ]+add 2097884\(%rip\),%rax +# 201380 <.*> # -> R_X86_64_TPOFF64 *ABS*+0x64 +10a4: 90[ ]+nop * +10a5: 90[ ]+nop * +10a6: 90[ ]+nop * +10a7: 90[ ]+nop * # LD - +10a8: 48 8d 3d b1 02 10 00[ ]+lea 1049265\(%rip\),%rdi +# 101360 <.*> + +10a8: 48 8d 3d b1 02 20 00[ ]+lea 2097841\(%rip\),%rdi +# 201360 <.*> # -> R_X86_64_DTPMOD64 [0 0x000000000000000] +10af: e8 [0-9a-f ]+callq [0-9a-f]+ <.*> # -> R_X86_64_JUMP_SLOT __tls_get_addr @@ -112,7 +112,7 @@ Disassembly of section .text: +10c8: 90[ ]+nop * +10c9: 90[ ]+nop * # LD against hidden and local variables - +10ca: 48 8d 3d 8f 02 10 00[ ]+lea 1049231\(%rip\),%rdi +# 101360 <.*> + +10ca: 48 8d 3d 8f 02 20 00[ ]+lea 2097807\(%rip\),%rdi +# 201360 <.*> # -> R_X86_64_DTPMOD64 [0 0x000000000000000] +10d1: e8 [0-9a-f ]+callq [0-9a-f]+ <.*> # -> R_X86_64_JUMP_SLOT __tls_get_addr @@ -127,7 +127,7 @@ Disassembly of section .text: +10ea: 90[ ]+nop * +10eb: 90[ ]+nop * # LD against hidden but not local variables - +10ec: 48 8d 3d 6d 02 10 00[ ]+lea 1049197\(%rip\),%rdi +# 101360 <.*> + +10ec: 48 8d 3d 6d 02 20 00[ ]+lea 2097773\(%rip\),%rdi +# 201360 <.*> # -> R_X86_64_DTPMOD64 [0 0x000000000000000] +10f3: e8 [0-9a-f ]+callq [0-9a-f]+ <.*> # -> R_X86_64_JUMP_SLOT __tls_get_addr @@ -144,7 +144,7 @@ Disassembly of section .text: +1113: 00 00 * +1115: 90[ ]+nop * +1116: 90[ ]+nop * - +1117: 48 03 0d 92 02 10 00[ ]+add 1049234\(%rip\),%rcx +# 1013b0 <.*> + +1117: 48 03 0d 92 02 20 00[ ]+add 2097810\(%rip\),%rcx +# 2013b0 <.*> # -> R_X86_64_TPOFF64 sg2 +111e: 90[ ]+nop * +111f: 90[ ]+nop * @@ -155,7 +155,7 @@ Disassembly of section .text: +1129: 00 00 * +112b: 90[ ]+nop * +112c: 90[ ]+nop * - +112d: 4c 03 35 1c 02 10 00[ ]+add 1049116\(%rip\),%r14 +# 101350 <.*> + +112d: 4c 03 35 1c 02 20 00[ ]+add 2097692\(%rip\),%r14 +# 201350 <.*> # -> R_X86_64_TPOFF64 *ABS*+0x24 +1134: 90[ ]+nop * +1135: 90[ ]+nop * @@ -166,7 +166,7 @@ Disassembly of section .text: +113f: 00 00 * +1141: 90[ ]+nop * +1142: 90[ ]+nop * - +1143: 48 03 0d 7e 02 10 00[ ]+add 1049214\(%rip\),%rcx +# 1013c8 <.*> + +1143: 48 03 0d 7e 02 20 00[ ]+add 2097790\(%rip\),%rcx +# 2013c8 <.*> # -> R_X86_64_TPOFF64 *ABS*+0x44 +114a: 90[ ]+nop * +114b: 90[ ]+nop * @@ -177,7 +177,7 @@ Disassembly of section .text: +1155: 00 00 * +1157: 90[ ]+nop * +1158: 90[ ]+nop * - +1159: 48 03 0d 20 02 10 00[ ]+add 1049120\(%rip\),%rcx +# 101380 <.*> + +1159: 48 03 0d 20 02 20 00[ ]+add 2097696\(%rip\),%rcx +# 201380 <.*> # -> R_X86_64_TPOFF64 *ABS*+0x64 +1160: 90[ ]+nop * +1161: 90[ ]+nop * @@ -185,7 +185,7 @@ Disassembly of section .text: +1163: 90[ ]+nop * # Direct access through %fs # IE against global var - +1164: 48 8b 0d 1d 02 10 00[ ]+mov 1049117\(%rip\),%rcx +# 101388 <.*> + +1164: 48 8b 0d 1d 02 20 00[ ]+mov 2097693\(%rip\),%rcx +# 201388 <.*> # -> R_X86_64_TPOFF64 sg5 +116b: 90[ ]+nop * +116c: 90[ ]+nop * @@ -195,7 +195,7 @@ Disassembly of section .text: +1173: 90[ ]+nop * +1174: 90[ ]+nop * # IE against local var - +1175: 4c 8b 15 dc 01 10 00[ ]+mov 1049052\(%rip\),%r10 +# 101358 <.*> + +1175: 4c 8b 15 dc 01 20 00[ ]+mov 2097628\(%rip\),%r10 +# 201358 <.*> # -> R_X86_64_TPOFF64 *ABS*+0x30 +117c: 90[ ]+nop * +117d: 90[ ]+nop * @@ -205,7 +205,7 @@ Disassembly of section .text: +1184: 90[ ]+nop * +1185: 90[ ]+nop * # IE against hidden and local var - +1186: 48 8b 15 13 02 10 00[ ]+mov 1049107\(%rip\),%rdx +# 1013a0 <.*> + +1186: 48 8b 15 13 02 20 00[ ]+mov 2097683\(%rip\),%rdx +# 2013a0 <.*> # -> R_X86_64_TPOFF64 *ABS*+0x50 +118d: 90[ ]+nop * +118e: 90[ ]+nop * @@ -215,7 +215,7 @@ Disassembly of section .text: +1195: 90[ ]+nop * +1196: 90[ ]+nop * # IE against hidden but not local var - +1197: 48 8b 0d 0a 02 10 00[ ]+mov 1049098\(%rip\),%rcx +# 1013a8 <.*> + +1197: 48 8b 0d 0a 02 20 00[ ]+mov 2097674\(%rip\),%rcx +# 2013a8 <.*> # -> R_X86_64_TPOFF64 *ABS*+0x70 +119e: 90[ ]+nop * +119f: 90[ ]+nop * --- binutils/ld/testsuite/ld-x86-64/tlspic.rd.2mb 2006-02-02 14:57:50.000000000 -0800 +++ binutils/ld/testsuite/ld-x86-64/tlspic.rd 2006-05-25 07:38:18.000000000 -0700 @@ -17,11 +17,11 @@ Section Headers: \[ 5\] .rela.plt +.* \[ 6\] .plt +.* \[ 7\] .text +PROGBITS +0+1000 0+1000 0+1ac 00 +AX +0 +0 4096 - \[ 8\] .tdata +PROGBITS +0+1011ac 0+11ac 0+60 00 WAT +0 +0 +1 - \[ 9\] .tbss +NOBITS +0+10120c 0+120c 0+20 00 WAT +0 +0 +1 - \[10\] .dynamic +DYNAMIC +0+101210 0+1210 0+130 10 +WA +3 +0 +8 - \[11\] .got +PROGBITS +0+101340 0+1340 0+90 08 +WA +0 +0 +8 - \[12\] .got.plt +PROGBITS +0+1013d0 0+13d0 0+20 08 +WA +0 +0 +8 + \[ 8\] .tdata +PROGBITS +0+2011ac 0+11ac 0+60 00 WAT +0 +0 +1 + \[ 9\] .tbss +NOBITS +0+20120c 0+120c 0+20 00 WAT +0 +0 +1 + \[10\] .dynamic +DYNAMIC +0+201210 0+1210 0+130 10 +WA +3 +0 +8 + \[11\] .got +PROGBITS +0+201340 0+1340 0+90 08 +WA +0 +0 +8 + \[12\] .got.plt +PROGBITS +0+2013d0 0+13d0 0+20 08 +WA +0 +0 +8 \[13\] .shstrtab +.* \[14\] .symtab +.* \[15\] .strtab +.* @@ -36,10 +36,10 @@ There are 4 program headers, starting at Program Headers: Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align - LOAD +0x0+ 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x100000 - LOAD +0x0+11ac 0x0+1011ac 0x0+1011ac 0x0+244 0x0+244 RW +0x100000 - DYNAMIC +0x0+1210 0x0+101210 0x0+101210 0x0+130 0x0+130 RW +0x8 - TLS +0x0+11ac 0x0+1011ac 0x0+1011ac 0x0+60 0x0+80 R +0x1 + LOAD +0x0+ 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x200000 + LOAD +0x0+11ac 0x0+2011ac 0x0+2011ac 0x0+244 0x0+244 RW +0x200000 + DYNAMIC +0x0+1210 0x0+201210 0x0+201210 0x0+130 0x0+130 RW +0x8 + TLS +0x0+11ac 0x0+2011ac 0x0+2011ac 0x0+60 0x0+80 R +0x1 Section to Segment mapping: Segment Sections... --- binutils/ld/testsuite/ld-x86-64/tlspic.sd.2mb 2004-05-11 10:08:36.000000000 -0700 +++ binutils/ld/testsuite/ld-x86-64/tlspic.sd 2006-05-25 07:43:30.000000000 -0700 @@ -8,12 +8,12 @@ .*: +file format elf64-x86-64 Contents of section .got: - 101340 00000000 00000000 20000000 00000000 .* - 101350 00000000 00000000 00000000 00000000 .* - 101360 00000000 00000000 00000000 00000000 .* - 101370 00000000 00000000 60000000 00000000 .* - 101380 00000000 00000000 00000000 00000000 .* - 101390 00000000 00000000 00000000 00000000 .* - 1013a0 00000000 00000000 00000000 00000000 .* - 1013b0 00000000 00000000 00000000 00000000 .* - 1013c0 40000000 00000000 00000000 00000000 .* + 201340 00000000 00000000 20000000 00000000 .* + 201350 00000000 00000000 00000000 00000000 .* + 201360 00000000 00000000 00000000 00000000 .* + 201370 00000000 00000000 60000000 00000000 .* + 201380 00000000 00000000 00000000 00000000 .* + 201390 00000000 00000000 00000000 00000000 .* + 2013a0 00000000 00000000 00000000 00000000 .* + 2013b0 00000000 00000000 00000000 00000000 .* + 2013c0 40000000 00000000 00000000 00000000 .* --- binutils/ld/testsuite/ld-x86-64/tlspic.td.2mb 2004-05-11 10:08:36.000000000 -0700 +++ binutils/ld/testsuite/ld-x86-64/tlspic.td 2006-05-25 07:36:49.000000000 -0700 @@ -8,9 +8,9 @@ .*: +file format elf64-x86-64 Contents of section .tdata: - 1011ac 11000000 12000000 13000000 14000000 .* - 1011bc 15000000 16000000 17000000 18000000 .* - 1011cc 41000000 42000000 43000000 44000000 .* - 1011dc 45000000 46000000 47000000 48000000 .* - 1011ec 01010000 02010000 03010000 04010000 .* - 1011fc 05010000 06010000 07010000 08010000 .* + 2011ac 11000000 12000000 13000000 14000000 .* + 2011bc 15000000 16000000 17000000 18000000 .* + 2011cc 41000000 42000000 43000000 44000000 .* + 2011dc 45000000 46000000 47000000 48000000 .* + 2011ec 01010000 02010000 03010000 04010000 .* + 2011fc 05010000 06010000 07010000 08010000 .*