This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: __* in installed headers


Roland McGrath <roland@frob.com> writes:

> The changes I see are that you have moved the __ prototypes by hand to the
> new headers.  Would you like me now to demonstrate changing a public
> prototype and failing to update the internal header by hand?

This is not what I said is guaranteed.  What is guaranteed is that the
internally used headers are a superset of the externally used headers.
I know that changing only one interface is troublesome.  But let's see
the case:

- system calls.  They are implemented in assembler and gcc cannot check
  the prototypes.  This is the problematic but there are not many system
  calls to be added.

- all other functions.  Here gcc checks the correctness of the prototypes
  (i.e., that both are matching) since using the weak_alias macro it
  knows what going on.

I.e., we only have this problem with system calls.

> I also must say it is a bit irksome that you go ahead and make such a
> change after asking for discussion on its merits, while the discussion is
> still taking place.

Well, I've made this change after some silence.  I've read your mail
after I made all the changes.  This was not intended to offend
anybody, it's just that from my point of view the disadvantages were
not that critical.  Plus, the current solution of placing the
prototypes in the files in include/ need not be the final solution.  I
just want to have the real headers to be clean and this is something I
think is critical.  I don't agree that adding a warning is enough.
We've seen this in the past, people are too stupid.

So, if we can come up with a better solution then the duplication of
the prototyeps as it is done now, fine.  But the installed headers
should have the form they have now.  They are part of the documented
interface and therefore need to be accurate.

-- 
---------------.      drepper at gnu.org  ,-.   1325 Chesapeake Terrace
Ulrich Drepper  \    ,-------------------'   \  Sunnyvale, CA 94089 USA
Cygnus Solutions `--' drepper at cygnus.com   `------------------------


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]