Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #13767 > unrolled thread

Arm machine does not execute background statement correctly

Started byLakshman Garlapati <lskumar.garlapati@gmail.com>
First post2018-02-28 16:01 +0530
Last post2018-02-28 16:01 +0530
Articles 1 — 1 participant

Back to article view | Back to gnu.bash.bug


Contents

  Arm machine does not execute background statement correctly Lakshman Garlapati <lskumar.garlapati@gmail.com> - 2018-02-28 16:01 +0530

#13767 — Arm machine does not execute background statement correctly

FromLakshman Garlapati <lskumar.garlapati@gmail.com>
Date2018-02-28 16:01 +0530
SubjectArm machine does not execute background statement correctly
Message-ID<mailman.9860.1519829280.27995.bug-bash@gnu.org>
Hi all,

I am facing problem in bash 4.4 . In a function if first line is ‘If
condition‘ and the function is called in background then the bash does not
evaluate it properly

Following are the cross compiled machine details.

MACHINE="arm"
OS="linux-gnueabi"
CC="arm-cortex_a9_v004-linux-gnueabi-gcc"
CFLAGS=" -DPROGRAM='bash' -DCONF_HOSTTYPE='arm'
-DCONF_OSTYPE='linux-gnueabi'
-DCONF_MACHTYPE='arm-cortex_a9_v004-linux-gnuea
bi' -DCONF_VENDOR='cortex_a9_v004' -DLOCALEDIR='/usr/local/share/locale'
-DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H   -I.  -I.
-I./include -I./lib   -O2 -Wno-parentheses -Wno-format-security"
RELEASE="4.4"
PATCHLEVEL="19"
RELSTATUS="release"
MACHTYPE="arm-cortex_a9_v004-linux-gnueabi"

file bash
=========
bash: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked
(uses shared libs), for GNU/Linux 3.4.0, not stripped

bash --version
===============
GNU bash, version 4.4.19(1)-release (arm-cortex_a9_v004-linux-gnueabi)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html
>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law


The following snippet is working fine in x86 processor machine not working
in arm processor machine from bash 4.3 version onwards.

test.sh
=====
#!/bin/bash
rm out.txt
function abc() {
  if [ 2 -eq 1 ]; then
    echo "TRUE"
  else
    echo "FALSE"
  fi
}
abc &

bash -x test.sh
===========
+ rm -f out.txt
+ abc
+ '[' 2 -eq 1 ']'
+ echo TRUE  <---- Here we are expecting FALSE
TRUE

please provide some guidance on how to resolve the problem, let me know if
problem statement is not clear.

-- 
Lakshman

[toc] | [standalone]


Back to top | Article view | gnu.bash.bug


csiph-web