Opened 18 years ago

Closed 18 years ago

#1718 closed defect (fixed)

error when compiling 2.6.12.5 w/usb-audio

Reported by: craigmjackson@… Owned by: Jeremy Huntwork
Priority: high Milestone: 6.2
Component: Book Version: SVN
Severity: major Keywords: usb-audio gcc-4.0.2 upstream
Cc:

Description (last modified by Jeremy Huntwork)

When using SVN-20060123, And enabling USB-Audio, During "make V=1" portion of Kernel compilation, The following message occurs:

  set -e; . /usr/src/linux-2.6.12.5/scripts/mkversion > .tmp_version; mv -f .tmp_version .version; make -f scripts/Makefile.build obj=init
  CHK     include/linux/compile.h
  UPD     include/linux/compile.h
  gcc -Wp,-MD,init/.version.o.d  -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.0.2/include -D__KERNEL__ -Iinclude  -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -ffreestanding -O2     -fomit-frame-pointer -pipe -msoft-float -mpreferred-stack-boundary=2 -fno-unit-at-a-time -march=athlon -Iinclude/asm-i386/mach-default -Wdeclaration-after-statement -Wno-pointer-sign    -DKBUILD_BASENAME=version -DKBUILD_MODNAME=version -c -o init/version.o init/version.c
   ld -m elf_i386  -r -o init/built-in.o init/main.o init/version.o init/mounts.o init/initramfs.o init/calibrate.o
  ld -m elf_i386  -o .tmp_vmlinux1 -T arch/i386/kernel/vmlinux.lds arch/i386/kernel/head.o arch/i386/kernel/init_task.o  init/built-in.o --start-group  usr/built-in.o  arch/i386/kernel/built-in.o  arch/i386/mm/built-in.o  arch/i386/mach-default/built-in.o  arch/i386/crypto/built-in.o  kernel/built-in.o  mm/built-in.o  fs/built-in.o  ipc/built-in.o  security/built-in.o  crypto/built-in.o  lib/lib.a  arch/i386/lib/lib.a  lib/built-in.o  arch/i386/lib/built-in.o  drivers/built-in.o  sound/built-in.o  arch/i386/pci/built-in.o  net/built-in.o --end-group
sound/built-in.o:(.rodata+0x88c): undefined reference to `__compound_literal.79'
sound/built-in.o:(.rodata+0x89c): undefined reference to `__compound_literal.81'
sound/built-in.o:(.rodata+0x8ac): undefined reference to `__compound_literal.83'
sound/built-in.o:(.rodata+0x8bc): undefined reference to `__compound_literal.85'
sound/built-in.o:(.rodata+0x8cc): undefined reference to `__compound_literal.87'
sound/built-in.o:(.rodata+0x8dc): undefined reference to `__compound_literal.89'
sound/built-in.o:(.rodata+0x8ec): undefined reference to `__compound_literal.91'
sound/built-in.o:(.rodata+0x8fc): undefined reference to `__compound_literal.93'
sound/built-in.o:(.rodata+0x90c): undefined reference to `__compound_literal.95'
sound/built-in.o:(.rodata+0x91c): undefined reference to `__compound_literal.100'
sound/built-in.o:(.rodata+0x92c): undefined reference to `__compound_literal.102'
sound/built-in.o:(.rodata+0x93c): undefined reference to `__compound_literal.104'
sound/built-in.o:(.rodata+0x94c): undefined reference to `__compound_literal.106'
sound/built-in.o:(.rodata+0x95c): undefined reference to `__compound_literal.108'
sound/built-in.o:(.rodata+0x96c): undefined reference to `__compound_literal.110'
sound/built-in.o:(.rodata+0x97c): undefined reference to `__compound_literal.112'
sound/built-in.o:(.rodata+0x98c): undefined reference to `__compound_literal.114'
sound/built-in.o:(.rodata+0x99c): undefined reference to `__compound_literal.116'
sound/built-in.o:(.rodata+0x9ac): undefined reference to `__compound_literal.118'
sound/built-in.o:(.rodata+0x9bc): undefined reference to `__compound_literal.120'
sound/built-in.o:(.rodata+0x9cc): undefined reference to `__compound_literal.122'
sound/built-in.o:(.rodata+0x9dc): undefined reference to `__compound_literal.124'
sound/built-in.o:(.rodata+0x9ec): undefined reference to `__compound_literal.126'
sound/built-in.o:(.rodata+0x9fc): undefined reference to `__compound_literal.128'
sound/built-in.o:(.rodata+0xa0c): undefined reference to `__compound_literal.130'
sound/built-in.o:(.rodata+0xa1c): undefined reference to `__compound_literal.132'
sound/built-in.o:(.rodata+0xa2c): undefined reference to `__compound_literal.134'
sound/built-in.o:(.rodata+0xa3c): undefined reference to `__compound_literal.136'
sound/built-in.o:(.rodata+0xa4c): undefined reference to `__compound_literal.139'
sound/built-in.o:(.rodata+0xa5c): undefined reference to `__compound_literal.141'
sound/built-in.o:(.rodata+0xa6c): undefined reference to `__compound_literal.143'
sound/built-in.o:(.rodata+0xa7c): undefined reference to `__compound_literal.145'
sound/built-in.o:(.rodata+0xa9c): undefined reference to `__compound_literal.148'
sound/built-in.o:(.rodata+0xaac): undefined reference to `__compound_literal.150'
sound/built-in.o:(.rodata+0xabc): undefined reference to `__compound_literal.152'
sound/built-in.o:(.rodata+0xacc): undefined reference to `__compound_literal.154'
sound/built-in.o:(.rodata+0xadc): undefined reference to `__compound_literal.156'
sound/built-in.o:(.rodata+0xaec): undefined reference to `__compound_literal.158'
sound/built-in.o:(.rodata+0xafc): undefined reference to `__compound_literal.160'
sound/built-in.o:(.rodata+0xb0c): undefined reference to `__compound_literal.162'
sound/built-in.o:(.rodata+0xb1c): undefined reference to `__compound_literal.164'
sound/built-in.o:(.rodata+0xb2c): undefined reference to `__compound_literal.166'
sound/built-in.o:(.rodata+0xb3c): undefined reference to `__compound_literal.168'
sound/built-in.o:(.rodata+0xb4c): undefined reference to `__compound_literal.170'
sound/built-in.o:(.rodata+0xb5c): undefined reference to `__compound_literal.173'
sound/built-in.o:(.rodata+0xb6c): undefined reference to `__compound_literal.175'
sound/built-in.o:(.rodata+0xb7c): undefined reference to `__compound_literal.177'
sound/built-in.o:(.rodata+0xb8c): undefined reference to `__compound_literal.180'
sound/built-in.o:(.rodata+0xb9c): undefined reference to `__compound_literal.182'
sound/built-in.o:(.rodata+0xbbc): undefined reference to `__compound_literal.185'
sound/built-in.o:(.rodata+0xbcc): undefined reference to `__compound_literal.187'
sound/built-in.o:(.rodata+0xbdc): undefined reference to `__compound_literal.189'
make: *** [.tmp_vmlinux1] Error 1
root:/usr/src/linux#

