Skip to contentSkip to conversation

Cross-compiling Linux problem

DISCUSSION Kyle Unice 7 participants 13 messages Oct 7, 2005 – Oct 13, 2005 MIPS

lore
Share & tools
lore

Kyle Unice

author
#0 lore raw
  LD      arch/mips/au1000/common/built-in.o
  CC      arch/mips/kernel/cpu-probe.o
  CC      arch/mips/kernel/branch.o
  AS      arch/mips/kernel/entry.o
  AS      arch/mips/kernel/genex.o
  CC      arch/mips/kernel/irq.o
  CC      arch/mips/kernel/process.o
  CC      arch/mips/kernel/ptrace.o
  CC      arch/mips/kernel/reset.o
  CC      arch/mips/kernel/semaphore.o
  CC      arch/mips/kernel/setup.o
  CC      arch/mips/kernel/signal.o
  CC      arch/mips/kernel/syscall.o
  CC      arch/mips/kernel/time.o
  CC      arch/mips/kernel/traps.o
  CC      arch/mips/kernel/unaligned.o
  CC      arch/mips/kernel/mips_ksyms.o
  CC      arch/mips/kernel/module.o
  AS      arch/mips/kernel/r4k_fpu.o
  AS      arch/mips/kernel/r4k_switch.o
  AS      arch/mips/kernel/scall32-o32.o
  CC      arch/mips/kernel/proc.o
  LD      arch/mips/kernel/built-in.o
  AS      arch/mips/kernel/head.o
  CC      arch/mips/kernel/init_task.o
  LDS     arch/mips/kernel/vmlinux.lds
  CC      arch/mips/mm/cache.o
  CC      arch/mips/mm/extable.o
  CC      arch/mips/mm/fault.o
  CC      arch/mips/mm/init.o
  CC      arch/mips/mm/pgtable.o
  CC      arch/mips/mm/tlbex.o

arch/mips/mm/tlbex.c:516:5: warning: "CONFIG_64BIT" is not defined
AS arch/mips/mm/tlbex-fault.o
CC arch/mips/mm/ioremap.o
arch/mips/mm/ioremap.c: In function `__ioremap':
include/asm-mips/mach-au1x00/ioremap.h:15: sorry, unimplemented: inlining failed
in call to '__fixup_bigphys_addr': function body not available
arch/mips/mm/ioremap.c:28: sorry, unimplemented: called from here make[1]: *** [arch/mips/mm/ioremap.o] Error 1
make: *** [arch/mips/mm] Error 2

#1 lore raw
Quoted 12 lines · Kyle Unice

arch/mips/mm/tlbex.c:516:5: warning: "CONFIG_64BIT" is not defined
AS arch/mips/mm/tlbex-fault.o
CC arch/mips/mm/ioremap.o
arch/mips/mm/ioremap.c: In function `__ioremap':
include/asm-mips/mach-au1x00/ioremap.h:15: sorry, unimplemented: inlining failed
in call to '__fixup_bigphys_addr': function body not available arch/mips/mm/ioremap.c:28: sorry, unimplemented: called from here make[1]: *** [arch/mips/mm/ioremap.o] Error 1
make: *** [arch/mips/mm] Error 2

I once had this sort of problem when I forgot to specify the cross compiler while invoking make and tried to compile a MIPS kernel on X86 gcc.

Brett

#2 lore raw
Quoted 10 lines · Brett Foster
Quoted 8 lines

include/asm-mips/mach-au1x00/ioremap.h:15: sorry, unimplemented: inlining failed
in call to '__fixup_bigphys_addr': function body not available arch/mips/mm/ioremap.c:28: sorry, unimplemented: called from here make[1]: *** [arch/mips/mm/ioremap.o] Error 1
make: *** [arch/mips/mm] Error 2

I once had this sort of problem when I forgot to specify the cross compiler while invoking make and tried to compile a MIPS kernel on X86 gcc.

In this case the header is truly broken -- "extern inline
__attribute__((always_inline))" is self-contradicting.

Maciej

author
#3 lore raw
In reply to Brett Foster

I am compiling the db1550_defconfig which does define CONFIG_64BIT_PHYS_ADDR.
The cross compiler is mipsel generated from crosstool.sh Kyle

-----Original Message-----
From: Brett Foster [mailto:[email protected]]
Sent: Friday, October 07, 2005 2:42 PM
To: Kyle Unice
Cc: [email protected]
Subject: Re: Cross-compiling Linux problem

Quoted 12 lines · Kyle Unice

arch/mips/mm/tlbex.c:516:5: warning: "CONFIG_64BIT" is not defined
AS arch/mips/mm/tlbex-fault.o
CC arch/mips/mm/ioremap.o
arch/mips/mm/ioremap.c: In function `__ioremap':
include/asm-mips/mach-au1x00/ioremap.h:15: sorry, unimplemented: inlining failed
in call to '__fixup_bigphys_addr': function body not available arch/mips/mm/ioremap.c:28: sorry, unimplemented: called from here make[1]: *** [arch/mips/mm/ioremap.o] Error 1
make: *** [arch/mips/mm] Error 2

I once had this sort of problem when I forgot to specify the cross compiler while invoking make and tried to compile a MIPS kernel on X86 gcc.

Brett

#4 lore raw
Quoted 3 lines · Kyle Unice

I am compiling the db1550_defconfig which does define CONFIG_64BIT_PHYS_ADDR.
The cross compiler is mipsel generated from crosstool.sh

Which gcc version? And I assume you are using the linux-mips.org tree, not kernel.org?

Pete

Quoted 29 lines

Kyle

-----Original Message-----
From: Brett Foster [mailto:[email protected]]
Sent: Friday, October 07, 2005 2:42 PM
To: Kyle Unice
Cc: [email protected]
Subject: Re: Cross-compiling Linux problem

Quoted 12 lines · Kyle Unice

arch/mips/mm/tlbex.c:516:5: warning: "CONFIG_64BIT" is not defined
AS arch/mips/mm/tlbex-fault.o
CC arch/mips/mm/ioremap.o
arch/mips/mm/ioremap.c: In function `__ioremap':
include/asm-mips/mach-au1x00/ioremap.h:15: sorry, unimplemented: inlining failed
in call to '__fixup_bigphys_addr': function body not available arch/mips/mm/ioremap.c:28: sorry, unimplemented: called from here make[1]: *** [arch/mips/mm/ioremap.o] Error 1
make: *** [arch/mips/mm] Error 2

I once had this sort of problem when I forgot to specify the cross compiler while invoking make and tried to compile a MIPS kernel on X86 gcc.

Brett

author
#5 lore raw

I am using gcc-3.4.4 and the cvs checkout of linux-mips.org tree. Kyle

-----Original Message-----
From: Pete Popov [mailto:[email protected]]
Sent: Friday, October 07, 2005 3:47 PM
To: Kyle Unice
Cc: 'Brett Foster'; '[email protected]'
Subject: RE: Cross-compiling Linux problem

Quoted 3 lines · Kyle Unice

I am compiling the db1550_defconfig which does define CONFIG_64BIT_PHYS_ADDR.
The cross compiler is mipsel generated from crosstool.sh

Which gcc version? And I assume you are using the linux-mips.org tree, not kernel.org?

Pete

Quoted 23 lines

Kyle

-----Original Message-----
From: Brett Foster [mailto:[email protected]]
Sent: Friday, October 07, 2005 2:42 PM
To: Kyle Unice
Cc: [email protected]
Subject: Re: Cross-compiling Linux problem

Quoted 12 lines · Kyle Unice

