Re: 2.6.37-rc1 build failure

Previous thread: [PATCH v1 00/12] netoops support by Mike Waychison on Tuesday, November 2, 2010 - 6:29 pm. (27 messages)

Next thread: [oops, 2.6.37-rc1] Unpacking initramfs failed, oops in free_init_pages() by Dave Chinner on Tuesday, November 2, 2010 - 6:54 pm. (2 messages)
From: randrianasulu
Date: Tuesday, November 2, 2010 - 10:32 pm

Trying to make new kernel i run into this:

  CC      arch/x86/lib/delay.o
  AS      arch/x86/lib/getuser.o
  AS      arch/x86/lib/putuser.o
  CC      arch/x86/lib/usercopy_32.o
  AR      arch/x86/lib/lib.a
  LD      vmlinux.o
  MODPOST vmlinux.o
WARNING: modpost: Found 2 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
  GEN     .version
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  LD      init/built-in.o
  LD      .tmp_vmlinux1
kernel/built-in.o: In function `free_event':
perf_event.c:(.text+0x66eb3): undefined reference to `irq_work_sync'
kernel/built-in.o: In function `perf_output_put_handle':
perf_event.c:(.text+0x680e1): undefined reference to `irq_work_queue'
kernel/built-in.o: In function `__perf_event_overflow':
perf_event.c:(.text+0x6a75e): undefined reference to `irq_work_queue'
make: *** [.tmp_vmlinux1] Îøèáêà 1

kernel.org git master up to 

commit eb8abb927ae2fd1730e24ea94cd9527f3c086292
Author: Theodore Ts'o <tytso@mit.edu>
Date:   Tue Nov 2 09:34:50 2010 -0400

    ext4: Remove useless spinlock in ext4_getattr()
    


this is my .config

#
# Automatically generated make config: don't edit
# Linux/i386 2.6.37-rc1 Kernel Configuration
# Tue Nov  2 12:49:06 2010
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf32-i386"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
# CONFIG_NEED_DMA_MAP_STATE is not set
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_GPIO=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# ...
From: Lin Ming
Date: Tuesday, November 2, 2010 - 7:05 pm

I build with you .config, but no error.

Maybe you can make distclean and re-build.

Lin Ming
--

From: randrianasulu
Date: Wednesday, November 3, 2010 - 8:34 pm

No, same error.

I'm using (Linux/GNU Binutils) 2.20.51.0.8.20100412 , gcc (GCC) 4.4.4 on 
Slackware -current box (glibc-2.12.1-i486-2). Not sure what else i can do for 
debugging this.
--

From: Randy Dunlap
Date: Wednesday, November 3, 2010 - 9:34 pm

The build fails for me with the given .config file.
It's due to selects and depends, finally comes down to HAVE_PERF_EVENTS not being
enabled for M386 or M486.  Do you actually have a processor of that vintage?

We can probably fix the Kconfig files to prevent this build error...

(Ingo: FYI)

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
--

From: randrianasulu
Date: Thursday, November 4, 2010 - 5:16 am

No, i have AMD k7:

cat /proc/cpuinfo 
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 6
model           : 3
model name      : AMD Duron(tm) Processor
stepping        : 1
cpu MHz         : 950.014
cache size      : 64 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca 
cmov pat pse36 mmx fxsr syscall mmxext 3dnowext 3dnow up
bogomips        : 1900.02
clflush size    : 32
cache_alignment : 32
address sizes   : 36 bits physical, 32 bits virtual
power management:


but i prefer to build kernel for i486 (i686 was giving me troubles on old k6-2 
machine some time ago, and i used variant of this config for LiveCD, 
sometimes for some QEMU tests ... i have real 486 box but it has too litle 
memory , 4mb, for being useful.)



--

From: Peter Zijlstra
Date: Wednesday, November 10, 2010 - 5:59 am

FWIW this .config generates a _TON_ of Kconfig dep warnings..

Urgh, Kconfig hell.

config PERF_EVENTS
        bool "Kernel performance events and counters"
        default y if (PROFILING || PERF_COUNTERS)
        depends on HAVE_PERF_EVENTS
        select ANON_INODES
        select IRQ_WORK


# grep PERF_EVENTS borken-build/.config
CONFIG_PERF_EVENTS=y
CONFIG_HAVE_PERF_EVENTS_NMI=y



So we managed to get PERF_EVENTS=y even though its dependency
HAVE_PERF_EVENTS=n.


I bet that's because of:

config X86
        select HAVE_PERF_EVENTS if (!M386 && !M486)
        select PERF_EVENTS 


Ingo, should we simply do something like the below patch?

---
Subject: x86: Remove M[34]86 conditional on HAVE_PERF_EVENTS

x86 requires PERF_EVENTS because of the hardware breakpoint mess,
so don't make it conditional on M[34]86.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
---
 arch/x86/Kconfig |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index e832768..e330da2 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -21,7 +21,7 @@ config X86
 	select HAVE_UNSTABLE_SCHED_CLOCK
 	select HAVE_IDE
 	select HAVE_OPROFILE
-	select HAVE_PERF_EVENTS if (!M386 && !M486)
+	select HAVE_PERF_EVENTS
 	select HAVE_IRQ_WORK
 	select HAVE_IOREMAP_PROT
 	select HAVE_KPROBES

--

From: Ingo Molnar
Date: Wednesday, November 10, 2010 - 6:24 am

Yeah, i guess that would be fine. Even an i386 has hw breakpoints.

Thanks,

	Ingo
--

From: Randy Dunlap
Date: Wednesday, November 10, 2010 - 10:12 am

Yeah, they are all MEDIA-related, known about, and someone is working


Acked-by: Randy Dunlap <randy.dunlap@oracle.com>



-- 
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
--

Previous thread: [PATCH v1 00/12] netoops support by Mike Waychison on Tuesday, November 2, 2010 - 6:29 pm. (27 messages)

Next thread: [oops, 2.6.37-rc1] Unpacking initramfs failed, oops in free_init_pages() by Dave Chinner on Tuesday, November 2, 2010 - 6:54 pm. (2 messages)