This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] darwin shared/dylibed library support


Hello all,

I'm back again with this patch.
http://gcc.gnu.org/ml/gcc-patches/2003-06/msg01920.html

Last time posted it I got a partly approval but I was not happy with
since the libgcj testsuite blocked my machine. This was under darwin6.3.
Now I run darwin7.0.0 and the situation has improved. Well, on
darwin7.0.0 it is the only way to get the libgcj run. With a static
build of libgcj I end up here:
http://gcc.gnu.org/ml/java/2003-11/msg00117.html

With this patch applied you can see the results here:
http://gcc.gnu.org/ml/gcc-testresults/2003-11/msg00696.html

I made a test on the host_os to see if we can build libgcj dylibed or
not. This is to distinguish between OS-X 10.2 and 10.3.

Hopefully it is ok. I know, it's a bit late for 3.4, but now it's upon
you to decide whether if it is welcome in 3.4 or not :)

Thanks to Andrew P. for testing it on 10.2.8 and on a faaaast G5 with
10.3 :)

Tested on darwin7.0.0 with and without shared library support
(--disable-shared) --enable-shared is default.

Tested on linuxppc to see if there is an impact. Not seen.

Attached the current implementation based on todays cvs main.

Thanks for any feedback.

Andreas

Changelog:

2003-11-18 Andreas Tobler <a.tobler@schweiz.ch>

	* libtool.m4: Sync darwin bits from libtool cvs to build a gcc
	with shared/dylibed libraries.
	* ltmain.sh: Likewise.
	* ltcf-c.sh: Likewise, disable shared library build for
	OS-X < 10.3.
	* ltcf-cxx.sh: Likewise.
	* ltcf-gcj.sh: Likewise.
	* ltconfig: Likewise.

gcc/Changelog:

2003-11-18 Andreas Tobler <a.tobler@schweiz.ch>

	* config/config.gcc (powerpc-*-darwin*): Add libgcc build
	specification file.
	* config/t-slibgcc-darwin: New file, libgcc build specification.
	* config/t-darwin: Add libgcc2 flag -fPIC.
	* config/rs6000/t-darwin: Multilib matches float.
	* libgcc-darwin.ver: New file, contains libgcc symbols.

gcc/testsuite/Changelog:

2003-11-18 Andreas Tobler <a.tobler@schweiz.ch>

	* g++.dg/compat/compat.exp: Add DYLD_LIBRARY_PATH for darwin.
	* lib/g77.exp: Likewise.
	* lib/objc.exp: Likewise.
	* lib/g++.exp: Likewise, add -multiply_defined suppress flag
	for darwin.
	


libffi/Changelog:


2003-11-18 Andreas Tobler <a.tobler@schweiz.ch>

	* testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
	Add -lgcc_s to additional flags.

libjava/testsuite/Changelog:

2003-11-18 Andreas Tobler <a.tobler@schweiz.ch>

	* lib/libjava.exp: Add DYLD_LIBRARY_PATH for darwin. Look for
	the right libgcc. Add -multiply_defined suppress and
	-bind_at_load flags.

libstdc++-v3/Changelog:

2003-11-18 Andreas Tobler <a.tobler@schweiz.ch>

	* testsuite/lib/libstdc++.exp: Add DYLD_LIBRARY_PATH for darwin.
   	* testsuite/libstdc++-dg/normal.exp: Add -multiply_defined
	suppress flag.








Attachment: gcc-dylib-3.4-1.diff.gz
Description: GNU Zip compressed data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]