arch/mips/mm/tlbex.c:516:5: warning: "CONFIG_64BIT" is not defined
AS arch/mips/mm/tlbex-fault.o
CC arch/mips/mm/ioremap.o
arch/mips/mm/ioremap.c: In function `__ioremap':
include/asm-mips/mach-au1x00/ioremap.h:15: sorry, unimplemented: inlining failed
in call to '__fixup_bigphys_addr': function body not available arch/mips/mm/ioremap.c:28: sorry, unimplemented: called from here make[1]: *** [arch/mips/mm/ioremap.o] Error 1
make: *** [arch/mips/mm] Error 2

Quoted 2 lines

I once had this sort of problem when I forgot to specify the cross compiler while invoking make and tried to compile a MIPS kernel on X86

gcc.

Quoted 4 lines

Brett

#6 lore raw
Quoted 2 lines · Kyle Unice

I am using gcc-3.4.4 and the cvs checkout of linux-mips.org tree. Kyle

Not withstanding Maciej's comment about the real problem being the broken header file, I give you a quote from http://www.linux-mips.org/wiki/Git : "At this time only the linux.git repository is in production use.... all other archives are only historical."

You might consider getting your code from the git repository as the CVS repository is no longer being maintained.

David Daney

#7 lore raw

CVS is not where development happens, but it is still updated, according to Ralf.

Quoted 13 lines · David Daney
Quoted 2 lines · Kyle Unice

I am using gcc-3.4.4 and the cvs checkout of linux-mips.org tree. Kyle

Not withstanding Maciej's comment about the real problem being the broken header file, I give you a quote from http://www.linux-mips.org/wiki/Git : "At this time only the linux.git repository is in production use.... all other archives are only historical."

You might consider getting your code from the git repository as the CVS repository is no longer being maintained.

David Daney

Signature · 3 lines
Ilya A. Volynets-Evenbakh
Total Knowledge. CTO
http://www.total-knowledge.com
#8 lore raw
Quoted 2 lines · Ilya A. Volynets-Evenbakh

CVS is not where development happens, but it is still updated, according to Ralf.

Perhaps, but the reason I mentioned this is that I saw this warning:

arch/mips/mm/tlbex.c:516:5: warning: "CONFIG_64BIT" is not defined

Which is fixed in the git repository, but not CVS

David Daney

Quoted 17 lines
Quoted 14 lines · David Daney
Quoted 2 lines · Kyle Unice

I am using gcc-3.4.4 and the cvs checkout of linux-mips.org tree. Kyle

Not withstanding Maciej's comment about the real problem being the broken header file, I give you a quote from http://www.linux-mips.org/wiki/Git : "At this time only the linux.git repository is in production use.... all other archives are only historical."

You might consider getting your code from the git repository as the CVS repository is no longer being maintained.

David Daney

author
#9 lore raw
In reply to Ilya A. Volynets-Evenbakh

It appears that the function __fixup_bigphys_addr is not inline anymore but A callable function. I removed the "inline " qualifier from the extern declaration in
Ioremap.h (if CONFIG_64BIT_PHYS_ADDR is declared) and linux built ok. Kyle

-----Original Message-----
From: Ilya A. Volynets-Evenbakh [mailto:[email protected]]
Sent: Friday, October 07, 2005 4:57 PM
To: David Daney
Cc: Kyle Unice; [email protected]; 'Brett Foster'; [email protected]
Subject: Re: Cross-compiling Linux problem

CVS is not where development happens, but it is still updated, according to Ralf.

Quoted 18 lines · David Daney
Quoted 2 lines · Kyle Unice

I am using gcc-3.4.4 and the cvs checkout of linux-mips.org tree. Kyle

Not withstanding Maciej's comment about the real problem being the broken header file, I give you a quote from
http://www.linux-mips.org/wiki/Git : "At this time only the linux.git repository is in production use.... all other archives are only historical."

You might consider getting your code from the git repository as the CVS repository is no longer being maintained.

David Daney

Signature · 3 lines
Ilya A. Volynets-Evenbakh
Total Knowledge. CTO
http://www.total-knowledge.com
#10 lore raw
Quoted 4 lines · Kyle Unice

It appears that the function __fixup_bigphys_addr is not inline anymore but A callable function. I removed the "inline " qualifier from the extern declaration in
Ioremap.h (if CONFIG_64BIT_PHYS_ADDR is declared) and linux built ok.

Thanks for noting; fixed that in git.

Ralf

#11 lore raw
In reply to Ilya A. Volynets-Evenbakh
Quoted 2 lines · Ilya A. Volynets-Evenbakh

CVS is not where development happens, but it is still updated, according to Ralf.

I was considering to do that but haven't cooked the necessary scripts yet. Fortunately there doesn't seem to be too much need.

Ralf

author
#12 lore raw
In reply to David Daney

David,
Thanks I downloaded and installed git. Used git to get the linux source And did a build and got:

  CC      arch/mips/au1000/common/prom.o
  AS      arch/mips/au1000/common/int-handler.o
  CC      arch/mips/au1000/common/irq.o
  CC      arch/mips/au1000/common/puts.o
  CC      arch/mips/au1000/common/time.o
  CC      arch/mips/au1000/common/reset.o
  CC      arch/mips/au1000/common/au1xxx_irqmap.o
  CC      arch/mips/au1000/common/clocks.o
  CC      arch/mips/au1000/common/platform.o
  CC      arch/mips/au1000/common/power.o
  CC      arch/mips/au1000/common/setup.o
  AS      arch/mips/au1000/common/sleeper.o
  CC      arch/mips/au1000/common/cputable.o
  CC      arch/mips/au1000/common/dma.o
  CC      arch/mips/au1000/common/dbdma.o
  CC      arch/mips/au1000/common/gpio.o
  CC      arch/mips/au1000/common/pci.o

arch/mips/au1000/common/pci.c: In function `au1x_pci_setup':
include/asm-mips/mach-au1x00/ioremap.h:15: sorry, unimplemented: inlining failed
in call to '__fixup_bigphys_addr': function body not available
arch/mips/au1000/common/pci.c:28: sorry, unimplemented: called from here make[1]: *** [arch/mips/au1000/common/pci.o] Error 1
make: *** [arch/mips/au1000/common] Error 2

Kyle

-----Original Message-----
From: David Daney [mailto:[email protected]]
Sent: Friday, October 07, 2005 4:28 PM
To: Kyle Unice
Cc: [email protected]; 'Brett Foster'; [email protected]
Subject: Re: Cross-compiling Linux problem

Quoted 2 lines · Kyle Unice

I am using gcc-3.4.4 and the cvs checkout of linux-mips.org tree. Kyle

Not withstanding Maciej's comment about the real problem being the broken header file, I give you a quote from
http://www.linux-mips.org/wiki/Git : "At this time only the linux.git repository is in production use.... all other archives are only historical."

You might consider getting your code from the git repository as the CVS repository is no longer being maintained.

David Daney