[U-Boot] [PATCH v2 0/4] Fix bugs of MAKEALL

Commit 27af930e9a5c91365ca639ada580b338eabe4989 changed the boards.cfg format and introduced some bugs to MAKEALL.
This series fixes them.
Cc: Albert ARIBAUD albert.u.boot@aribaud.net
Masahiro Yamada (4): MAKEALL: fix awk warning message MAKEALL: fix a bug to use CROSS_COMPILE_<ARCH> MAKEALL: fix boards_by_field function MAKEALL: rename boards_by_* functions to targets_by_*
MAKEALL | 102 +++++++++++++++++++++++++++++++--------------------------------- 1 file changed, 50 insertions(+), 52 deletions(-)

If you do `./MAKEALL -M ` or `./MAKEALL -m` GNU awk would display warnings like follows:
awk: warning: escape sequence `\ ' treated as plain ` '
In the first place, we do not explicitly set the field separator.
Signed-off-by: Masahiro Yamada yamada.m@jp.panasonic.com Cc: Albert ARIBAUD albert.u.boot@aribaud.net ---
Changes for v2: - No change
Note: I confirmed the warning message: awk: warning: escape sequence `\ ' treated as plain ` ' on Ubuntu 12.04 LTS and Ubuntu 13.04
MAKEALL | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/MAKEALL b/MAKEALL index a9253d3..b035229 100755 --- a/MAKEALL +++ b/MAKEALL @@ -518,7 +518,7 @@ get_target_location() { local vendor=""
# Automatic mode - local line=`awk -F '\ +' '$7 == "'"$target"'" { print $0 }' boards.cfg` + local line=`awk '$7 == "'"$target"'" { print $0 }' boards.cfg` if [ -z "${line}" ] ; then echo "" ; return ; fi
set ${line} @@ -556,7 +556,7 @@ get_target_location() { get_target_maintainers() { local name=`echo $1 | cut -d : -f 3`
- local line=`awk -F '\ +' '$7 == "'"$target"'" { print $0 }' boards.cfg` + local line=`awk '$7 == "'"$target"'" { print $0 }' boards.cfg` if [ -z "${line}" ]; then echo "" return ;

On Mon, Oct 21, 2013 at 11:11:25AM +0900, Masahiro Yamada wrote:
If you do `./MAKEALL -M ` or `./MAKEALL -m` GNU awk would display warnings like follows:
awk: warning: escape sequence `\ ' treated as plain ` '
In the first place, we do not explicitly set the field separator.
Signed-off-by: Masahiro Yamada yamada.m@jp.panasonic.com Cc: Albert ARIBAUD albert.u.boot@aribaud.net
Applied to u-boot/master, thanks!

Commit 27af930e changed the boards.cfg format but missed to change get_target_arch() fuction. This commit adjusts it for CROSS_COMPILE_<ARCH> to work correctly.
Signed-off-by: Masahiro Yamada yamada.m@jp.panasonic.com Cc: Albert ARIBAUD albert.u.boot@aribaud.net ---
Changes for v2: - No change
MAKEALL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/MAKEALL b/MAKEALL index b035229..230959c 100755 --- a/MAKEALL +++ b/MAKEALL @@ -571,7 +571,7 @@ get_target_arch() { local target=$1
# Automatic mode - local line=`egrep -i "^[[:space:]]*${target}[[:space:]]" boards.cfg` + local line=`awk '$7 == "'"$target"'" { print $0 }' boards.cfg`
if [ -z "${line}" ] ; then echo "" ; return ; fi

On Mon, Oct 21, 2013 at 11:11:26AM +0900, Masahiro Yamada wrote:
Commit 27af930e changed the boards.cfg format but missed to change get_target_arch() fuction. This commit adjusts it for CROSS_COMPILE_<ARCH> to work correctly.
Signed-off-by: Masahiro Yamada yamada.m@jp.panasonic.com Cc: Albert ARIBAUD albert.u.boot@aribaud.net
Applied to u-boot/master, thanks!

Commit 27af930e changed the boards.cfg format and it changed boards_by_field() function incorrectly. For tegra cpus it returned Board Name field, not Target field.
This commit restores the behavior prior to 27af930e in the right way.
Signed-off-by: Masahiro Yamada yamada.m@jp.panasonic.com Cc: Albert ARIBAUD albert.u.boot@aribaud.net ---
Changes for v2: - Re-write boards_by_field and boards_by_cpu functions
Albert says in the review of v1:
The way the code is written now, board_by_field() has to do the job of board_by_cpu() and has to know the CPU field has colon-separated subfields. What should be done is, board_by_field should not even worry about colons at all, and it is board_by_cpu() which should know about CPU dubfields and treat them properly.
MAKEALL | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/MAKEALL b/MAKEALL index 230959c..5859361 100755 --- a/MAKEALL +++ b/MAKEALL @@ -226,17 +226,15 @@ RC=0 # Helper funcs for parsing boards.cfg boards_by_field() { - FS="[ \t]+" - [ -n "$3" ] && FS="$3" - awk \ - -v field="$1" \ - -v select="$2" \ - -F "$FS" \ - '($1 !~ /^#/ && $field == select) { print $7 }' \ - boards.cfg + field=$1 + regexp=$2 + + awk '($1 !~ /^#/ && $'"$field"' ~ /^'"$regexp"'$/) { print $7 }' \ + boards.cfg } + boards_by_arch() { boards_by_field 2 "$@" ; } -boards_by_cpu() { boards_by_field 3 "$@" "[: \t]+" ; } +boards_by_cpu() { boards_by_field 3 "$@" ; boards_by_field 3 "$@:.*" ; } boards_by_soc() { boards_by_field 4 "$@" ; }
#########################################################################

On Mon, Oct 21, 2013 at 11:11:27AM +0900, Masahiro Yamada wrote:
Commit 27af930e changed the boards.cfg format and it changed boards_by_field() function incorrectly. For tegra cpus it returned Board Name field, not Target field.
This commit restores the behavior prior to 27af930e in the right way.
Signed-off-by: Masahiro Yamada yamada.m@jp.panasonic.com Cc: Albert ARIBAUD albert.u.boot@aribaud.net
Applied to u-boot/master, thanks!

We expect boards_by_* function to return the 7th filed, 'Target', not the 6th field, 'Board name'.
So the function names, boards_by_* are a little misleading, and should be renamed to targets_by_*.
Signed-off-by: Masahiro Yamada yamada.m@jp.panasonic.com Cc: Albert ARIBAUD albert.u.boot@aribaud.net ---
This patch has been added at v2.
MAKEALL | 82 ++++++++++++++++++++++++++++++++--------------------------------- 1 file changed, 41 insertions(+), 41 deletions(-)
diff --git a/MAKEALL b/MAKEALL index 5859361..80cd4f8 100755 --- a/MAKEALL +++ b/MAKEALL @@ -224,7 +224,7 @@ OLDEST_IDX=1 RC=0
# Helper funcs for parsing boards.cfg -boards_by_field() +targets_by_field() { field=$1 regexp=$2 @@ -233,75 +233,75 @@ boards_by_field() boards.cfg }
-boards_by_arch() { boards_by_field 2 "$@" ; } -boards_by_cpu() { boards_by_field 3 "$@" ; boards_by_field 3 "$@:.*" ; } -boards_by_soc() { boards_by_field 4 "$@" ; } +targets_by_arch() { targets_by_field 2 "$@" ; } +targets_by_cpu() { targets_by_field 3 "$@" ; targets_by_field 3 "$@:.*" ; } +targets_by_soc() { targets_by_field 4 "$@" ; }
######################################################################### ## MPC5xx Systems #########################################################################
-LIST_5xx="$(boards_by_cpu mpc5xx)" +LIST_5xx="$(targets_by_cpu mpc5xx)"
######################################################################### ## MPC5xxx Systems #########################################################################
-LIST_5xxx="$(boards_by_cpu mpc5xxx)" +LIST_5xxx="$(targets_by_cpu mpc5xxx)"
######################################################################### ## MPC512x Systems #########################################################################
-LIST_512x="$(boards_by_cpu mpc512x)" +LIST_512x="$(targets_by_cpu mpc512x)"
######################################################################### ## MPC8xx Systems #########################################################################
-LIST_8xx="$(boards_by_cpu mpc8xx)" +LIST_8xx="$(targets_by_cpu mpc8xx)"
######################################################################### ## PPC4xx Systems #########################################################################
-LIST_4xx="$(boards_by_cpu ppc4xx)" +LIST_4xx="$(targets_by_cpu ppc4xx)"
######################################################################### ## MPC824x Systems #########################################################################
-LIST_824x="$(boards_by_cpu mpc824x)" +LIST_824x="$(targets_by_cpu mpc824x)"
######################################################################### ## MPC8260 Systems (includes 8250, 8255 etc.) #########################################################################
-LIST_8260="$(boards_by_cpu mpc8260)" +LIST_8260="$(targets_by_cpu mpc8260)"
######################################################################### ## MPC83xx Systems (includes 8349, etc.) #########################################################################
-LIST_83xx="$(boards_by_cpu mpc83xx)" +LIST_83xx="$(targets_by_cpu mpc83xx)"
######################################################################### ## MPC85xx Systems (includes 8540, 8560 etc.) #########################################################################
-LIST_85xx="$(boards_by_cpu mpc85xx)" +LIST_85xx="$(targets_by_cpu mpc85xx)"
######################################################################### ## MPC86xx Systems #########################################################################
-LIST_86xx="$(boards_by_cpu mpc86xx)" +LIST_86xx="$(targets_by_cpu mpc86xx)"
######################################################################### ## 74xx/7xx Systems #########################################################################
-LIST_74xx_7xx="$(boards_by_cpu 74xx_7xx)" +LIST_74xx_7xx="$(targets_by_cpu 74xx_7xx)"
######################################################################### ## PowerPC groups @@ -337,61 +337,61 @@ LIST_ppc=" \ ## StrongARM Systems #########################################################################
-LIST_SA="$(boards_by_cpu sa1100)" +LIST_SA="$(targets_by_cpu sa1100)"
######################################################################### ## ARM7 Systems #########################################################################
-LIST_ARM7="$(boards_by_cpu arm720t)" +LIST_ARM7="$(targets_by_cpu arm720t)"
######################################################################### ## ARM9 Systems #########################################################################
-LIST_ARM9="$(boards_by_cpu arm920t) \ - $(boards_by_cpu arm926ejs) \ - $(boards_by_cpu arm946es) \ +LIST_ARM9="$(targets_by_cpu arm920t) \ + $(targets_by_cpu arm926ejs) \ + $(targets_by_cpu arm946es) \ "
######################################################################### ## ARM11 Systems ######################################################################### -LIST_ARM11="$(boards_by_cpu arm1136) \ - $(boards_by_cpu arm1176) \ +LIST_ARM11="$(targets_by_cpu arm1136) \ + $(targets_by_cpu arm1176) \ "
######################################################################### ## ARMV7 Systems #########################################################################
-LIST_ARMV7="$(boards_by_cpu armv7)" +LIST_ARMV7="$(targets_by_cpu armv7)"
######################################################################### ## AT91 Systems #########################################################################
-LIST_at91="$(boards_by_soc at91)" +LIST_at91="$(targets_by_soc at91)"
######################################################################### ## Xscale Systems #########################################################################
-LIST_pxa="$(boards_by_cpu pxa)" +LIST_pxa="$(targets_by_cpu pxa)"
-LIST_ixp="$(boards_by_cpu ixp)" +LIST_ixp="$(targets_by_cpu ixp)"
######################################################################### ## SPEAr Systems #########################################################################
-LIST_spear="$(boards_by_soc spear)" +LIST_spear="$(targets_by_soc spear)"
######################################################################### ## ARM groups #########################################################################
-LIST_arm="$(boards_by_arch arm)" +LIST_arm="$(targets_by_arch arm)"
######################################################################### ## MIPS Systems (default = big endian) @@ -445,66 +445,66 @@ LIST_mips_el=" \ ## OpenRISC Systems #########################################################################
-LIST_openrisc="$(boards_by_arch openrisc)" +LIST_openrisc="$(targets_by_arch openrisc)"
######################################################################### ## x86 Systems #########################################################################
-LIST_x86="$(boards_by_arch x86)" +LIST_x86="$(targets_by_arch x86)"
######################################################################### ## Nios-II Systems #########################################################################
-LIST_nios2="$(boards_by_arch nios2)" +LIST_nios2="$(targets_by_arch nios2)"
######################################################################### ## MicroBlaze Systems #########################################################################
-LIST_microblaze="$(boards_by_arch microblaze)" +LIST_microblaze="$(targets_by_arch microblaze)"
######################################################################### ## ColdFire Systems #########################################################################
-LIST_m68k="$(boards_by_arch m68k)" +LIST_m68k="$(targets_by_arch m68k)" LIST_coldfire=${LIST_m68k}
######################################################################### ## AVR32 Systems #########################################################################
-LIST_avr32="$(boards_by_arch avr32)" +LIST_avr32="$(targets_by_arch avr32)"
######################################################################### ## Blackfin Systems #########################################################################
-LIST_blackfin="$(boards_by_arch blackfin)" +LIST_blackfin="$(targets_by_arch blackfin)"
######################################################################### ## SH Systems #########################################################################
-LIST_sh2="$(boards_by_cpu sh2)" -LIST_sh3="$(boards_by_cpu sh3)" -LIST_sh4="$(boards_by_cpu sh4)" +LIST_sh2="$(targets_by_cpu sh2)" +LIST_sh3="$(targets_by_cpu sh3)" +LIST_sh4="$(targets_by_cpu sh4)"
-LIST_sh="$(boards_by_arch sh)" +LIST_sh="$(targets_by_arch sh)"
######################################################################### ## SPARC Systems #########################################################################
-LIST_sparc="$(boards_by_arch sparc)" +LIST_sparc="$(targets_by_arch sparc)"
######################################################################### ## NDS32 Systems #########################################################################
-LIST_nds32="$(boards_by_arch nds32)" +LIST_nds32="$(targets_by_arch nds32)"
#-----------------------------------------------------------------------

On Mon, Oct 21, 2013 at 11:11:28AM +0900, Masahiro Yamada wrote:
We expect boards_by_* function to return the 7th filed, 'Target', not the 6th field, 'Board name'.
So the function names, boards_by_* are a little misleading, and should be renamed to targets_by_*.
Signed-off-by: Masahiro Yamada yamada.m@jp.panasonic.com Cc: Albert ARIBAUD albert.u.boot@aribaud.net
Applied to u-boot/master, thanks!
participants (2)
-
Masahiro Yamada
-
Tom Rini