Bug 142736 - [PATCH]www/firefox3*: unbreak with recent versions of GCC
Summary: [PATCH]www/firefox3*: unbreak with recent versions of GCC
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: Beat Gaetzi
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-12 05:30 UTC by bf
Modified: 2010-08-29 16:21 UTC (History)
0 users

See Also:


Attachments
file.diff (1.22 KB, patch)
2010-01-12 05:30 UTC, bf
no flags Details | Diff
firefox3-devel_diff.txt (2.50 KB, text/plain; charset=US-ASCII)
2010-01-12 05:36 UTC, b. f.
no flags Details
firefox35_diff.txt (1.41 KB, text/plain; charset=US-ASCII)
2010-01-12 05:38 UTC, b. f.
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description bf 2010-01-12 05:30:01 UTC
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:
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2010-01-12 05:30:11 UTC
Responsible Changed
From-To: freebsd-ports-bugs->gecko

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 b. f. 2010-01-12 05:36:16 UTC
Attached, the second of three patches, this one for
www/firefox3-devel. gmail may encode it in base64.

b.
Comment 3 b. f. 2010-01-12 05:38:33 UTC
Attached, the third of three patches, this one for
www/firefox35. gmail may encode it in base64.

b.
Comment 4 Robert Farmer 2010-02-23 11:48:52 UTC
Here's a patch to do the same thing to www/libxul

http://www.predatorlabs.net/dl/patches/libxul-gcc44.diff

-- 
Rob Farmer
Comment 5 Beat Gaetzi freebsd_committer freebsd_triage 2010-08-15 14:11:05 UTC
Responsible Changed
From-To: gecko->beat

I'll take it.
Comment 6 dfilter service freebsd_committer freebsd_triage 2010-08-29 16:16:34 UTC
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"
Comment 7 dfilter service freebsd_committer freebsd_triage 2010-08-29 16:17:52 UTC
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"
Comment 8 dfilter service freebsd_committer freebsd_triage 2010-08-29 16:18:41 UTC
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"
Comment 9 Beat Gaetzi freebsd_committer freebsd_triage 2010-08-29 16:21:35 UTC
State Changed
From-To: open->closed

Committed. Thanks!