Skip to contentSkip to conversation

make in 2.6.x

DISCUSSION Karel Kulhavý 12 participants 18 messages Jan 23, 2004 – Jan 26, 2004 2 messages not in the archive

lore
Share & tools
lore
#0 lore raw

Hello

Is it correct to issue "make bzImage modules modules_install" or do I have to do make bzImage; make modules modules_install?

Is there any documentation where I can read answer to this question?

Cl<

#1 lore raw
Quoted 4 lines · Karel Kulhavý

Hello

Is it correct to issue "make bzImage modules modules_install" or do I have to do make bzImage; make modules modules_install?

# make all modules_install install

Builds image and modules and installs them both. At least on Redhat, also an initial ram disk is created and grub is adapted.

Quoted 2 lines

Is there any documentation where I can read answer to this question?

# make help

and read the top-level Makefile itself. It is a quite readable file format.

Regards,

Bas.

A message that is not in the archive (sent off-list or not yet received): [email protected]

#3 lore raw

gcc 2.95.3

Quoted 6 lines · Jeremy Andrews
Quoted 4 lines

Is it correct to issue "make bzImage modules modules_install" or do I have to do make bzImage; make modules modules_install?

Is there any documentation where I can read answer to this question?

make help

Cool. I got to README :)

I read here "make sure you have gcc 2.95.3 available" - does it mean my gcc-3.2.3 or gcc-3.2.2 is not suitable for kernel compiling?

Cl<

A message that is not in the archive (sent off-list or not yet received): 001b01c3e1ca$26101f20$1e00000a@black

#6 lore raw

Re: gcc 2.95.3

Quoted 4 lines · Daniel Andersen
Quoted 2 lines

I read here "make sure you have gcc 2.95.3 available" - does it mean my gcc-3.2.3 or gcc-3.2.2 is not suitable for kernel compiling?

Please have a look at http://developer.osdl.org/cherry/compile/

What if the kernel compiles cleanly but the generated code is invalid? Or is gcc-3.2.2 BugFree(TM) (BugFree as in BugFree speech, not as in BugFree beer)?

Cl<

#7 lore raw

Re: gcc 2.95.3

Quoted 9 lines · Karel Kulhavý
Quoted 4 lines · Daniel Andersen
Quoted 2 lines

I read here "make sure you have gcc 2.95.3 available" - does it mean my gcc-3.2.3 or gcc-3.2.2 is not suitable for kernel compiling?

Please have a look at http://developer.osdl.org/cherry/compile/

What if the kernel compiles cleanly but the generated code is invalid? Or is gcc-3.2.2 BugFree(TM) (BugFree as in BugFree speech, not as in BugFree beer)?

Many people have been using gcc-3.2 or later to build kernels, and I haven't really heard of any problems with this, at least on i386. I personally have used 3.2.2 and 3.3.2 (well, with Debian's patches) and haven't had any weirdness with 2.6 or 2.4. ISTR there being arches that need 3.x to compile, but I could be mistaken.

2.95.3 is definitely the *oldest* compiler you'd want to use, and pretty much skip between that and 3.2.

Matt

#8 lore raw

Re: gcc 2.95.3

Quoted 10 lines · Matthew Reppert

snip

Many people have been using gcc-3.2 or later to build kernels, and I haven't really heard of any problems with this, at least on i386. I personally have used 3.2.2 and 3.3.2 (well, with Debian's patches) and haven't had any weirdness with 2.6 or 2.4. ISTR there being arches that need 3.x to compile, but I could be mistaken.

Quoted 6 lines

2.95.3 is definitely the *oldest* compiler you'd want to use, and pretty much skip between that and 3.2.

Matt

Same here. I've been using gcc3.2.0 and beyond currently 3.3.2 since the day they were released and never had any big issues. I would recomend using gcc 3.3.2 since it improves performance when using optimizations quite a bit as far as I can remember the statistics.

Stef

#9 lore raw

Re: gcc 2.95.3

Quoted 4 lines · Stef van der Made

Same here. I've been using gcc3.2.0 and beyond currently 3.3.2 since the day they were released and never had any big issues. I would recomend using gcc 3.3.2 since it improves performance when using optimizations quite a bit as far as I can remember the statistics.

On ARM at least, gcc 3.2.x seems buggy. It's along the lines of this:

