Changeset 98493


Ignore:
Timestamp:
Oct 7, 2012, 1:06:13 AM (12 years ago)
Author:
jeremyhu@…
Message:

emutls fix for libstdcxx{,-devel} and linking fix for Mountain Lion

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53453
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54806

Location:
trunk/dports/lang
Files:
2 added
2 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/dports/lang/gcc47/Portfile

    r98488 r98493  
    5252depends_skip_archcheck-append gcc_select ld64 cctools
    5353
    54 patchfiles          ppc_fde_encoding.diff
    55 patch.dir           ${workpath}/gcc-${version}
    56 
     54patchfiles          ppc_fde_encoding.diff  gcc-PR-53453.patch
    5755patch.dir           ${workpath}/gcc-${version}
    5856
     
    129127    conflicts       libstdcxx-devel
    130128
    131     # We might want to consider adding this patch to the gcc subport as well
    132     # since it removes stuff that doesn't really make sense in the context of
    133     # MacPorts
    134     patchfiles-append  no-runtime-stubs.patch
     129    patchfiles-append  force-static-gcc.patch
    135130
    136131    depends_run-delete path:lib/libstdc\\\\+\\\\+.6.dylib:libstdcxx
  • trunk/dports/lang/gcc47/files/gcc-PR-53453.patch

    r98488 r98493  
     1http://gcc.gnu.org/ml/gcc-patches/2012-06/msg01181.html
     2http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53453
     3
     4diff -uNr gcc/config/darwin.h gcc/config/darwin.h
     5--- gcc/config/darwin.h 2012-02-16 03:21:46.000000000 -0500
     6+++ gcc/config/darwin.h 2012-06-08 08:54:25.000000000 -0400
     7@@ -356,7 +356,9 @@
     8      %{!Zbundle:%{pg:%{static:-lgcrt0.o}                                   \
     9                      %{!static:%{object:-lgcrt0.o}                         \
     10                                %{!object:%{preload:-lgcrt0.o}              \
     11-                                 %{!preload:-lgcrt1.o %(darwin_crt2)}}}}    \
     12+                                 %{!preload:-lgcrt1.o                       \
     13+                                 %:version-compare(>= 10.8 mmacosx-version-min= -no_new_main) \
     14+                                 %(darwin_crt2)}}}}    \
     15                 %{!pg:%{static:-lcrt0.o}                                   \
     16                       %{!static:%{object:-lcrt0.o}                         \
     17                                 %{!object:%{preload:-lcrt0.o}              \
     18@@ -379,7 +381,7 @@
     19 #define DARWIN_CRT1_SPEC                                               \
     20   "%:version-compare(!> 10.5 mmacosx-version-min= -lcrt1.o)            \
     21    %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lcrt1.10.5.o)  \
     22-   %:version-compare(>= 10.6 mmacosx-version-min= -lcrt1.10.6.o)       \
     23+   %:version-compare(>< 10.6 10.8 mmacosx-version-min= -lcrt1.10.6.o)  \
     24    %{fgnu-tm: -lcrttms.o}"
     25 
     26 /* Default Darwin ASM_SPEC, very simple.  */
     27@@ -414,6 +416,8 @@
     28 
     29 #define TARGET_WANT_DEBUG_PUB_SECTIONS true
     30 
     31+#define TARGET_FORCE_AT_COMP_DIR true
     32+
     33 /* When generating stabs debugging, use N_BINCL entries.  */
     34 
     35 #define DBX_USE_BINCL
     36diff -uNr gcc/doc/tm.texi gcc/doc/tm.texi
     37--- gcc/doc/tm.texi     2012-01-26 16:48:27.000000000 -0500
     38+++ gcc/doc/tm.texi     2012-06-08 08:54:25.000000000 -0400
     39@@ -9487,6 +9487,10 @@
     40 True if the @code{.debug_pubtypes} and @code{.debug_pubnames} sections should be emitted.  These sections are not used on most platforms, and in particular GDB does not use them.
     41 @end deftypevr
     42 
     43+@deftypevr {Target Hook} bool TARGET_FORCE_AT_COMP_DIR
     44+True if the @code{DW_AT_comp_dir} attribute should be emitted for each  compilation unit.  This attribute is required for the darwin linker  to emit debug information.
     45+@end deftypevr
     46+
     47 @deftypevr {Target Hook} bool TARGET_DELAY_SCHED2
     48 True if sched2 is not to be run at its normal place.  This usually means it will be run as part of machine-specific reorg.
     49 @end deftypevr
     50diff -uNr gcc/doc/tm.texi.in gcc/doc/tm.texi.in
     51--- gcc/doc/tm.texi.in  2012-01-26 16:48:27.000000000 -0500
     52+++ gcc/doc/tm.texi.in  2012-06-08 08:54:25.000000000 -0400
     53@@ -9386,6 +9386,8 @@
     54 
     55 @hook TARGET_WANT_DEBUG_PUB_SECTIONS
     56 
     57+@hook TARGET_FORCE_AT_COMP_DIR
     58+
     59 @hook TARGET_DELAY_SCHED2
     60 
     61 @hook TARGET_DELAY_VARTRACK
     62diff -uNr gcc/dwarf2out.c gcc/dwarf2out.c
     63--- gcc/dwarf2out.c     2012-06-04 09:24:24.000000000 -0400
     64+++ gcc/dwarf2out.c     2012-06-08 08:54:25.000000000 -0400
     65@@ -22501,7 +22501,7 @@
     66   /* Add the name for the main input file now.  We delayed this from
     67      dwarf2out_init to avoid complications with PCH.  */
     68   add_name_attribute (comp_unit_die (), remap_debug_filename (filename));
     69-  if (!IS_ABSOLUTE_PATH (filename))
     70+  if (!IS_ABSOLUTE_PATH (filename) || targetm.force_at_comp_dir)
     71     add_comp_dir_attribute (comp_unit_die ());
     72   else if (get_AT (comp_unit_die (), DW_AT_comp_dir) == NULL)
     73     {
     74diff -uNr gcc/target.def gcc/target.def
     75--- gcc/target.def      2012-01-26 16:48:27.000000000 -0500
     76+++ gcc/target.def      2012-06-08 08:54:25.000000000 -0400
     77@@ -2748,6 +2748,13 @@
     78  bool, false)
     79 
     80 DEFHOOKPOD
     81+(force_at_comp_dir,
     82+ "True if the @code{DW_AT_comp_dir} attribute should be emitted for each \
     83+ compilation unit.  This attribute is required for the darwin linker \
     84+ to emit debug information.",
     85+ bool, false)
     86+
     87+DEFHOOKPOD
     88 (delay_sched2, "True if sched2 is not to be run at its normal place.  \
     89 This usually means it will be run as part of machine-specific reorg.",
     90 bool, false)
  • trunk/dports/lang/gcc48/Portfile

    r98488 r98493  
    88
    99version             4.8-20120930
     10# reset revision in libstdcxx-devel upon bump
    1011revision            1
    1112platforms           darwin
     
    108109if {${subport} == "libstdcxx-devel"} {
    109110    conflicts       libstdcxx
     111
     112    # delete this revision as well when bumping base version
     113    revision 2
    110114   
    111     # We might want to consider adding this patch to the gcc subport as well
    112     # since it removes stuff that doesn't really make sense in the context of
    113     # MacPorts
    114     patchfiles-append  no-runtime-stubs.patch
     115    patchfiles-append  force-static-gcc.patch
    115116
    116117    depends_run-delete port:${subport}
Note: See TracChangeset for help on using the changeset viewer.