On Mon, 3 May 2021 13:16:43 +0200 Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> wrote: Hi Sascha! > On Mon, Apr 26, 2021 at 05:30:25PM +0300, Antony Pavlov wrote: > > The global.endianness variable makes it possible > > to determine current endian mode from command > > line or from script on bi-endian capable system. > > > > Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx> > > --- > > common/globalvar.c | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > > diff --git a/common/globalvar.c b/common/globalvar.c > > index a55b38b00f..75ce6331b7 100644 > > --- a/common/globalvar.c > > +++ b/common/globalvar.c > > @@ -641,6 +641,8 @@ int globalvar_add_simple_ip(const char *name, IPaddr_t *ip) > > > > static int globalvar_init(void) > > { > > + const char *endianness; > > + > > register_device(&global_device); > > > > if (IS_ENABLED(CONFIG_NVVAR)) > > @@ -651,6 +653,13 @@ static int globalvar_init(void) > > if (strlen(buildsystem_version_string) > 0) > > globalvar_add_simple("buildsystem.version", buildsystem_version_string); > > > > + if (IS_ENABLED(CONFIG_CPU_BIG_ENDIAN)) > > + endianness = "big"; > > + else > > + endianness = "little"; > > PowerPC is for sure big endian, but doesn't set CONFIG_CPU_BIG_ENDIAN, > so will be erroneously be identified as little endian with this patch. > Either you fix that or depend on something like #if __BYTE_ORDER == > __LITTLE_ENDIAN Barebox don't use "__BYTE_ORDER == __*_ENDIAN" solution. Please see include/envfs.h: #ifdef __BAREBOX__ # ifdef __LITTLE_ENDIAN # define ENVFS_ORDER_LITTLE # elif defined __BIG_ENDIAN # define ENVFS_ORDER_BIG # else # error "could not determine byte order" # endif #else # if __BYTE_ORDER == __LITTLE_ENDIAN # define ENVFS_ORDER_LITTLE # elif __BYTE_ORDER == __BIG_ENDIAN # define ENVFS_ORDER_BIG # else # error "could not determine byte order" # endif #endif -- Best regards, Antony Pavlov _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox