> From [EMAIL PROTECTED] Thu Nov  7 18:30:04 2002
> Date: Thu, 07 Nov 2002 15:26:57 -0800
> From: Terry Lambert <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED]
> Cc: [EMAIL PROTECTED]
> Subject: Re: [PATCH] note the __sF change in src/UPDATING
>
>
> Specifically, I do not buy the idea that there is a necessity
> for the existance of data interfaces, as opposed to procedural
> interfaces.
>
> And procedural interfaces are fixable with weak symbols.
>
> The thing that's screwing us with __sF is that it is a data block
> that's directly referenced without the use of an accessor function,
> and thefore there are global data references, rather than accessor
> or mutator function references.
>
> As a result, when the underlying data changes, the code that has
> already been compiled to reference it, must also change.
>
> This problem has already been fixed with errno.  It has already
> been fixed with strerror() (though unfortunately, the sys_errlist[]
> and sys_nerr references remain unwrapped).  It has been fixed in
> many other places (e.g. the curses library used to export row and
> column count integers, and doesn't any more).
>
> It's very obvious to me that defining a *non-inline* function to
> return the correct __sF entry by entry ID will erase this problem
> for a future version of FreeBSD, while leaving the __sF invisible
> for a revision cycle, so that new applications will get the
> function reference, and old applications will get the __sF reference
> they expect, and continue to compile and link correctly.

Hear hear, I agree. There's no need to expose what ought to be
"private" data to the world, especially when we can get the additional
benefit here of letting us play with the implementation.

- @

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to