3.2.0: incorrect function argument offset calculation. 3.2.x: miscompiles NEW_AUX_ENT in fs/binfmt_elf.c
(http://gcc.gnu.org/PR8896) and incorrect structure initialisation in fs/jffs2/erase.c

I suspect that the fs/jffs2/erase.c problem is not ARM-specific, though I'm no compiler expert.

However, gcc 3.3 seems table on ARM, and I'm not aware of any problems with any further 3.3.x releases.

Signature · 4 lines
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 PCMCIA      - http://pcmcia.arm.linux.org.uk/
                 2.6 Serial core
#10 lore raw

Re: gcc 2.95.3

Quoted 2 lines · Russell King

I suspect that the fs/jffs2/erase.c problem is not ARM-specific, though I'm no compiler expert.

I think it's been seen on MIPS too.

Signature · 1 line
dwmw2
#11 lore raw

Re: gcc 2.95.3

In reply to Stef van der Made
Quoted 9 lines · Stef van der Made

Matthew Reppert wrote:
Same here. I've been using gcc3.2.0 and beyond currently 3.3.2 since the day they were released and never had any big issues. I would recomend using gcc 3.3.2 since it improves performance when using optimizations quite a bit as far as I can remember the statistics.

Stef

Well, according to this list, gcc-3.3.2 at least has problems to compile ALSA correctly, unless you activate framepointer support.

IB

Signature · 4 lines
"For every government X there is at least one government Y such that X
would claim that Y is a bunch of corrupt assholes.  Since every government
is  a bunch of corrupt assholes, every government is right at least in
one of its claims." -- Al Viro discussing politics on lkml
#12 lore raw

Re: gcc 2.95.3

Quoted 8 lines · Ingo Buescher

snip

Well, according to this list, gcc-3.3.2 at least has problems to compile ALSA correctly, unless you activate framepointer support.

IB

I don't seem to have any issues using ALSA since kernel 2.6.1 and gcc 3.3.2. I'm using an soundblaster live emu10k. I did have issues before this kernel version and had to use OSS emulation. btw I'm using x86 (Athlon K7)

Cheers,

Stef

#13 lore raw

Re: gcc 2.95.3

In reply to Karel Kulhavý
Quoted 4 lines · Karel Kulhavý
Quoted 3 lines · Jeremy Andrews
Quoted 3 lines

Is it correct to issue "make bzImage modules modules_install" or do I have to do make bzImage; make modules modules_install?

Quoted 8 lines
Quoted 3 lines
Quoted 1 line

Is there any documentation where I can read answer to this question?

make help

Cool. I got to README :)

I read here "make sure you have gcc 2.95.3 available" - does it mean my gcc-3.2.3 or gcc-3.2.2 is not suitable for kernel compiling?

I've been compiling 2.5 and 2.6 kernels since gcc 3.3 with no problems. In fact, there are patches on the -mm tree to help compiling with gcc 3.4 and 3.5.

I think the Documentation is a little bit updated ;-)

#14 lore raw

Re: gcc 2.95.3

In reply to Karel Kulhavý
Quoted 4 lines · Karel Kulhavý

Cool. I got to README :)

I read here "make sure you have gcc 2.95.3 available" - does it mean my gcc-3.2.3 or gcc-3.2.2 is not suitable for kernel compiling?

AFAIK, the README is woefully out of date.

#15 lore raw
In reply to a message not in the archive
Quoted 9 lines · Jeremy Andrews
Quoted 4 lines

Is it correct to issue "make bzImage modules modules_install" or do I have to do make bzImage; make modules modules_install?

Is there any documentation where I can read answer to this question?

make help

Cheers,
-Jeremy

I have read make help and skimmed through README however what I learned is that the sequence "make bzImage ; make modules ; make modules_install" is correct, but found no approval or disapproval for
"make bzImage modules modules_install"

Cl<

#16 lore raw
In reply to Karel Kulhavý
Quoted 4 lines · Karel Kulhavý

Hello

Is it correct to issue "make bzImage modules modules_install" or do I have to do make bzImage; make modules modules_install?

It is today supported that you specify all targets in one line. The preferred way to do this is to use:

make all modules_install

'all' will build bot default target and modules - and works across all architectures.

Quoted 1 line

Is there any documentation where I can read answer to this question?

No, the top-level README could have included this, but does not so today.

Sam

#17 lore raw
Quoted 7 lines · Sam Ravnborg
Quoted 4 lines · Karel Kulhavý

Hello

Is it correct to issue "make bzImage modules modules_install" or do I have to do make bzImage; make modules modules_install?

It is today supported that you specify all targets in one line.

Last time I tried, there were bugs with 'make -j3 bzImage modules'. Is that now fixed?

Signature · 1 line
dwmw2
#18 lore raw
In reply to Karel Kulhavý
Quoted 4 lines

Is it correct to issue "make bzImage modules modules_install" or do I have to do make bzImage; make modules modules_install?

Is there any documentation where I can read answer to this question?

I see nothing wrong with the first invocation, the second you should change the ; to &&. if make bzImage fails, it'll stop there.

I typically do all seperate like this:
make -j 20 bzImage && make -j 20 modules && make -j modules_install

Sometimes it doesn't complete, not sure why.

Signature · 1 line
 Lab tests show that use of micro$oft causes cancer in lab animals
#19 lore raw
Quoted 5 lines · Wakko Warner
Quoted 4 lines

Is it correct to issue "make bzImage modules modules_install" or do I have to do make bzImage; make modules modules_install?

Is there any documentation where I can read answer to this question?

Quoted 7 lines

I see nothing wrong with the first invocation, the second you should change the ; to &&. if make bzImage fails, it'll stop there.

I typically do all seperate like this:
make -j 20 bzImage && make -j 20 modules && make -j modules_install

Sometimes it doesn't complete, not sure why.

Could you please enable verbose output, and send me a private mail with the log when it fails.

Maybe I can dig out why it fails.
I'm sitting on UP here, so i usually never tries with -jN where N > 2.

make V=1 -j20 && make V=1 -j20 modules && make V=1 -j20 modules_install

Sam