unwind_frame_discard lastpipe-exec warning

2012-02-23 Thread Doug Kehn
Configuration Information [Automatically generated, do not change]:
Machine: arm
OS: linux-gnueabi
Compiler: arm-cortex_a8-linux-gnueabi-gcc -march=armv7-a -mtune=cortex-a8 
-mfpu=neon -mfloat-abi=softfp -mlittle-endian
Compilation CFLAGS:  -DPROGRAM='bash' -DCONF_HOSTTYPE='arm' 
-DCONF_OSTYPE='linux-gnueabi' -DCONF_MACHTYPE='arm-cortex_a8-linux-gnueabi' 
-DCONF_VENDOR='cortex_a8' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' 
-DSHELL -DHAVE_CONFIG_H   -I.  
-I/home/dkehn/current/u/src/user/bash/bash-4.2-20-src.d 
-I/home/dkehn/current/u/src/user/bash/bash-4.2-20-src.d/include 
-I/home/dkehn/current/u/src/user/bash/bash-4.2-20-src.d/lib   -Wall 
-I/opt/x-tools/arm-cortex_a8-linux-gnueabi-2001/arm-cortex_a8-linux-gnueabi/sysroot/usr/include
 
-I/home/dkehn/current/u/src/user/bash/../../build.d/0001-0001/build-root/usr/include
 
uname output: Linux none 2.6.37 #1 Tue Feb 14 10:07:19 CST 2012 armv7l GNU/Linux
Machine Type: arm-cortex_a8-linux-gnueabi

Bash Version: 4.2
Patch Level: 20
Release Status: release

Description:
When cross-compiling bash_cv_job_control_missing gets set to
missing (bash_cv_job_control_missing=missing) because job
control can't be validated.  Without job control using '|'
results in a unwind_frame_discard warning.

# echo hello | grep hello
hello
-sh: warning: unwind_frame_discard: lastpipe-exec: frame not found

Repeat-By:
Compile bash without job control.  Then execute:
echo hello | grep hello

Fix:
When cross-compiling, passing
bash_cv_job_control_missing=present to configure enables job
control and prevents the warning from being emitted.

In execute_cmd.c, execute_pipeline() calls
begin_unwind_frame ("lastpipe-exec").  This call is wrapped by a
#if defined (JOB_CONTROL).  At the end of execute_pipeline(), a
call is made to discard_unwind_frame ("lastpipe-exec").  This
call is always executed.  It should probably be wrapped by a
#if defined (JOB_CONTROL).




Re: unwind_frame_discard lastpipe-exec warning

2012-02-23 Thread Chet Ramey
On 2/23/12 12:20 PM, Doug Kehn wrote:

> Fix:
>   When cross-compiling, passing
>   bash_cv_job_control_missing=present to configure enables job
>   control and prevents the warning from being emitted.
> 
>   In execute_cmd.c, execute_pipeline() calls
>   begin_unwind_frame ("lastpipe-exec").  This call is wrapped by a
>   #if defined (JOB_CONTROL).  At the end of execute_pipeline(), a
>   call is made to discard_unwind_frame ("lastpipe-exec").  This
>   call is always executed.  It should probably be wrapped by a
>   #if defined (JOB_CONTROL).

Thanks for the report.


-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRUc...@case.eduhttp://cnswww.cns.cwru.edu/~chet/