ron minnich wrote:
On Fri, Nov 14, 2008 at 9:08 AM, Myles Watson mylesgw@gmail.com wrote:
On Fri, Nov 14, 2008 at 9:24 AM, ron minnich rminnich@gmail.com wrote:
static const u32 const * const dual_channel_slew_group_lookup[] = { static const u32 const * const single_channel_slew_group_lookup[] =
{ /home/rminnich/coreboot-v3/build/coreboot.initram_partiallylinked.o: section .data.rel.ro.local: dual_channel_slew_group_lookup.3240 single_channel_slew_group_lookup.3241
what's it looking for here?
I don't really have an answer, but I have a question:
Is it a types problem?
static const u32 nc[] = {...}; static const u32 const * const dual_channel_slew_group_lookup[] = { nc, nc };
I think maybe it doesn't like having unconstrained pointers with this many levels. Could you try a typedef or something like that? I was looking at southbridge/amd/cs5536/cs5536.c and they don't need nearly as many consts as you had.
I could be way off :)
I did this: static const u32 const dual_channel_slew_group_lookup[] = { and cast everything in there to u32 and still no good.
The construct in the v2 code is correct. Don't mess with it, or it will break.
ah geez. another binutils issue?
What binutils version do you have? If it's lower than 2.17.x go update to 2.18.50.x now or you will continue to have problems.