2001-11-11 16:53:50

by pocm

[permalink] [raw]
Subject: Compiling manually

Hi all,

I'm trying to compile kernel 2.4.14.
The problem is that the famous gcc 3.0.x bug of giving error when
trying to compile 8139too.c is getting me crazy.
The work around is to remove -O2 optimization.
How can I compile the kernel with optimization except
optimization for that particular file?
I've tried to compile it as usual. Then I got an error in
8139too.c and I manually compile the file into an object file
without optimization and I though make would see the file
compiled and it'd not try again but I was wrong. As soon as I
tried to compile the kernel with make bzImage it started to pass
all files already compiled but when it entered drivers/net the
first thing it did was to compile the 8139too.c file with
optimization and I'm stuck.
How can I remove optimization from that file only or maybe
compile the file manually and then don't let make compile the
file again?

Best regards,

Paulo

--
Paulo J. Matos aka PDestroy : pocm(_at_)rnl.ist.utl.pt
Instituto Superior Tecnico - Lisbon
Software & Computer Engineering - A.I.
- > http://www.rnl.ist.utl.pt/~pocm


2001-11-11 20:26:06

by Ingo Oeser

[permalink] [raw]
Subject: Re: Compiling manually

On Sun, Nov 11, 2001 at 04:57:41PM +0000, Paulo J. Matos aka PDestroy wrote:
> How can I remove optimization from that file only or maybe
> compile the file manually and then don't let make compile the
> file again?

CFLAGS_$(your_target_file) := -O0

or

CFLAGS_$(your_target_file) := -O1

should do, what you want.

Regards

Ingo Oeser
--
In der Wunschphantasie vieler Mann-Typen [ist die Frau] unsigned und
operatorvertraeglich. --- Dietz Proepper in dasr

2001-11-12 01:29:00

by Keith Owens

[permalink] [raw]
Subject: Re: Compiling manually

On 11 Nov 2001 16:57:41 +0000,
[email protected] (Paulo J. Matos aka PDestroy) wrote:
>I'm trying to compile kernel 2.4.14.
>The problem is that the famous gcc 3.0.x bug of giving error when
>trying to compile 8139too.c is getting me crazy.
>The work around is to remove -O2 optimization.
>How can I compile the kernel with optimization except
>optimization for that particular file?

In drivers/net/Makefile, add this line _before_ include Rules.make.

CFLAGS_8139too.o += -O1

Warning: removing optimization can cause its own problems, some bits of
the kernel assume that they are built with -O2. YMMV.