This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

h8300-hms-ld segmentation fault


I'm using ld as cross-linker on a Athlon XP, the target is a Hitachi h8300-hms. I'm running RedHat Linux 8.0 (binutils 2.13.90 and gcc 3.2)
The version of h8300-hms-ld is 2.13. The version of the cross compiler is 3.2.1.

When I try to compile, I get the following error:

/home/myhome/bin/h8300-hms-ld -T ../boot/brickOS.lds -relax -L/home/myhome/tmp/brickos-0.2.6.09.newConf2/lib helloworld.o -lc -lmint -lfloat -lc++ -o helloworld.ds1 -Ttext 0xb000
make[1]: *** [helloworld.ds1] Segmentation fault
make[1]: *** Deleting file `helloworld.ds1'
make[1]: Leaving directory `/home/myhome/tmp/brickos-0.2.6.09.newConf2/demo'
make: *** [all] Error 2

Why does this happens?
I'll be glad to have any suggestion on how to solve it. I put in attachment the files I think might be useful.

Best regards,
Halva

--
+-------------------------------------------------------------
| __ Thomas Halva Labella, Ph.D. Student
| _/\ '\
| _,/ _\ '\ IRIDIA CP 194/6
| _,/ _,/ \'\ \ Universite' Libre de Bruxelles
| / _,/_,,/ \ '\ '\ 50, Avenue Franklin D. Roosevelt
| ,-' / _/ '\ \ \ B-1050 Brussels, BELGIUM
| / ,-'_/ \_> '\
| /' ,/ /'____,,,---'''___,,,| web: http://iridia.ulb.ac.be/~hlabella/
| / / _/''____,,,---'''___,,,| tel: +32 (0) 2 650 3166
| \ / '''____,,,---''' fax: +32 (0) 2 650 2715
| '--''''' GSM: +32 (0) 496 069 644

/*
 * 
 *  dynamic linker command file
 *  generated: Tue Dec 17 19:14:28 2002

 *  kernel   : brickOS
 *  app start: 0xae0c
 * 
 *  BrickOS for LEGO(R) Mindstorms(TM)
 *  Originally: legOS - the independent LEGO Mindstorms OS
 *              (c) 1999 by Markus L. Noga <markus@noga.de>    
 * 
 */

OUTPUT_FORMAT("symbolsrec")
OUTPUT_ARCH(h8300)
ENTRY("_main")

MEMORY {
  rom   : o = 0x0000, l = 0x8000
  kern  : o = 0x8000, l = 0x2e0c
  ram   : o = 0xae0c, l = 0x50f0
  stack : o = 0xfefc, l = 0x0004
  eight : o = 0xff00, l = 0x0100
}

SECTIONS {

  .rom : {
    /* used rom functions */
    
    _rom_reset_vector = 0x0000;
        
    _reset        = 0x03ae ;
    lcd_show      = 0x1b62 ;
    lcd_hide      = 0x1e4a ;
    lcd_number    = 0x1ff2 ;
    lcd_clear     = 0x27ac ;
    power_init    = 0x2964 ;
    sound_system  = 0x299a ;
    power_off     = 0x2a62 ;
    sound_playing = 0x3ccc ;

    _rom_dummy_handler   = 0x046a ;
    _rom_ocia_handler    = 0x04cc ;
    _rom_ocia_return     = 0x04d4 ;
    
  } > rom

  .kernel :	{
    /* kernel symbols (relative to 0x8000) */
    _rom_reset_vector = 0xffff8000 ;
    _reset = 0xffff83ae ;
    rom_memcpy = 0xffff842a ;
    _rom_dummy_handler = 0xffff846a ;
    _rom_ocia_handler = 0xffff84cc ;
    _rom_ocia_return = 0xffff84d4 ;
    lcd_show = 0xffff9b62 ;
    lcd_hide = 0xffff9e4a ;
    lcd_number = 0xffff9ff2 ;
    lcd_clear = 0xffffa7ac ;
    power_init = 0xffffa964 ;
    sound_system = 0xffffa99a ;
    power_off = 0xffffaa62 ;
    sound_playing = 0xffffbccc ;
    _kmain = 0x0000 ;
    _mm_try_join = 0x00e0 ;
    _mm_defrag = 0x0122 ;
    _mm_update_first_free = 0x0162 ;
    _mm_init = 0x0188 ;
    _malloc = 0x020a ;
    _free = 0x02b8 ;
    _calloc = 0x02e2 ;
    _mm_reaper = 0x032a ;
    _mm_free_mem = 0x035c ;
    _clock_handler = 0x0396 ;
    _subsystem_handler = 0x03ba ;
    _task_switch_handler = 0x0420 ;
    _systime_tm_return = 0x043a ;
    _systime_init = 0x044a ;
    _systime_shutdown = 0x04c2 ;
    _systime_set_switcher = 0x04d4 ;
    _systime_set_timeslice = 0x04da ;
    _tm_switcher = 0x04f8 ;
    _tm_scheduler = 0x0514 ;
    _yield = 0x06c6 ;
    _tm_man_task = 0x06e4 ;
    _tm_battery_task = 0x073c ;
    _tm_init = 0x078a ;
    _tm_start = 0x07f8 ;
    _execi = 0x080a ;
    _exit = 0x09d6 ;
    _wait_event = 0x09f8 ;
    _msleep = 0x0a96 ;
    _sleep = 0x0ad6 ;
    _shutdown_task = 0x0afa ;
    _shutdown_tasks = 0x0b06 ;
    _kill = 0x0b58 ;
    _killall = 0x0b90 ;
    _sem_event_wait = 0x0c1c ;
    _sem_wait = 0x0c32 ;
    _sem_trywait = 0x0c62 ;
    _sem_post = 0x0c7a ;
    _delay = 0x0c8a ;
    _cputc_native = 0x0ca4 ;
    _cputc_native_0 = 0x0cd2 ;
    _cputc_native_1 = 0x0d06 ;
    _cputc_native_2 = 0x0d3c ;
    _cputc_native_3 = 0x0d76 ;
    _cputc_native_4 = 0x0db2 ;
    _cputc_native_5 = 0x0dee ;
    _cputw = 0x0dfa ;
    _cputs = 0x0e3e ;
    _cls = 0x0e8c ;
    _lcd_number = 0x0e94 ;
    _lcd_refresh_next_byte = 0x0f32 ;
    _lcd_refresh_next_byte_core = 0x0f46 ;
    _lcd_refresh = 0x0f8c ;
    _lcd_power_on = 0x0fac ;
    _lcd_power_off = 0x0fbe ;
    _lcd_init = 0x0fda ;
    _rx_handler = 0x1020 ;
    _rx_core = 0x1034 ;
    _rxerror_handler = 0x10a8 ;
    _rxerror_core = 0x10bc ;
    _txend_handler = 0x1102 ;
    _txend_core = 0x1116 ;
    _tx_handler = 0x1124 ;
    _tx_core = 0x1138 ;
    _lnp_logical_shutdown = 0x115e ;
    _lnp_logical_init = 0x117e ;
    _lnp_logical_write = 0x1228 ;
    _lnp_integrity_write = 0x12fa ;
    _lnp_addressing_write = 0x1360 ;
    _lnp_receive_packet = 0x13f0 ;
    _lnp_integrity_byte = 0x1468 ;
    _lnp_integrity_reset = 0x1606 ;
    _lnp_integrity_reset_core = 0x161a ;
    _lnp_timeout_reset = 0x1646 ;
    _lnp_timeout_reset_core = 0x165a ;
    _lnp_init = 0x1664 ;
    _msg_received = 0x1694 ;
    _send_msg = 0x16f6 ;
    _lnp_integrity_active = 0x1754 ;
    _lnp_timeout_set = 0x1760 ;
    _lr_getdata = 0x176a ;
    _lr_process = 0x1796 ;
    _lr_waitdata = 0x1810 ;
    _lr_thread = 0x1854 ;
    _lr_init = 0x1898 ;
    _lr_startup = 0x18a2 ;
    _lr_shutdown = 0x18e6 ;
    _program_valid = 0x18fa ;
    _program_stop = 0x1cb6 ;
    _key_handler = 0x1d42 ;
    _lrkey_handler = 0x2000 ;
    _program_init = 0x21fc ;
    _program_shutdown = 0x2258 ;
    _vis_handler = 0x2264 ;
    _vis_core = 0x2278 ;
    _get_battery_mv = 0x22d0 ;
    _shutoff_restart = 0x22fa ;
    _shutoff_init = 0x230a ;
    _autoshutoff_check = 0x2316 ;
    _autoshutoff_check_core = 0x232a ;
    _dkey_handler = 0x235a ;
    _dkey_pressed = 0x2398 ;
    _dkey_released = 0x23ba ;
    _getchar = 0x23da ;
    _dm_handler = 0x2402 ;
    _dm_init = 0x2440 ;
    _dm_shutdown = 0x2444 ;
    _motor_a_dir = 0x2468 ;
    _motor_b_dir = 0x24a6 ;
    _motor_c_dir = 0x24e8 ;
    _ds_rotation_set = 0x2528 ;
    _ds_rotation_handler = 0x257c ;
    _ds_init = 0x2668 ;
    _ds_shutdown = 0x269e ;
    _dsound_handler = 0x26b6 ;
    _dsound_core = 0x26ca ;
    _dsound_init = 0x27be ;
    _dsound_shutdown = 0x27d6 ;
    _dsound_stop = 0x27da ;
    _dsound_finished = 0x27fa ;
    _locked_increment = 0x2814 ;
    _locked_decrement = 0x2824 ;
    _locked_check_and_increment = 0x2834 ;
    _wait_critical_section = 0x286e ;
    _enter_critical_section = 0x2890 ;
    _memset = 0x28c0 ;
    _memcpy = 0x28ce ;
    ___mulhi3 = 0x28de ;
    ___udivhi3 = 0x28ee ;
    ___mulsi3 = 0x2900 ;
    ___divsi3 = 0x291c ;
    _hex_display_codes = 0x295a ;
    _ascii_display_codes = 0x296a ;
    _lnp_rcx_header = 0x29fc ;
    _lnp_rcx_remote_op = 0x29fe ;
    _lnp_rcx_msg_op = 0x2a00 ;
    _min_length = 0x2a2a ;
    _dm_a_pattern = 0x2a5a ;
    _dm_b_pattern = 0x2a5e ;
    _dm_c_pattern = 0x2a62 ;
    ___ctors = 0x2b44 ;
    ___ctors_end = 0x2b44 ;
    ___dtors = 0x2b44 ;
    ___dtors_end = 0x2b44 ;
    _firmware_string = 0x2b44 ;
    _etext = 0x2b44 ;
    _lcd_refresh_period = 0x2b46 ;
    _lnp_hostaddr = 0x2b48 ;
    _lnp_timeout = 0x2b4a ;
    _lr_dataready = 0x2b4c ;
    _vis_refresh_counter = 0x2b4e ;
    _vis_refresh_period = 0x2b4f ;
    _battery_refresh_counter = 0x2b50 ;
    _battery_refresh_period = 0x2b52 ;
    _auto_shutoff_counter = 0x2b54 ;
    _auto_shutoff_period = 0x2b56 ;
    _auto_shutoff_secs = 0x2b58 ;
    _auto_shutoff_elapsed = 0x2b5a ;
    _idle_powerdown = 0x2b5c ;
    _dsound_system_sounds = 0x2b5e ;
    _bss_start = 0x2b60 ;
    __edata = 0x2b60 ;
    _mm_first_free = 0x2d4a ;
    _tm_timeslice = 0x2d4c ;
    _tm_current_slice = 0x2d4d ;
    _tm_switcher_vector = 0x2d4e ;
    _sys_time = 0x2d50 ;
    _ctid = 0x2d60 ;
    _td_single = 0x2d70 ;
    _nb_tasks = 0x2d84 ;
    _priority_head = 0x2d86 ;
    _nb_system_tasks = 0x2d88 ;
    _lcd_byte_counter = 0x2d8a ;
    _lcd_refresh_counter = 0x2d8b ;
    _tx_state = 0x2d8c ;
    _lnp_rcx_checksum = 0x2d90 ;
    _lnp_integrity_handler = 0x2d92 ;
    _lnp_rcx_message = 0x2d94 ;
    _lnp_rcx_temp1 = 0x2d95 ;
    _lnp_timeout_counter = 0x2d96 ;
    _lnp_addressing_handler = 0x2da0 ;
    _lnp_remote_handler = 0x2dc0 ;
    _lnp_integrity_state = 0x2dc2 ;
    _lnp_rcx_temp0 = 0x2dc4 ;
    _lr_curkeys = 0x2dc8 ;
    _lr_data = 0x2dca ;
    _EventType = 0x2dcc ;
    _lr_handler = 0x2dce ;
    _lr_tid = 0x2dd0 ;
    _lr_timeoff = 0x2dd4 ;
    _packet_len = 0x2dd8 ;
    _cprog = 0x2dda ;
    _packet_src = 0x2ddc ;
    _dkey_timer = 0x2dde ;
    _dkey = 0x2ddf ;
    _dkey_multi = 0x2de0 ;
    _dm_a = 0x2de4 ;
    _dm_b = 0x2de8 ;
    _dm_c = 0x2dec ;
    _ds_rotation = 0x2df0 ;
    _ds_channel = 0x2df1 ;
    _ds_rotations = 0x2df4 ;
    _ds_activation = 0x2dfa ;
    _dsound_next_note = 0x2dfc ;
    _dsound_internote_ms = 0x2dfe ;
    _dsound_16th_ms = 0x2e00 ;
    _dsound_next_time = 0x2e04 ;
    _kernel_critsec_count = 0x2e08 ;
    _end = 0x2e0a ;
    _mm_start = 0x2e0a ;
    _display_memory = 0x6f43 ;
    _motor_controller = 0x7000 ;
    _rom_port1_ddr = 0x7d80 ;
    _rom_port2_ddr = 0x7d81 ;
    _rom_port3_ddr = 0x7d82 ;
    _rom_port4_ddr = 0x7d83 ;
    _rom_port5_ddr = 0x7d84 ;
    _rom_port6_ddr = 0x7d85 ;
    _rom_port7_pin = 0x7d86 ;
    _reset_vector = 0x7d90 ;
    _nmi_vector = 0x7d92 ;
    _irq0_vector = 0x7d94 ;
    _irq1_vector = 0x7d96 ;
    _irq2_vector = 0x7d98 ;
    _icia_vector = 0x7d9a ;
    _icib_vector = 0x7d9c ;
    _icic_vector = 0x7d9e ;
    _icid_vector = 0x7da0 ;
    _ocia_vector = 0x7da2 ;
    _ocib_vector = 0x7da4 ;
    _fovi_vector = 0x7da6 ;
    _cmi0a_vector = 0x7da8 ;
    _cmi0b_vector = 0x7daa ;
    _ovi0_vector = 0x7dac ;
    _cmi1a_vector = 0x7dae ;
    _cmi1b_vector = 0x7db0 ;
    _ovi1_vector = 0x7db2 ;
    _eri_vector = 0x7db4 ;
    _rxi_vector = 0x7db6 ;
    _txi_vector = 0x7db8 ;
    _tei_vector = 0x7dba ;
    _ad_vector = 0x7dbc ;
    _wovf_vector = 0x7dbe ;
    _stack = 0x7e00 ;
    _T_IER = 0x7f90 ;
    _T_CSR = 0x7f91 ;
    _T_CNT = 0x7f92 ;
    _T_OCRA = 0x7f94 ;
    _T_OCRB = 0x7f94 ;
    _T_CR = 0x7f96 ;
    _T_OCR = 0x7f97 ;
    _T_ICRA = 0x7f98 ;
    _T_ICRB = 0x7f9a ;
    _T_ICRC = 0x7f9c ;
    _T_ICRD = 0x7f9e ;
    _WDT_CSR = 0x7fa8 ;
    _WDT_CNT = 0x7fa9 ;
    _PORT1_PCR = 0x7fac ;
    _PORT2_PCR = 0x7fad ;
    _PORT3_PCR = 0x7fae ;
    _PORT1_DDR = 0x7fb0 ;
    _PORT2_DDR = 0x7fb1 ;
    _PORT1 = 0x7fb2 ;
    _PORT2 = 0x7fb3 ;
    _PORT3_DDR = 0x7fb4 ;
    _PORT4_DDR = 0x7fb5 ;
    _PORT3 = 0x7fb6 ;
    _PORT4 = 0x7fb7 ;
    _PORT5_DDR = 0x7fb8 ;
    _PORT6_DDR = 0x7fb9 ;
    _PORT5 = 0x7fba ;
    _PORT6 = 0x7fbb ;
    _PORT7 = 0x7fbe ;
    _STCR = 0x7fc3 ;
    _SYSCR = 0x7fc4 ;
    _T0_CR = 0x7fc8 ;
    _T0_CSR = 0x7fc9 ;
    _T0_CORA = 0x7fca ;
    _T0_CORB = 0x7fcb ;
    _T0_CNT = 0x7fcc ;
    _T1_CR = 0x7fd0 ;
    _T1_CSR = 0x7fd1 ;
    _T1_CORA = 0x7fd2 ;
    _T1_CORB = 0x7fd3 ;
    _T1_CNT = 0x7fd4 ;
    _S_MR = 0x7fd8 ;
    _S_BRR = 0x7fd9 ;
    _S_CR = 0x7fda ;
    _S_TDR = 0x7fdb ;
    _S_SR = 0x7fdc ;
    _S_RDR = 0x7fdd ;
    _AD_A = 0x7fe0 ;
    _AD_A_H = 0x7fe0 ;
    _AD_A_L = 0x7fe1 ;
    _AD_B = 0x7fe2 ;
    _AD_B_H = 0x7fe2 ;
    _AD_B_L = 0x7fe3 ;
    _AD_C = 0x7fe4 ;
    _AD_C_H = 0x7fe4 ;
    _AD_C_L = 0x7fe5 ;
    _AD_D = 0x7fe6 ;
    _AD_D_H = 0x7fe6 ;
    _AD_D_L = 0x7fe7 ;
    _AD_CSR = 0x7fe8 ;
    _AD_CR = 0x7fe9 ;
    /* end of kernel symbols */
  }  > kern
      
  .text BLOCK(2) :	{
    ___text = . ;
    *(.text) 	      /* must start with text for clean entry */			
    *(.rodata)
    *(.strings)
    *(.vectors)       /* vectors region (dummy) */
    *(.persist)

    ___text_end = . ;
  }  > ram

  .tors BLOCK(2) : {
    ___ctors = . ;
    *(.ctors)
    ___ctors_end = . ;
    ___dtors = . ;
    *(.dtors)
    ___dtors_end = . ;
  }  > ram

  .data BLOCK(2) : {
    ___data = . ;
    *(.data)
    *(.tiny)
    ___data_end = . ;
  }  > ram

  .bss BLOCK(2) : {
    ___bss = . ;
    *(.bss)
    *(COMMON)
    ___bss_end = ALIGN(2) ;
  }  >ram

  .stack : {
    _stack = . ; 
    *(.stack)
  }  > topram

  .eight 0xff00: {
    *(.eight)

    /* on-chip module registers (relative to 0xff00) */

    _T_IER = 0x90 ;
    _T_CSR = 0x91 ;
    _T_CNT = 0x92 ;
    _T_OCRA = 0x94 ;
    _T_OCRB = 0x94 ;
    _T_CR = 0x96 ;
    _T_OCR = 0x97 ;
    _T_ICRA = 0x98 ;
    _T_ICRB = 0x9a ;
    _T_ICRC = 0x9c ;
    _T_ICRD = 0x9e ;
    _WDT_CSR = 0xa8 ;
    _WDT_CNT = 0xa9 ;
    _PORT1_PCR = 0xac ;
    _PORT2_PCR = 0xad ;
    _PORT3_PCR = 0xae ;
    _PORT1_DDR = 0xb0 ;
    _PORT2_DDR = 0xb1 ;
    _PORT1 = 0xb2 ;
    _PORT2 = 0xb3 ;
    _PORT3_DDR = 0xb4 ;
    _PORT4_DDR = 0xb5 ;
    _PORT3 = 0xb6 ;
    _PORT4 = 0xb7 ;
    _PORT5_DDR = 0xb8 ;
    _PORT6_DDR = 0xb9 ;
    _PORT5 = 0xba ;
    _PORT6 = 0xbb ;
    _PORT7 = 0xbe ;
    _STCR = 0xc3 ;
    _SYSCR = 0xc4 ;
    _T0_CR = 0xc8 ;
    _T0_CSR = 0xc9 ;
    _T0_CORA = 0xca ;
    _T0_CORB = 0xcb ;
    _T0_CNT = 0xcc ;
    _T1_CR = 0xd0 ;
    _T1_CSR = 0xd1 ;
    _T1_CORA = 0xd2 ;
    _T1_CORB = 0xd3 ;
    _T1_CNT = 0xd4 ;
    _S_MR = 0xd8 ;
    _S_BRR = 0xd9 ;
    _S_CR = 0xda ;
    _S_TDR = 0xdb ;
    _S_SR = 0xdc ;
    _S_RDR = 0xdd ;
    _AD_A = 0xe0 ;
    _AD_A_H = 0xe0 ;
    _AD_A_L = 0xe1 ;
    _AD_B = 0xe2 ;
    _AD_B_H = 0xe2 ;
    _AD_B_L = 0xe3 ;
    _AD_C = 0xe4 ;
    _AD_C_H = 0xe4 ;
    _AD_C_L = 0xe5 ;
    _AD_D = 0xe6 ;
    _AD_D_H = 0xe6 ;
    _AD_D_L = 0xe7 ;
    _AD_CSR = 0xe8 ;
    _AD_CR = 0xe9 ;
    
    /* end of on-chip module registers */
    
  }  > eight

  .stab 0 (NOLOAD) : {
    [ .stab ]
  }

  .stabstr 0 (NOLOAD) : {
    [ .stabstr ]
  }

} /* SECTIONS */

Attachment: libc.a
Description: Binary data

Attachment: libmint.a
Description: Binary data

Attachment: libfloat.a
Description: Binary data

Attachment: libc++.a
Description: Binary data

Attachment: helloworld.o
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]