TODO
====

0) Work on gcc should happen upstream. Pkgsrc should only contain patches
waiting for acceptance or those that won't be accepted upstream due to missing
standard compliance like the broken cabs of NetBSD.  

1) On NetBSD a working cabsl function must be present in libm to build gfortran.
This has been added to -current on 2014/10/10 and to NetBSD7 on 2014/10/13. Before this date it was defined in complex.h but missing from libm in current and 7.I didn't find a solution for NetBSD 6.
 
2) This package and the lang/gcc4x need a cleanup or a complete new start. I
think that SUBST_VARS could handle the platform dependencies in a much cleaner
way.

3) There are many undocumented hacks in the Makefile and patches. And yes, I
am guilty ;-) 

4) Tested on:
a) NetBSD 7.0_BETA amd64 (see test_summary.log).

b) NetBSD 7.99.1 amd64 (see last test_summary.log).
 
c) Debian jessie amd64, where it fails with the same error message
as lang/gcc49:

/bin/bash ../../../../gcc-5-20141026/libgcc/../mkinstalldirs 32
mkdir -p -- 32
/usr/pkgsrc/wip/gcc50snapshot/work/build/./gcc/xgcc -B/usr/pkgsrc/wip/gcc50snapshot/work/build/./gcc/ -B/usr/pkg/gcc50snapshot/x86_64-debian-linux/bin/ -B/usr/pkg/gcc50snapshot/x86_64-debian-linux/lib/ -isystem /usr/pkg/gcc50snapshot/x86_64-debian-linux/include -isystem /usr/pkg/gcc50snapshot/x86_64-debian-linux/sys-include    -O2  -g -O2 -Wno-error -I/usr/include -DIN_GCC    -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include   -fpic -mlong-double-80 -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector  -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1 -Wl,--version-script=libgcc.map -o 32/libgcc_s.so.1.tmp -g -O2 -Wno-error -I/usr/include -m32 -B./ _muldi3_s.o _negdi2_s.o _lshrdi3_s.o _ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o _clear_cache_s.o _trampoline_s.o __main_s.o _absvsi2_s.o _absvdi2_s.o _addvsi3_s.o _addvdi3_s.o _subvsi3_s.o _subvdi3_s.o _mulvsi3_s.o _mulvdi3_s.o _negvsi2_s.o _negvdi2_s.o _ctors_s.o _ffssi2_s.o _ffsdi2_s.o _clz_s.o _clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o _ctzdi2_s.o _popcount_tab_s.o _popcountsi2_s.o _popcountdi2_s.o _paritysi2_s.o _paritydi2_s.o _powisf2_s.o _powidf2_s.o _powixf2_s.o _powitf2_s.o _mulsc3_s.o _muldc3_s.o _mulxc3_s.o _multc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o _divtc3_s.o _bswapsi2_s.o _bswapdi2_s.o _clrsbsi2_s.o _clrsbdi2_s.o _fixunssfsi_s.o _fixunsdfsi_s.o _fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o _fixunssfdi_s.o _fixunsdfdi_s.o _fixunsxfdi_s.o _floatdisf_s.o _floatdidf_s.o _floatdixf_s.o _floatundisf_s.o _floatundidf_s.o _floatundixf_s.o _divdi3_s.o _moddi3_s.o _udivdi3_s.o _umoddi3_s.o _udiv_w_sdiv_s.o _udivmoddi4_s.o cpuinfo_s.o tf-signs_s.o sfp-exceptions_s.o addtf3_s.o divtf3_s.o eqtf2_s.o getf2_s.o letf2_s.o multf3_s.o negtf2_s.o subtf3_s.o unordtf2_s.o fixtfsi_s.o fixunstfsi_s.o floatsitf_s.o floatunsitf_s.o fixtfdi_s.o fixunstfdi_s.o floatditf_s.o floatunditf_s.o extendsftf2_s.o extenddftf2_s.o extendxftf2_s.o trunctfsf2_s.o trunctfdf2_s.o trunctfxf2_s.o enable-execute-stack_s.o unwind-dw2_s.o unwind-dw2-fde-dip_s.o unwind-sjlj_s.o unwind-c_s.o emutls_s.o libgcc.a -lc && rm -f 32/libgcc_s.so && if [ -f 32/libgcc_s.so.1 ]; then mv -f 32/libgcc_s.so.1 32/libgcc_s.so.1.backup; else true; fi && mv 32/libgcc_s.so.1.tmp 32/libgcc_s.so.1 && ln -s libgcc_s.so.1 32/libgcc_s.so
/usr/bin/ld: -L/usr/pkgsrc/wip/gcc50snapshot/work/build/./gcc: error loading plugin: -L/usr/pkgsrc/wip/gcc50snapshot/work/build/./gcc: cannot open shared object file: No such file or directory
collect2: error: ld returned 1 exit status
Makefile:942: recipe for target 'libgcc_s.so' failed
make[5]: *** [libgcc_s.so] Error 1
make[5]: Leaving directory '/usr/pkgsrc/wip/gcc50snapshot/work/build/x86_64-debian-linux/32/libgcc'
Makefile:1141: recipe for target 'multi-do' failed
make[4]: *** [multi-do] Error 1
make[4]: Leaving directory '/usr/pkgsrc/wip/gcc50snapshot/work/build/x86_64-debian-linux/libgcc'
Makefile:116: recipe for target 'all-multi' failed
make[3]: *** [all-multi] Error 2
make[3]: Leaving directory '/usr/pkgsrc/wip/gcc50snapshot/work/build/x86_64-debian-linux/libgcc'
Makefile:19302: recipe for target 'all-stage1-target-libgcc' failed


Have fun,

Kai-Uwe 
(kuehro at gmx.de)
