Difference between revisions of "Kernel Build"

From LinuxMIPS
Jump to: navigation, search
 
Line 1: Line 1:
 
== Problems caused by non-Linux/MIPS toolchain ==
 
== Problems caused by non-Linux/MIPS toolchain ==
  
<code>
+
  make[1]: Entering directory `/usr/src/linux-mips/arch/mips/kernel' mips_4KC-gcc  
make[1]: Entering directory `/usr/src/linux-mips/arch/mips/kernel' mips_4KC-gcc -D__ASSEMBLY__ -D__KERNEL__ -I/usr/eldk/usr/src/linux-mips/include -D_MIPS_SZLONG=32 -D_MIPS_SZPTR=32 -D_MIPS_SZINT=32  -g -G 0 -mno-abicalls -fno-pic -pipe  -c -o entry.o entry.S
+
  -D__ASSEMBLY__ -D__KERNEL__ -I/usr/eldk/usr/src/linux-mips/include
 
+
  -D_MIPS_SZLONG=32 -D_MIPS_SZPTR=32 -D_MIPS_SZINT=32  -g -G 0 -mno-abicalls
entry.S: Assembler messages:
+
  -fno-pic -pipe  -c -o entry.o entry.S
entry.S:225: Error: unrecognized opcode `reg_s $8,164($29)'
+
entry.S:226: Error: unrecognized opcode `reg_s $8,164($29)'
+
  entry.S: Assembler messages:
</code>
+
  entry.S:225: Error: unrecognized opcode `reg_s $8,164($29)'
 +
  entry.S:226: Error: unrecognized opcode `reg_s $8,164($29)'
  
 
_MIPS_SZLONG etc. are normally defined by the gcc compiler driver.  That is they
 
_MIPS_SZLONG etc. are normally defined by the gcc compiler driver.  That is they
 
should never be defined by the application itself.  The precense of such kludgery usually indicates the use of a toolchain that wasn't configured for a Linux/MIPS target
 
should never be defined by the application itself.  The precense of such kludgery usually indicates the use of a toolchain that wasn't configured for a Linux/MIPS target
 +
 +
== ld dies with signal 6 ==
 +
 +
  collect2: ld terminated with signal 6 [Aborted]
 +
 +
This is a known bug in some ''very'' old binutils versions.  You will have to upgrade to at least binutils 2.8.1 plus very current patches.  With Linux 2.4 or newer binutils 2.13.2.1 or newer is probably recommended.

Revision as of 12:48, 11 November 2004

Problems caused by non-Linux/MIPS toolchain

  make[1]: Entering directory `/usr/src/linux-mips/arch/mips/kernel' mips_4KC-gcc 
  -D__ASSEMBLY__ -D__KERNEL__ -I/usr/eldk/usr/src/linux-mips/include
  -D_MIPS_SZLONG=32 -D_MIPS_SZPTR=32 -D_MIPS_SZINT=32  -g -G 0 -mno-abicalls
  -fno-pic -pipe   -c -o entry.o entry.S

  entry.S: Assembler messages:
  entry.S:225: Error: unrecognized opcode `reg_s $8,164($29)'
  entry.S:226: Error: unrecognized opcode `reg_s $8,164($29)'

_MIPS_SZLONG etc. are normally defined by the gcc compiler driver. That is they should never be defined by the application itself. The precense of such kludgery usually indicates the use of a toolchain that wasn't configured for a Linux/MIPS target

ld dies with signal 6

  collect2: ld terminated with signal 6 [Aborted]

This is a known bug in some very old binutils versions. You will have to upgrade to at least binutils 2.8.1 plus very current patches. With Linux 2.4 or newer binutils 2.13.2.1 or newer is probably recommended.