Bug 17028 - Gcc error on a kernel compilation
Summary: Gcc error on a kernel compilation
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: gcc   
(Show other bugs)
Version: 7.0
Hardware: i386 Linux
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact:
Depends On:
TreeView+ depends on / blocked
Reported: 2000-08-28 11:13 UTC by fleury
Modified: 2008-05-01 15:37 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2000-08-28 11:13:48 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

Description fleury 2000-08-28 11:13:46 UTC
I've got a bug when I compile a 2.2.16 kernel (it comes directly from
kernel.org, I didn't take the rpm for that).

The error is :

checksum.S:231: badly punctuated parameter list in #define
checksum.S:237: badly punctuated parameter list in #define
make[2]: *** [checksum.o] Erreur 1
make[2]: Quitte le ripertoire `/usr/src/linux-2.2.16/arch/i386/lib'
make[1]: *** [first_rule] Erreur 2
make[1]: Quitte le ripertoire `/usr/src/linux-2.2.16/arch/i386/lib'
make: *** [_dir_arch/i386/lib] Erreur 2
[root@janus linux]#

I've got a SMP bi-PII@450MHz

I've tried to break through this bug. Apparently, it's .S instruction that
can't be understood. As I don't know a lot about that I give it up. The
problem come from /usr/src/linux-2.2.16/arch/i386/lib/checksum.S

#define SRC(y...)                       \
        9999: y;                        \
        .section __ex_table, "a";       \
        .long 9999b, 6001f      ;       \

#define DST(y...)                       \
        9999: y;                        \
        .section __ex_table, "a";       \
        .long 9999b, 6002f      ;       \


Comment 1 Jakub Jelinek 2000-09-01 10:29:57 UTC
You should not compile 2.2.x kernels with gcc, but use kgcc instead.
The issue with checksum.S is that it either cannot be preprocessed with -traditional,
or must not use GNU varargs macros (gcc 2.96's tradcpp0 does not support
restargs macros). This has been fixed in 2.4 kernels (checksum.S is not
compiled there with -traditional).

Comment 2 fleury 2000-09-04 08:46:12 UTC
Ok, it works fine.

But I still have many problems with this version of gcc (especially on C++).

Note You need to log in before you can comment on or make changes to this bug.