From <IMAP4.psuedo.sims> Mon May 19 10:42:15 2008
Date: Mon, 19 May 2008 10:42:15 -0700 (PDT)
From: Postmaster
Subject: Message from mail server       
Content-Length: 94
Mime-Version: 1.0
Status: RO
X-IMAP: 1211218934 28

Delete.
This is a system message.                                













--END+PSEUDO--

From sacadmin Sun May 11 11:57:31 2008
Received: from sunraf.sfbay.sun.com (sunraf.SFBay.Sun.COM [129.146.177.11])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4BIvVY0014688;
	Sun, 11 May 2008 11:57:31 -0700 (PDT)
Received: from sunraf.sfbay.sun.com (localhost [127.0.0.1])
	by sunraf.sfbay.sun.com (8.14.3+Sun/8.14.3) with ESMTP id m4BIvUsf101239;
	Sun, 11 May 2008 11:57:30 -0700 (PDT)
Received: (from raf@localhost)
	by sunraf.sfbay.sun.com (8.14.3+Sun/8.14.3/Submit) id m4BIvTIo101235;
	Sun, 11 May 2008 11:57:30 -0700 (PDT)
Date: Sun, 11 May 2008 11:57:30 -0700 (PDT)
From: "Roger A. Faulkner" <raf@sunraf.sfbay.sun.com>
Message-Id: <200805111857.m4BIvTIo101235@sunraf.sfbay.sun.com>
To: PSARC-record@sac.sfbay.sun.com
Subject: expunge synonyms.h [PSARC/2008/309 FastTrack timeout 05/19/2008]
Content-Length: 556
Status: RO
X-Status: $$$$
X-UID: 0000000001


Template Version: @(#)sac_nextcase 1.66 04/17/08 SMI
This information is Copyright 2008 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
	 expunge synonyms.h
    1.2. Name of Document Author/Supplier:
	 Author:  Roger Faulkner
    1.3  Date of This Document:
	11 May, 2008
4. Technical Description
    See the case directory for more detail

6. Resources and Schedule
    6.4. Steering Committee requested information
   	6.4.1. Consolidation C-team Name:
		OS/NET
    6.5. ARC review type: FastTrack
    6.6. ARC Exposure: open


From Roger.Faulkner@sun.com Sun May 11 12:14:21 2008
Received: from jurassic-x4600.sfbay.sun.com (cretaceous.SFBay.Sun.COM [129.146.17.59])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4BJELVp014844
	for <psarc-ext@sac.sfbay.sun.com>; Sun, 11 May 2008 12:14:21 -0700 (PDT)
Received: from jurassic-x4600.sfbay.sun.com (jurassic-x4600.sfbay.sun.com [129.146.17.59])
	by jurassic-x4600.sfbay.sun.com (8.14.2+Sun/8.14.2) with SMTP id m4BJELn2338278;
	Sun, 11 May 2008 12:14:21 -0700 (PDT)
Message-Id: <200805111914.m4BJELn2338278@jurassic-x4600.sfbay.sun.com>
Date: Sun, 11 May 2008 12:14:21 -0700 (PDT)
From: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
Reply-To: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
Subject: PSARC/2008/309 - expunge synonyms.h
To: psarc-ext@sac.sfbay.sun.com
Cc: darrin.johnson@sun.com, rod.evans@sun.com, bart.smaalders@sun.com
MIME-Version: 1.0
Content-Type: TEXT/plain; charset=us-ascii
Content-MD5: xu7TNr1LCSu5f6dgw2kvlg==
X-Mailer: dtmail 1.3.0 @(#)CDE Version 1.7_88 SunOS 5.11 i86pc i386 
Content-Length: 6974
Status: RO
X-Status: $$$$
X-UID: 0000000002

I am sponsoring this fast-track case for myself.
This proposal will time out 05/19/2008

It's not clear that this actually needs PSARC review
since no official interfaces are affected, but it is
a change to the system for old stuff that has been
pervasive in Solaris since Solaris 2.0 and I'd like
to get your opinions.

There are no exported interfaces involved, so there is
no stability level issue.

The proposed release binding (if required) is "minor release"
since no one, certainly not I, wants this to be back-ported
to Solaris 10.

==============================================================
History

Since the dawn of time (that is, since SVR4 came from New Jersey
and became Solaris 2.0), there have been synonym symbols in
the system-supplied libraries, most prevalently in libc.

Synonym symbols come in pairs like this:
        opendir
        _opendir
These two functions are identical.  Not identical contents but
exactly the same location in memory.  This is most commonly
achieved with #pragma weak directives.  (Back in the days of
static system libraries, the notion of 'strong' and 'weak'
symbols had some meaning, but with dynamically linked system
libraries the distinction is lost and the two symbols are just
alternate names for the same function.)

The motivation for synonym symbols is to allow applications
and system libraries to define and use the same symbol names
without hurting with each other.  Standards-conforming applications
are constrained not to define or call functions with leading
underscores in their names.  The system libraries are not so
constrained.

So, for example, libc defines opendir() and it calls opendir()
internally in its implementation of ttyname().  If an application
defines its own version of opendir() (which does something entirely
different from opendir() in libc) and the application also calls
ttyname() in libc, which instance of opendir() will be called by
libc's ttyname()?

The solution to this problem has historically (since the dawn of time)
been synonym symbols.  Internally, libc calls the _opendir() symbol.
This way, the application can define and use its opendir() function
for whatever it chooses and there will be no problem when the
application calls ttyname().

The implementation of this scheme for system libraries involves
special header files, usr/src/lib/libc/inc/synonyms.h for libc and
usr/src/lib/common/inc/c_synonyms.h for all other system libraries.
These header files contain definitions like these:
        #define openat          _openat
        #define opendir         _opendir
        #define openlog         _openlog
        #define open            _open
There are over one thousand definitions in each file.
For the scheme to work, every source file in libc must do this:
        #include "synonyms.h"
before including any other header file.

Neither synonyms.h nor c_synonyms.h are delivered as header files
for Solaris.  They are OS/NET consolidation-private files.

The source code for ttyname() in libc shows a call to opendir(),
but by virtue of including "synonyms.h", the compiled code
actually calls _opendir().

For the scheme to work for all system libraries delivered from
the OS/NET consolidation, all other libraries are required to
include "c_synonyms.h" before any other header file in every
one of their source files.  Some of them do (libnsl, libresolve,
libgen plus a few others) but the vast majority of them do not.

So the synonyms scheme is a failure for most libraries, due to
historical omission.

==============================================================
The better solution

So much for history.  Now for today's situation.

The change for this bug report was recently integrated
into /ws/onnv-gate:

4947191 OSNet should use direct bindings

This causes all OS/NET libraries, including libc, to be built
using direct binding (-B direct).  As a result, all symbols
referenced by a library are bound either to the definition
within itself or to the definition within its direct dependencies.

This solves the problem for which synonyms were invented
in an elegant and global way.  Now all libraries in OS/NET
have the benefit of not damaging or being damaged by an
application's redefinition of a symbol that the library calls.
The application calls its instance and the library calls its
instance, even though both instances have the same name.
(Excepting, of course, symbols in the malloc() family and
other symbols explicitly defined to be interposable symbols
by default.  These have all been marked NODIRECT in the
appropriate mapfiles.  [The devil is in the details.])

This renders the whole synonyms scheme obsolete.

The final stage of this evolution is to expunge the
various synonyms.h files:
        usr/src/cmd/sgs/libelf/common/syn.h
        usr/src/cmd/sgs/rtld/common/_synonyms.h
        usr/src/lib/common/inc/c_synonyms.h
        usr/src/lib/libc/inc/synonyms.h
        usr/src/lib/libcrypt/inc/des_synonyms.h
        usr/src/lib/libgen/inc/gen_synonyms.h
        usr/src/lib/libtsnet/common/synonyms.h
and to fix all of the source files that include them.

Also, most of the leading-underscore symbols involved
in the synonyms scheme are versioned SUNWprivate_1.1
(over 600 of them).  Many others are versioned public,
some because they are defined in the SVID, hence the ABI,
but others because of mistakes made along the way wherein
developers mistakenly thought that the leading-underscore
symbols should be versioned the same as the primary symbols.

In an ideal world, the SUNWprivate symbols could just be
eliminated since nothing outside of OS/NET can legitimately
call them, and they are not part of the ABI.  This would
reduce the number of symbols exported from libc by 25%.
The non-private symbols cannot be eliminated (although
I wish they could).

However, a search of all of the executables and libraries
not delivered from OS/NET and also all the executables and
libraries in /usr/dist reveals that /lib/libm.so.2, some
older versions of the Studio compiler/debugger components,
and some ancient programs in /usr/dist call 55 of the
SUNWprivate symbols.  So these 55 must be retained,
hopefully to be removed in some future update of Solaris.

==============================================================
The proposal

This brings us to the change being proposed by this PSARC case:

1. Delete these header files from the OS/NET consolidation:
        usr/src/cmd/sgs/libelf/common/syn.h
        usr/src/cmd/sgs/rtld/common/_synonyms.h
        usr/src/lib/common/inc/c_synonyms.h
        usr/src/lib/libc/inc/synonyms.h
        usr/src/lib/libcrypt/inc/des_synonyms.h
        usr/src/lib/libgen/inc/gen_synonyms.h
        usr/src/lib/libtsnet/common/synonyms.h
   and fix all of the source files that include them.

2. Eliminate all of the SUNWprivate leading-underscore symbols
   involved in the synonyms scheme except for the 55 that were
   discovered to be used outside of OS/NET.

Roger Faulkner


From Andrew.Gabriel@Sun.COM Sun May 11 16:56:53 2008
Received: from dm-sfbay-02.sfbay.sun.com (dm-sfbay-02.SFBay.Sun.COM [129.146.11.31])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4BNurRn018974
	for <psarc-ext@sac.sfbay.sun.com>; Sun, 11 May 2008 16:56:53 -0700 (PDT)
Received: from gmp-eb-inf-2.sun.com (gmp-eb-inf-2.EU.Sun.COM [192.18.6.24])
	by dm-sfbay-02.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m4BNuqWI013919
	for <psarc-ext@sac.sfbay.sun.com>; Sun, 11 May 2008 16:56:52 -0700 (PDT)
Received: from fe-emea-10.sun.com (gmp-eb-lb-2-fe1.eu.sun.com [192.18.6.10])
	by gmp-eb-inf-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m4BNukIF000236
	for <psarc-ext@sac.sfbay.sun.com>; Sun, 11 May 2008 23:56:47 GMT
Received: from conversion-daemon.fe-emea-10.sun.com by fe-emea-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0K0Q00D01A7HSZ00@fe-emea-10.sun.com>
 (original mail from Andrew.Gabriel@Sun.COM) for psarc-ext@sac.sfbay.sun.com;
 Mon, 12 May 2008 00:56:46 +0100 (BST)
Received: from [192.168.2.137] ([62.31.246.243])
 by fe-emea-10.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb 28
 2007)) with ESMTPSA id <0K0Q00K5WAI9DB70@fe-emea-10.sun.com>; Mon,
 12 May 2008 00:56:44 +0100 (BST)
Date: Mon, 12 May 2008 00:56:31 +0100
From: Andrew Gabriel <Andrew.Gabriel@Sun.COM>
Subject: Re: PSARC/2008/309 - expunge synonyms.h
In-reply-to: <200805111914.m4BJELn2338278@jurassic-x4600.sfbay.sun.com>
Sender: Andrew.Gabriel@Sun.COM
To: "Roger A. Faulkner" <Roger.Faulkner@Sun.COM>
Cc: psarc-ext@sac.sfbay.sun.com, Darrin.Johnson@Sun.COM, Rod.Evans@Sun.COM,
        Bart.Smaalders@Sun.COM
Message-id: <482787AF.6050809@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
References: <200805111914.m4BJELn2338278@jurassic-x4600.sfbay.sun.com>
User-Agent: Thunderbird 2.0.0.12 (X11/20080310)
Content-Length: 1275
Status: RO
X-Status: $$$$
X-UID: 0000000003

Roger A. Faulkner wrote:
> However, a search of all of the executables and libraries
> not delivered from OS/NET and also all the executables and
> libraries in /usr/dist reveals that /lib/libm.so.2, some
> older versions of the Studio compiler/debugger components,
> and some ancient programs in /usr/dist call 55 of the
> SUNWprivate symbols.  So these 55 must be retained,
> hopefully to be removed in some future update of Solaris.

Few thoughts...

1) Feels kind of selfish to leave symbols there because
    it would be painful for us to remove them, without
    applying similar considerations to others' code.

2) Could we supply a sticky plaster, possibly in the form
    of an LD_PRELOAD library, which would reinstate the
    symbols for when some unsuspecting customer trips over
    some application which relied on them?

    Perhaps this could even be a workaround which avoids
    retaining the 55 symbols?

3) When appcert(1) is run, it (optionally) mails off the
    results to Sun, apparently so we can check for things
    like this before removing symbols. I've no idea where
    that data ends up in Sun, but seems like it might be a
    good idea to scan it to see if we can identify a worse
    problem than currently anticipated.

-- 
Regards
Andrew

From gdamore@sun.com Sun May 11 20:18:36 2008
Received: from dm-sfbay-01.sfbay.sun.com (dm-sfbay-01.SFBay.Sun.COM [129.145.155.118])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4C3IaML022512
	for <psarc-ext@sac.sfbay.sun.com>; Sun, 11 May 2008 20:18:36 -0700 (PDT)
Received: from sca-es-mail-1.sun.com (sca-es-mail-1.Sun.COM [192.18.43.132])
	by dm-sfbay-01.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m4C3IZf1040961
	for <psarc-ext@sac.sfbay.sun.com>; Sun, 11 May 2008 20:18:35 -0700 (PDT)
Received: from fe-sfbay-09.sun.com ([192.18.43.129])
	by sca-es-mail-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m4C3IU1g026855
	for <psarc-ext@sac.sfbay.sun.com>; Sun, 11 May 2008 20:18:30 -0700 (PDT)
Received: from conversion-daemon.fe-sfbay-09.sun.com by fe-sfbay-09.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0K0Q00E01JUAHS00@fe-sfbay-09.sun.com> (original mail from gdamore@sun.com)
 for psarc-ext@sac.sfbay.sun.com; Sun, 11 May 2008 20:18:30 -0700 (PDT)
Received: from [192.168.251.106] ([76.174.83.55])
 by fe-sfbay-09.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0K0Q00BXSJUTYK00@fe-sfbay-09.sun.com>; Sun,
 11 May 2008 20:18:30 -0700 (PDT)
Date: Sun, 11 May 2008 20:12:30 -0700
From: "Garrett D'Amore" <gdamore@sun.com>
Subject: Re: PSARC/2008/309 - expunge synonyms.h
In-reply-to: <200805111914.m4BJELn2338278@jurassic-x4600.sfbay.sun.com>
Sender: Garrett.Damore@sun.com
To: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
Cc: psarc-ext@sac.sfbay.sun.com, Darrin.Johnson@sun.com, Rod.Evans@sun.com,
        Bart.Smaalders@sun.com
Message-id: <4827B59E.6070005@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
References: <200805111914.m4BJELn2338278@jurassic-x4600.sfbay.sun.com>
User-Agent: Thunderbird 2.0.0.6 (X11/20071023)
Content-Length: 8379
Status: RO
X-Status: $$$$
X-UID: 0000000004

A probably naive question, but I'm going to ask it anyway.  What impact 
does reducing the number of symbols exported by libc by 25% have on the 
system?  Does it save memory significantly, does it improve runtime somehow?

The reason for the question is one of simply understanding the benefit 
to risk assessment.  If there are applications which rely on SUNWprivate 
symbols which we don't know about, it seems like it could be painful for 
some folks.   If there's not a reasonable benefit to cleaning up the 
cruft (and normally I'm hugely in favor of cleaning cruft), then maybe 
its better to avoid the risk?  (Conversely, if there is likely to be 
noticeable improvement for a significant number of applications, or even 
in the time it takes to compile things like ON, then the benefits may 
well be worth the risk.)

(Certainly it seems that the risk is non-zero, since even within Sun 
we've identified applications which have erroneously relied on private 
APIs.)

Now removing the synonyms *headers* seems like a great idea, 
unconditionally.

    -- Garrett

Roger A. Faulkner wrote:
> I am sponsoring this fast-track case for myself.
> This proposal will time out 05/19/2008
>
> It's not clear that this actually needs PSARC review
> since no official interfaces are affected, but it is
> a change to the system for old stuff that has been
> pervasive in Solaris since Solaris 2.0 and I'd like
> to get your opinions.
>
> There are no exported interfaces involved, so there is
> no stability level issue.
>
> The proposed release binding (if required) is "minor release"
> since no one, certainly not I, wants this to be back-ported
> to Solaris 10.
>
> ==============================================================
> History
>
> Since the dawn of time (that is, since SVR4 came from New Jersey
> and became Solaris 2.0), there have been synonym symbols in
> the system-supplied libraries, most prevalently in libc.
>
> Synonym symbols come in pairs like this:
>         opendir
>         _opendir
> These two functions are identical.  Not identical contents but
> exactly the same location in memory.  This is most commonly
> achieved with #pragma weak directives.  (Back in the days of
> static system libraries, the notion of 'strong' and 'weak'
> symbols had some meaning, but with dynamically linked system
> libraries the distinction is lost and the two symbols are just
> alternate names for the same function.)
>
> The motivation for synonym symbols is to allow applications
> and system libraries to define and use the same symbol names
> without hurting with each other.  Standards-conforming applications
> are constrained not to define or call functions with leading
> underscores in their names.  The system libraries are not so
> constrained.
>
> So, for example, libc defines opendir() and it calls opendir()
> internally in its implementation of ttyname().  If an application
> defines its own version of opendir() (which does something entirely
> different from opendir() in libc) and the application also calls
> ttyname() in libc, which instance of opendir() will be called by
> libc's ttyname()?
>
> The solution to this problem has historically (since the dawn of time)
> been synonym symbols.  Internally, libc calls the _opendir() symbol.
> This way, the application can define and use its opendir() function
> for whatever it chooses and there will be no problem when the
> application calls ttyname().
>
> The implementation of this scheme for system libraries involves
> special header files, usr/src/lib/libc/inc/synonyms.h for libc and
> usr/src/lib/common/inc/c_synonyms.h for all other system libraries.
> These header files contain definitions like these:
>         #define openat          _openat
>         #define opendir         _opendir
>         #define openlog         _openlog
>         #define open            _open
> There are over one thousand definitions in each file.
> For the scheme to work, every source file in libc must do this:
>         #include "synonyms.h"
> before including any other header file.
>
> Neither synonyms.h nor c_synonyms.h are delivered as header files
> for Solaris.  They are OS/NET consolidation-private files.
>
> The source code for ttyname() in libc shows a call to opendir(),
> but by virtue of including "synonyms.h", the compiled code
> actually calls _opendir().
>
> For the scheme to work for all system libraries delivered from
> the OS/NET consolidation, all other libraries are required to
> include "c_synonyms.h" before any other header file in every
> one of their source files.  Some of them do (libnsl, libresolve,
> libgen plus a few others) but the vast majority of them do not.
>
> So the synonyms scheme is a failure for most libraries, due to
> historical omission.
>
> ==============================================================
> The better solution
>
> So much for history.  Now for today's situation.
>
> The change for this bug report was recently integrated
> into /ws/onnv-gate:
>
> 4947191 OSNet should use direct bindings
>
> This causes all OS/NET libraries, including libc, to be built
> using direct binding (-B direct).  As a result, all symbols
> referenced by a library are bound either to the definition
> within itself or to the definition within its direct dependencies.
>
> This solves the problem for which synonyms were invented
> in an elegant and global way.  Now all libraries in OS/NET
> have the benefit of not damaging or being damaged by an
> application's redefinition of a symbol that the library calls.
> The application calls its instance and the library calls its
> instance, even though both instances have the same name.
> (Excepting, of course, symbols in the malloc() family and
> other symbols explicitly defined to be interposable symbols
> by default.  These have all been marked NODIRECT in the
> appropriate mapfiles.  [The devil is in the details.])
>
> This renders the whole synonyms scheme obsolete.
>
> The final stage of this evolution is to expunge the
> various synonyms.h files:
>         usr/src/cmd/sgs/libelf/common/syn.h
>         usr/src/cmd/sgs/rtld/common/_synonyms.h
>         usr/src/lib/common/inc/c_synonyms.h
>         usr/src/lib/libc/inc/synonyms.h
>         usr/src/lib/libcrypt/inc/des_synonyms.h
>         usr/src/lib/libgen/inc/gen_synonyms.h
>         usr/src/lib/libtsnet/common/synonyms.h
> and to fix all of the source files that include them.
>
> Also, most of the leading-underscore symbols involved
> in the synonyms scheme are versioned SUNWprivate_1.1
> (over 600 of them).  Many others are versioned public,
> some because they are defined in the SVID, hence the ABI,
> but others because of mistakes made along the way wherein
> developers mistakenly thought that the leading-underscore
> symbols should be versioned the same as the primary symbols.
>
> In an ideal world, the SUNWprivate symbols could just be
> eliminated since nothing outside of OS/NET can legitimately
> call them, and they are not part of the ABI.  This would
> reduce the number of symbols exported from libc by 25%.
> The non-private symbols cannot be eliminated (although
> I wish they could).
>
> However, a search of all of the executables and libraries
> not delivered from OS/NET and also all the executables and
> libraries in /usr/dist reveals that /lib/libm.so.2, some
> older versions of the Studio compiler/debugger components,
> and some ancient programs in /usr/dist call 55 of the
> SUNWprivate symbols.  So these 55 must be retained,
> hopefully to be removed in some future update of Solaris.
>
> ==============================================================
> The proposal
>
> This brings us to the change being proposed by this PSARC case:
>
> 1. Delete these header files from the OS/NET consolidation:
>         usr/src/cmd/sgs/libelf/common/syn.h
>         usr/src/cmd/sgs/rtld/common/_synonyms.h
>         usr/src/lib/common/inc/c_synonyms.h
>         usr/src/lib/libc/inc/synonyms.h
>         usr/src/lib/libcrypt/inc/des_synonyms.h
>         usr/src/lib/libgen/inc/gen_synonyms.h
>         usr/src/lib/libtsnet/common/synonyms.h
>    and fix all of the source files that include them.
>
> 2. Eliminate all of the SUNWprivate leading-underscore symbols
>    involved in the synonyms scheme except for the 55 that were
>    discovered to be used outside of OS/NET.
>
> Roger Faulkner
>
>   


From scott.rotondo@sun.com Sun May 11 23:10:34 2008
Received: from jurassic-x4600.sfbay.sun.com (cretaceous.SFBay.Sun.COM [129.146.17.63])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4C6AYU0025436
	for <psarc-ext@sac.sfbay.sun.com>; Sun, 11 May 2008 23:10:34 -0700 (PDT)
Received: from viaggio.local (punchin-rotondo.SFBay.Sun.COM [10.7.251.213])
	by jurassic-x4600.sfbay.sun.com (8.14.2+Sun/8.14.2) with ESMTP id m4C6AUoR364667;
	Sun, 11 May 2008 23:10:30 -0700 (PDT)
Message-ID: <4827DF91.4060300@sun.com>
Date: Sun, 11 May 2008 23:11:29 -0700
From: Scott Rotondo <scott.rotondo@sun.com>
User-Agent: Thunderbird 2.0.0.14 (Macintosh/20080421)
MIME-Version: 1.0
To: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
CC: psarc-ext@sac.sfbay.sun.com, darrin.johnson@sun.com, rod.evans@sun.com,
        bart.smaalders@sun.com
Subject: Re: PSARC/2008/309 - expunge synonyms.h
References: <200805111914.m4BJELn2338278@jurassic-x4600.sfbay.sun.com>
In-Reply-To: <200805111914.m4BJELn2338278@jurassic-x4600.sfbay.sun.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Length: 532
Status: RO
X-Status: $$$$
X-UID: 0000000005

Roger A. Faulkner wrote:
> 
> However, a search of all of the executables and libraries
> not delivered from OS/NET and also all the executables and
> libraries in /usr/dist reveals that /lib/libm.so.2, some
> older versions of the Studio compiler/debugger components,
> and some ancient programs in /usr/dist call 55 of the
> SUNWprivate symbols.  So these 55 must be retained,
> hopefully to be removed in some future update of Solaris.

If only to satisfy voyeuristic curiosity, could you identify the 55 symbols?

Thanks,
Scott

From jek3@sun.com Mon May 12 00:26:20 2008
Received: from jurassic-x4600.sfbay.sun.com (cretaceous.SFBay.Sun.COM [129.146.17.63])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4C7QJ9M027227
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 12 May 2008 00:26:19 -0700 (PDT)
Received: from [129.150.13.200] (vpn-129-150-13-200.SFBay.Sun.COM [129.150.13.200])
	by jurassic-x4600.sfbay.sun.com (8.14.2+Sun/8.14.2) with ESMTP id m4C7QIDV368711;
	Mon, 12 May 2008 00:26:19 -0700 (PDT)
Message-ID: <4827F172.7090001@sun.com>
Date: Sun, 11 May 2008 21:27:46 -1000
From: Joseph Kowalski <jek3@sun.com>
User-Agent: Thunderbird 2.0.0.9 (X11/20080225)
MIME-Version: 1.0
To: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
CC: psarc-ext@sac.sfbay.sun.com, darrin.johnson@sun.com, rod.evans@sun.com,
        bart.smaalders@sun.com
Subject: Re: PSARC/2008/309 - expunge synonyms.h
References: <200805111914.m4BJELn2338278@jurassic-x4600.sfbay.sun.com>
In-Reply-To: <200805111914.m4BJELn2338278@jurassic-x4600.sfbay.sun.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Length: 704
Status: RO
X-Status: $$$$
X-UID: 0000000006

Roger A. Faulkner wrote:
> 2. Eliminate all of the SUNWprivate leading-underscore symbols
>    involved in the synonyms scheme except for the 55 that were
>    discovered to be used outside of OS/NET.
>   
More correctly, those were the 55 that were discovered by what ever
happened to be in /usr/dist.  I don't think that is sufficient coverage.

However, I also know we can't possibly get enough coverage to be
100% sure.

Which leaves me to the initial view of "Yea, I know its ugly, but is
this worth taking chances for"?  Is the benefit enough?

I need to think about this.  I hope other express their views... in few
words.  I think all of us are well aware of the history (and the bugs).

- jek3


From jek3@sun.com Mon May 12 00:29:46 2008
Received: from jurassic-x4600.sfbay.sun.com (cretaceous.SFBay.Sun.COM [129.146.17.59])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4C7TkRN027241
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 12 May 2008 00:29:46 -0700 (PDT)
Received: from [129.150.13.200] (vpn-129-150-13-200.SFBay.Sun.COM [129.150.13.200])
	by jurassic-x4600.sfbay.sun.com (8.14.2+Sun/8.14.2) with ESMTP id m4C7Tjpt368981;
	Mon, 12 May 2008 00:29:46 -0700 (PDT)
Message-ID: <4827F241.40504@sun.com>
Date: Sun, 11 May 2008 21:31:13 -1000
From: Joseph Kowalski <jek3@sun.com>
User-Agent: Thunderbird 2.0.0.9 (X11/20080225)
MIME-Version: 1.0
To: "Garrett D'Amore" <gdamore@sun.com>
CC: "Roger A. Faulkner" <Roger.Faulkner@sun.com>, psarc-ext@sac.sfbay.sun.com,
        Darrin.Johnson@sun.com, Rod.Evans@sun.com, Bart.Smaalders@sun.com
Subject: Re: PSARC/2008/309 - expunge synonyms.h
References: <200805111914.m4BJELn2338278@jurassic-x4600.sfbay.sun.com> <4827B59E.6070005@sun.com>
In-Reply-To: <4827B59E.6070005@sun.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Length: 297
Status: RO
X-Status: $$$$
X-UID: 0000000007

Garrett D'Amore wrote:
> Now removing the synonyms *headers* seems like a great idea, 
> unconditionally.
Those headers are only in the source tree.  They have never been in 
/usr/include.

I seem to recall squashing a request to do that many years ago (with 
great relish).
Maybe twice.

- jek3


From jek3@sun.com Mon May 12 00:35:24 2008
Received: from jurassic-x4600.sfbay.sun.com (cretaceous.SFBay.Sun.COM [129.146.17.59])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4C7ZOTQ027448
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 12 May 2008 00:35:24 -0700 (PDT)
Received: from [129.150.13.200] (vpn-129-150-13-200.SFBay.Sun.COM [129.150.13.200])
	by jurassic-x4600.sfbay.sun.com (8.14.2+Sun/8.14.2) with ESMTP id m4C7ZIfG369430;
	Mon, 12 May 2008 00:35:23 -0700 (PDT)
Message-ID: <4827F38E.1020106@sun.com>
Date: Sun, 11 May 2008 21:36:46 -1000
From: Joseph Kowalski <jek3@sun.com>
User-Agent: Thunderbird 2.0.0.9 (X11/20080225)
MIME-Version: 1.0
To: "Garrett D'Amore" <gdamore@sun.com>
CC: "Roger A. Faulkner" <Roger.Faulkner@sun.com>, psarc-ext@sac.sfbay.sun.com,
        Darrin.Johnson@sun.com, Rod.Evans@sun.com, Bart.Smaalders@sun.com
Subject: Re: PSARC/2008/309 - expunge synonyms.h
References: <200805111914.m4BJELn2338278@jurassic-x4600.sfbay.sun.com> <4827B59E.6070005@sun.com> <4827F241.40504@sun.com>
In-Reply-To: <4827F241.40504@sun.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Length: 466
Status: RO
X-Status: $$$$
X-UID: 0000000008

Joseph Kowalski wrote:
> I seem to recall squashing a request to do that many years ago (with 
> great relish).
> Maybe twice.
Speaking of "squashing", there have been multiple attempts to publicly 
expose these
symbols.  The rationale is that third party libraries could use the same 
trick - by
binding to _read() rather than read().  That "trick" has merit, but I 
don't think it ever
happened.

(Bart, I think you were a proponent of this.  Comments?)

- jek3



From Roger.Faulkner@sun.com Mon May 12 04:43:26 2008
Received: from jurassic-x4600.sfbay.sun.com (cretaceous.SFBay.Sun.COM [129.146.17.59])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4CBhQ2w002348
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 12 May 2008 04:43:26 -0700 (PDT)
Received: from jurassic-x4600.sfbay.sun.com (jurassic-x4600.sfbay.sun.com [129.146.17.63])
	by jurassic-x4600.sfbay.sun.com (8.14.2+Sun/8.14.2) with SMTP id m4CBhQpq386098;
	Mon, 12 May 2008 04:43:26 -0700 (PDT)
Message-Id: <200805121143.m4CBhQpq386098@jurassic-x4600.sfbay.sun.com>
Date: Mon, 12 May 2008 04:43:26 -0700 (PDT)
From: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
Reply-To: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
Subject: Re: PSARC/2008/309 - expunge synonyms.h
To: scott.rotondo@sun.com
Cc: psarc-ext@sac.sfbay.sun.com, darrin.johnson@sun.com, rod.evans@sun.com,
        bart.smaalders@sun.com
MIME-Version: 1.0
Content-Type: TEXT/plain; charset=us-ascii
Content-MD5: 8X9XIyin0I1OtVDs0WbzcQ==
X-Mailer: dtmail 1.3.0 @(#)CDE Version 1.7_88 SunOS 5.11 i86pc i386 
Content-Length: 4086
Status: RO
X-Status: $$$$
X-UID: 0000000009


> Date: Sun, 11 May 2008 23:11:29 -0700
> From: Scott Rotondo <scott.rotondo@sun.com>
> Subject: Re: PSARC/2008/309 - expunge synonyms.h
> To: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
> Cc: psarc-ext@sac.sfbay.sun.com, darrin.johnson@sun.com, rod.evans@sun.com, 
bart.smaalders@sun.com
> 
> Roger A. Faulkner wrote:
> > 
> > However, a search of all of the executables and libraries
> > not delivered from OS/NET and also all the executables and
> > libraries in /usr/dist reveals that /lib/libm.so.2, some
> > older versions of the Studio compiler/debugger components,
> > and some ancient programs in /usr/dist call 55 of the
> > SUNWprivate symbols.  So these 55 must be retained,
> > hopefully to be removed in some future update of Solaris.
> 
> If only to satisfy voyeuristic curiosity, could you identify the 55 symbols?
> 
> Thanks,
> Scott

These are the ones, from the SUNWprivate_1.1 section of
usr/src/lib/libc/port/mapfile-vers :

# The following functions should not be exported from libc,
# but /lib/libm.so.2, some older versions of the Studio
# compiler/debugger components, and some ancient programs
# found in /usr/dist reference them.  When we no longer
# care about these old and broken binary objects, these
# symbols should be deleted.
        _brk =                          NODYNSORT;
        _cond_broadcast =               NODYNSORT;
        _cond_init =                    NODYNSORT;
        _cond_signal =                  NODYNSORT;
        _cond_wait =                    NODYNSORT;
        _ecvt =                         NODYNSORT;
        _fcvt =                         NODYNSORT;
        _getc_unlocked =                NODYNSORT;
        _llseek =                       NODYNSORT;
        _pthread_attr_getdetachstate =  NODYNSORT;
        _pthread_attr_getinheritsched = NODYNSORT;
        _pthread_attr_getschedparam =   NODYNSORT;
        _pthread_attr_getschedpolicy =  NODYNSORT;
        _pthread_attr_getscope =        NODYNSORT;
        _pthread_attr_getstackaddr =    NODYNSORT;
        _pthread_attr_getstacksize =    NODYNSORT;
        _pthread_attr_init =            NODYNSORT;
        _pthread_condattr_getpshared =  NODYNSORT;
        _pthread_condattr_init =        NODYNSORT;
        _pthread_cond_init =            NODYNSORT;
        _pthread_create =               NODYNSORT;
        _pthread_getschedparam =        NODYNSORT;
        _pthread_join =                 NODYNSORT;
        _pthread_key_create =           NODYNSORT;
        _pthread_mutexattr_getprioceiling =     NODYNSORT;
        _pthread_mutexattr_getprotocol =        NODYNSORT;
        _pthread_mutexattr_getpshared = NODYNSORT;
        _pthread_mutexattr_init =       NODYNSORT;
        _pthread_mutex_getprioceiling = NODYNSORT;
        _pthread_mutex_init =           NODYNSORT;
        _pthread_sigmask =              NODYNSORT;
        _rwlock_init =                  NODYNSORT;
        _rw_rdlock =                    NODYNSORT;
        _rw_unlock =                    NODYNSORT;
        _rw_wrlock =                    NODYNSORT;
        _sbrk_unlocked =                NODYNSORT;
        _select =                       NODYNSORT;
        _sema_init =                    NODYNSORT;
        _sema_post =                    NODYNSORT;
        _sema_trywait =                 NODYNSORT;
        _sema_wait =                    NODYNSORT;
        _sysfs =                        NODYNSORT;
        _thr_create =                   NODYNSORT;
        _thr_exit =                     NODYNSORT;
        _thr_getprio =                  NODYNSORT;
        _thr_getspecific =              NODYNSORT;
        _thr_join =                     NODYNSORT;
        _thr_keycreate =                NODYNSORT;
        _thr_kill =                     NODYNSORT;
        _thr_main =                     NODYNSORT;
        _thr_self =                     NODYNSORT;
        _thr_setspecific =              NODYNSORT;
        _thr_sigsetmask =               NODYNSORT;
        _thr_stksegment =               NODYNSORT;
        _ungetc_unlocked =              NODYNSORT;


From John.Plocher@Sun.COM Mon May 12 07:43:56 2008
Received: from dm-sfbay-01.sfbay.sun.com (dm-sfbay-01.SFBay.Sun.COM [129.145.155.118])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4CEhunQ005762
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 12 May 2008 07:43:56 -0700 (PDT)
Received: from sca-es-mail-2.sun.com (sca-es-mail-2.Sun.COM [192.18.43.133])
	by dm-sfbay-01.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m4CEhuKh039846
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 12 May 2008 07:43:56 -0700 (PDT)
Received: from fe-sfbay-10.sun.com ([192.18.43.129])
	by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m4CEhpc7012836
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 12 May 2008 07:43:51 -0700 (PDT)
Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0K0R00D01FA5SA00@fe-sfbay-10.sun.com>
 (original mail from John.Plocher@Sun.COM) for psarc-ext@sac.sfbay.sun.com;
 Mon, 12 May 2008 07:43:51 -0700 (PDT)
Received: from wp668.local ([208.74.177.212])
 by fe-sfbay-10.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0K0R0092MFL0RK50@fe-sfbay-10.sun.com>; Mon,
 12 May 2008 07:43:48 -0700 (PDT)
Date: Mon, 12 May 2008 07:43:48 -0700
From: John Plocher <John.Plocher@Sun.COM>
Subject: Re: PSARC/2008/309 - expunge synonyms.h
In-reply-to: <200805111914.m4BJELn2338278@jurassic-x4600.sfbay.sun.com>
Sender: John.Plocher@Sun.COM
To: "Roger A. Faulkner" <Roger.Faulkner@Sun.COM>
Cc: psarc-ext@sac.sfbay.sun.com, Bart.Smaalders@Sun.COM, Rod.Evans@Sun.COM,
        Darrin.Johnson@Sun.COM
Message-id: <482857A4.6060707@Sun.Com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
References: <200805111914.m4BJELn2338278@jurassic-x4600.sfbay.sun.com>
User-Agent: Thunderbird 2.0.0.14 (Macintosh/20080421)
Content-Length: 1363
Status: RO
X-Status: $$$$
X-UID: 0000000010

Roger A. Faulkner wrote:
> The proposal
> 
> This brings us to the change being proposed by this PSARC case:
> 
> 1. Delete these header files from the OS/NET consolidation:
>         usr/src/cmd/sgs/libelf/common/syn.h
>         usr/src/cmd/sgs/rtld/common/_synonyms.h
>         usr/src/lib/common/inc/c_synonyms.h
>         usr/src/lib/libc/inc/synonyms.h
>         usr/src/lib/libcrypt/inc/des_synonyms.h
>         usr/src/lib/libgen/inc/gen_synonyms.h
>         usr/src/lib/libtsnet/common/synonyms.h
>    and fix all of the source files that include them.
> 
> 2. Eliminate all of the SUNWprivate leading-underscore symbols
>    involved in the synonyms scheme except for the 55 that were
>    discovered to be used outside of OS/NET.


I'd go out on a limb and suggest that, since this is an obvious case of
not following the instructions, and since we are quickly moving towards
a major release classification for Nevada/ON, which gives one (and probably
only one) honeymoon opportunity to clean up such things, we should simply:

     Delete the header files as above,

     Create a LD_PRELOAD shim that restores these symbols for the
     things that need it, and

     Eliminate all of the SUNWprivate leading-underscore symbols
     involved in the synonyms scheme.  Period.

If something breaks, let it use the preload shim.  End of story.

   -John

From sacadmin Mon May 12 09:09:59 2008
Received: from dm-sfbay-01.sfbay.sun.com (dm-sfbay-01.SFBay.Sun.COM [129.145.155.118])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4CG9x6v008542
	for <psarc-record@sac.sfbay.sun.com>; Mon, 12 May 2008 09:09:59 -0700 (PDT)
Received: from sca-es-mail-1.sun.com (sca-es-mail-1.Sun.COM [192.18.43.132])
	by dm-sfbay-01.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m4CG9xlh036116
	for <psarc-record@sac.sfbay.sun.com>; Mon, 12 May 2008 09:09:59 -0700 (PDT)
Received: from fe-sfbay-09.sun.com ([192.18.43.129])
	by sca-es-mail-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m4CG9sJS025532
	for <psarc-record@sac.sfbay.sun.com>; Mon, 12 May 2008 09:09:54 -0700 (PDT)
Received: from conversion-daemon.fe-sfbay-09.sun.com by fe-sfbay-09.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0K0R00701J3VAC00@fe-sfbay-09.sun.com>
 (original mail from John.Plocher@Sun.COM) for psarc-record@sac.sfbay.sun.com;
 Mon, 12 May 2008 09:09:54 -0700 (PDT)
Received: from wp668.local ([208.74.177.212])
 by fe-sfbay-09.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0K0R00FZXJKE0C20@fe-sfbay-09.sun.com> for
 psarc-record@sac.sfbay.sun.com; Mon, 12 May 2008 09:09:51 -0700 (PDT)
Date: Mon, 12 May 2008 09:09:50 -0700
From: John Plocher <John.Plocher@Sun.COM>
Subject: [Fwd: Re: [arc-discuss] PSARC/2008/309 - expunge synonyms.h]
Sender: John.Plocher@Sun.COM
To: psarc-record@sac.sfbay.sun.com
Message-id: <48286BCE.9080307@Sun.Com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
User-Agent: Thunderbird 2.0.0.14 (Macintosh/20080421)
Content-Length: 1749
Status: RO
X-Status: $$$$
X-UID: 0000000011



-------- Original Message --------
Subject: Re: [arc-discuss] PSARC/2008/309 - expunge synonyms.h
Date: Mon, 12 May 2008 08:43:52 -0700
From: John Plocher <John.Plocher@Sun.COM>
To: Cyril Plisko <cyril.plisko@mountall.com>
CC: arc-discuss@opensolaris.org
References: <200805111914.m4BJELn2338278@jurassic-x4600.sfbay.sun.com> <482857A4.6060707@Sun.Com> <c7dddeaa0805120809s33f84a3ah485bfa09129e4b46@mail.gmail.com>

Cyril Plisko wrote:
>> and since we are quickly moving towards
>>  a major release classification for Nevada/ON, which gives one (and probably
> 
> Wow, that's interesting !

s/we are/I believe we are/

See my earlier email exploring this topic, starting last April and May with:

      http://archive.netbsd.se/?ml=opensolaris-discuss&a=2007-03&t=3397845
      http://www.opensolaris.org/jive/thread.jspa?messageID=118803
      http://opensolaris.org/jive/thread.jspa?threadID=58528&tstart=60
      http://mail.opensolaris.org/pipermail/arc-discuss/2008-April/000817.html

and others where we have discussed relaxing our heavy handed "minor release
means absolutely no incompatible changes in /any/ part of nevada" mindset to
allow us to at least consider changing the default for df, $SHELL and (gasp)
maybe even $PATH.

Recently (at the summit) we talked more about this in terms of repositories
and how that might change how we build things.

Nothing is set in stone, except maybe for my belief that trying to do
both "Solaris10.next" and "OpenSolaris.modernization" at the same time
and in the same minor release bound source tree is not the right answer.

    -John

_______________________________________________
arc-discuss mailing list
arc-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/arc-discuss

From bart.smaalders@Sun.COM Mon May 12 11:07:27 2008
Received: from jurassic-x4600.sfbay.sun.com (cretaceous.SFBay.Sun.COM [129.146.17.59])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4CI7RiY014131
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 12 May 2008 11:07:27 -0700 (PDT)
Received: from [129.146.228.109] (cyber.SFBay.Sun.COM [129.146.228.109])
	by jurassic-x4600.sfbay.sun.com (8.14.2+Sun/8.14.2) with ESMTP id m4CI7Qrj442497;
	Mon, 12 May 2008 11:07:27 -0700 (PDT)
Message-ID: <4828875E.1030800@Sun.COM>
Date: Mon, 12 May 2008 11:07:26 -0700
From: Bart Smaalders <bart.smaalders@Sun.COM>
Organization: Sun Microsystems
User-Agent: Thunderbird 2.0.0.12 (X11/20080310)
MIME-Version: 1.0
To: Joseph Kowalski <jek3@Sun.COM>
CC: "Garrett D'Amore" <gdamore@Sun.COM>,
        "Roger A. Faulkner" <Roger.Faulkner@Sun.COM>,
        psarc-ext@sac.sfbay.sun.com, Darrin.Johnson@Sun.COM, Rod.Evans@Sun.COM
Subject: Re: PSARC/2008/309 - expunge synonyms.h
References: <200805111914.m4BJELn2338278@jurassic-x4600.sfbay.sun.com> <4827B59E.6070005@sun.com> <4827F241.40504@sun.com> <4827F38E.1020106@sun.com>
In-Reply-To: <4827F38E.1020106@sun.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Length: 1428
Status: RO
X-Status: $$$$
X-UID: 0000000012

Joseph Kowalski wrote:
> Joseph Kowalski wrote:
>> I seem to recall squashing a request to do that many years ago
>> (with great relish). Maybe twice.
> Speaking of "squashing", there have been multiple attempts to
> publicly expose these symbols. The rationale is that third party
> libraries could use the same trick - by binding to _read() rather
> than read(). That "trick" has merit, but I don't think it ever 
> happened.
> 
> (Bart, I think you were a proponent of this. Comments?)
> 
> - jek3
> 

I was and am a proponent of fixing the "surprise" factor that
occurs when application/library function (and data, shudder)
names intersect unexpectedly.  Originally, we did not have the
linker technology to do this w/o synonyms; the enhancements
made to the linker(s) in the intervening years (and the massive
cleanups of ON by Roger, Rod, and others) now allows us to use
direct binding to address this problem.  This is critical for long-term
stability of dynamic library interfaces; as we move to a more asynchronous
software delivery model & mechanism, removing the chance of
accidental interposition after the fact is even more critical.

I'm wondering if  we should be changing some default linking behaviors
when building shared libraries...

- Bart

-- 
Bart Smaalders			Solaris Kernel Performance
barts@cyber.eng.sun.com		http://blogs.sun.com/barts
"You will contribute more with mercurial than with thunderbird."

From jek3@sun.com Mon May 12 12:57:41 2008
Received: from jurassic-x4600.sfbay.sun.com (cretaceous.SFBay.Sun.COM [129.146.17.63])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4CJvfe3017589
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 12 May 2008 12:57:41 -0700 (PDT)
Received: from [129.150.13.200] (vpn-129-150-13-200.SFBay.Sun.COM [129.150.13.200])
	by jurassic-x4600.sfbay.sun.com (8.14.2+Sun/8.14.2) with ESMTP id m4CJve5A460596;
	Mon, 12 May 2008 12:57:40 -0700 (PDT)
Message-ID: <4828A18E.2070509@sun.com>
Date: Mon, 12 May 2008 09:59:10 -1000
From: Joseph Kowalski <jek3@sun.com>
User-Agent: Thunderbird 2.0.0.9 (X11/20080225)
MIME-Version: 1.0
To: John Plocher <John.Plocher@sun.com>
CC: "Roger A. Faulkner" <Roger.Faulkner@sun.com>, psarc-ext@sac.sfbay.sun.com,
        Bart.Smaalders@sun.com, Rod.Evans@sun.com, Darrin.Johnson@sun.com
Subject: Re: PSARC/2008/309 - expunge synonyms.h
References: <200805111914.m4BJELn2338278@jurassic-x4600.sfbay.sun.com> <482857A4.6060707@Sun.Com>
In-Reply-To: <482857A4.6060707@Sun.Com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Length: 1460
Status: RO
X-Status: $$$$
X-UID: 0000000013

John Plocher wrote:
>
> I'd go out on a limb and suggest that, since this is an obvious case of
> not following the instructions, and since we are quickly moving towards
> a major release classification for Nevada/ON, which gives one (and 
> probably
> only one) honeymoon opportunity to clean up such things, we should simply:
I clearly heard that the same compatible rules we to be inplace for the 
library
interfaces.  The semi-major release classification was for utilities 
(and perhaps
administration - not clear to me).  These are library interfaces, hence 
I think
we need to think in Minor release terms.  Maybe this will be clearer on
Wednesday.
>     Delete the header files as above,
They are in source.  Who cares?  They are implementation. Certainly not 
architecture.
>     Create a LD_PRELOAD shim that restores these symbols for the
>     things that need it, and
I need to think about this more, but I don't think this works reliably if
third-party libraries are in the mix.  At this point, its just a nit.
>     Eliminate all of the SUNWprivate leading-underscore symbols
>     involved in the synonyms scheme.  Period.
Comma or semi-colon perhaps?  (See: how Major is Major)
> If something breaks, let it use the preload shim.  End of story.
The ARC shouldn't be designing this.  *If* there is a need for a
shim it should be part of the proposal, including any caveats.
Like I I said, I'm not sure we need a shim (TBD).
>
>   -John
- jek3


From Joerg.Schilling@fokus.fraunhofer.de Wed May 14 03:46:36 2008
Received: from dm-sfbay-02.sfbay.sun.com (dm-sfbay-02.SFBay.Sun.COM [129.146.11.31])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4EAkaCm025967
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 14 May 2008 03:46:36 -0700 (PDT)
Received: from sca-ea-mail-1.sun.com (sca-ea-mail-1.Sun.COM [192.18.43.24])
	by dm-sfbay-02.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m4EAkZf1052118
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 14 May 2008 03:46:35 -0700 (PDT)
Received: from relay21.sun.com (relay21.sun.com [192.12.251.24] (may be forged))
	by sca-ea-mail-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m4EAgmYe022927
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 14 May 2008 10:46:30 GMT
Received: from mms22es.sun.com ([150.143.232.34] [150.143.232.34]) by relay21i.sun.com with ESMTP id BT-MMP-113297 for psarc-ext@sac.sfbay.sun.com; Wed, 14 May 2008 10:46:30 Z
Received: from relay22.sun.com (relay22.sun.com [192.12.251.34]) by mms22es.sun.com with ESMTP id BT-MMP-49309558 for psarc-ext@sac.sfbay.sun.com; Wed, 14 May 2008 10:46:30 Z
Received: from mailgw1.fraunhofer.de ([153.96.1.17] [153.96.1.17]) by relay22i.sun.com with ESMTP id BT-MMP-4128544 for psarc-ext@sac.sfbay.sun.com; Wed, 14 May 2008 10:46:29 Z
Received: from mailgw1.fraunhofer.de (localhost [127.0.0.1])
	by mailgw1.fraunhofer.de[host mailgw22] (8.14.2+/8.14.2) with ESMTP id m4EAh8c3009703;
	Wed, 14 May 2008 12:43:09 +0200 (CEST)
Received: from pluto.fokus.fraunhofer.de (pluto.fokus.fraunhofer.de [195.37.77.164])
	by mailgw1.fraunhofer.de (8.14.2+/8.14.2) with ESMTP id m4EAh8eg009694
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Wed, 14 May 2008 12:43:08 +0200 (CEST)
Received: from EXCHSRV.fokus.fraunhofer.de (bohr [10.147.9.231])
	by pluto.fokus.fraunhofer.de (8.13.7/8.13.7) with SMTP id m4EAh7CZ008128;
	Wed, 14 May 2008 12:43:08 +0200 (MEST)
Received: from rigel ([10.147.65.195]) by EXCHSRV.fokus.fraunhofer.de with Microsoft SMTPSVC(6.0.3790.3959);
	 Wed, 14 May 2008 12:43:08 +0200
Date: Wed, 14 May 2008 12:43:07 +0200
From: Joerg.Schilling@fokus.fraunhofer.de (Joerg Schilling)
To: Roger.Faulkner@sun.com, psarc-ext@sac.sfbay.sun.com
Cc: rod.evans@sun.com, darrin.johnson@sun.com, bart.smaalders@sun.com
Subject: Re: PSARC/2008/309 - expunge synonyms.h
Message-ID: <482ac23b.hwNBXU5mto4SQ5N/%Joerg.Schilling@fokus.fraunhofer.de>
References: <200805111914.m4BJELn2338278@jurassic-x4600.sfbay.sun.com>
In-Reply-To: <200805111914.m4BJELn2338278@jurassic-x4600.sfbay.sun.com>
User-Agent: nail 11.22 3/20/05
X-Brightmail-Tracker: AAAAAA==
X-OriginalArrivalTime: 14 May 2008 10:43:08.0042 (UTC) FILETIME=[4C152EA0:01C8B5AF]
X-Fraunhofer-Email-Policy: accepted
X-Antispam: No, score=0.0/5.0, scanned in 0.245sec at (localhost [127.0.0.1])
	by smf-spamd v1.3.1 - http://smfs.sf.net/
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Content-Length: 583
Status: RO
X-Status: $$$$
X-UID: 0000000014

"Roger A. Faulkner" <Roger.Faulkner@sun.com> wrote:

....

> ==============================================================
> The better solution
>
> So much for history.  Now for today's situation.
>
> The change for this bug report was recently integrated
> into /ws/onnv-gate:
>
> 4947191 OSNet should use direct bindings
>
> This causes all OS/NET libraries, including libc, to be built
> using direct binding (-B direct).  As a result, all symbols
> referenced by a library are bound either to the definition
> within itself or to the definition within its direct dependencies.

From my understanding, this would prevent applications to replace "malloc"
Status: RO
X-Status: $$$$
X-UID: 0000000015

that are based on brk(2)/sbrk(2).

libc currently binds to the malloc()/.... functions from the application.
Binding to libc internal functions is currently only done for those functions
that need to be the way libc defines them.

Using a "direct" binding to all libc functions looks to me like ignoring 
linking rules. 

if you are sure that this change would not cause any problems please explain in 
more details.

Jörg

-- 
 EMail:joerg@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
       js@cs.tu-berlin.de                (uni)  
       schilling@fokus.fraunhofer.de     (work) Blog: http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily

From Roger.Faulkner@sun.com Wed May 14 04:54:25 2008
Received: from jurassic-x4600.sfbay.sun.com (cretaceous.SFBay.Sun.COM [129.146.17.63])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4EBsPlH026986
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 14 May 2008 04:54:25 -0700 (PDT)
Received: from jurassic-x4600.sfbay.sun.com (jurassic-x4600.sfbay.sun.com [129.146.17.59])
	by jurassic-x4600.sfbay.sun.com (8.14.2+Sun/8.14.2) with SMTP id m4EBsPAZ788105;
	Wed, 14 May 2008 04:54:25 -0700 (PDT)
Message-Id: <200805141154.m4EBsPAZ788105@jurassic-x4600.sfbay.sun.com>
Date: Wed, 14 May 2008 04:54:25 -0700 (PDT)
From: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
Reply-To: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
Subject: Re: PSARC/2008/309 - expunge synonyms.h
To: Joerg.Schilling@fokus.fraunhofer.de
Cc: rod.evans@sun.com, darrin.johnson@sun.com, bart.smaalders@sun.com,
        psarc-ext@sac.sfbay.sun.com
MIME-Version: 1.0
Content-Type: TEXT/plain; charset=ISO-8859-1
Content-MD5: YcBPBAlFL4Tqdugqey11bQ==
X-Mailer: dtmail 1.3.0 @(#)CDE Version 1.7_88 SunOS 5.11 i86pc i386 
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from QUOTED-PRINTABLE to 8bit by sac.sfbay.sun.com id m4EBsPlH026986
Content-Length: 2227
Status: RO
X-Status: $$$$
X-UID: 0000000016


> Date: Wed, 14 May 2008 12:43:07 +0200
> From: Joerg.Schilling@fokus.fraunhofer.de (Joerg Schilling)
> Subject: Re: PSARC/2008/309 - expunge synonyms.h
> To: Roger.Faulkner@sun.com, psarc-ext@sac.sfbay.sun.com
> Cc: rod.evans@sun.com, darrin.johnson@sun.com, bart.smaalders@sun.com
> 
> "Roger A. Faulkner" <Roger.Faulkner@sun.com> wrote:
> 
> ....
> 
> > ==============================================================
> > The better solution
> >
> > So much for history.  Now for today's situation.
> >
> > The change for this bug report was recently integrated
> > into /ws/onnv-gate:
> >
> > 4947191 OSNet should use direct bindings
> >
> > This causes all OS/NET libraries, including libc, to be built
> > using direct binding (-B direct).  As a result, all symbols
> > referenced by a library are bound either to the definition
> > within itself or to the definition within its direct dependencies.
> 
> From my understanding, this would prevent applications to replace "malloc"
> that are based on brk(2)/sbrk(2).
> 
> libc currently binds to the malloc()/.... functions from the application.
> Binding to libc internal functions is currently only done for those functions
> that need to be the way libc defines them.
> 
> Using a "direct" binding to all libc functions looks to me like ignoring 
> linking rules. 
> 
> if you are sure that this change would not cause any problems please explain 
in 
> more details.
> 
> Jörg

The '-B direct' change for all system libraries has already been done.
It is independent of (but required by) my proposed synonyms.h elimination.
As my mail went on to say:

: The application calls its instance and the library calls its
: instance, even though both instances have the same name.
: (Excepting, of course, symbols in the malloc() family and
: other symbols explicitly defined to be interposable symbols
: by default.  These have all been marked NODIRECT in the
: appropriate mapfiles.  [The devil is in the details.])

The malloc family is marked NODIRECT in libc's mapfiles:

        calloc = NODIRECT;
        cfree = NODIRECT;
        free = NODIRECT;
        malloc = NODIRECT;
        memalign = NODIRECT;
        realloc = NODIRECT;
        valloc = NODIRECT;

Roger



From Roger.Faulkner@sun.com Thu May 15 11:28:24 2008
Received: from jurassic-x4600.sfbay.sun.com (cretaceous.SFBay.Sun.COM [129.146.17.63])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4FISOA7021544
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 15 May 2008 11:28:24 -0700 (PDT)
Received: from jurassic-x4600.sfbay.sun.com (jurassic-x4600.sfbay.sun.com [129.146.17.59])
	by jurassic-x4600.sfbay.sun.com (8.14.2+Sun/8.14.2) with SMTP id m4FISOTh109301;
	Thu, 15 May 2008 11:28:24 -0700 (PDT)
Message-Id: <200805151828.m4FISOTh109301@jurassic-x4600.sfbay.sun.com>
Date: Thu, 15 May 2008 11:28:24 -0700 (PDT)
From: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
Reply-To: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
Subject: Re: PSARC/2008/309 - expunge synonyms.h
To: John.Plocher@sun.com, jek3@sun.com
Cc: psarc-ext@sac.sfbay.sun.com, Bart.Smaalders@sun.com, Rod.Evans@sun.com,
        Darrin.Johnson@sun.com
MIME-Version: 1.0
Content-Type: TEXT/plain; charset=us-ascii
Content-MD5: iRz5YeVfouQ7F5uAnJsMKg==
X-Mailer: dtmail 1.3.0 @(#)CDE Version 1.7_88 SunOS 5.11 i86pc i386 
Content-Length: 2305
Status: RO
X-Status: $$$$
X-UID: 0000000017


> Date: Mon, 12 May 2008 09:59:10 -1000
> From: Joseph Kowalski <jek3@sun.com>
> Subject: Re: PSARC/2008/309 - expunge synonyms.h
> To: John Plocher <John.Plocher@sun.com>
> Cc: "Roger A. Faulkner" <Roger.Faulkner@sun.com>, psarc-ext@sac.sfbay.sun.com, 
Bart.Smaalders@sun.com, Rod.Evans@sun.com, Darrin.Johnson@sun.com
> 
> John Plocher wrote:
> >
> > I'd go out on a limb and suggest that, since this is an obvious case of
> > not following the instructions, and since we are quickly moving towards
> > a major release classification for Nevada/ON, which gives one (and 
> > probably
> > only one) honeymoon opportunity to clean up such things, we should simply:
> I clearly heard that the same compatible rules we to be inplace for the 
> library
> interfaces.  The semi-major release classification was for utilities 
> (and perhaps
> administration - not clear to me).  These are library interfaces, hence 
> I think
> we need to think in Minor release terms.  Maybe this will be clearer on
> Wednesday.
> >     Delete the header files as above,
> They are in source.  Who cares?  They are implementation. Certainly not 
> architecture.
> >     Create a LD_PRELOAD shim that restores these symbols for the
> >     things that need it, and
> I need to think about this more, but I don't think this works reliably if
> third-party libraries are in the mix.  At this point, its just a nit.
> >     Eliminate all of the SUNWprivate leading-underscore symbols
> >     involved in the synonyms scheme.  Period.
> Comma or semi-colon perhaps?  (See: how Major is Major)
> > If something breaks, let it use the preload shim.  End of story.
> The ARC shouldn't be designing this.  *If* there is a need for a
> shim it should be part of the proposal, including any caveats.
> Like I I said, I'm not sure we need a shim (TBD).
> >
> >   -John
> - jek3

Regardless of the merits of the Draconian approach (which I like!),
there is merit to the idea of providing a preloadable shim library
that provides the old leading-underscore symbols and jumps directly
(via the PLT and GOT) to the corresponding non-underscore symbols.

I created it yesterday and named it:

    /lib/libshim.so.1
    /lib/64/libshim.so.1

So I'm adding this item to the official proposal.

I welcome suggestions for a better name.

Roger


From johnsonnenschein@gmail.com Thu May 15 11:31:34 2008
Received: from dm-sfbay-02.sfbay.sun.com (dm-sfbay-02.SFBay.Sun.COM [129.146.11.31])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4FIVYk1021579
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 15 May 2008 11:31:34 -0700 (PDT)
Received: from brmea-mail-2.sun.com (brmea-mail-2.Sun.COM [192.18.98.43])
	by dm-sfbay-02.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m4FIVYSm061080
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 15 May 2008 11:31:34 -0700 (PDT)
Received: from relay15i.sun.com (ip125.net129179-4.block1.us.syntegra.com [129.179.4.125])
	by brmea-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id m4FIML0k001925
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 15 May 2008 18:31:33 GMT
Received: from mmp14es.sun.com ([160.41.209.24] [160.41.209.24]) by relay15i.sun.com with ESMTP id BT-MMP-149609 for psarc-ext@sac.sfbay.sun.com; Thu, 15 May 2008 18:31:33 Z
Received: from relay12i.sun.com (relay12i.sun.com [129.179.4.122]) by mmp14es.sun.com with ESMTP id BT-MMP-348086 for psarc-ext@sac.sfbay.sun.com; Thu, 15 May 2008 18:31:33 Z
Received: from wr-out-0506.google.com ([64.233.184.224] [64.233.184.224]) by relay1ib.sun.com with ESMTP id BT-MMP-1748751 for psarc-ext@sac.sfbay.sun.com; Thu, 15 May 2008 18:31:33 Z
Received: by wr-out-0506.google.com with SMTP id c57so267169wra.9
        for <psarc-ext@sac.sfbay.sun.com>; Thu, 15 May 2008 11:31:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=gamma;
        h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references;
        bh=rJeJWKaHx3f4d0G1wHEz4Pzbj7huDWcDo+wbdsW3JHY=;
        b=EBqYupTcK3dKoryWPlnQ1Rj7677OSG8WSjCUDJaRMSyms5OBXb2bCLyVVPdvGSikgLqdvT2mqLb3+l+Q9VkC5yJRz9KlJTKIrnobZm7Qh/neGhRpR7fx94B4ILr5dYBRYqRJAdJ8upvnfHJMIm+hMJIKZ1Hj7RQDdhW18My+3DU=
DomainKey-Signature: a=rsa-sha1; c=nofws;
        d=gmail.com; s=gamma;
        h=message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references;
        b=dEpPzZNYixJUlj1htDBA3gi3pRM/JFQw1JJKIyK8jg+PmMgb7Wd2aqSex9x9XO/5ZgBHPpO0wpXDR4c5gln4lqvcgJ0EIwOPiYoJ/QSxJ3WH59hMT+Z6pLld8Kkur+vE8lC8HU3n8Ze6iMlggNb3xqcyrf45Mhb9m5XQwS+BIOg=
Received: by 10.114.66.2 with SMTP id o2mr2836090waa.102.1210876275046;
        Thu, 15 May 2008 11:31:15 -0700 (PDT)
Received: by 10.114.150.11 with HTTP; Thu, 15 May 2008 11:31:14 -0700 (PDT)
Message-ID: <241540330805151131x239fe5c9s588c6a791c8d6432@mail.gmail.com>
Date: Thu, 15 May 2008 11:31:14 -0700
From: "John Sonnenschein" <johnsonnenschein@gmail.com>
To: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
Subject: Re: PSARC/2008/309 - expunge synonyms.h
Cc: John.Plocher@sun.com, jek3@sun.com, Rod.Evans@sun.com,
        Bart.Smaalders@sun.com, psarc-ext@sac.sfbay.sun.com,
        Darrin.Johnson@sun.com
In-Reply-To: <200805151828.m4FISOTh109301@jurassic-x4600.sfbay.sun.com>
References: <200805151828.m4FISOTh109301@jurassic-x4600.sfbay.sun.com>
X-Brightmail-Tracker: AAAAAA==
X-Antispam: No, score=0.0/5.0, scanned in 0.083sec at (localhost [127.0.0.1])
	by smf-spamd v1.3.1 - http://smfs.sf.net/
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Content-Length: 2664
Status: RO
X-Status: $$$$
X-UID: 0000000018

libdeprecated ? libfixbadcoding ?

On Thu, May 15, 2008 at 11:28 AM, Roger A. Faulkner
<Roger.Faulkner@sun.com> wrote:
>
>> Date: Mon, 12 May 2008 09:59:10 -1000
>> From: Joseph Kowalski <jek3@sun.com>
>> Subject: Re: PSARC/2008/309 - expunge synonyms.h
>> To: John Plocher <John.Plocher@sun.com>
>> Cc: "Roger A. Faulkner" <Roger.Faulkner@sun.com>, psarc-ext@sac.sfbay.sun.com,
> Bart.Smaalders@sun.com, Rod.Evans@sun.com, Darrin.Johnson@sun.com
>>
>> John Plocher wrote:
>> >
>> > I'd go out on a limb and suggest that, since this is an obvious case of
>> > not following the instructions, and since we are quickly moving towards
>> > a major release classification for Nevada/ON, which gives one (and
>> > probably
>> > only one) honeymoon opportunity to clean up such things, we should simply:
>> I clearly heard that the same compatible rules we to be inplace for the
>> library
>> interfaces.  The semi-major release classification was for utilities
>> (and perhaps
>> administration - not clear to me).  These are library interfaces, hence
>> I think
>> we need to think in Minor release terms.  Maybe this will be clearer on
>> Wednesday.
>> >     Delete the header files as above,
>> They are in source.  Who cares?  They are implementation. Certainly not
>> architecture.
>> >     Create a LD_PRELOAD shim that restores these symbols for the
>> >     things that need it, and
>> I need to think about this more, but I don't think this works reliably if
>> third-party libraries are in the mix.  At this point, its just a nit.
>> >     Eliminate all of the SUNWprivate leading-underscore symbols
>> >     involved in the synonyms scheme.  Period.
>> Comma or semi-colon perhaps?  (See: how Major is Major)
>> > If something breaks, let it use the preload shim.  End of story.
>> The ARC shouldn't be designing this.  *If* there is a need for a
>> shim it should be part of the proposal, including any caveats.
>> Like I I said, I'm not sure we need a shim (TBD).
>> >
>> >   -John
>> - jek3
>
> Regardless of the merits of the Draconian approach (which I like!),
> there is merit to the idea of providing a preloadable shim library
> that provides the old leading-underscore symbols and jumps directly
> (via the PLT and GOT) to the corresponding non-underscore symbols.
>
> I created it yesterday and named it:
>
>    /lib/libshim.so.1
>    /lib/64/libshim.so.1
>
> So I'm adding this item to the official proposal.
>
> I welcome suggestions for a better name.
>
> Roger
>
> _______________________________________________
> opensolaris-arc mailing list
> opensolaris-arc@opensolaris.org
>



-- 
PGP Public Key 0x437AF1A1
Available on hkp://pgp.mit.edu

From Darren.Moffat@Sun.COM Thu May 15 11:34:24 2008
Received: from dm-sfbay-01.sfbay.sun.com (dm-sfbay-01.SFBay.Sun.COM [129.145.155.118])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4FIYO35021615
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 15 May 2008 11:34:24 -0700 (PDT)
Received: from gmp-eb-inf-2.sun.com (gmp-eb-inf-2.EU.Sun.COM [192.18.6.24])
	by dm-sfbay-01.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m4FIYN0p020382
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 15 May 2008 11:34:24 -0700 (PDT)
Received: from fe-emea-09.sun.com (gmp-eb-lb-2-fe1.eu.sun.com [192.18.6.10])
	by gmp-eb-inf-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m4FIYIpd027714
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 15 May 2008 18:34:18 GMT
Received: from conversion-daemon.fe-emea-09.sun.com by fe-emea-09.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0K0X00L01A5Y2B00@fe-emea-09.sun.com>
 (original mail from Darren.Moffat@Sun.COM) for psarc-ext@sac.sfbay.sun.com;
 Thu, 15 May 2008 19:34:16 +0100 (BST)
Received: from [129.156.173.21] by fe-emea-09.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 with ESMTPSA id <0K0X00MP2A921W20@fe-emea-09.sun.com>; Thu,
 15 May 2008 19:34:16 +0100 (BST)
Date: Thu, 15 May 2008 19:34:14 +0100
From: Darren J Moffat <Darren.Moffat@Sun.COM>
Subject: Re: PSARC/2008/309 - expunge synonyms.h
In-reply-to: <200805151828.m4FISOTh109301@jurassic-x4600.sfbay.sun.com>
Sender: Darren.Moffat@Sun.COM
To: "Roger A. Faulkner" <Roger.Faulkner@Sun.COM>
Cc: John.Plocher@Sun.COM, jek3@Sun.COM, psarc-ext@sac.sfbay.sun.com,
        Bart.Smaalders@Sun.COM, Rod.Evans@Sun.COM, Darrin.Johnson@Sun.COM
Message-id: <482C8226.2070502@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
References: <200805151828.m4FISOTh109301@jurassic-x4600.sfbay.sun.com>
User-Agent: Thunderbird 2.0.0.12 (X11/20080326)
Content-Length: 508
Status: RO
X-Status: $$$$
X-UID: 0000000019

Roger A. Faulkner wrote:
> I created it yesterday and named it:
> 
>     /lib/libshim.so.1
>     /lib/64/libshim.so.1
> 
> So I'm adding this item to the official proposal.

With that name ?

Isn't this more like 0@0.so.1, extendedFILE.so.1, madv.so.1 etc ?

In other words I don't think it should be specified on a link line so 
does it need to begin with lib.  Also isn't there a better name than the 
highly generic "shim" ?

My suggestion would be:

leading_underscore_synonyms.so.1

-- 
Darren J Moffat

From scott.rotondo@sun.com Thu May 15 11:35:50 2008
Received: from jurassic-x4600.sfbay.sun.com (cretaceous.SFBay.Sun.COM [129.146.17.63])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4FIZot0021632
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 15 May 2008 11:35:50 -0700 (PDT)
Received: from [129.146.108.62] (vinifera.SFBay.Sun.COM [129.146.108.62])
	by jurassic-x4600.sfbay.sun.com (8.14.2+Sun/8.14.2) with ESMTP id m4FIZolW111331;
	Thu, 15 May 2008 11:35:50 -0700 (PDT)
Message-ID: <482C8286.3000902@sun.com>
Date: Thu, 15 May 2008 11:35:50 -0700
From: Scott Rotondo <scott.rotondo@sun.com>
User-Agent: Thunderbird 2.0.0.6 (X11/20071119)
MIME-Version: 1.0
To: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
CC: psarc-ext@sac.sfbay.sun.com
Subject: Re: PSARC/2008/309 - expunge synonyms.h
References: <200805151828.m4FISOTh109301@jurassic-x4600.sfbay.sun.com> <241540330805151131x239fe5c9s588c6a791c8d6432@mail.gmail.com>
In-Reply-To: <241540330805151131x239fe5c9s588c6a791c8d6432@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Length: 112
Status: RO
X-Status: $$$$
X-UID: 0000000020

John Sonnenschein wrote:
> libdeprecated ? libfixbadcoding ?

Or less judgmentally, perhaps libsynonym?

	Scott

From jek3@sun.com Thu May 15 11:46:25 2008
Received: from jurassic-x4600.sfbay.sun.com (cretaceous.SFBay.Sun.COM [129.146.17.63])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4FIkPnV021808
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 15 May 2008 11:46:25 -0700 (PDT)
Received: from [129.150.13.200] (vpn-129-150-13-200.SFBay.Sun.COM [129.150.13.200])
	by jurassic-x4600.sfbay.sun.com (8.14.2+Sun/8.14.2) with ESMTP id m4FIkO3K112880;
	Thu, 15 May 2008 11:46:24 -0700 (PDT)
Message-ID: <482C8562.8010700@sun.com>
Date: Thu, 15 May 2008 08:48:02 -1000
From: Joseph Kowalski <jek3@sun.com>
User-Agent: Thunderbird 2.0.0.9 (X11/20080225)
MIME-Version: 1.0
To: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
CC: John.Plocher@sun.com, psarc-ext@sac.sfbay.sun.com, Bart.Smaalders@sun.com,
        Rod.Evans@sun.com, Darrin.Johnson@sun.com
Subject: Re: PSARC/2008/309 - expunge synonyms.h
References: <200805151828.m4FISOTh109301@jurassic-x4600.sfbay.sun.com>
In-Reply-To: <200805151828.m4FISOTh109301@jurassic-x4600.sfbay.sun.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Length: 1046
Status: RO
X-Status: $$$$
X-UID: 0000000021

Roger A. Faulkner wrote:
> Regardless of the merits of the Draconian approach (which I like!),
> there is merit to the idea of providing a preloadable shim library
> that provides the old leading-underscore symbols and jumps directly
> (via the PLT and GOT) to the corresponding non-underscore symbols.
>
> I created it yesterday and named it:
>
>     /lib/libshim.so.1
>     /lib/64/libshim.so.1
>
> So I'm adding this item to the official proposal.
>
> I welcome suggestions for a better name.
>
> Roger
>   
lib-toxic-waste-from-NJ.so.1 ???   :-)

(Actually, that's not fair given 1990's linker technology)

Unfortunately, I don't have a better suggestion, but I hope somebody 
does.  At least some refernance to "sym".

......

What is the commitment level to "libshim"?  More relevantly, does this 
get a man page?  Does it get no man page, but some other documentation 
(linker guide?)?  Its kinda strange, because I can understand lots of 
reasons to document it in unique ways, but I suspect it should be 
documented somewhere.

- jek3



From jek3@sun.com Thu May 15 11:51:08 2008
Received: from jurassic-x4600.sfbay.sun.com (cretaceous.SFBay.Sun.COM [129.146.17.59])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4FIp8b4021877
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 15 May 2008 11:51:08 -0700 (PDT)
Received: from [129.150.13.200] (vpn-129-150-13-200.SFBay.Sun.COM [129.150.13.200])
	by jurassic-x4600.sfbay.sun.com (8.14.2+Sun/8.14.2) with ESMTP id m4FIp6vt113831;
	Thu, 15 May 2008 11:51:07 -0700 (PDT)
Message-ID: <482C866E.4060909@sun.com>
Date: Thu, 15 May 2008 08:52:30 -1000
From: Joseph Kowalski <jek3@sun.com>
User-Agent: Thunderbird 2.0.0.9 (X11/20080225)
MIME-Version: 1.0
To: Darren J Moffat <Darren.Moffat@sun.com>
CC: "Roger A. Faulkner" <Roger.Faulkner@sun.com>, John.Plocher@sun.com,
        psarc-ext@sac.sfbay.sun.com, Bart.Smaalders@sun.com, Rod.Evans@sun.com,
        Darrin.Johnson@sun.com
Subject: Re: PSARC/2008/309 - expunge synonyms.h
References: <200805151828.m4FISOTh109301@jurassic-x4600.sfbay.sun.com> <482C8226.2070502@Sun.COM>
In-Reply-To: <482C8226.2070502@Sun.COM>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Length: 740
Status: RO
X-Status: $$$$
X-UID: 0000000022

Darren J Moffat wrote:
> Roger A. Faulkner wrote:
>> I created it yesterday and named it:
>>
>>     /lib/libshim.so.1
>>     /lib/64/libshim.so.1
>>
>> So I'm adding this item to the official proposal.
>
> With that name ?
>
> Isn't this more like 0@0.so.1, extendedFILE.so.1, madv.so.1 etc ?
>
> In other words I don't think it should be specified on a link line so 
> does it need to begin with lib.

+1 (nice catch)
> Also isn't there a better name than the highly generic "shim" ?
>
> My suggestion would be:
>
> leading_underscore_synonyms.so.1
>

Would be "underscore_syn.so.1" be enough?

(I know we are supposed to be "linux familiar", but does that include 
"linix-prefers-really-long-and-awkward-names"?   :-) :-) ;-) )