I first saw this bug when using Debian fora host system. I then started the entire LFS build over, this time using the LiveCD. The bug reproduces.

Thanks,

Craig

Attachments (1)

gcc-4.0.2-pr24109-1.patch (1.2 KB ) - added by alexander@… 18 years ago.
Upstream fix

Download all attachments as: .zip

Change History (10)

comment:1 by Matthew Burgess, 18 years ago

I've seen this in 2.6.15.4 too. This suggests there's something wrong in LFS rather than the kernel - they wouldn't have left usb-audio non-compilable for 3 releases surely? I also get build failures in net/bridge/bridge.ko though don't have the output to hand at the moment.

comment:2 by alexander@…, 18 years ago

Confifmed in the following almost-allnoconfig on linux-2.6.15.4:

CONFIG_X86_32=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
CONFIG_KOBJECT_UEVENT=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_KALLSYMS=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_OBSOLETE_MODPARM=y
CONFIG_KMOD=y
CONFIG_IOSCHED_NOOP=y
CONFIG_DEFAULT_NOOP=y
CONFIG_DEFAULT_IOSCHED="noop"
CONFIG_X86_PC=y
CONFIG_M686=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_PPRO_FENCE=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_PREEMPT_NONE=y
CONFIG_NOHIGHMEM=y
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_HZ_250=y
CONFIG_HZ=250
CONFIG_PHYSICAL_START=0x100000
CONFIG_PM=y
CONFIG_PCI=y
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_ISA_DMA_API=y
CONFIG_NET=y
CONFIG_BRIDGE=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_INPUT=y
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_SOUND=y
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_HWDEP=y
CONFIG_SND_RAWMIDI=y
CONFIG_SND_USB_AUDIO=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB=y
CONFIG_USB_MON=y
CONFIG_DNOTIFY=y
CONFIG_SYSFS=y
CONFIG_RAMFS=y
CONFIG_MSDOS_PARTITION=y
CONFIG_LOG_BUF_SHIFT=14
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_EARLY_PRINTK=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_X86_BIOS_REBOOT=y

NOT confirmed on Debian Sarge (gcc-3.3) with the same config.

comment:3 by alexander@…, 18 years ago

NOT confirmed on Ubuntu Breezy (gcc-4.0.2-prerelease). Looks indeed like LFS-specific bug.

comment:4 by alexander@…, 18 years ago

Keywords: gcc-4.0.2 upstream added

No, this is not LFS-specific. Confirmed on Ubuntu Breezy plus vanilla gcc-4.0.2 installed in /tools with the following configure line:

../gcc-4.0.2/configure --prefix=/tools --enable-shared --enable-languages=c --enable-clocale=gnu --enable-threads=posix --enable-__cxa_atexit

So looks like upstream gcc-4.0.2 bug.

comment:5 by alexander@…, 18 years ago

The bug exists in gcc-4.0.2, but doesn't exist in gcc-svn from the gcc-4_0-branch as of 20051111 (revision 106803). So the fix is now a trivial matter of bisection. Those who have faster boxes and live to the west of me are in better position to do this :)

by alexander@…, 18 years ago

Attachment: gcc-4.0.2-pr24109-1.patch added

Upstream fix

comment:7 by alexander@…, 18 years ago

Many thanks to edno for actually doing the bisection.

This patch actually fixes the issue. It should be added to the book as soon as possible.

comment:8 by Jeremy Huntwork, 18 years ago

Description: modified (diff)
Owner: changed from lfs-book@… to Jeremy Huntwork
Status: newassigned

Updating original comments for future reference. Pastebin is a temporary resource.

comment:9 by Matthew Burgess, 18 years ago

Resolution: fixed
Status: assignedclosed

Fixed by upgrading to GCC-4.0.3 (see ticket #1739).

Note: See TracTickets for help on using tickets.