On Fri, Dec 07, 2018 at 08:27:51PM +0100, Wolfgang Denk wrote: > So far, the use of CONFIG_BOARD_SIZE_LIMIT would only work with > plain numeric constants. Extend it to allow for expressions, so one > can for example use > > #define CONFIG_BOARD_SIZE_LIMIT (768 << 10) > > in the board configuration. > > Signed-off-by: Wolfgang Denk <w...@denx.de> > Tested-by: Fabio Estevam <feste...@gmail.com> > > Cc: Fabio Estevam <feste...@gmail.com> > Cc: Stefano Babic <sba...@denx.de> > Cc: Vanessa Maegima <vanessa.maeg...@nxp.com> > Cc: Otavio Salvador <ota...@ossystems.com.br> > Cc: John Weber <john.we...@technexion.com> > Cc: Stefan Roese <s...@denx.de> > --- > v2: replace bashism for evaluating expressions in CONFIG_BOARD_SIZE_LIMIT > by another call to awk. > > Note 1: As gawk lacks an eval function and we don't want to rely on > bash being used as shell, we use another call to awk to evaluate the > expression. This has the disadvantage that we cannot use expressions > like "<<" which awk does not understand. OK, one could replace awk > by something better... > > Note 2: This patch focusses on enabling this new feature. It does > not addres another issue that should be solved in a later > commit: the duplication of the same code in Makefile and > arch/arm/mach-imx/Makefile > > --- > Makefile | 17 ++++++++--------- > arch/arm/mach-imx/Makefile | 17 ++++++++--------- > 2 files changed, 16 insertions(+), 18 deletions(-) > > diff --git a/Makefile b/Makefile > index 0d11ff9797..87eb0fd2b1 100644 > --- a/Makefile > +++ b/Makefile > @@ -774,15 +774,14 @@ LDPPFLAGS += \ > > ifneq ($(CONFIG_BOARD_SIZE_LIMIT),) > BOARD_SIZE_CHECK = \ > - @actual=`wc -c $@ | awk '{print $$1}'`; \ > - limit=`printf "%d" $(CONFIG_BOARD_SIZE_LIMIT)`; \ > - if test $$actual -gt $$limit; then \ > - echo "$@ exceeds file size limit:" >&2 ; \ > - echo " limit: $$limit bytes" >&2 ; \ > - echo " actual: $$actual bytes" >&2 ; \ > - echo " excess: $$((actual - limit)) bytes" >&2; \ > - exit 1; \ > - fi > + @(awk "END{print $$(echo $(CONFIG_BOARD_SIZE_LIMIT))}" /dev/null; wc -c > $@ ) | \
So this fails with awk being provided by mawk, not gawk: $ mawk "END{print $(echo 0xE0000)}" /dev/null; 0 $ gawk "END{print $(echo 0xE0000)}" /dev/null; 917504 And then things fail as mawk doesn't like hex. Now, at the end of the day, I'm now not sure I agree with this patch in concept. When CONFIG_BOARD_SIZE_LIMIT is moved to Kconfig it will be taking I would assume a hex input and so we don't have to worry about << at all. -- Tom
signature.asc
Description: PGP signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot