Opened 16 years ago

Closed 15 years ago

#234 closed defect (fixed)

ld: Align .text by 16 bytes

Reported by: KO Myung-Hun Owned by: bird
Priority: normal Milestone: libc-0.6.5
Component: emx Version: 0.6.4
Severity: normal Keywords:
Cc:

Description

Hi/2.

Current, ld aligns .data/.bss by 16 bytes for SSE, but .text by 4 bytes.

Some libraries such as x264 require to align .text by 16 bytes as well.

So there is need to align .text by 16 bytes as well.

Attachments (3)

ld.diff​ (497 bytes ) - added by KO Myung-Hun 16 years ago.
Align .text by 16 bytes
ld.zip​ (46.1 KB ) - added by KO Myung-Hun 16 years ago.
Patched ld.exe
segtest.zip​ (1.4 KB ) - added by KO Myung-Hun 15 years ago.
testcase for crash of a new ld

Download all attachments as: .zip

Change History (6)

by KO Myung-Hun, 16 years ago

Attachment: ld.diff​ added

Align .text by 16 bytes

by KO Myung-Hun, 16 years ago

Attachment: ld.zip​ added

Patched ld.exe

comment:1 by bird, 15 years ago

Milestone: → libc-0.6.5
Priority: high → normal
Resolution: → fixed
Status: new → closed
Summary: Align .text by 16 bytes → ld: Align .text by 16 bytes
Version: → 0.6.4

Addressed in r3749 and r3750. Case closed.

comment:2 by KO Myung-Hun, 15 years ago

Resolution: fixed
Status: closed → reopened

r3749 and r3750 causes the executable to crash.

I attach a testcase.

To build it, run segmake.cmd. Then run seg.exe. The following is the result

Killed by SIGSEGV
pid=0x061f ppid=0x0549 tid=0x0001 slot=0x00b7 pri=0x0200 mc=0x0001
G:\EX\SEG.EXE
SEG 0:000001f8
cs:eip=005b:000101f8      ss:esp=0053:0212ff8c      ebp=0212ffa0
 ds=0053      es=0053      fs=150b      gs=0000     efl=00012283
eax=000100df ebx=0212ffa8 ecx=00000001 edx=00000001 edi=00000000 esi=00000000
Process dumping was disabled, use DUMPPROC / PROCDUMP to enable it.

by KO Myung-Hun, 15 years ago

Attachment: segtest.zip​ added

testcase for crash of a new ld

comment:3 by bird, 15 years ago

Resolution: → fixed
Status: reopened → closed

Fixed in r3763 and r3764. Thanks for noticing.

Note: See TracTickets for help on using tickets.