Re: [Madwifi-devel] [PATCH]: add ARCH=x86 workaround in scripts/get_arch.mk
Status: Beta
Brought to you by:
otaku
From: Pavel R. <pr...@gn...> - 2008-01-31 17:56:09
|
On Thu, 2008-01-31 at 22:34 +1000, Kel Modderman wrote: > Debian's linux-image-2.6.24 and above will report "x86" as ARCH for i386 > and amd64 in linux-2.6.24 packages. I'm not sure what it means in practical terms. I understand Debian wants to override ARCH. Anyway, cross-compiling on a non-x86 platform for an x86 platform would need ARCH, and it has to be x86 for Linux 2.6.24 and newer. > Do you think there is better way to address this problem than what is attached > below? > > Thanks, Kel. > --- > --- a/scripts/get_arch.mk > +++ b/scripts/get_arch.mk > @@ -40,6 +40,14 @@ > ifeq (,$(ARCH)) > ARCH = $(ARCH-y) > else > +ifeq ($(filter-out x86,$(ARCH)),) Why this complexity? How about this: ifeq (x86,$(ARCH-y)) I'd rather be conservative in what we accept. > +ifeq (x86_64,$(ARCH-y)) > +ARCH = $(ARCH-y) > +endif I don't feel good about overriding ARCH. That can break things in the kernel build system. Even if it works now, I'd rather avoid it. Also, it starts an "override war". If ARCH is specified on the command line, it would override ARCH set in get_arch.mk. Let's keep the approach "accept or bail out". Perhaps it wasn't a good idea to deal with ARCH in MadWifi, but I understand that we cannot make big changes before 0.9.4 release. I suggest that MadWifi accepts "x86" rather than tries to override it. That needs some extra logic on the TARGET side. Here's an alternative patch. Index: scripts/get_arch.mk =================================================================== --- scripts/get_arch.mk (revision 3316) +++ scripts/get_arch.mk (working copy) @@ -36,6 +36,13 @@ $(Cannot determine ARCH) endif +# Allow ARCH to be x86 +ifneq (,$(CONFIG_X86)) +ifeq (x86,$(ARCH)) +ARCH-y = $(ARCH) +endif +endif + # Don't allow ARCH to be overridden by a different value. ifeq (,$(ARCH)) ARCH = $(ARCH-y) Index: ath_hal/ah_target.inc =================================================================== --- ath_hal/ah_target.inc (revision 3316) +++ ath_hal/ah_target.inc (working copy) @@ -25,6 +25,8 @@ # Determine the target (i.e. which HAL to use). # The default is $(ARCH)-elf +TARGET-$(CONFIG_X86) = i386-elf +TARGET-$(CONFIG_X86_64) = x86_64-elf TARGET-$(CONFIG_CPU_32v4) = armv4-$(ENDIAN)-elf TARGET-$(CONFIG_CPU_MIPS32_R1) = mips1-$(ENDIAN)-elf TARGET-$(CONFIG_CPU_MIPS32_R2) = mips-$(ENDIAN)-elf -- Regards, Pavel Roskin |