[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
h8300-hms-ld crash under cygwin Windows 2000
From: |
John M. Adams |
Subject: |
h8300-hms-ld crash under cygwin Windows 2000 |
Date: |
Sun, 05 Jan 2003 19:09:49 -0500 |
User-agent: |
Gnus/5.090007 (Oort Gnus v0.07) XEmacs/21.1 (Cuyahoga Valley, i686-pc-linux) |
Dear Friends,
I have observed h8300-hms-ld to crash in my cygwin Windows 2000
installation.
I built and installed binutils 2.13 and gcc 3.2 with newlib 1.11.0
using the cygwin tools (gcc 3.2). This was from GNU sources. My
cygwin installation is pretty recent.
>From searching the archive, it looks like Max Bowsher posted a similar
report in November but I didn't see any reply in the archive.
Here are the last configs I tried (config.status):
binutils:
#!/bin/sh
# This file was generated automatically by configure. Do not edit.
# This directory was configured as follows:
./configure --host=i686-pc-cygwin --prefix=/cygdrive/c/gnu --target=h8300-hms
--with-newlib
--include-dir=/cygdrive/c/home/jmadams/newlib/newlib-1.11.0/newlib/libc/include
--norecursion
# using "mh-frag"
gcc:
#!/bin/sh
# This file was generated automatically by configure. Do not edit.
# This directory was configured as follows:
../gcc-3.2/configure
--with-gcc-version-trigger=/cygdrive/c/home/jmadams/gcc/gcc-3.2/gcc/version.c
--host=i686-pc-cygwin --prefix=/cygdrive/c/home/jmadams/gnu --target=h8300-hms
--srcdir=/cygdrive/c/home/jmadams/gcc/gcc-3.2 --program-suffix=.exe
--with-newlib
--with-headers=/cygdrive/c/home/jmadams/newlib/newlib-1.11.0/newlib/libc/include
--norecursion
# using "mh-frag"
The build and install of these seemed to go OK.
My goal is to build programs for the Lego RCX running brickOS
(0.2.6.09). I observe the ld crash when trying to link the helloworld
program (or any of the demos) of the aforementioned brickOS
distribution.
/cygdrive/c/gnu/bin/h8300-hms-gcc -O2 -fno-builtin -fomit-frame-pointer -Wall
-I/cygdrive/c/home/jmadams/lego/brickos-0.2.6.09.newConf2/include
-I/cygdrive/c/home/jmadams/lego/brickos-0.2.6.09.newConf2/include/lnp -I.
-I/cygdrive/c/home/jmadams/lego/brickos-0.2.6.09.newConf2/boot -c helloworld.c
-o helloworld.o
In file included from
/cygdrive/c/home/jmadams/lego/brickos-0.2.6.09.newConf2/include/conio.h:53,
from helloworld.c:1:
/cygdrive/c/home/jmadams/lego/brickos-0.2.6.09.newConf2/boot/config.h:123:8:
warning: multi-line string literals are deprecated
/cygdrive/c/gnu/bin/h8300-hms-ld -T ../boot/brickOS.lds -relax
-L/cygdrive/c/home/jmadams/lego/brickos-0.2.6.09.newConf2/lib helloworld.o -lc
-lmint -lfloat -lc++ -o helloworld.ds1 -Ttext 0xb000
make: *** [helloworld.ds1] Segmentation fault (core dumped)
make: *** Deleting file `helloworld.ds1'
I also get this with an empty program:
int main(int argc, char *argc[]){}
I tried grabbing the cvs snapshot, but that wouldn't build because it
couldn't find msgfmt. From searching cygwin, it seems that should be
in gettext package. I installed that, but didn't get msgfmt. I tried
getting the gettext sources from cygwin, but that wouldn't build and
I've run out of gas--for the weekend anyway. Cygcheck --sysinfo
claims I have gettext 0.11.5-1, but I don't seem to have a msgfmt.
I have not applied any patches.
I am using the cygwin installed gcc 3.2 on a Dell Latitude.
If there is anything else I can give you to help, such as the .o let
me know. Thanks very much for binutils. And thanks very much for
reading this report.
brickOS.lds looks like this:
/*
*
* dynamic linker command file
* generated: Sat Jan 4 20:28:08 2003
* kernel : brickOS
* app start: 0xadfc
*
* BrickOS for LEGO(R) Mindstorms(TM)
* Originally: legOS - the independent LEGO Mindstorms OS
* (c) 1999 by Markus L. Noga <address@hidden>
*
*/
OUTPUT_FORMAT("symbolsrec")
OUTPUT_ARCH(h8300)
ENTRY("_main")
MEMORY {
rom : o = 0x0000, l = 0x8000
kern : o = 0x8000, l = 0x2dfc
ram : o = 0xadfc, l = 0x5100
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 = 0x06c4 ;
_tm_man_task = 0x06e2 ;
_tm_battery_task = 0x0736 ;
_tm_init = 0x0780 ;
_tm_start = 0x07ee ;
_execi = 0x0800 ;
_exit = 0x09cc ;
_wait_event = 0x09ee ;
_msleep = 0x0a8c ;
_sleep = 0x0acc ;
_shutdown_task = 0x0af0 ;
_shutdown_tasks = 0x0afc ;
_kill = 0x0b4e ;
_killall = 0x0b86 ;
_sem_event_wait = 0x0c12 ;
_sem_wait = 0x0c28 ;
_sem_trywait = 0x0c58 ;
_sem_post = 0x0c70 ;
_delay = 0x0c80 ;
_cputc_native = 0x0c9a ;
_cputc_native_0 = 0x0cc8 ;
_cputc_native_1 = 0x0cfc ;
_cputc_native_2 = 0x0d32 ;
_cputc_native_3 = 0x0d6c ;
_cputc_native_4 = 0x0da8 ;
_cputc_native_5 = 0x0de4 ;
_cputw = 0x0df0 ;
_cputs = 0x0e34 ;
_cls = 0x0e82 ;
_lcd_number = 0x0e8a ;
_lcd_refresh_next_byte = 0x0f28 ;
_lcd_refresh_next_byte_core = 0x0f3c ;
_lcd_refresh = 0x0f82 ;
_lcd_power_on = 0x0fa2 ;
_lcd_power_off = 0x0fb4 ;
_lcd_init = 0x0fd0 ;
_rx_handler = 0x1016 ;
_rx_core = 0x102a ;
_rxerror_handler = 0x109e ;
_rxerror_core = 0x10b2 ;
_txend_handler = 0x10f8 ;
_txend_core = 0x110c ;
_tx_handler = 0x111a ;
_tx_core = 0x112e ;
_lnp_logical_shutdown = 0x1154 ;
_lnp_logical_init = 0x1174 ;
_lnp_logical_write = 0x121e ;
_lnp_integrity_write = 0x12f0 ;
_lnp_addressing_write = 0x1356 ;
_lnp_receive_packet = 0x13e6 ;
_lnp_integrity_byte = 0x145e ;
_lnp_integrity_reset = 0x15fc ;
_lnp_integrity_reset_core = 0x1610 ;
_lnp_timeout_reset = 0x163c ;
_lnp_timeout_reset_core = 0x1650 ;
_lnp_init = 0x165a ;
_msg_received = 0x168a ;
_send_msg = 0x16ec ;
_lnp_integrity_active = 0x174a ;
_lnp_timeout_set = 0x1756 ;
_lr_getdata = 0x1760 ;
_lr_process = 0x178c ;
_lr_waitdata = 0x1806 ;
_lr_thread = 0x184a ;
_lr_init = 0x188a ;
_lr_startup = 0x1894 ;
_lr_shutdown = 0x18d8 ;
_program_valid = 0x18ec ;
_program_stop = 0x1ca4 ;
_key_handler = 0x1d30 ;
_lrkey_handler = 0x1fea ;
_program_init = 0x21e6 ;
_program_shutdown = 0x2242 ;
_vis_handler = 0x224e ;
_vis_core = 0x2262 ;
_get_battery_mv = 0x22ba ;
_shutoff_restart = 0x22e4 ;
_shutoff_init = 0x22f4 ;
_autoshutoff_check = 0x2300 ;
_autoshutoff_check_core = 0x2314 ;
_dkey_handler = 0x2344 ;
_dkey_pressed = 0x2382 ;
_dkey_released = 0x23a4 ;
_getchar = 0x23c4 ;
_dm_handler = 0x23ec ;
_dm_init = 0x242a ;
_dm_shutdown = 0x242e ;
_motor_a_dir = 0x2452 ;
_motor_b_dir = 0x2490 ;
_motor_c_dir = 0x24d2 ;
_ds_rotation_set = 0x2512 ;
_ds_rotation_handler = 0x2566 ;
_ds_init = 0x2652 ;
_ds_shutdown = 0x2688 ;
_dsound_handler = 0x26a0 ;
_dsound_core = 0x26b4 ;
_dsound_init = 0x27a8 ;
_dsound_shutdown = 0x27c0 ;
_dsound_stop = 0x27c4 ;
_dsound_finished = 0x27e4 ;
_locked_increment = 0x27fe ;
_locked_decrement = 0x280e ;
_locked_check_and_increment = 0x281e ;
_wait_critical_section = 0x2858 ;
_enter_critical_section = 0x287a ;
_memset = 0x28aa ;
_memcpy = 0x28b8 ;
___mulhi3 = 0x28c8 ;
___udivhi3 = 0x28d8 ;
___mulsi3 = 0x28ea ;
___divsi3 = 0x2906 ;
_hex_display_codes = 0x2944 ;
_ascii_display_codes = 0x2954 ;
_lnp_rcx_header = 0x29e6 ;
_lnp_rcx_remote_op = 0x29e8 ;
_lnp_rcx_msg_op = 0x29ea ;
_min_length = 0x2a14 ;
_dm_a_pattern = 0x2a44 ;
_dm_b_pattern = 0x2a48 ;
_dm_c_pattern = 0x2a4c ;
___ctors = 0x2b2e ;
___ctors_end = 0x2b2e ;
___dtors = 0x2b2e ;
___dtors_end = 0x2b2e ;
_firmware_string = 0x2b2e ;
_etext = 0x2b2e ;
_lcd_refresh_period = 0x2b30 ;
_lnp_hostaddr = 0x2b32 ;
_lnp_timeout = 0x2b34 ;
_lr_dataready = 0x2b36 ;
_vis_refresh_counter = 0x2b38 ;
_vis_refresh_period = 0x2b39 ;
_battery_refresh_counter = 0x2b3a ;
_battery_refresh_period = 0x2b3c ;
_auto_shutoff_counter = 0x2b3e ;
_auto_shutoff_period = 0x2b40 ;
_auto_shutoff_secs = 0x2b42 ;
_auto_shutoff_elapsed = 0x2b44 ;
_idle_powerdown = 0x2b46 ;
_dsound_system_sounds = 0x2b48 ;
__edata = 0x2b4a ;
_bss_start = 0x2b50 ;
_mm_first_free = 0x2d3a ;
_tm_timeslice = 0x2d3c ;
_tm_current_slice = 0x2d3d ;
_tm_switcher_vector = 0x2d3e ;
_sys_time = 0x2d40 ;
_ctid = 0x2d50 ;
_td_single = 0x2d60 ;
_nb_tasks = 0x2d74 ;
_priority_head = 0x2d76 ;
_nb_system_tasks = 0x2d78 ;
_lcd_byte_counter = 0x2d7a ;
_lcd_refresh_counter = 0x2d7b ;
_tx_state = 0x2d7c ;
_lnp_rcx_checksum = 0x2d80 ;
_lnp_integrity_handler = 0x2d82 ;
_lnp_rcx_message = 0x2d84 ;
_lnp_rcx_temp1 = 0x2d85 ;
_lnp_timeout_counter = 0x2d86 ;
_lnp_addressing_handler = 0x2d90 ;
_lnp_remote_handler = 0x2db0 ;
_lnp_integrity_state = 0x2db2 ;
_lnp_rcx_temp0 = 0x2db4 ;
_lr_curkeys = 0x2db8 ;
_lr_data = 0x2dba ;
_EventType = 0x2dbc ;
_lr_handler = 0x2dbe ;
_lr_tid = 0x2dc0 ;
_lr_timeoff = 0x2dc4 ;
_packet_len = 0x2dc8 ;
_cprog = 0x2dca ;
_packet_src = 0x2dcc ;
_dkey_timer = 0x2dce ;
_dkey = 0x2dcf ;
_dkey_multi = 0x2dd0 ;
_dm_a = 0x2dd4 ;
_dm_b = 0x2dd8 ;
_dm_c = 0x2ddc ;
_ds_rotation = 0x2de0 ;
_ds_channel = 0x2de1 ;
_ds_rotations = 0x2de4 ;
_ds_activation = 0x2dea ;
_dsound_next_note = 0x2dec ;
_dsound_internote_ms = 0x2dee ;
_dsound_16th_ms = 0x2df0 ;
_dsound_next_time = 0x2df4 ;
_kernel_critsec_count = 0x2df8 ;
_end = 0x2dfa ;
_mm_start = 0x2dfa ;
_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 */
Regards,
--
John M. Adams
- h8300-hms-ld crash under cygwin Windows 2000,
John M. Adams <=