- jek3



From Rod.Evans@sun.com Thu May 15 11:59:22 2008
Received: from jurassic-x4600.sfbay.sun.com (cretaceous.SFBay.Sun.COM [129.146.17.63])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4FIxM9D022622
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 15 May 2008 11:59:22 -0700 (PDT)
Received: from [129.146.228.120] (chaz.SFBay.Sun.COM [129.146.228.120])
	by jurassic-x4600.sfbay.sun.com (8.14.2+Sun/8.14.2) with ESMTP id m4FIxL39115155;
	Thu, 15 May 2008 11:59:21 -0700 (PDT)
Message-ID: <482C879A.6000203@sun.com>
Date: Thu, 15 May 2008 11:57:30 -0700
From: Rod Evans <Rod.Evans@sun.com>
Reply-To: Rod.Evans@sun.com
Organization: Sun Microsystems Inc.
User-Agent: Thunderbird 2.0.0.6 (X11/20071119)
MIME-Version: 1.0
To: Joseph Kowalski <jek3@sun.com>
CC: "Roger A. Faulkner" <Roger.Faulkner@sun.com>, John.Plocher@sun.com,
        psarc-ext@sac.sfbay.sun.com, Bart.Smaalders@sun.com,
        Darrin.Johnson@sun.com
Subject: Re: PSARC/2008/309 - expunge synonyms.h
References: <200805151828.m4FISOTh109301@jurassic-x4600.sfbay.sun.com> <482C8562.8010700@sun.com>
In-Reply-To: <482C8562.8010700@sun.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Length: 1230
Status: RO
X-Status: $$$$
X-UID: 0000000023

