Re: Plan B for fixing 5.8.2 binary API
On Mon, 13 Oct 2003 14:45:53 -0400, Chip Salzenberg <email@example.com>
>According to Jan Dubois:
>> For ActivePerl, binary compatibility is even more restrictive: I
>> also care about forward compatibility, compiling modules with 5.8.1
>> and having them work with 5.8.0.
>Then, as you probably realize, you could not have enabled hash seeding
>even if this bug had not existed; if you had left it enabled, XS DLLs
>would reference at least one new external symbol (PL_hash_seed).
Yes, I realized that. Otherwise I would use USE_HASH_SEED_EXPLICIT and
just rebuild the whole PPM repository with 5.8.1 before we release the
corresponding ActivePerl. Then people could enable it explicitly if they
did a clean install. Alas, that breaks binary compatibility.
>> This won't work if the 5.8.1 headers redefine standard functions as
>> macros to new APIs because the dynamic loader will not find those
>> when loading into 5.8.0.
>So if NO_HASH_SEED is defined, renaming is verboten? OK. In that
>case it would be a no-op, so just avoiding it is better anyway.