Hi On May 28, 2013 6:02 AM, "Stephen Warren" <swar...@wwwdotorg.org> wrote: > > Some ARM compilers may emit code that makes unaligned accesses when > faced with constructs such as: > > char mac[16] = "ethaddr"; >
Recently I have seen some of this emails. I understand the problem but is it a compiler problem? Is it reported somewhere? Michael > Replace this with a strcpy() call instead to avoid this. strcpy() is > used here, rather than replacing all usage of the mac variable with the > string itself, since the loop itself sprintf()s to the variable each > iteration, so strcpy() is doing basically the same thing. > > Reported-by: Florian Meier > Signed-off-by: Stephen Warren <swar...@wwwdotorg.org> > --- > common/fdt_support.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/common/fdt_support.c b/common/fdt_support.c > index 812acb4..89e7883 100644 > --- a/common/fdt_support.c > +++ b/common/fdt_support.c > @@ -454,7 +454,7 @@ void fdt_fixup_ethernet(void *fdt) > { > int node, i, j; > char enet[16], *tmp, *end; > - char mac[16] = "ethaddr"; > + char mac[16]; > const char *path; > unsigned char mac_addr[6]; > > @@ -463,6 +463,7 @@ void fdt_fixup_ethernet(void *fdt) > return; > > i = 0; > + strcpy(mac, "ethaddr"); > while ((tmp = getenv(mac)) != NULL) { > sprintf(enet, "ethernet%d", i); > path = fdt_getprop(fdt, node, enet, NULL); > -- > 1.7.10.4 > > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot