Hi, Yuval Kogman wrote: > On Thu, Aug 25, 2005 at 15:42:28 +0200, Ingo Blechschmidt wrote: >> This section will contain all information needed: >> * User-defined operators >> * Other symbols exported by "is export" >> * Exported macros > > Okay, this raises a distinction: > > Compile time exports > Runtime exports
Well, all exports happen at compile-time, but you're right, some exports (regular subs) will probably not be used before runtime. > If I compile foo.pl, which uses SomeModule, and SomeModule exports > stuff at compile time, and foo.pl's object code is saved, what > happens when SomeModule is upgraded? Right. If you upgrade your glibc to an ABI-incompatible version, things will probably break. But, as you say, we can... > try to link the runtime symbols anyway, the user expects it to > work > > try to recompile foo.pl if it's source code is available > > when compiling foo.pl, prelink SomeModule's runtime symbols into > it, to ensure that no other version of SomeModule can affect > foo.pl's emitted code. This can be a recursive or non recursive > process. --Ingo -- Linux, the choice of a GNU | Mr. Cole's Axiom: The sum of the generation on a dual AMD | intelligence on the planet is a constant; Athlon! | the population is growing.