2003-07-09 21:25:22

by Bas Mevissen

[permalink] [raw]
Subject: Build problem introduced in 2.4.22-pre3 -> 2.4.22-pre3-ac1 (+config+analysis)



Hi Alan, all,

The attached .config fails to build on 2.4.22-pre3-ac1, but builds (and
runs) fine on 2.4.22-pre3. The build error (during linkage) is:

(make bzImage)

ld -m elf_i386 -T /usr/src/linux-2.4.22-pre3-ac1/arch/i386/vmlinux.lds -e
stext arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/main.o
init/version.o init/do_mounts.o \
--start-group \
arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o
fs/fs.o ipc/ipc.o \
drivers/acpi/acpi.o drivers/cpufreq/cpufreq.o drivers/char/char.o
drivers/block/block.o drivers/misc/misc.o drivers/net/net.o
drivers/char/drm/drm.o
drivers/ide/idedriver.o drivers/cdrom/driver.o drivers/pci/driver.o
drivers/net/pcmcia/pcmcia_net.o drivers/net/wireless/wireless_net.o
drivers/pnp/pnp.o drivers/video/video.o drivers/media/media.o \
net/network.o \
/usr/src/linux-2.4.22-pre3-ac1/arch/i386/lib/lib.a
/usr/src/linux-2.4.22-pre3-ac1/lib/lib.a
/usr/src/linux-2.4.22-pre3-ac1/arch/i386/lib/lib.a \
--end-group \
-o vmlinux
arch/i386/kernel/kernel.o(.text.init+0x7dae): In function
`setup_ioapic_ids_from_mpc':
: undefined reference to `xapic_support'
arch/i386/kernel/kernel.o(.text.init+0x7fe5): In function
`setup_ioapic_ids_from_mpc':
: undefined reference to `xapic_support'
make: *** [vmlinux] Error 1

The symbol xapic_support is defined in arch/i386/kernel/io_apic.c as
"extern unsigned int xapic_support;"
But it is declared nowhere. Note that the symbol is new in -ac1.

>From comparing the pre3 and pre3-ac1 versions of io_apic.c, I conclude that
this is some unfinished work and not a typo. What probably is missing is some
change to another file that should decare (and set) xapic_support.

Sorry for not being able to submit a patch, but I hope my analyses helps.

Regards,

Bas.
(Dell Inspiron 8500 with 2.4.22-pre3)

(Note: I'm not on the list, so please always CC me)







Attachments:
(No filename) (1.88 kB)
dotconfig.gz (6.47 kB)
Download all attachments

2003-07-09 22:00:38

by Markus Hästbacka

[permalink] [raw]
Subject: Re: Build problem introduced in 2.4.22-pre3 -> 2.4.22-pre3-ac1 (+config+analysis)

On Thu, 2003-07-10 at 00:36, Bas Mevissen wrote:
> Hi Alan, all,
>
> The attached .config fails to build on 2.4.22-pre3-ac1, but builds (and
> runs) fine on 2.4.22-pre3. The build error (during linkage) is:
>
> (make bzImage)
>
> ld -m elf_i386 -T /usr/src/linux-2.4.22-pre3-ac1/arch/i386/vmlinux.lds -e
> stext arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/main.o
> init/version.o init/do_mounts.o \
> --start-group \
> arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o
> fs/fs.o ipc/ipc.o \
> drivers/acpi/acpi.o drivers/cpufreq/cpufreq.o drivers/char/char.o
> drivers/block/block.o drivers/misc/misc.o drivers/net/net.o
> drivers/char/drm/drm.o
> drivers/ide/idedriver.o drivers/cdrom/driver.o drivers/pci/driver.o
> drivers/net/pcmcia/pcmcia_net.o drivers/net/wireless/wireless_net.o
> drivers/pnp/pnp.o drivers/video/video.o drivers/media/media.o \
> net/network.o \
> /usr/src/linux-2.4.22-pre3-ac1/arch/i386/lib/lib.a
> /usr/src/linux-2.4.22-pre3-ac1/lib/lib.a
> /usr/src/linux-2.4.22-pre3-ac1/arch/i386/lib/lib.a \
> --end-group \
> -o vmlinux
> arch/i386/kernel/kernel.o(.text.init+0x7dae): In function
> `setup_ioapic_ids_from_mpc':
> : undefined reference to `xapic_support'
> arch/i386/kernel/kernel.o(.text.init+0x7fe5): In function
> `setup_ioapic_ids_from_mpc':
> : undefined reference to `xapic_support'
> make: *** [vmlinux] Error 1
>
> The symbol xapic_support is defined in arch/i386/kernel/io_apic.c as
> "extern unsigned int xapic_support;"
> But it is declared nowhere. Note that the symbol is new in -ac1.
>
> >From comparing the pre3 and pre3-ac1 versions of io_apic.c, I conclude that
> this is some unfinished work and not a typo. What probably is missing is some
> change to another file that should decare (and set) xapic_support.
>
> Sorry for not being able to submit a patch, but I hope my analyses helps.
>
> Regards,
>
> Bas.
> (Dell Inspiron 8500 with 2.4.22-pre3)
>
> (Note: I'm not on the list, so please always CC me)
>

Hello Bas,
there is two ways to fix this, you can use the the patch by Steven Cole
(I'll attach it).
Or then you untar the 2.4.21 to another dir and download 2.4.21-ac4
patch and patch the new kernel that you just untarred, and then you copy
$2.4.21-ac4kerneldir/arch/i386/kernel/mpparse.c to
$2.4.22-pre3-ac1kerneldir/arch/i386/kernel/mpparse.c, then it compiles
right. Good luck!

Regards
--
Markus H?stbacka <[email protected]>


Attachments:
patch (1.48 kB)