patches/glibc/ports-2.12.1/160-manual-no-perl.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Dec 13 23:32:39 2011 +0100 (2011-12-13)
branch1.13
changeset 2847 c0bf2319af08
permissions -rw-r--r--
scripts: fix dumping execution backtrace

Dumping the backtrace has been broken since changeset #652e56d6d35a:
scripts: execute each steps in a subshell

We can spawn sub-sub-shells in some cases.

The way the fault handler works is to dump the backtrace, but to avoid
printing it once for every sub-shell (which could get quite confusing),
it simply exits when it detects that it is being run in a sub-shell,
leaving to the top-level shell the work to dump the backtrace.

Because each step is executed in its own sub-shell, the variable arrays
that contain the step name, the source file and line number, are lost
when exiting the per-step sub-shell.

Hence, the backtrace is currently limited to printing only the top-level
main procedure of the shell.

Fix this thus:
- when dumping the bckatraces for the steps & the functions, remember
it was dumped, and only dump it if it was not already dumped
- at the top-level shell, print the hints

Also, rename the top-level step label.

Reported-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
(transplanted from 4193d6e6a17430a177fa88c287879c2c35e319f3)
     1 If we're using a cvs snapshot which updates the source files, and
     2 perl isn't installed yet, then we can't regen the docs.  Not a big
     3 deal, so just whine a little and continue on our merry way.
     4 
     5 http://bugs.gentoo.org/60132
     6 
     7 diff -durN glibc-2.12.1.orig/manual/Makefile glibc-2.12.1/manual/Makefile
     8 --- glibc-2.12.1.orig/manual/Makefile	2006-01-08 07:43:47.000000000 +0100
     9 +++ glibc-2.12.1/manual/Makefile	2009-11-13 00:49:54.000000000 +0100
    10 @@ -104,9 +104,14 @@
    11  libm-err.texi: stamp-libm-err
    12  stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\
    13  						     $(dir)/libm-test-ulps))
    14 +ifneq ($(PERL),no)
    15  	pwd=`pwd`; \
    16  	$(PERL) $< $$pwd/.. > libm-err-tmp
    17  	$(move-if-change) libm-err-tmp libm-err.texi
    18 +else
    19 +	echo "Unable to rebuild math docs, no perl installed"
    20 +	touch libm-err.texi
    21 +endif
    22  	touch $@
    23  
    24  # Generate Texinfo files from the C source for the example programs.