From: Timur Tabi <timur@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] Non-static global variables cause relocation to fail
Date: Fri, 20 Jun 2008 09:47:01 -0500 [thread overview]
Message-ID: <485BC2E5.8040101@freescale.com> (raw)
In-Reply-To: <485B250F.6090600@gmail.com>
Jerry Van Baren wrote:
> That isn't a variable, that is the first line of a struct declaration.
I didn't include this part (although since the code compiles, it should be
obvious that it exists):
} e;
So I'm defining a global variable called 'e'. Perhaps the short name is part of
the problem.
> You cut some pretty important information: what the struct is, the
> actual variable in question, and whether it is initialized.
As Wolfgang pointed out, my assumption that this is a generic problem is flawed,
and it's most likely a problem with my specific implementation.
> I'm guessing from the name "eeprom" that you have a non-zero initializer
> on it???
No, no initializer.
> Does it make a difference if it is uninitialized, initialized
> to {0}, or initialized to non-zero values?
I don't know, I haven't considered it.
I did notice this code in fsl_i2c.c:
#ifdef CFG_SPD_BUS_NUM
static unsigned int i2c_bus_num __attribute__ ((section ("data"))) =
CFG_SPD_BUS_NUM;
#else
static unsigned int i2c_bus_num __attribute__ ((section ("data"))) = 0;
#endif
I wrote this code, but I don't remember why I added the "__attribute__ ((section
("data")))". I guess I should have commented it, but I wonder if it applies to
my current problem.
> Does it make a difference if it is packed or not (my guess: much less
> likely than initialization to cause works/broken).
It needs to be packed, otherwise the code won't work. Sadly, someone defined a
4-byte integer at address 0x72 in the EEPROM.
When I post the full patch, I'll revisit this problem. Sorry for all the noise.
--
Timur Tabi
Linux kernel developer at Freescale
next prev parent reply other threads:[~2008-06-20 14:47 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-19 18:44 [U-Boot-Users] Non-static global variables cause relocation to fail Timur Tabi
2008-06-19 20:45 ` Wolfgang Denk
2008-06-19 20:47 ` Timur Tabi
2008-06-19 20:52 ` Wolfgang Denk
2008-06-19 21:12 ` Timur Tabi
2008-06-19 21:55 ` Wolfgang Denk
2008-06-20 3:33 ` Jerry Van Baren
2008-06-20 14:47 ` Timur Tabi [this message]
2008-06-21 0:27 ` Wolfgang Denk
2008-06-22 17:17 ` Jerry Van Baren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=485BC2E5.8040101@freescale.com \
--to=timur@freescale.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox