From: Alexandre Oliva Date: Wed, 9 Dec 1998 07:50:08 +0000 (+0000) Subject: C++ problems are documented X-Git-Tag: release-1-2d~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c3548b28ec546accf311b7e3f5cd00929412e734;p=thirdparty%2Flibtool.git C++ problems are documented --- diff --git a/mail/c++ b/mail/c++ index 59e8f57ee..ec60850fa 100644 --- a/mail/c++ +++ b/mail/c++ @@ -1,170 +1,3 @@ -From nobody Sat Sep 13 12:49:21 1997 -X-From-Line: gord@gnu.ai.mit.edu Fri Sep 12 11:33:52 1997 -Return-Path: -Delivered-To: gord@trick.profitpress.com -Received: (qmail 5853 invoked from network); 12 Sep 1997 11:33:52 -0000 -Received: from localhost (HELO bambam.m-tech.ab.ca) (127.0.0.1) - by localhost with SMTP; 12 Sep 1997 11:33:52 -0000 -X-POP3-Rcpt: gord@bambam -Received: from mescaline.gnu.ai.mit.edu (root@mescaline.gnu.ai.mit.edu [128.52.46.63]) by m-tech.ab.ca (8.6.12/8.6.9) with ESMTP id DAA32184 for ; Fri, 12 Sep 1997 03:29:36 -0600 -Received: from deneb.dfn.de by mescaline.gnu.ai.mit.edu (8.8.5/8.6.12GNU) with ESMTP id FAA15584 for ; Fri, 12 Sep 1997 05:26:22 -0400 -Received: from mail.iuk.tu-harburg.de (merlin.iuk.tu-harburg.de [134.28.37.139]) - by deneb.dfn.de (8.8.7/8.8.7) with SMTP id LAA10284 - for ; Fri, 12 Sep 1997 11:26:24 +0200 (MET DST) -Received: from radagast.iuk.tu-harburg.de by mail.iuk.tu-harburg.de (SMI-8.6/SMI-SVR4) - id LAA03507; Fri, 12 Sep 1997 11:26:24 +0200 -Received: from radagast.iuk.tu-harburg.de by radagast.iuk.tu-harburg.de (SMI-8.6/SMI-SVR4) - id LAA09711; Fri, 12 Sep 1997 11:26:19 +0200 -Message-Id: <199709120926.LAA09711@radagast.iuk.tu-harburg.de> -Date: Fri, 12 Sep 1997 11:26:19 +0200 (MET DST) -From: Thomas Hiller -Reply-To: Thomas Hiller -Subject: libtool and c++ -To: bug-libtool@gnu.ai.mit.edu -MIME-Version: 1.0 -Content-Type: TEXT/plain; charset=us-ascii -Xref: trick.profitpress.com mail.libtool:497 -Lines: 21 -X-Gnus-Article-Number: 1 Mon Nov 2 17:16:26 1998 - -Content-MD5: PkFtlfmXLmdAHDrBATl72w== -X-Mailer: dtmail 1.2.0 CDE Version 1.2 SunOS 5.6 sun4u sparc - -Hi, - -I'm using - with success - libtool and c++ on linux 2.0.x. -Now in the office I tried on solaris (with gcc) - without success. The culprit -is the linker call. (I use the sun linker) - -Why does libtool use the direct call to ld and not gcc -shared ? -Or collect2 from the gcc distribution ? - -Thanks in advance - -Thomas Hiller email: hiller@tu-harburg.d400.de -TU Hamburg-Harburg -Zentrallabor Informations- und Kommunikationstechnik -Harburger Schloss-Str. 20 Tel.: +49-40-7718-3448 -D - 21071 Hamburg Fax : +49-40-7718-2579 - - -From nobody Sat Sep 13 12:49:24 1997 -X-From-Line: gord@gnu.ai.mit.edu Fri Sep 12 11:33:54 1997 -Return-Path: -Delivered-To: gord@trick.profitpress.com -Received: (qmail 5858 invoked from network); 12 Sep 1997 11:33:53 -0000 -Received: from localhost (HELO bambam.m-tech.ab.ca) (127.0.0.1) - by localhost with SMTP; 12 Sep 1997 11:33:53 -0000 -X-POP3-Rcpt: gord@bambam -Received: from mescaline.gnu.ai.mit.edu (root@mescaline.gnu.ai.mit.edu [128.52.46.63]) by m-tech.ab.ca (8.6.12/8.6.9) with ESMTP id DAA32233 for ; Fri, 12 Sep 1997 03:51:50 -0600 -Received: from deneb.dfn.de by mescaline.gnu.ai.mit.edu (8.8.5/8.6.12GNU) with ESMTP id FAA16004 for ; Fri, 12 Sep 1997 05:48:38 -0400 -Received: from mail.iuk.tu-harburg.de (merlin.iuk.tu-harburg.de [134.28.37.139]) - by deneb.dfn.de (8.8.7/8.8.7) with SMTP id LAA10810 - for ; Fri, 12 Sep 1997 11:48:40 +0200 (MET DST) -Received: from radagast.iuk.tu-harburg.de by mail.iuk.tu-harburg.de (SMI-8.6/SMI-SVR4) - id LAA11251; Fri, 12 Sep 1997 11:48:41 +0200 -Received: from radagast.iuk.tu-harburg.de by radagast.iuk.tu-harburg.de (SMI-8.6/SMI-SVR4) - id LAA11083; Fri, 12 Sep 1997 11:48:36 +0200 -Message-Id: <199709120948.LAA11083@radagast.iuk.tu-harburg.de> -Date: Fri, 12 Sep 1997 11:48:36 +0200 (MET DST) -From: Thomas Hiller -Reply-To: Thomas Hiller -Subject: libtool and c++ (follow-up) -To: bug-libtool@gnu.ai.mit.edu -MIME-Version: 1.0 -Content-Type: TEXT/plain; charset=us-ascii -Xref: trick.profitpress.com mail.libtool:498 -Lines: 50 -X-Gnus-Article-Number: 2 Mon Nov 2 17:16:26 1998 - -Content-MD5: pYKoLEegluk256lZh3GEEg== -X-Mailer: dtmail 1.2.0 CDE Version 1.2 SunOS 5.6 sun4u sparc - -Hi, - -after further investigation I found the difference is not the linker itself, but -the call of the linker especially the start and endfiles: -crti crtbegin crtend crtn are not linked in. - -libtool: -/usr/ccs/bin/ld -G -z text -h libbase.so.1 -o .libs/libbase.so.1.1.0 -./dloadlib.lo ./caches.lo ./damages.lo ./debug.lo ./displays.lo ./drawings.lo -./externaliz.lo ./fresco_lib.lo ./glyphs.lo ./memory.lo ./names.lo ./octetbuf.lo -./os.lo ./painters.lo ./proxyobs.lo ./rasters.lo ./styles.lo ./threads.lo -./typess.lo ./viewers.lo ./windows.lo - -gcc -shared: - -radagast{hiller}107: gcc -v -shared ... -Reading specs from /tools/gcc-2.7/lib/gcc-lib/sparc-sun-solaris2.6/2.7.2.3/specs -gcc version 2.7.2.3 - /usr/ccs/bin/ld -V -G -dy -z text -h libbase.la --R/home/radagast/hiller/work/Fresco97/Fresco/Build/lib --R/home/radagast/hiller/work/Fresco97/Fresco/Build/lib -Y -P,/usr/ccs/lib:/usr/lib -Qy -o libbase.la -/tools/gcc-2.7/lib/gcc-lib/sparc-sun-solaris2.6/2.7.2.3/crti.o -/usr/ccs/lib/values-Xa.o -/tools/gcc-2.7/lib/gcc-lib/sparc-sun-solaris2.6/2.7.2.3/crtbegin.o --L/tools/gcc-2.7/lib/gcc-lib/sparc-sun-solaris2.6/2.7.2.3 -L/usr/ccs/bin --L/usr/ccs/lib -L/tools/gcc-2.7/lib ./dloadlib.lo ./caches.lo ./damages.lo -./debug.lo ./displays.lo ./drawings.lo ./externaliz.lo ./fresco_lib.lo -./glyphs.lo ./memory.lo ./names.lo ./octetbuf.lo ./os.lo ./painters.lo -./proxyobs.lo ./rasters.lo ./styles.lo ./threads.lo ./typess.lo ./viewers.lo -./windows.lo /tools/gcc-2.7/lib/gcc-lib/sparc-sun-solaris2.6/2.7.2.3/crtend.o -/tools/gcc-2.7/lib/gcc-lib/sparc-sun-solaris2.6/2.7.2.3/crtn.o -ld: Software Generation Utilities - Solaris/ELF (3.0) - -Platform: Solaris 2.6 -Compiler: gcc-2.7.2.3 (with SUN linker) -Libtool: 1.0b - -Greetings - -Thomas Hiller email: hiller@tu-harburg.d400.de -TU Hamburg-Harburg -Zentrallabor Informations- und Kommunikationstechnik -Harburger Schloss-Str. 20 Tel.: +49-40-7718-3448 -D - 21071 Hamburg Fax : +49-40-7718-2579 - - -From nobody Sat Sep 13 12:49:26 1997 -X-From-Line: gord@gnu.ai.mit.edu Sat Sep 13 06:08:19 1997 -Return-Path: -Delivered-To: gord@trick.profitpress.com -Received: (qmail 3043 invoked from network); 13 Sep 1997 06:08:19 -0000 -Received: from localhost (HELO bambam.m-tech.ab.ca) (127.0.0.1) - by localhost with SMTP; 13 Sep 1997 06:08:19 -0000 -X-POP3-Rcpt: gord@bambam -Received: from ethanol.gnu.ai.mit.edu (root@ethanol.gnu.ai.mit.edu [128.52.46.64]) by m-tech.ab.ca (8.6.12/8.6.9) with ESMTP id LAA24598 for ; Fri, 12 Sep 1997 11:42:10 -0600 -Received: from rztsun.rz.tu-harburg.de by ethanol.gnu.ai.mit.edu (8.8.5/8.6.12GNU) with SMTP id NAA27280 for ; Fri, 12 Sep 1997 13:38:42 -0400 -Date: Fri, 12 Sep 1997 18:43:39 +0000 (met) -From: Thomas Hiller -Reply-To: Thomas Hiller -Subject: libtool and solaris (and c++) -To: bug-libtool@gnu.ai.mit.edu -Message-ID: -MIME-Version: 1.0 -Content-Type: TEXT/PLAIN; CHARSET=US-ASCII -Xref: trick.profitpress.com mail.libtool:502 -Lines: 16 -X-Gnus-Article-Number: 3 Mon Nov 2 17:16:26 1998 - -Hi, - -I found a bug on solaris_x86: - 'printf %s\n' -should read - 'printf %s\\n' -in ltmain.sh. - -Another follow-up to c++: -I changed the script to use c++ -shared and AFAIK all works. Maybe the script -could use '$CC ' or - with gcc - 'gcc -shared'. - -Greetings - Thomas -(hiller@tu-harburg.d400.de) - From nobody Tue Oct 7 19:29:17 1997 X-From-Line: gord@gnu.org Wed Oct 08 00:03:13 1997 Return-Path: @@ -560,226 +393,7 @@ Received: from mescaline.gnu.org (gateway [10.0.0.1]) by bambam.m-tech.ab.ca (8.8.7/8.8.7) with ESMTP id MAA30151 for ; Tue, 13 Oct 1998 12:14:55 -0600 Received: from proxy.grad.kiev.ua (grad-UTC-28k8.ukrtel.net [195.5.25.54]) - by mescaline.gnu.org (8.9.1a/8.9.1) with ESMTP id NAA14314 - for ; Tue, 13 Oct 1998 13:56:26 -0400 -Received: from Shevchenko.Kiev.UA (cam [10.0.0.50]) - by proxy.grad.kiev.ua (8.8.8/8.8.7) with ESMTP id UAA04080 - for ; Tue, 13 Oct 1998 20:54:29 +0300 (EEST) - (envelope-from Ruslan@Shevchenko.Kiev.UA) -Sender: rssh@proxy.grad.kiev.ua -Message-ID: <3623937C.7E903DF8@Shevchenko.Kiev.UA> -Date: Tue, 13 Oct 1998 20:53:00 +0300 -From: Ruslan Shevchenko -Reply-To: rssh@grad.kiev.ua -X-Mailer: Mozilla 4.05 [en] (X11; I; FreeBSD 2.2.5-STABLE i386) -MIME-Version: 1.0 -To: bug-libtool@gnu.org -Subject: overriding ARFLAGS. -Content-Type: multipart/mixed; boundary="------------E06156B73BE5D4D4AD2BF900" -Xref: trick.fig.org libtool:1683 -Lines: 221 -X-Gnus-Article-Number: 7 Mon Nov 2 17:16:26 1998 - -This is a multi-part message in MIME format. ---------------E06156B73BE5D4D4AD2BF900 -Content-Type: text/plain; charset=koi8-r -Content-Transfer-Encoding: 7bit - -As I noted few days ago, the process of building a library (static or -shared) -with C++ can include addition steps, such as template instaniation. - -In libtool AR can be overrided from configure ${AR}, but ${ARFLAGS} -(cru) -is hardcoded into ltconfig.sh - -setting ${ARFLAGS} as variable (or cru if "$ARFLAGS" is empty ) actually -enable -building of templated C++ variables (static only yet) by overriding AR -and ARFLAGS -from configure. - -So, I attached to this messages diff, which change cru to ${ARFLAGS} in -ltconfig.in (and therefore in ltconfig) - -Also, I think somewhere in documentation must exists the next note -about -Sun Solaris Workshop: -/-------- - When you want build libraries with implicit templates instaniated in, - You must puss to ltconfig next envirowmnent variables: - AR=CC - ARFLAGS=$CXXFLAGS -xar -o -----------/ - - - - - - - - --- - @= - //RSSH -mailto:Ruslan@Shevchenko.Kiev.UA - -CORBA in Ukraine & ex-USSR: http://www.corbadev.kiev.ua ---------------E06156B73BE5D4D4AD2BF900 -Content-Type: text/plain; charset=koi8-r; name="libtool.diff" -Content-Transfer-Encoding: 7bit -Content-Disposition: inline; filename="libtool.diff" - -Only in libtool-1.2-patched: Makefile -Only in libtool-1.2-patched: config.cache -Only in libtool-1.2-patched: config.log -Only in libtool-1.2-patched: config.status -Common subdirectories: libtool-1.2/demo and libtool-1.2-patched/demo -Common subdirectories: libtool-1.2/doc and libtool-1.2-patched/doc -Only in libtool-1.2-patched: libtool -Only in libtool-1.2-patched: libtoolize -diff -c libtool-1.2/ltconfig libtool-1.2-patched/ltconfig -*** libtool-1.2/ltconfig Fri Mar 20 10:00:29 1998 ---- libtool-1.2-patched/ltconfig Tue Oct 13 20:01:31 1998 -*************** -*** 89,95 **** ---- 89,101 ---- - with_gcc=no - with_gnu_ld=no - -+ if test "x$ARFLAGS" = x -+ then -+ ARFLAGS=cru -+ fi -+ - old_AR="$AR" -+ old_ARFLAGS="$ARFLAGS" - old_CC="$CC" - old_CFLAGS="$CFLAGS" - old_CPPFLAGS="$CPPFLAGS" -*************** -*** 320,326 **** - esac - - # Determine commands to create old-style static archives. -! old_archive_cmds='$AR cru $oldlib$oldobjs' - old_postinstall_cmds='chmod 644 $oldlib' - old_postuninstall_cmds= - ---- 326,332 ---- - esac - - # Determine commands to create old-style static archives. -! old_archive_cmds='$AR $ARFLAGS $oldlib$oldobjs' - old_postinstall_cmds='chmod 644 $oldlib' - old_postuninstall_cmds= - -*************** -*** 732,738 **** - case "$host_os" in - aix3*) - allow_undefined_flag=unsupported -! archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE;$AR cru $lib $objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes ---- 738,744 ---- - case "$host_os" in - aix3*) - allow_undefined_flag=unsupported -! archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE;$AR $ARFLAGS $lib $objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes -*************** -*** 745,757 **** - - aix4*) - allow_undefined_flag=unsupported -! archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry;$AR cru $lib $objdir/$soname' - hardcode_direct=yes - hardcode_minus_L=yes - ;; - - amigaos*) -! archive_cmds='$rm $objdir/a2ixlibrary.data;$echo "#define NAME $libname" > $objdir/a2ixlibrary.data;$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data;$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR cru $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; ---- 751,763 ---- - - aix4*) - allow_undefined_flag=unsupported -! archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry;$AR $ARFLAGS $lib $objdir/$soname' - hardcode_direct=yes - hardcode_minus_L=yes - ;; - - amigaos*) -! archive_cmds='$rm $objdir/a2ixlibrary.data;$echo "#define NAME $libname" > $objdir/a2ixlibrary.data;$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data;$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR $ARFLAGS $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; -diff -c libtool-1.2/ltconfig.in libtool-1.2-patched/ltconfig.in -*** libtool-1.2/ltconfig.in Wed Mar 11 18:10:51 1998 ---- libtool-1.2-patched/ltconfig.in Tue Oct 13 20:44:56 1998 -*************** -*** 320,331 **** - esac - - # Determine commands to create old-style static archives. -! old_archive_cmds='$AR cru $oldlib$oldobjs' - old_postinstall_cmds='chmod 644 $oldlib' - old_postuninstall_cmds= - - # Set a sane default for `AR'. - test -z "$AR" && AR=ar - - # If RANLIB is not set, then run the test. - if test "${RANLIB+set}" != "set"; then ---- 320,332 ---- - esac - - # Determine commands to create old-style static archives. -! old_archive_cmds='$AR $ARFLAGS $oldlib$oldobjs' - old_postinstall_cmds='chmod 644 $oldlib' - old_postuninstall_cmds= - - # Set a sane default for `AR'. - test -z "$AR" && AR=ar -+ test -z "$ARFLAGS" && ARFLAGS=cru - - # If RANLIB is not set, then run the test. - if test "${RANLIB+set}" != "set"; then -*************** -*** 732,738 **** - case "$host_os" in - aix3*) - allow_undefined_flag=unsupported -! archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE;$AR cru $lib $objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes ---- 733,739 ---- - case "$host_os" in - aix3*) - allow_undefined_flag=unsupported -! archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE;$AR $ARFLAGS $lib $objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes -*************** -*** 745,757 **** - - aix4*) - allow_undefined_flag=unsupported -! archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry;$AR cru $lib $objdir/$soname' - hardcode_direct=yes - hardcode_minus_L=yes - ;; - - amigaos*) -! archive_cmds='$rm $objdir/a2ixlibrary.data;$echo "#define NAME $libname" > $objdir/a2ixlibrary.data;$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data;$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR cru $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)' + by m> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR cru $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;;