Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/lib/libc



   Date: Sun, 12 Jul 2015 01:48:10 +1000
   from: matthew green <mrg%eterna.com.au@localhost>

   thanks for doing this.  however, i noticed one problem:

   (3) an ELF global symbol `__foo50' implementing its new signature (yes,
       `__foo50', not `__foo60').

   this is not actually the way we'd *prefer* to do it, and it's beeon this
   this way most of the time in the past, but not always.  that your main
   example for time_t change got it wrong isn't any excuse to continue the
   problem.  (c.f., vfork14 which might be a better example?)

   if we changed in 6.0, the new symbol should say "60" in it.

OK.  __foo50 for what was introduced in 6.0 always seemed silly to me,
but every example I found was done that way.

Further examination reveals that we've basically been random and
inconsistent about it, including __diagassert13 which I believe was
first included in 1.6.

So it looks like I ought to find a better example -- perhaps
__sigprocmask14, whose signature changed, making it a little more
obvious than __vfork14 -- and rewrite that section, with a footnote
explaining the historical inconsistency.

(I wrote that document originally just to describe current practices
and rationale so that we could figure out what to do in the future
with ELF symbol versioning, or when Someone^TM designs and implements
the mythical Object Relocation Container to replace ELF.)


Home | Main Index | Thread Index | Old Index