ENV library broken with setenv/printenv argument structs
Hi Andreas,
your series for the U-Boot environment tools does not let to use anymore the tools as library to be linked to custom program.
In fact, tools/env/Makefile generates a library too:
lib-y += fw_env.o \
crc32.o ctype.o linux_string.o \
env_attr.o env_flags.o aes.o
that means that fw_main should not maintain any structure that is referenced by the library.
In fact, linking with the library (renamed as ibubootenv.a), gives the errors:
undefined reference to `printenv_args'
undefined reference to `common_args'
The two functions fw_printenv() and fw_setenv() are then supposed to be called by a custom program, what it does not work anymore.
Can you take a look at it ?
Thanks,
Stefano Babic
Signature · 5 lines
===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de =====================================================================
HI Stefano,
I was not aware of the use case. I have sent out a simple patch that moves the definition of the structs from fw_main_env.c to fw_env.c, which should avoid the linking problem. Do you have test application you could send me. I without doing the option parsing as done in fw_env_main, you probably use only use a very limited subset of the library.
/Andi
2016-03-25 10:31 GMT+01:00 Stefano Babic <[email protected]>:
Quoted 33 lines
Hi Andreas,
your series for the U-Boot environment tools does not let to use anymore the tools as library to be linked to custom program.
In fact,
tools/env/Makefilegenerates a library too:lib-y += fw_env.o \
crc32.o ctype.o linux_string.o \
env_attr.o env_flags.o aes.othat means that
fw_mainshould not maintain any structure that is referenced by the library.
In fact, linking with the library (renamed as ibubootenv.a), gives the errors:undefined reference to `printenv_args'
undefined reference to `common_args'The two functions
fw_printenv()andfw_setenv()are then supposed to be called by a custom program, what it does not work anymore.Can you take a look at it ?
Thanks,
Stefano Babic--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
Hi Andreas,
Quoted 9 lines · Andreas Fenkart
HI Stefano,
I was not aware of the use case. I have sent out a simple patch that moves the definition of the structs from
fw_main_env.ctofw_env.c, which should avoid the linking problem. Do you have test application you could send me.
I without doing the option parsing as done infw_env_main, you probably use only use a very limited subset of the library.
Yes, currently I am using just fw_parse_script. But exporting a library, it can be possible that someone else need other options.
I see you sent a patch, I send an answer.
Stefano
Quoted 37 lines
/Andi
2016-03-25 10:31 GMT+01:00 Stefano Babic <[email protected]>:
Quoted 33 lines
Hi Andreas,
your series for the U-Boot environment tools does not let to use anymore the tools as library to be linked to custom program.
In fact,
tools/env/Makefilegenerates a library too:lib-y += fw_env.o \
crc32.o ctype.o linux_string.o \
env_attr.o env_flags.o aes.othat means that
fw_mainshould not maintain any structure that is referenced by the library.
In fact, linking with the library (renamed as ibubootenv.a), gives the errors:undefined reference to `printenv_args'
undefined reference to `common_args'The two functions
fw_printenv()andfw_setenv()are then supposed to be called by a custom program, what it does not work anymore.Can you take a look at it ?
Thanks,
Stefano Babic--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
Signature · 5 lines
===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de =====================================================================