Bug 75785 - lang/gcc32 uses libc_r instead of libpthread on 5.3
Summary: lang/gcc32 uses libc_r instead of libpthread on 5.3
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: David E. O'Brien
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-01-04 09:30 UTC by Oleg Sharoiko
Modified: 2005-06-06 13:55 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Oleg Sharoiko 2005-01-04 09:30:28 UTC
	The commit http://docs.freebsd.org/cgi/getmsg.cgi?fetch=305919+0+archive/2004/cvs-all/20041226.cvs-all broke selection of pthreads library on 5.3

wolf, ~/src/test > uname -a
FreeBSD wolf.os.rsu.ru 5.3-STABLE FreeBSD 5.3-STABLE #0: Sat Jan  1 21:36:31 MSK 2005 os@wolf.os.rsu.ru:/usr/obj/usr/src/sys/wolf.os.i686.RELENG_5.2005-01-01  i386

With system compiler:

wolf, ~/src/test > gcc -v
Using built-in specs.
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 3.4.2 [FreeBSD] 20040728

wolf, ~/src/test > gcc -Wall -pedantic -pthread test_pth.c -o test_pth

wolf, ~/src/test > ldd test_pth
test_pth:
          libpthread.so.1 => /usr/lib/libpthread.so.1 (0x28081000)
          libc.so.5 => /lib/libc.so.5 (0x280a7000)

With gcc32 from ports

wolf, ~/src/test > gcc32 -v
Reading specs from /usr/local/lib/gcc-lib/i386-portbld-freebsd5.3/3.2.3/specs
Configured with: ./..//gcc-3.2.3/configure --disable-nls --with-gxx-include-dir=/usr/local/lib/gcc-lib/i386-portbld-freebsd5.3/3.2.3/include/g++-v3 --with-system-zlib --includedir=/usr/local/lib/gcc-lib/i386-portbld-freebsd5.3/3.2.3/include/Java --disable-shared --prefix=/usr/local i386-portbld-freebsd5.3
Thread model: posix
gcc version 3.2.3

wolf, ~/src/test > gcc32 -Wall -pedantic -pthread test_pth.c -o test_pth

wolf, ~/src/test > ldd test_pth
test_pth:
          libc_r.so.5 => /usr/lib/libc_r.so.5 (0x28081000)
          libc.so.5 => /lib/libc.so.5 (0x280a5000)

	This at least breaks editors/openoffice-1.1 linking it's binaries against both libc_r and libpthread. Number of people complained on freebsd-openoffice:
	http://docs.freebsd.org/cgi/getmsg.cgi?fetch=15561+0+archive/2004/freebsd-openoffice/20041231.freebsd-openoffice
	http://docs.freebsd.org/cgi/getmsg.cgi?fetch=53386+0+archive/2004/freebsd-openoffice/20041231.freebsd-openoffice
	http://docs.freebsd.org/cgi/getmsg.cgi?fetch=0+0+archive/2004/freebsd-openoffice/20041231.freebsd-openoffice

Fix: 

Either rollback the commit or change the patch-gcc,config,freebsd-spec.h
	It may have sence that gcc/config/freebsd-spec.h has a note in comments that __FreeBSD_version from osreldate.h can not be used because it breaks cross-compilation. No sure what would be the best solution so I leave it for someone more competent to decide.
How-To-Repeat: 	Builg lang/gcc32
	Try to link with -pthread
	Check libs with ldd

	It's also possible to check /usr/local/lib/gcc-lib/i386-portbld-freebsd5.3/3.2.3/specs for pthread libs specification
Comment 1 Michael Nottebrock freebsd_committer freebsd_triage 2005-01-04 17:31:28 UTC
Responsible Changed
From-To: freebsd-ports-bugs->obrien

Assign to responsible committer.
Comment 2 Michael Nottebrock 2005-01-04 17:36:50 UTC
Confirmation, gcc32 is broken again.

David, those this mean all the upstream patches you made in the gcc repo are 
broken as well?
Comment 3 Mark Linimon freebsd_committer freebsd_triage 2005-04-04 05:15:44 UTC
State Changed
From-To: open->feedback

This should have been set to the feedback state some time ago.
Comment 4 Oleg Sharoiko 2005-04-13 08:18:31 UTC
Hello!

As far as I know it works. I suppose this PR can be closed.

-- 
Oleg Sharoiko.
Software and Network Engineer
Computer Center of Rostov State University.
Comment 5 Florent Thoumie freebsd_committer freebsd_triage 2005-06-06 13:55:29 UTC
State Changed
From-To: feedback->closed

Submitter agrees that the PR should be closed.