After hiding many symbols, the mozilla team went to some trouble to provide wrappers for system headers, in order to prevent visibility problems, but their default arrangement fails for our converters/libiconv iconv.h. To fix this, the FreeBSD gecko team hardcoded the inclusion of the libiconv iconv.h, but in doing so failed to arrange for it to have default rather than hidden visibility. This causes problems, especially with newer versions of GCC. (See, for example, http://gcc.gnu.org/wiki/Visibility .) Unbreak www/firefox3-devel and firefox35 with recent versions of GCC by: --restoring default visibility for iconv.h (patching the wrappers themselves, rather than the source files); --likewise wrapping the inclusion of our system fenv.h, which is included by local patches, to provide default visibility (fedisableexcept is a weak symbol, particularly prone to visibility problems); --fixing a criteria for the inclusion of dlfcn.h that only worked for GNU/Linux and Mac OSX; and --relaxing some linking checks to solve problems caused by the conversion of static archives into shared libraries with ld from devel/binutils. Tested with gcc 4.5, binutils 2.20, firefox-3.5.7, and firefox-3.6rc1 only. The changes in bsd.gecko.mk do not break builds for www/firefox3, firefox3-devel and firefox35 with the base system compiler on my box (9-CURRENT amd64 r202050), but they could be refined. The patch is in three parts: I will include the bsd.gecko.mk changes with the opening of the PR, and the patches to firefox35 and firefox35 in subsequent addenda. Regards, b. Fix: Patch attached with submission follows:
Responsible Changed From-To: freebsd-ports-bugs->gecko Over to maintainer (via the GNATS Auto Assign Tool)
Attached, the second of three patches, this one for www/firefox3-devel. gmail may encode it in base64. b.
Attached, the third of three patches, this one for www/firefox35. gmail may encode it in base64. b.
Here's a patch to do the same thing to www/libxul http://www.predatorlabs.net/dl/patches/libxul-gcc44.diff -- Rob Farmer
Responsible Changed From-To: gecko->beat I'll take it.
beat 2010-08-29 15:16:20 UTC FreeBSD ports repository Modified files: Mk bsd.gecko.mk Log: - Prepare bsd.gecko.mk to unbreak gecko ports with recent versions of GCC PR: ports/142736 Submitted by: bf <bf1783 AT gmail.com> Revision Changes Path 1.22 +14 -4 ports/Mk/bsd.gecko.mk _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
beat 2010-08-29 15:17:43 UTC FreeBSD ports repository Modified files: www/firefox/files patch-js_src_jsnum.cpp Added files: www/firefox/files patch-toolkit_library_Makefile.in patch-xpcom_base_nsStackWalk.cpp www/firefox35/files patch-toolkit_library_Makefile.in patch-xpcom_base_nsStackWalk.cpp Log: - Unbreak with recent versions of GCC PR: ports/142736 Submitted by: bf <bf1783 AT gmail.com> Revision Changes Path 1.2 +7 -5 ports/www/firefox/files/patch-js_src_jsnum.cpp 1.1 +11 -0 ports/www/firefox/files/patch-toolkit_library_Makefile.in (new) 1.1 +11 -0 ports/www/firefox/files/patch-xpcom_base_nsStackWalk.cpp (new) 1.1 +11 -0 ports/www/firefox35/files/patch-toolkit_library_Makefile.in (new) 1.1 +11 -0 ports/www/firefox35/files/patch-xpcom_base_nsStackWalk.cpp (new) _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
beat 2010-08-29 15:18:28 UTC FreeBSD ports repository Modified files: www/libxul/files patch-js_src_jsnum.cpp Added files: www/libxul/files patch-toolkit_library_Makefile.in patch-xpcom_base_nsStackWalk.cpp Log: - Unbreak with recent versions of GCC PR: ports/142736 Submitted by: Rob Farmer <rfarmer AT predatorlabs.net> Revision Changes Path 1.2 +7 -5 ports/www/libxul/files/patch-js_src_jsnum.cpp 1.1 +11 -0 ports/www/libxul/files/patch-toolkit_library_Makefile.in (new) 1.1 +11 -0 ports/www/libxul/files/patch-xpcom_base_nsStackWalk.cpp (new) _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed Committed. Thanks!