On 20/07/2022 17.26, Peter Maydell wrote:
In shell script syntax, $var[something] is not special for variable
expansion: $emu is expanded.  However, as it can look as if it were
intended to be an array element access (the correct syntax for which
is ${var[something]}), shellcheck recommends using explicit braces
around ${var} to clarify the intended expansion.

This fixes the warning:

In ./configure line 2346:
         if "$target_ld" -verbose 2>&1 | grep -q 
"^[[:space:]]*$emu[[:space:]]*$"; then
                                                               ^-- SC1087: Use 
braces when expanding arrays, e.g. ${array[idx]} (or ${var}[.. to quiet).

Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
---
This is our only 'error' level shellcheck warning, so it seems
worth suppressing even though it's not wrong as written.
---
  configure | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index dec6f030346..a56c3d921be 100755
--- a/configure
+++ b/configure
@@ -2343,7 +2343,7 @@ if test -n "$target_cc" &&
      # emulation. Linux and OpenBSD/amd64 use 'elf_i386'; FreeBSD uses the 
_fbsd
      # variant; OpenBSD/i386 uses the _obsd variant; and Windows uses i386pe.
      for emu in elf_i386 elf_i386_fbsd elf_i386_obsd i386pe; do
-        if "$target_ld" -verbose 2>&1 | grep -q 
"^[[:space:]]*$emu[[:space:]]*$"; then
+        if "$target_ld" -verbose 2>&1 | grep -q 
"^[[:space:]]*${emu}[[:space:]]*$"; then
              ld_i386_emulation="$emu"
              break
          fi

Reviewed-by: Thomas Huth <th...@redhat.com>


Reply via email to