Joseph Kowalski wrote:

> What is the commitment level to "libshim"?  More relevantly, does this 
> get a man page?  Does it get no man page, but some other documentation 
> (linker guide?)?  Its kinda strange, because I can understand lots of 
> reasons to document it in unique ways, but I suspect it should be 
> documented somewhere.

0@0.so.1 only exists in ld.so.1(1) as far as I know.  Perhaps something
similar for Rogers library.

NOTES
      ...
      The user compatibility library /usr/lib/0@0.so.1 provides  a
      mechanism  that establishes a value of 0 at location 0. Some
      applications exist that erroneously assume a null  character
      pointer  should  be  treated the same as a pointer to a null
      string. A segmentation violation occurs  in  these  applica-
      tions  when  a  null  character pointer is accessed. If this
      library is added to such an  application  at  runtime  using
      LD_PRELOAD, the library provides an environment that is sym-
      pathetic to this errant behavior. However, the user compati-
      bility  library is intended neither to enable the generation
      of such applications, nor to endorse  this  particular  pro-
      gramming practice.


-- 

Rod.

From Roger.Faulkner@sun.com Thu May 15 14:03:40 2008
Received: from jurassic-x4600.sfbay.sun.com (cretaceous.SFBay.Sun.COM [129.146.17.63])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4FL3exC025915
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 15 May 2008 14:03:40 -0700 (PDT)
Received: from jurassic-x4600.sfbay.sun.com (jurassic-x4600.sfbay.sun.com [129.146.17.59])
	by jurassic-x4600.sfbay.sun.com (8.14.2+Sun/8.14.2) with SMTP id m4FL3e9j137108;
	Thu, 15 May 2008 14:03:40 -0700 (PDT)
