[U-Boot] [PATCH] display_buffer: fix misaligned buffer
Detlev Zundel
dzu at denx.de
Mon Aug 30 10:59:36 CEST 2010
Hi Reinhard,
> Signed-off-by: Reinhard Meyer <u-boot at emk-elektronik.de>
> ---
> lib/display_options.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/lib/display_options.c b/lib/display_options.c
> index 20319e6..9048a8a 100644
> --- a/lib/display_options.c
> +++ b/lib/display_options.c
> @@ -101,7 +101,7 @@ void print_size(unsigned long long size, const char *s)
> #define DEFAULT_LINE_LENGTH_BYTES (16)
> int print_buffer (ulong addr, void* data, uint width, uint count, uint linelen)
> {
> - uint8_t linebuf[MAX_LINE_LENGTH_BYTES + 1];
> + uint32_t linebuf[MAX_LINE_LENGTH_BYTES/4 + 1];
> uint32_t *uip = (void*)linebuf;
> uint16_t *usp = (void*)linebuf;
> uint8_t *ucp = (void*)linebuf;
Sorry to jump in here late, but I do not like this change. How can a
reader of the code who has not followed the discussion here infer that
the datatype is there to ensure alignment?
I am willing to bet at least a few beers that it will not take long
until someone posts a patch changing the datatype back, because
c-strings are bytes.
I would much rather see an alignment attribute, which will _document_
the problem _and_ fix it, instead of only fixing it.
Cheers
Detlev
--
The GNU GPL makes sense in terms of its purpose: freedom and social
solidarity. Trying to understand it in terms of the goals and values of
open source is like trying understand a CD drive's retractable drawer as
a cupholder. You can use it for that, but that is not what it was
designed for. -- Richard Stallman
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de
More information about the U-Boot
mailing list