Bug 15120 - [3.3 only] [libtool bug] hidden symbol `__sdivsi3_i4' is referenced by DSO
Summary: [3.3 only] [libtool bug] hidden symbol `__sdivsi3_i4' is referenced by DSO
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: bootstrap (show other bugs)
Version: 3.3.4
: P2 normal
Target Milestone: 3.3.5
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-04-24 22:34 UTC by Kazumoto Kojima
Modified: 2004-10-30 21:10 UTC (History)
2 users (show)

See Also:
Host: sh4-unknown-linux-gnu
Target: sh4-unknown-linux-gnu
Build: sh4-unknown-linux-gnu
Known to work: 3.3.5 3.4.1 4.0.0
Known to fail:
Last reconfirmed: 2004-04-24 23:30:04


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kazumoto Kojima 2004-04-24 22:34:15 UTC
3.4/3.5 failed on native sh4-unknown-linux-gnu with the newer ld in
building libstdc++-v3/testsuite/abi_check:

/usr/gnu/sh4-unknown-linux-gnu/bin/ld: abi_check: hidden symbol `__sdivsi3_i4'
in /mnt/hda3/ldroot/dodes/sh-gcc340/gcc/libgcc.a(_sdivsi3_i4.oS) is referenced
by DSO
collect2: ld returned 1 exit status

This doesn't happen to 3.3.3.  So it's a regression from 3.3-branch.
Setting lt_cv_deplibs_check_method to pass_all in gcc/libtool.m4 for
sh*-linux target fixes it.  I'm preparing a patch.
Comment 1 Andrew Pinski 2004-04-24 23:30:03 UTC
So this is a libtool bug, right, make you post the patch to libtool's patches mailing list and when it gets 
in the libtool cvs, the patch can then just go right into GCC's CVS.
Comment 2 Kazumoto Kojima 2004-04-25 00:08:10 UTC
I've confirmed that the current up-stream libtool.m4 in the libtool cvs
has set lt_cv_deplibs_check_method to pass_all for sh*-linux* already.
So I'd like to send the patch for syncing to gcc-patches.  Thanks for
your suggestion.

Comment 3 Hinko Kocevar 2004-05-04 16:45:25 UTC
I managed to reproduce similar error with 3.3.2 cross compiler for arm
architecture building on i386 architecture. Compiling microwindows-0.90 (from
www.microwindows.org):

/usr/local/arm/3.3.2/lib/gcc-lib/arm-linux/3.3.2/../../../../arm-linux/bin/ld:
/home/roaher/tmp/microwindows-0.90/src/bin/demo: hidden symbol `__udivsi3' in
/usr/local/arm/3.3.2/lib/gcc-lib/arm-linux/3.3.2/libgcc.a(_udivsi3.oS) is
referenced by DSO
collect2: ld returned 1 exit status

