This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: RedBoot_INIT_TAB
- From: Gary Thomas <gary at chez-thomas dot org>
- To: Carles Perello <carles dot perello at ieee dot org>
- Cc: eCos Discussion <ecos-discuss at sources dot redhat dot com>
- Date: 05 Jun 2002 07:54:33 -0600
- Subject: Re: [ECOS] RedBoot_INIT_TAB
- References: <1023284178.24799.14.camel@stream.amrsystems.com>
On Wed, 2002-06-05 at 07:36, Carles Perello wrote:
> Hello,
>
>
> While porting redboot to a new sa1110 platform I checked a problem with
> the initialization loop:
>
> for (init_entry = __RedBoot_INIT_TAB__; init_entry
> !=&__RedBoot_INIT_TAB_END__; init_entry++) {
> (*init_entry->fun)();
> }
>
> I print the values following Gary's advice:
>
> RedBoot> +
> CALLING 0x000086a8/0x50001b00
> BACK
> CALLING 0x000086ac/0x500006e4
> BACK
What happens after this? Does it die here?
>
> however when I do an objdump of the downloaded code:
>
> 000086a8 <__CONFIG_options_TAB_END__>:
> 86a8: 50001b80 andpl r1, r0, r0, lsl #23
>
> so..I guess the compiler is working right...which can be the source of
> error?
I'm not sure what the question is. It's perfectly reasonable for there
to be two (or more) symbols which have the same value. 'objdump' can
only show you one of them, which is probably what's your're seeing.
For example, in one of my RedBoot images, I have:
00023e08 D __FIS_cmds_TAB__
00023ec8 D __FIS_cmds_TAB_END__
00023ec8 D __RedBoot_CMD_TAB__
00024060 D __CONFIG_options_TAB__
00024060 D __RedBoot_CMD_TAB_END__
00024180 D __CONFIG_options_TAB_END__
00024180 D __RedBoot_IDLE_TAB__
00024188 D __RedBoot_IDLE_TAB_END__
00024188 D __RedBoot_INIT_TAB__
000241a8 D __NETDEVTAB__
000241a8 D __RedBoot_INIT_TAB_END__
000241b8 D __NETDEVTAB_END__
Here you can see that '__RedBoot_CMD_TAB_END__' and '__CONFIG_options_TAB__'
have the same value. If I were to use objdump to display this area of memory,
or GDB for that matter, it might chose '__RedBoot_CMD_TAB_END__', even if
I was interested in '__CONFIG_options_TAB__'
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss