binutils-gdb/sim
Nick Alcock caf606c90d libtool.m4: fix the NM="/nm/over/here -B/option/with/path" case
My previous nm patch handled all cases but one -- if the user set NM in
the environment to a path which contained an option, libtool's nm
detection tries to run nm against a copy of nm with the options in it:
e.g. if NM was set to "nm --blargle", and nm was found in /usr/bin, the
test would try to run "/usr/bin/nm --blargle /usr/bin/nm --blargle".
This is unlikely to be desirable: in this case we should run
"/usr/bin/nm --blargle /usr/bin/nm".

Furthermore, as part of this nm has to detect when the passed-in $NM
contains a path, and in that case avoid doing a path search itself.
This too was thrown off if an option contained something that looked
like a path, e.g. NM="nm -B../prev-gcc"; libtool then tries to run
"nm -B../prev-gcc nm" which rarely works well (and indeed it looks
to see whether that nm exists, finds it doesn't, and wrongly concludes
that nm -p or whatever does not work).

Fix all of these by clipping all options (defined as everything
including and after the first " -") before deciding whether nm
contains a path (but not using the clipped value for anything else),
and then removing all options from the path-modified nm before
looking to see whether that nm existed.

NM=my-nm now does a path search and runs e.g.
  /usr/bin/my-nm -B /usr/bin/my-nm

NM=/usr/bin/my-nm now avoids a path search and runs e.g.
  /usr/bin/my-nm -B /usr/bin/my-nm

NM="my-nm -p../wombat" now does a path search and runs e.g.
  /usr/bin/my-nm -p../wombat -B /usr/bin/my-nm

NM="../prev-binutils/new-nm -B../prev-gcc" now avoids a path search:
  ../prev-binutils/my-nm -B../prev-gcc -B ../prev-binutils/my-nm

This seems to be all combinations, including those used by GCC bootstrap
(which, before this commit, fails to bootstrap when configured
--with-build-config=bootstrap-lto, because the lto plugin is now using
--export-symbols-regex, which requires libtool to find a working nm,
while also using -B../prev-gcc to point at the lto plugin associated
with the GCC just built.)

Regenerate all affected configure scripts.

	* libtool.m4 (LT_PATH_NM): Handle user-specified NM with
	options, including options containing paths.
2022-03-25 12:02:35 +00:00
..
aarch64
arm
avr
bfin sim: bfin: migrate to standard uintXX_t types 2022-01-06 01:17:38 -05:00
bpf sim: gdbinit: hoist setup to common code 2022-02-21 13:57:33 -05:00
common sim: fix a comment typo in sim-load.c 2022-03-24 13:28:50 -04:00
cr16 sim: cr16: migrate to standard uintXX_t types 2022-01-06 01:17:37 -05:00
cris sim cris: Unbreak --disable-sim-hardware builds 2022-02-14 23:51:02 +01:00
d10v sim: d10v: migrate to standard uintXX_t types 2022-01-06 01:17:37 -05:00
erc32 sim: erc32: migrate to standard uintXX_t types 2022-01-06 01:17:38 -05:00
example-synacor sim: synacor: migrate to standard uintXX_t types 2022-01-06 01:17:38 -05:00
frv
ft32
h8300
igen sim: igen: migrate to standard uintXX_t types 2022-01-06 01:17:38 -05:00
iq2000 sim: iq2000: migrate to standard uintXX_t types 2022-01-06 01:17:38 -05:00
lm32
m4 sim: gdbinit: hoist setup to common code 2022-02-21 13:57:33 -05:00
m32c
m32r
m68hc11 sim: m68hc11: migrate to standard uintXX_t types 2022-01-06 01:17:37 -05:00
mcore
microblaze
mips sim: gdbinit: hoist setup to common code 2022-02-21 13:57:33 -05:00
mn10300 sim: gdbinit: hoist setup to common code 2022-02-21 13:57:33 -05:00
moxie
msp430 sim: msp430: migrate to standard uintXX_t types 2022-01-06 01:17:38 -05:00
or1k sim: gdbinit: hoist setup to common code 2022-02-21 13:57:33 -05:00
ppc sim: fix “alligned” typos 2022-03-24 10:34:51 -04:00
pru
riscv sim: gdbinit: hoist setup to common code 2022-02-21 13:57:33 -05:00
rl78
rx
sh
testsuite sim/testsuite/cris/c/stat3.c: Fix formatting nit 2022-02-16 07:38:38 +01:00
v850 sim: gdbinit: hoist setup to common code 2022-02-21 13:57:33 -05:00
.gitignore
aclocal.m4
arch-subdir.mk.in
ChangeLog-2021
config.h.in
configure libtool.m4: fix the NM="/nm/over/here -B/option/with/path" case 2022-03-25 12:02:35 +00:00
configure.ac sim: gdbinit: hoist setup to common code 2022-02-21 13:57:33 -05:00
COPYING
gdbinit.in sim: gdbinit: hoist setup to common code 2022-02-21 13:57:33 -05:00
MAINTAINERS
Makefile.am
Makefile.in sim: gdbinit: hoist setup to common code 2022-02-21 13:57:33 -05:00
README-HACKING