Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 209405

Summary: Erroneous Option in Kernel Source: GCC & "-m"?
Product: Gentoo Linux Reporter: sam logen <starz909>
Component: [OLD] Core systemAssignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers <kernel>
Status: RESOLVED INVALID    
Severity: trivial    
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
URL: http://www.linuxquestions.org/questions/linux-kernel-70/gcc-option-m-in-kernel-source-619582/
Whiteboard:
Package list:
Runtime testing required: ---

Description sam logen 2008-02-09 00:07:11 UTC
Hello, I'm posting here because I'm not sure how to get in touch with kernel developers without subscribing to their list (200+ messages daily + 200+ messages from all other lists I subscribe to).  I came across this small issue when I was experimenting with Intel's ICC compiler.

Basically, there seems to be a gcc option in the kernel source (mine = 2.6.22) here:
<kernel source>/arch/i386/kernel/Makefile
Under line 58:
      cmd_syscall = $(CC) -m elf_i386 -nostdlib $(SYSCFLAGS_$(@F)) \

The option '-m' above doesn't seem to conform to any gcc option, and I've scoured gcc's man pages and online manual site looking for the option.

Executing gcc -m just prints a warning, so kernel compilation probably wouldn't be halted because of it, but executing icc -m produces an error and halts all compilation, which is how I found the issue to begin with.

It is interesting to note that the 'ld' binary does have an option "-m", which leads me to believe that this line should belong to the ld flags, not the cc flags.

This option is only present in the i386 architecture Makefiles.  All other architectures use this "-m" option in their LD flags, or they use '-m32' in their CC flags.

This issue is also present in kernel 2.6.24, but not present in 2.6.12.

Can anyone help me make sense of this?  Is this normal, or a bug?  By the way, I'm not a noob, but I'm not a programmer either.

If this is a line meant for LD flags, and not CC flags, then is this line being skipped over during compile on an x86 machine?

As for ICC, I know it's not recommended, but I'm only experimenting with it.

Thanks everyone, and keep up the great work on Gentoo!

Reproducible: Always

Steps to Reproduce:
1.Open kernel source >= 2.6.22
2.Open file <kernel source>/arch/i386/kernel/Makefile
3.Check line 58

Actual Results:  
You will find the line in question if using gentoo kernel 2.6.22-r10


Using gentoo-sources-2.6.22-r10, I made a copy of the source directory to experiment with Intel's ICC compiler version 10.1
Comment 1 Daniel Drake (RETIRED) gentoo-dev 2008-02-09 10:15:40 UTC
(In reply to comment #0)
> Hello, I'm posting here because I'm not sure how to get in touch with kernel
> developers without subscribing to their list (200+ messages daily + 200+
> messages from all other lists I subscribe to).  I came across this small issue
> when I was experimenting with Intel's ICC compiler.

You're correct in that the kernel mailing list is the place where this should be asked, but you're not correct saying that it requires a subscription. Non-subscribers can post there, so just go ahead and write this "bug" into an email :)
Comment 2 sam logen 2008-02-09 10:53:39 UTC
(In reply to comment #1)

OK, thanks for that.  But you do agree that this is a bug, right?  I wasn't sure because I didn't suppose that it would be left in all this time if there wasn't a purpose for it.

Sam

> You're correct in that the kernel mailing list is the place where this should
> be asked, but you're not correct saying that it requires a subscription.
> Non-subscribers can post there, so just go ahead and write this "bug" into an
> email :)
> 

Comment 3 Daniel Drake (RETIRED) gentoo-dev 2008-02-09 11:29:03 UTC
I don't know and have never played with icc. Please ask upstream.
Comment 4 sam logen 2008-02-09 22:10:22 UTC
(In reply to comment #3)
> I don't know and have never played with icc. Please ask upstream.
> 

OK, I am posting this on the kernel bugzilla database that I discovered, but I do want to reiterate that this has nothing to do with ICC.  I just mention it because that's how I discovered this "bug".

Sam