logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

Re: 4.18.D090 - release candidate 2: msg#00110

Subject: Re: 4.18.D090 - release candidate 2
* Jerry Pendergraft
| Now to check the need..
| jerry@n3bsw060$ nm -pg aecvsserver/server/password.o | grep crypt
| 0000000000 U __1cFcrypt6Fpkc1_pc_
| 
| Does show a mangled name and
| jerry@n3bsw060$ echo '__1cFcrypt6Fpkc1_pc_' | c++filt
| char*crypt(const char*,const char*)
| 
| So this is another case of C++ mangled names vs c libraries.  I will
| try some more extern C {} stuff to see if I can fix that. Then the
| correct headers (or config.messy.h stuff) might fix it.

Sounds like the header files in question are not prepared for C++,
i.e. they miss the usual

  #ifdef __cplusplus
    extern "C" {
  #endif
  ...
  #ifdef __cplusplus
    }
  #endif

I have seen this on SGI in the sys/uuid.h header, too.


As an aside, HP in HP-10ff also has this nifty bit in sys/scsi.h:
    ** Field operator was changed to operatr in structure
    ** element_status to avoid a C++ reserved keyword 
    ** conflict for customers doing development in C++. 
    */
    struct element_status {
--<snip-snip>--
            unsigned int operatr:1; /* medium positioned by operator */

Just imagine, customers doing development in C++!  Do you believe it?!?


| And anything C++ compiled with g++ is just not gonna work with Sun CC.

I'd say this is true for any pair of C++ compilers on the same
platform.

R'


<Prev in Thread] Current Thread [Next in Thread>