Kleiner Fix für target toolchain in ds-0.2.6 nötig

ptweety

Neuer User
Mitglied seit
3 Apr 2006
Beiträge
138
Punkte für Reaktionen
0
Punkte
0
Hier habe ich ja angekündigt, mich mal mit port knocking beschäftigen zu wollen. Da dachte ich noch, das knock kein Problem darstellen sollte. Leider bin ich beim Übersetzen dann aber über einen Fehler im gcc 4.1.0 gestolpert. Dabei wird das Makro PATH_MAX nicht richtig in limits.h deklariert. Glücklicherweise hat Dan Kegel in seinem Crosstool dafür schon einen Fix bereitgestellt, welchen ich einfach mal getestet habe. Und siehe da knock compiliert nun.

=> mein Vorschlag, den Fix in toolchain/make/target/gcc/4.1.0/110-fix-fixincl.patch abzulegen:

Code:
--- gcc-4.1.0/gcc/Makefile.in.old
+++ gcc-4.1.0/gcc/Makefile.in
@@ -388,7 +388,10 @@
 CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@

 # autoconf sets SYSTEM_HEADER_DIR to one of the above.
-SYSTEM_HEADER_DIR = @SYSTEM_HEADER_DIR@
+# Purge it of unneccessary internal relative paths
+# to directories that might not exist yet.
+# The sed idiom for this is to repeat the search-and-replace until it doesn't match, using :a ... ta.
+SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`

 # Control whether to run fixproto and fixincludes.
 STMP_FIXPROTO = @STMP_FIXPROTO@
@@ -3167,13 +3170,15 @@
 ../$(build_subdir)/fixincludes/fixincl: ; @ :

 # Build fixed copies of system files.
+# Abort if no system headers available, unless building a crosscompiler.
+# Canonicalize $gcc_tooldir/sys-include in same way as $SYSTEM_HEADER_DIR was canonicalized so test still works
 stmp-fixinc: gsyslimits.h macro_list \
   $(build_objdir)/fixincludes/fixincl \
   $(build_objdir)/fixincludes/fixinc.sh
        @if ! $(inhibit_libc) && test ! -d ${SYSTEM_HEADER_DIR}; then \
          echo The directory that should contain system headers does not exist: >&2 ; \
          echo "  ${SYSTEM_HEADER_DIR}" >&2 ; \
-         if test "x${SYSTEM_HEADER_DIR}" = "x${gcc_tooldir}/sys-include"; \
+         if test "x${SYSTEM_HEADER_DIR}" = "x`echo "${gcc_tooldir}/sys-include" | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`"; \
          then sleep 1; else exit 1; fi; \
        fi
        rm -rf include; mkdir include

MFG pTweety
 
Danke für den Patch, hab ihn in den ds-mod übernommen.
 

Neueste Beiträge

Statistik des Forums

Themen
244,858
Beiträge
2,219,652
Mitglieder
371,572
Neuestes Mitglied
#Kuddel#
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.