c't

c't-Projekte - Mailinglisten


[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

Re: AW: [ctsrvdev] Ipcop innerhalb der ipcop-umgebung bauen

Absender: Peter Siering
Datum: Di, 20.12.2005 00:10:04
In-reply-to: <000301c604dd$f96d6f20$0801a8c0@Nia>
References: <000301c604dd$f96d6f20$0801a8c0@Nia>



Am 19.12.2005 um 21:51 schrieb Jens Friedrich:

Ich hab im Makefile den propolice-patch mal ebenfalls auskommentiert, mit
dem ergebnis, dass jetzt nur noch die Fehler von
"arch/um/kernel/tt/unmap_fin.o" auftauchen (o wunder).

Wenn noch sscanf() und strpbrk() multiple-defined sind, hat das doch was mit
den linker-optionen zu tun, das muss man doch in den griff bekommen...
hier müssen doch die beiden fkt. statisch in main.o gelandet sein, und beim
linken mit vmlinux.o kracht's dann... Oder?

@peter: nur den propolice-patch rauszulassen hat nicht gereicht, hast du noch weitere anpassungen vorgenommen, die evtl. nicht im diff zu finden
sind?


aus dem uml-Patch aus meiner Anleitung (uml-2.4.28-bs2- pre11.patch.bz2) der Einfachheit gepastet:

--- um-linux-2.4.27-paolo/Makefile 2005-04-15 11:12:43.000000000 +0200 +++ um-linux-2.4.27-paolo/Makefile 2005-04-15 11:13:17.000000000 +0200
@@ -1,11 +1,19 @@
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 29
-EXTRAVERSION =
+EXTRAVERSION = -1um
KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
-ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ - e s/arm.*/a
rm/ -e s/sa110/arm/)
+# SUBARCH tells the usermode build what the underlying arch is. That is set +# first, and if a usermode build is happening, the "ARCH=um" on the command +# line overrides the setting of ARCH below. If a native build is happening,
+# then ARCH is assigned, getting whatever value it gets normally, and
+# SUBARCH is subsequently ignored.
+
+SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/ sparc64/ -e s/arm.
*/arm/ -e s/sa110/arm/)
+ARCH := $(SUBARCH)
+
KERNELPATH=kernel-$(shell echo $(KERNELRELEASE) | sed -e "s/-//g")
CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
@@ -91,7 +99,12 @@
CPPFLAGS := -D__KERNEL__ -I$(HPATH)
-CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -O2 \
+ifndef CONFIG_O1_OPTIM
+OPTIMFLAGS := -O2 -fno-stack-protector-all
+else

Das -fno-stack-protector-all hat es gemacht.  Oder hattest Du das schon?

Gruß,
Peter