Message-Id: <200805152103.m4FL3e9j137108@jurassic-x4600.sfbay.sun.com>
Date: Thu, 15 May 2008 14:03:40 -0700 (PDT)
From: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
Reply-To: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
Subject: Re: PSARC/2008/309 - expunge synonyms.h
To: Darren.Moffat@sun.com, jek3@sun.com
Cc: John.Plocher@sun.com, psarc-ext@sac.sfbay.sun.com, Bart.Smaalders@sun.com,
        Rod.Evans@sun.com, Darrin.Johnson@sun.com
MIME-Version: 1.0
Content-Type: TEXT/plain; charset=us-ascii
Content-MD5: mmy5ZsdCxygYMLdXqmcruQ==
X-Mailer: dtmail 1.3.0 @(#)CDE Version 1.7_88 SunOS 5.11 i86pc i386 
Content-Length: 3221
Status: RO
X-Status: $$$$
X-UID: 0000000024


> Date: Thu, 15 May 2008 08:52:30 -1000
> From: Joseph Kowalski <jek3@sun.com>
> Subject: Re: PSARC/2008/309 - expunge synonyms.h
> To: Darren J Moffat <Darren.Moffat@sun.com>
> Cc: "Roger A. Faulkner" <Roger.Faulkner@sun.com>, John.Plocher@sun.com, 
psarc-ext@sac.sfbay.sun.com, Bart.Smaalders@sun.com, Rod.Evans@sun.com, 
Darrin.Johnson@sun.com
> 
> Would be "underscore_syn.so.1" be enough?
> 
> (I know we are supposed to be "linux familiar", but does that include 
> "linix-prefers-really-long-and-awkward-names"?   :-) :-) ;-) )
> 
> - jek3

