[jamming] FT Jam 2.5.3 second release candidate (fix GCC 4.2 crashes)
Ingo Weinhold
bonefish at cs.tu-berlin.de
Tue Jun 19 05:53:43 PDT 2007
On 2007-06-19 at 12:26:11 [+0200], David Turner <david at freetype.org> wrote:
>
> a stripped version of the diff between rc1 and rc2 is attached, containing
> only the changes
> related to the aliasing issues. I have no idea if this patch applies to
> classic Jam though,
> let me know if you try this.
>
> the problem was in the implementation of Jam's hash tables. A single
> function called
> "hashitem" that takes a void** parameter was the culprit. the parameter was
> typically
> the address of a "key" structure, but casting a dereferenced void** is no
> longer kosher
> with GCC 4.2 due to its more aggressive alisaing optimizations.
>
> I replaced the single hashitem() function by two distinct ones (hashget()
> and hashput())
> who avoid the problem completely by using a different way to pass key
> parameters. this
> required changing all clients of the hash table interface. Fortunately,
> there aren't that
> many in the code.
>
> Hope this helps,
Sure, thanks a lot!
CU, Ingo
More information about the jamming
mailing list