linux-mips
[Top] [All Lists]

RE: Problems with MIPS cross compiler/linker

To: "'gcc-help@gcc.gnu.org'" <gcc-help@gcc.gnu.org>, "'linux-mips@linux-mips.org'" <linux-mips@linux-mips.org>
Subject: RE: Problems with MIPS cross compiler/linker
From: "Hamilton, Ian" <Ian.Hamilton@gbr.xerox.com>
Date: Fri, 5 Mar 2004 09:59:58 -0000
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
Here are some details that I missed off my original post:

The GCC version is 3.3.2, and is hosted on Sun/Solaris (version 5.8).

My linker script is like this:


/*========================================================================
  |                    armada linker command file                 
  ========================================================================
  |                                                                    
  | Description:                                                        
  |   This is the linker command file for armada                      
  |                                                                     
  | Revisions:               
  |   10/10'03  ICH initial armada setups                             
  |                                                                     
  ========================================================================*/

/* OUTPUT_FORMAT("elf32-bigmips", "elf-bigmips", "elf-littlemips") */

OUTPUT_ARCH(mips)

/**** Start point ****/
ENTRY(start)

SECTIONS
{
  .text 0xA0100000 :
  {
    *(.text)
    *(.gnu.linkonce.t*)
    _ecode = ABSOLUTE(.) ;      /* End of code                      */
    *(.rodata) 
    *(.gnu.linkonce.r*)

    . = ALIGN(8);
    _etext = ABSOLUTE(.);       /* End of code and read-only data   */
  }

  /**** Initialised data ****/
  .data :
  {
    _fdata = ABSOLUTE(.);       /* Start of initialised data        */
    *(.data)
   
    . = ALIGN(8);

    _gp = ABSOLUTE(. + 0x7ff0); /* point at middle (32Kbytes) of 64Kbyte
initialized data                    */

    *(.lit8) 
    *(.lit4) 
    *(.ctors)
    *(.dtors)
    *(.got.plt)
    *(.got)
    *(.dynamic)
    *(.sdata) 
    *(.gnu.linkonce.s*)
    
    . = ALIGN(8);

    _edata  = ABSOLUTE(.);      /* End of initialised data          */
  }

  /**** Uninitialised data ****/

  _fbss = .;                    /* Start of unitialised data        */

  .sbss : 
  { 
    *(.sbss) 
    *(.scommon)
  }
  .bss :
  {
    *(.bss)
    *(COMMON)
  }

  _end = . ;            /* End of unitialised data          */

  .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
  .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }

  /DISCARD/ :
  {
    *(.reginfo)
  }

  PROVIDE(etext = _etext);
  PROVIDE (edata = .);
  PROVIDE (end = .);
  PROVIDE (__stacktop = 0xa02fff00);
}


<Prev in Thread] Current Thread [Next in Thread>