Ok.  (Thanks to all.)  This is my proposal, in the form of additional
material in the libc(3LIB) manual page (a stability level of
Stable would be fine with me -- it will never change):



FILES
     /lib/c_synonyms.so.1

         A compatibility library to provide access to obsolete
         libc synonym symbols

     /lib/64/c_synonyms.so.1

         A 64-bit compatibility library to provide access to
         obsolete libc synonym symbols
...
NOTES
     The synonyms compatibility library, c_synonyms.so.1, provides
     a mechanism to support old applications and libraries that
     were mistakenly built using now-obsolete synonym symbols
     from libc.

     Before the advent of direct binding (-B direct) libc provided
     many functions with two names.  For example:
          getpwent()
          _getpwent()
     These two names referred to exactly the same function in libc.
     The leading-underscore symbol was intended to be used by
     system libraries in order to avoid conflicting with an
     application that might define its own version of getpwent()
     with completely different semantics.  Standards-conforming
     applications may not define and use function names with
     leading underscores.

     Solaris system libraries are now built with direct binding.
     This means that a system library that calls getpwent() will
     bind directly to the instance of getpwent() in libc, even if
     the application to which it is linked defines a different
     getpwent() for its own use.  The application binds to its
     instance of getpwent() and there is no resulting conflict.
     The direct binding mechanism is equally available to
     libraries not delivered with Solaris.

     As a result of this evolution, most of the leading-underscore
     synonym symbols have been removed from libc.  This means
     that applications that call these now-obsolete function names
     will cease to work.  They will typically draw the error:

          $ ./application
          ld.so.1: fatal: relocation error: symbol _getpwent:
          referenced symbol not found
          Killed

     All of the old leading-underscore symbols have been copied
     to the synonyms compatibility library.  This library simply
     redirects the calls to the non-underscore instances of the
     corresponding functions in libc.  Use it as a preloaded object:

          $ LD_PRELOAD=c_synonyms.so.1 ./application

     The synonyms compatibility library is intended neither to
     enable the generation of applications that call the obsolete
     leading-underscore synonym functions, nor to endorse this
     particular programming practice.


From jek3@sun.com Thu May 15 14:20:21 2008
Received: from jurassic-x4600.sfbay.sun.com (cretaceous.SFBay.Sun.COM [129.146.17.59])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4FLKLcW026065
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 15 May 2008 14:20:21 -0700 (PDT)
Received: from [129.150.13.200] (vpn-129-150-13-200.SFBay.Sun.COM [129.150.13.200])
	by jurassic-x4600.sfbay.sun.com (8.14.2+Sun/8.14.2) with ESMTP id m4FLKKdZ141415;
	Thu, 15 May 2008 14:20:20 -0700 (PDT)
Message-ID: <482CA977.2080302@sun.com>
Date: Thu, 15 May 2008 11:21:59 -1000
From: Joseph Kowalski <jek3@sun.com>
User-Agent: Thunderbird 2.0.0.9 (X11/20080225)
MIME-Version: 1.0
To: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
CC: Darren.Moffat@sun.com, John.Plocher@sun.com, psarc-ext@sac.sfbay.sun.com,
        Bart.Smaalders@sun.com, Rod.Evans@sun.com, Darrin.Johnson@sun.com
Subject: Re: PSARC/2008/309 - expunge synonyms.h
References: <200805152103.m4FL3e9j137108@jurassic-x4600.sfbay.sun.com>
In-Reply-To: <200805152103.m4FL3e9j137108@jurassic-x4600.sfbay.sun.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Length: 338
Status: RO
X-Status: $$$$
X-UID: 0000000025

Roger A. Faulkner wrote:
> Ok.  (Thanks to all.)  This is my proposal, in the form of additional
> material in the libc(3LIB) manual page (a stability level of
> Stable would be fine with me -- it will never change):
>   
That would be Committed.   8^)
>      /lib/c_synonyms.so.1
>   
I like the choice.

Thanks for doing this.

- jek3


From scott.rotondo@sun.com Thu May 15 15:21:05 2008
Received: from jurassic-x4600.sfbay.sun.com (cretaceous.SFBay.Sun.COM [129.146.17.63])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4FML56T028596
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 15 May 2008 15:21:05 -0700 (PDT)
Received: from [129.146.108.62] (vinifera.SFBay.Sun.COM [129.146.108.62])
	by jurassic-x4600.sfbay.sun.com (8.14.2+Sun/8.14.2) with ESMTP id m4FML5EE153820;
	Thu, 15 May 2008 15:21:05 -0700 (PDT)
Message-ID: <482CB751.7040205@sun.com>
Date: Thu, 15 May 2008 15:21:05 -0700
From: Scott Rotondo <scott.rotondo@sun.com>
User-Agent: Thunderbird 2.0.0.6 (X11/20071119)
MIME-Version: 1.0
To: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
CC: Darren.Moffat@sun.com, jek3@sun.com, John.Plocher@sun.com,
        psarc-ext@sac.sfbay.sun.com, Bart.Smaalders@sun.com, Rod.Evans@sun.com,
        Darrin.Johnson@sun.com
Subject: Re: PSARC/2008/309 - expunge synonyms.h
References: <200805152103.m4FL3e9j137108@jurassic-x4600.sfbay.sun.com>
In-Reply-To: <200805152103.m4FL3e9j137108@jurassic-x4600.sfbay.sun.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Length: 606
Status: RO
X-Status: $$$$
X-UID: 0000000026

Roger A. Faulkner wrote:
> Ok.  (Thanks to all.)  This is my proposal, in the form of additional
> material in the libc(3LIB) manual page (a stability level of
> Stable would be fine with me -- it will never change):
> 

...

> 
>      All of the old leading-underscore symbols have been copied
>      to the synonyms compatibility library.  This library simply
>      redirects the calls to the non-underscore instances of the
>      corresponding functions in libc.  Use it as a preloaded object:

Just to be clear: "all" means all, not just the 55 symbols identified 
earlier. Is that correct?
	
	Scott

From Roger.Faulkner@sun.com Thu May 15 16:30:48 2008
Received: from jurassic-x4600.sfbay.sun.com (cretaceous.SFBay.Sun.COM [129.146.17.63])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4FNUm70000596
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 15 May 2008 16:30:48 -0700 (PDT)
Received: from jurassic-x4600.sfbay.sun.com (jurassic-x4600.sfbay.sun.com [129.146.17.59])
	by jurassic-x4600.sfbay.sun.com (8.14.2+Sun/8.14.2) with SMTP id m4FNUmIH164257;
	Thu, 15 May 2008 16:30:48 -0700 (PDT)
Message-Id: <200805152330.m4FNUmIH164257@jurassic-x4600.sfbay.sun.com>
Date: Thu, 15 May 2008 16:30:48 -0700 (PDT)
From: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
Reply-To: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
Subject: Re: PSARC/2008/309 - expunge synonyms.h
To: scott.rotondo@sun.com
Cc: Darren.Moffat@sun.com, jek3@sun.com, John.Plocher@sun.com,
        psarc-ext@sac.sfbay.sun.com, Bart.Smaalders@sun.com, Rod.Evans@sun.com,
        Darrin.Johnson@sun.com
MIME-Version: 1.0
Content-Type: TEXT/plain; charset=us-ascii
Content-MD5: yYsRKTlDsYrMAgg5m4hwXA==
X-Mailer: dtmail 1.3.0 @(#)CDE Version 1.7_88 SunOS 5.11 i86pc i386 
Content-Length: 1138
Status: RO
X-Status: $$$$
X-UID: 0000000027


> Date: Thu, 15 May 2008 15:21:05 -0700
> From: Scott Rotondo <scott.rotondo@sun.com>
> Subject: Re: PSARC/2008/309 - expunge synonyms.h
> To: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
> Cc: Darren.Moffat@sun.com, jek3@sun.com, John.Plocher@sun.com, 
psarc-ext@sac.sfbay.sun.com, Bart.Smaalders@sun.com, Rod.Evans@sun.com, 
Darrin.Johnson@sun.com
> 
> Roger A. Faulkner wrote:
> > Ok.  (Thanks to all.)  This is my proposal, in the form of additional
> > material in the libc(3LIB) manual page (a stability level of
> > Stable would be fine with me -- it will never change):
> > 
> 
> ...
> 
> > 
> >      All of the old leading-underscore symbols have been copied
> >      to the synonyms compatibility library.  This library simply
> >      redirects the calls to the non-underscore instances of the
> >      corresponding functions in libc.  Use it as a preloaded object:
> 
> Just to be clear: "all" means all, not just the 55 symbols identified 
> earlier. Is that correct?
> 	
> 	Scott

Yes.  "all" means about 985 names, including symbols that
aren't being removed from libc on this go-around (about 600
of them are).

Roger



From scott.rotondo@sun.com Thu May 15 16:35:53 2008
Received: from jurassic-x4600.sfbay.sun.com (cretaceous.SFBay.Sun.COM [129.146.17.59])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m4FNZrH8000777
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 15 May 2008 16:35:53 -0700 (PDT)
Received: from [129.146.108.62] (vinifera.SFBay.Sun.COM [129.146.108.62])
	by jurassic-x4600.sfbay.sun.com (8.14.2+Sun/8.14.2) with ESMTP id m4FNZrAL164819;
	Thu, 15 May 2008 16:35:53 -0700 (PDT)
Message-ID: <482CC8D9.9020900@sun.com>
Date: Thu, 15 May 2008 16:35:53 -0700
From: Scott Rotondo <scott.rotondo@sun.com>
User-Agent: Thunderbird 2.0.0.6 (X11/20071119)
MIME-Version: 1.0
To: "Roger A. Faulkner" <Roger.Faulkner@sun.com>
CC: psarc-ext@sac.sfbay.sun.com
Subject: Re: PSARC/2008/309 - expunge synonyms.h
References: <200805152330.m4FNUmIH164257@jurassic-x4600.sfbay.sun.com>
In-Reply-To: <200805152330.m4FNUmIH164257@jurassic-x4600.sfbay.sun.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Length: 629
Status: RO
X-Status: $$$$
X-UID: 0000000028

Roger A. Faulkner wrote:
>>>      All of the old leading-underscore symbols have been copied
>>>      to the synonyms compatibility library.  This library simply
>>>      redirects the calls to the non-underscore instances of the
>>>      corresponding functions in libc.  Use it as a preloaded object:
>> Just to be clear: "all" means all, not just the 55 symbols identified 
>> earlier. Is that correct?
>> 	
>> 	Scott
> 
> Yes.  "all" means about 985 names, including symbols that
> aren't being removed from libc on this go-around (about 600
> of them are).
> 
> Roger

Great. I think this is a really good solution.

	Scott