Other hidden sysmbols may appear too.
Tested with prebuilt toolchain from handhelds
(http://handhelds.org/download/toolchain/arm-linux-toolchain-current.tar.bz2)
and my 3.3.2 toolchain built with ptxdist tool
(http://www.pengutronix.de/software/ptxdist_en.html) based on
PTXCONF_BINUTILS_2_14=y
PTXCONF_GCC_3_3_2=y
PTXCONF_GCC_3=y
PTXCONF_GCC_SHARED=y
PTXCONF_GCC_MULTILIB=y
PTXCONF_GLIBC_2_3_2=y
PTXCONF_GLIBC_PTHREADS=y
PTXCONF_GLIBC_SHARED=y

I tried patching gcc-3.3.2/libtool.m4 by setting lt_cv_deplibs_check_method to
pass_all on line 688, and binutils-2.14/libtool.m4 on line 646, but with no success.
Comment 4 Hinko Kocevar 2004-05-07 08:03:10 UTC
With the help from Kazumoto Kojima I managed to cross compile MW 0.9 with 3.3.2
toolchain. As Kazumoto pointed out to me, my problem is not related to this bug
(15120), instead it is a MW issue. I notified the author of MW in hope to
implement the patch on the tree.
Comment 5 GCC Commits 2004-05-12 15:14:39 UTC
Subject: Bug 15120

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_3-branch
Changes by:	kkojima@gcc.gnu.org	2004-05-12 15:14:35

Modified files:
	.              : ChangeLog libtool.m4 
	boehm-gc       : configure 
	libf2c         : configure 
	libffi         : configure 
	libjava        : configure 
	libobjc        : configure 
	libstdc++-v3   : configure 
	zlib           : configure 

Log message:
	PR bootstrap/15120
	* libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on sh*.
	* */configure: Rebuilt.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.621.2.48&r2=1.621.2.49
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libtool.m4.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.10.2.2&r2=1.10.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/boehm-gc/configure.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.55.14.5&r2=1.55.14.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libf2c/configure.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.35.14.3&r2=1.35.14.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/configure.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.37.2.7&r2=1.37.2.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/configure.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.159.2.9&r2=1.159.2.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libobjc/configure.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.25.14.3&r2=1.25.14.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/configure.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.286.2.19&r2=1.286.2.20
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/zlib/configure.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.20.14.4&r2=1.20.14.5

Comment 6 GCC Commits 2004-05-18 09:09:23 UTC
Subject: Bug 15120

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_4-branch
Changes by:	kkojima@gcc.gnu.org	2004-05-18 09:09:15

Modified files:
	.              : ChangeLog libtool.m4 
	boehm-gc       : configure 
	libf2c         : configure 
	libffi         : configure 
	libjava        : configure 
	libobjc        : configure 
	libstdc++-v3   : configure 
	zlib           : configure 

Log message:
	PR bootstrap/15120
	* libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on sh*.
	* */configure: Rebuilt.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.856.2.13&r2=1.856.2.14
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libtool.m4.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.14&r2=1.14.4.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/boehm-gc/configure.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.66&r2=1.66.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libf2c/configure.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.42.10.1&r2=1.42.10.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/configure.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.55.4.1&r2=1.55.4.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/configure.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.200.4.1&r2=1.200.4.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libobjc/configure.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.32&r2=1.32.10.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/configure.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.373.4.9&r2=1.373.4.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/zlib/configure.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.27&r2=1.27.10.1

Comment 8 Kazumoto Kojima 2004-05-18 10:13:34 UTC
Fixed on 3.3/3.4/mainline.
Comment 9 Kazumoto Kojima 2004-05-31 23:33:08 UTC
It appears again in 3.3-branch.  It seems that libstdc++-v3/configure is
regenerated with the older libtool.m4
Comment 10 Gabriel Dos Reis 2004-06-01 00:30:37 UTC
Subject: Re:  [3.3 only] [libtool bug] hidden symbol `__sdivsi3_i4' is referenced by DSO

"kkojima at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org> writes:

| It appears again in 3.3-branch.  It seems that libstdc++-v3/configure is
| regenerated with the older libtool.m4

That may be caused by this:

   2004-05-24  Ronald Landheer-Cieslak  <ronald@landheer.com>

           PR libstdc++/11171
           * acinclude.m4: Deal with --with-newlib.
           * aclocal.m4: Regenerate.
           * configure.in: Set os_include_dir correctly when
           --with-newlib.
           * configure: Regenerate.

We should be setting sanity checks with respect to required autotools.

-- Gaby
Comment 11 Kazumoto Kojima 2004-06-01 01:13:36 UTC
Indeed.  Perhaps it might be regenerated after updating libstdc++ tree
only, without updating the top gcc directory.

Regards,
	kaz
Comment 12 Mark Mitchell 2004-06-12 22:47:40 UTC
Retargeted at 3.3.5, since this is marked as 3.3 only.
Comment 14 Andrew Pinski 2004-07-26 00:56:13 UTC
Fixed.