Work around Solaris bourne shell limitation when building the sim
Building the sim on a sparc-solaris 2.8 machine fails when configured with no extra sim hardware: > for hw in ; do \ > echo "extern const struct hw_descriptor > dv_${hw}_descriptor[];" ; \ > done >> tmp-hw.h > echo 'const char version[] = "'"`sed q > /[...]/../../gdb/version.in`"'";' > >> version.c-tmp > /bin/sh: -c: line 1: syntax error near unexpected token `;' > /bin/sh: -c: line 1: `for hw in ; do \' > make[3]: *** [hw-config.h] Error 2 The same thing happens with the version of bash that we got from Sun as well (which is very old: 2.03.0(1)-release). The problems comes from the fact that both shells are buggy, and reject the following script: for hw in ; do [...] done The above is what sim/common/Makefile.in tries to execute when generating hw-config.h. In order to allow users to build out of the box on these machines, this patch works around this bug. It does rely on the fact that none of the tokens in SIM_HW contain whitespaces. sim/common/ChangeLog: * Make-common.in (hw-config.h): Work around bug in Solaris 2.8 system bourne shell.
This commit is contained in:
parent
9a5ce6c054
commit
96987c2b7f
2 changed files with 9 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
|||
2011-12-19 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* Make-common.in (hw-config.h): Work around bug in Solaris 2.8
|
||||
system bourne shell.
|
||||
|
||||
2011-12-03 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* syscall.c (cb_get_string): Rename from "get_string".
|
||||
|
|
|
@ -462,11 +462,13 @@ sim-inline.c: $(srccom)/sim-inline.c
|
|||
hw-config.h: Makefile.in $(srccom)/Make-common.in config.status Makefile
|
||||
rm -f tmp-hw.h
|
||||
echo "/* generated by Makefile */" > tmp-hw.h
|
||||
for hw in $(SIM_HW) ; do \
|
||||
sim_hw="$(SIM_HW)"; \
|
||||
for hw in $$sim_hw ; do \
|
||||
echo "extern const struct hw_descriptor dv_$${hw}_descriptor[];" ; \
|
||||
done >> tmp-hw.h
|
||||
echo "const struct hw_descriptor *hw_descriptors[] = {" >> tmp-hw.h
|
||||
for hw in $(SIM_HW) ; do \
|
||||
sim_hw="$(SIM_HW)"; \
|
||||
for hw in $$sim_hw ; do \
|
||||
echo " dv_$${hw}_descriptor," ; \
|
||||
done >> tmp-hw.h
|
||||
echo " NULL," >> tmp-hw.h
|
||||
|
|
Loading…
Reference in a new issue