ANALYSIS OF THE BUG
───────────────────

Thorsten Glaser dixit:

>Package: mksh
>Version: 37.2-1
>Severity: important
>
>https://buildd.debian.org/fetch.cgi?pkg=mksh;ver=37.2-1;arch=ia64;stamp=1238953108
>
>While the package builds, it is unusable, as the regression tests
>show: it SIGBUSes bpicky about alignment too).

.oO(reportbug and UTF-8 apostrophes don’t match)

Let’s try this again:

│[22]https://buildd.debian.org/fetch.cgi?pkg=mksh;ver=37.2-1;arch=ia64;stamp=1238953108
│
│While the package builds, it is unusable, as the regression tests
│show: it SIGBUSes – on IA64 only (not Alpha, which is normally quite
│picky about alignment too).
│
│I’m currently in the process of obtaining access to a porter machine
│to try and hunt it down. This is a TODO item for myself (maintainer).

Now well. Much better.

I just got an account on merulo (thanks Weasel!) and got into the
case. The reason is:

A sigsetjmp buffer is allocated as part of a structure. However,
gcc aligns the buffer relatively to the begin of the structure,
while the mksh internal allocator subtracts a pointer from the
beginning of the memory returned from malloc for internal use.

This needs very deep code changes to be fixed properly. The old
allocator just happened to work “better” because it used two
pointers (and ate more memory, consequently). This would not al-
ways work though (consider SSE or PadLock™ on ILP32).

I’ll (have to) fix this upstream.

//mirabilos
-- 
Solange man keine schmutzigen Tricks macht, und ich meine *wirklich*
schmutzige Tricks, wie bei einer doppelt verketteten Liste beide
Pointer XORen und in nur einem Word speichern, funktioniert Boehm ganz
hervorragend.           -- Andreas Bogk über boehm-gc in d.a.s.r



--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to