mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-25 13:09:48 +00:00
gas/
2005-05-09 Jan Beulich <jbeulich@novell.com> * config/tc-i386.c (optimize_disp): Discard displacement entirely when zero and not required by encoding constraints. gas/testsuite/ 2005-05-09 Jan Beulich <jbeulich@novell.com> * gas/i386/tlsd.[sd]: Adjust to not assume zero displacement will actually be present in memory addressing. * gas/i386/tlspic.[sd]: Likewise.
This commit is contained in:
parent
c9cd7160d8
commit
34d9ee9e68
@ -1,3 +1,8 @@
|
||||
2005-05-09 Jan Beulich <jbeulich@novell.com>
|
||||
|
||||
* config/tc-i386.c (optimize_disp): Discard displacement entirely when zero and
|
||||
not required by encoding constraints.
|
||||
|
||||
2005-05-09 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR 936
|
||||
|
@ -2082,7 +2082,13 @@ optimize_disp ()
|
||||
disp &= (((offsetT) 2 << 31) - 1);
|
||||
disp = (disp ^ ((offsetT) 1 << 31)) - ((addressT) 1 << 31);
|
||||
}
|
||||
if (flag_code == CODE_64BIT)
|
||||
if (!disp && (i.types[op] & BaseIndex))
|
||||
{
|
||||
i.types[op] &= ~Disp;
|
||||
i.op[op].disps = 0;
|
||||
i.disp_operands--;
|
||||
}
|
||||
else if (flag_code == CODE_64BIT)
|
||||
{
|
||||
if (fits_in_signed_long (disp))
|
||||
i.types[op] |= Disp32S;
|
||||
|
@ -1,3 +1,9 @@
|
||||
2005-05-09 Jan Beulich <jbeulich@novell.com>
|
||||
|
||||
* gas/i386/tlsd.[sd]: Adjust to not assume zero displacement will
|
||||
actually be present in memory addressing.
|
||||
* gas/i386/tlspic.[sd]: Likewise.
|
||||
|
||||
2005-05-07 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR 940
|
||||
|
@ -22,10 +22,10 @@ Disassembly of section .text:
|
||||
[ ]+1f: R_386_TLS_LDM bar
|
||||
23: e8 fc ff ff ff [ ]*call 24 <fn\+0x24>
|
||||
[ ]+24: R_386_PLT32 ___tls_get_addr
|
||||
28: 8d 7f 00 [ ]*lea 0x0\(%edi\),%edi
|
||||
28: 83 c7 00 [ ]*add \$0x0,%edi
|
||||
2b: 8d 90 00 00 00 00 [ ]*lea 0x0\(%eax\),%edx
|
||||
[ ]+2d: R_386_TLS_LDO_32 bar
|
||||
31: 8d 76 00 [ ]*lea 0x0\(%esi\),%esi
|
||||
31: 83 c6 00 [ ]*add \$0x0,%esi
|
||||
34: 8d 88 00 00 00 00 [ ]*lea 0x0\(%eax\),%ecx
|
||||
[ ]+36: R_386_TLS_LDO_32 baz
|
||||
3a: 8b 5d fc [ ]*mov 0xfffffffc\(%ebp\),%ebx
|
||||
|
@ -26,13 +26,13 @@ fn:
|
||||
call ___tls_get_addr@PLT
|
||||
|
||||
/* Just show that there can be arbitrary instructions here */
|
||||
leal 0(%edi, 1), %edi
|
||||
addl $0, %edi
|
||||
|
||||
leal bar@DTPOFF(%eax), %edx
|
||||
/* %edx now contains &bar */
|
||||
|
||||
/* Again, arbitrary instructions */
|
||||
leal 0(%esi, 1), %esi
|
||||
addl $0, %esi
|
||||
|
||||
leal baz@DTPOFF(%eax), %ecx
|
||||
/* %ecx now contains &baz */
|
||||
|
@ -1,5 +1,5 @@
|
||||
#objdump: -dr
|
||||
#name: i386 non-pic tls
|
||||
#name: i386 pic tls
|
||||
|
||||
.*: +file format .*
|
||||
|
||||
@ -15,12 +15,12 @@ Disassembly of section .text:
|
||||
b: 81 c3 03 00 00 00 [ ]*add \$0x3,%ebx
|
||||
[ ]+d: R_386_GOTPC _GLOBAL_OFFSET_TABLE_
|
||||
11: 65 a1 00 00 00 00 [ ]*mov %gs:0x0,%eax
|
||||
17: 8d 76 00 [ ]*lea 0x0\(%esi\),%esi
|
||||
17: 83 c6 00 [ ]*add \$0x0,%esi
|
||||
1a: 2b 83 00 00 00 00 [ ]*sub 0x0\(%ebx\),%eax
|
||||
[ ]+1c: R_386_TLS_IE_32 foo
|
||||
20: 8b 83 00 00 00 00 [ ]*mov 0x0\(%ebx\),%eax
|
||||
[ ]+22: R_386_TLS_GOTIE foo
|
||||
26: 8d 76 00 [ ]*lea 0x0\(%esi\),%esi
|
||||
26: 83 c6 00 [ ]*add \$0x0,%esi
|
||||
29: 65 8b 00 [ ]*mov %gs:\(%eax\),%eax
|
||||
2c: 65 8b 0d 00 00 00 00 [ ]*mov %gs:0x0,%ecx
|
||||
33: 03 8b 00 00 00 00 [ ]*add 0x0\(%ebx\),%ecx
|
||||
|
@ -17,7 +17,7 @@ fn:
|
||||
movl %gs:0, %eax
|
||||
|
||||
/* Arbitrary instructions in between. */
|
||||
leal 0(%esi, 1), %esi
|
||||
addl $0, %esi
|
||||
|
||||
subl foo@GOTTPOFF(%ebx), %eax
|
||||
/* %eax now contains &foo */
|
||||
@ -26,7 +26,7 @@ fn:
|
||||
movl foo@GOTNTPOFF(%ebx), %eax
|
||||
|
||||
/* Arbitrary instructions in between. */
|
||||
leal 0(%esi, 1), %esi
|
||||
addl $0, %esi
|
||||
|
||||
movl %gs:(%eax), %eax
|
||||
/* %eax now contains foo */
|
||||
|
Loading…
Reference in New Issue
Block a user