diff mbox

[build] Restore bootstrap in building libcc1 on darwin

Message ID 28338256-8A54-462A-B30B-887B364142D7@codesourcery.com
State New
Headers show

Commit Message

Iain Sandoe Feb. 1, 2015, 4:42 p.m. UTC
This is a GCC5 bootstrap regression on 32bit Darwin hosts ( I can raise a PR if that is considered necessary).

In fact it is not libcc1, but libiberty that is the cause - 

On 26 Jan 2015, at 14:13, Rainer Orth wrote:

> FX <fxcoudert@gmail.com> writes:
> 
>>> The default BOOT_CFLAGS are: -O2 -g -mdynamic-no-pic
>>> the libiberty pic build appends: -fno-common (and not even -fPIC) [NB
>>> -fPIC _won't_ override -mdynamic-no-pic, so that's not a simple way out]
>>> This means that the PIC library is being built with non-pic relocs.
>> 
>> config/mh-darwin says that -mdynamic-no-pic is there because it “speeds
>> compiles by 3-5%”. I don’t think we care about speed when the bootstrap
>> fails, so can we remove it altogether?
> 
> Darwin/i686 still doesn't bootstrap without this patch, I believe.
> Shouldn't it be applied to trunk before GCC 5 ships, rather than leaving
> that target broken?

The PIC variant of libiberty, has never (since it was added, AFAICT) catered for the possibility that non-PIC and PIC options might conflict (and/or that it might not be possible to override non-PIC options simply by appending PIC ones).

This has gone un-noticed until the libcc1 plugin started linking with the pic version of libiberty.

Darwin uses -mdynamic-no-pic as a default flag during bootstrap for 32bit targets, since that gives a stated ~ 3-5% improvement in performance.

It is not possible to override this non-pic option by appending -fPIC (that simply results in a warning that mdynamic-no-pic takes precedence).

I'd rather not pretend that there's no problem and simply penalise performance on m32 darwin by removing the option from the bootflags.

So here's a patch that allows a target to declare incompatible non-pic options (in the same way that we have PIC options already declared as distinct).

The patch is largely mechanical (each of the targets adjusted to use the NONPIC flag for the relevant case).

As an aside, is there a portability reason that we don't make this repeated operation into a make function?

bootstapped on x86_64-linux, x86_64-darwin12, i686-darwin10, powerpc-darwin9,
cross-compiled x86-64-darwin12 X i686-darwin10 , native X i686-darwin10 (x86_64-darwin12 build).

all languages including Ada (note that there's a local patch needed to work-around an Ada bootstrap issue - pr64349)

OK for trunk?
Iain

libiberty:
	* Makefile.in (NONPICFLAG, NEWCFLAGS, NEWCPPFLAGS): New.
	(COMPILE.c): Adjust to use new flags. (all non-pic targets):
	Adjust to use NONPIC flag.
	* configure.ac (NOPICFLAG): New.
	* configure: Regenerate.

Comments

Jeff Law Feb. 9, 2015, 10:47 p.m. UTC | #1
On 02/01/15 09:42, Iain Sandoe wrote:
>
> This is a GCC5 bootstrap regression on 32bit Darwin hosts ( I can raise a PR if that is considered necessary).
Has this been addressed or is it still pending?


>
> In fact it is not libcc1, but libiberty that is the cause -
>
> On 26 Jan 2015, at 14:13, Rainer Orth wrote:
>
>> FX <fxcoudert@gmail.com> writes:
>>
>>>> The default BOOT_CFLAGS are: -O2 -g -mdynamic-no-pic
>>>> the libiberty pic build appends: -fno-common (and not even -fPIC) [NB
>>>> -fPIC _won't_ override -mdynamic-no-pic, so that's not a simple way out]
>>>> This means that the PIC library is being built with non-pic relocs.
>>>
>>> config/mh-darwin says that -mdynamic-no-pic is there because it “speeds
>>> compiles by 3-5%”. I don’t think we care about speed when the bootstrap
>>> fails, so can we remove it altogether?
>>
>> Darwin/i686 still doesn't bootstrap without this patch, I believe.
>> Shouldn't it be applied to trunk before GCC 5 ships, rather than leaving
>> that target broken?
>
> The PIC variant of libiberty, has never (since it was added, AFAICT) catered for the possibility that non-PIC and PIC options might conflict (and/or that it might not be possible to override non-PIC options simply by appending PIC ones).
>
> This has gone un-noticed until the libcc1 plugin started linking with the pic version of libiberty.
>
> Darwin uses -mdynamic-no-pic as a default flag during bootstrap for 32bit targets, since that gives a stated ~ 3-5% improvement in performance.
>
> It is not possible to override this non-pic option by appending -fPIC (that simply results in a warning that mdynamic-no-pic takes precedence).
>
> I'd rather not pretend that there's no problem and simply penalise performance on m32 darwin by removing the option from the bootflags.
>
> So here's a patch that allows a target to declare incompatible non-pic options (in the same way that we have PIC options already declared as distinct).
>
> The patch is largely mechanical (each of the targets adjusted to use the NONPIC flag for the relevant case).
>
> As an aside, is there a portability reason that we don't make this repeated operation into a make function?
>
> bootstapped on x86_64-linux, x86_64-darwin12, i686-darwin10, powerpc-darwin9,
> cross-compiled x86-64-darwin12 X i686-darwin10 , native X i686-darwin10 (x86_64-darwin12 build).
>
> all languages including Ada (note that there's a local patch needed to work-around an Ada bootstrap issue - pr64349)
>
> OK for trunk?
> Iain
>
> libiberty:
> 	* Makefile.in (NONPICFLAG, NEWCFLAGS, NEWCPPFLAGS): New.
> 	(COMPILE.c): Adjust to use new flags. (all non-pic targets):
> 	Adjust to use NONPIC flag.
> 	* configure.ac (NOPICFLAG): New.
> 	* configure: Regenerate.
>
Iain Sandoe Feb. 11, 2015, 2:37 p.m. UTC | #2
Hi Jeff,

On 9 Feb 2015, at 14:47, Jeff Law <law@redhat.com> wrote:

> On 02/01/15 09:42, Iain Sandoe wrote:
>> 
>> This is a GCC5 bootstrap regression on 32bit Darwin hosts ( I can raise a PR if that is considered necessary).
> Has this been addressed or is it still pending?

I believe it's still awaiting review - I'm travelling this week, so limited access to resources - but will be able to tackle any comments at the weekend.
thanks
Iain

> 
> 
>> 
>> In fact it is not libcc1, but libiberty that is the cause -
>> 
>> On 26 Jan 2015, at 14:13, Rainer Orth wrote:
>> 
>>> FX <fxcoudert@gmail.com> writes:
>>> 
>>>>> The default BOOT_CFLAGS are: -O2 -g -mdynamic-no-pic
>>>>> the libiberty pic build appends: -fno-common (and not even -fPIC) [NB
>>>>> -fPIC _won't_ override -mdynamic-no-pic, so that's not a simple way out]
>>>>> This means that the PIC library is being built with non-pic relocs.
>>>> 
>>>> config/mh-darwin says that -mdynamic-no-pic is there because it “speeds
>>>> compiles by 3-5%”. I don’t think we care about speed when the bootstrap
>>>> fails, so can we remove it altogether?
>>> 
>>> Darwin/i686 still doesn't bootstrap without this patch, I believe.
>>> Shouldn't it be applied to trunk before GCC 5 ships, rather than leaving
>>> that target broken?
>> 
>> The PIC variant of libiberty, has never (since it was added, AFAICT) catered for the possibility that non-PIC and PIC options might conflict (and/or that it might not be possible to override non-PIC options simply by appending PIC ones).
>> 
>> This has gone un-noticed until the libcc1 plugin started linking with the pic version of libiberty.
>> 
>> Darwin uses -mdynamic-no-pic as a default flag during bootstrap for 32bit targets, since that gives a stated ~ 3-5% improvement in performance.
>> 
>> It is not possible to override this non-pic option by appending -fPIC (that simply results in a warning that mdynamic-no-pic takes precedence).
>> 
>> I'd rather not pretend that there's no problem and simply penalise performance on m32 darwin by removing the option from the bootflags.
>> 
>> So here's a patch that allows a target to declare incompatible non-pic options (in the same way that we have PIC options already declared as distinct).
>> 
>> The patch is largely mechanical (each of the targets adjusted to use the NONPIC flag for the relevant case).
>> 
>> As an aside, is there a portability reason that we don't make this repeated operation into a make function?
>> 
>> bootstapped on x86_64-linux, x86_64-darwin12, i686-darwin10, powerpc-darwin9,
>> cross-compiled x86-64-darwin12 X i686-darwin10 , native X i686-darwin10 (x86_64-darwin12 build).
>> 
>> all languages including Ada (note that there's a local patch needed to work-around an Ada bootstrap issue - pr64349)
>> 
>> OK for trunk?
>> Iain
>> 
>> libiberty:
>> 	* Makefile.in (NONPICFLAG, NEWCFLAGS, NEWCPPFLAGS): New.
>> 	(COMPILE.c): Adjust to use new flags. (all non-pic targets):
>> 	Adjust to use NONPIC flag.
>> 	* configure.ac (NOPICFLAG): New.
>> 	* configure: Regenerate.
>> 
>
diff mbox

Patch

diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
index f06cc69..8674b4a 100644
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
@@ -62,6 +62,7 @@  MAKEINFO = @MAKEINFO@
 PERL = @PERL@
 
 PICFLAG = @PICFLAG@
+NOPICFLAG = @NOPICFLAG@
 NOASANFLAG = @NOASANFLAG@
 
 MAKEOVERRIDES =
@@ -113,7 +114,16 @@  installcheck: installcheck-subdir
 
 INCDIR=$(srcdir)/$(MULTISRCTOP)../include
 
-COMPILE.c = $(CC) -c @DEFS@ $(CFLAGS) $(CPPFLAGS) -I. -I$(INCDIR) $(HDEFINES) @ac_libiberty_warn_cflags@
+# If the passed CFLAGS or CPPFLAGS include options which are incompatible
+# with PIC code (and cannot be overridden) save them for non-pic code...
+NONPIC = $(filter $(NOPICFLAG), $(CFLAGS))
+NONPIC += $(filter $(NOPICFLAG), $(CPPFLAGS))
+# ... and then remove them from the default.
+NEWCFLAGS = $(filter-out $(NOPICFLAG), $(CFLAGS))
+NEWCPPFLAGS = $(filter-out $(NOPICFLAG), $(CPPFLAGS))
+
+COMPILE.c = $(CC) -c @DEFS@ $(NEWCFLAGS) $(NEWCPPFLAGS) -I. -I$(INCDIR) \
+            $(HDEFINES) @ac_libiberty_warn_cflags@
 
 # Just to make sure we don't use a built-in rule with VPATH
 .c.$(objext):
@@ -519,7 +529,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/_doprnt.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/_doprnt.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/_doprnt.c $(OUTPUT_OPTION)
 
 ./alloca.$(objext): $(srcdir)/alloca.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -529,7 +539,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/alloca.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/alloca.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/alloca.c $(OUTPUT_OPTION)
 
 ./argv.$(objext): $(srcdir)/argv.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
@@ -539,7 +549,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/argv.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/argv.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/argv.c $(OUTPUT_OPTION)
 
 ./asprintf.$(objext): $(srcdir)/asprintf.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -549,7 +559,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/asprintf.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/asprintf.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/asprintf.c $(OUTPUT_OPTION)
 
 ./atexit.$(objext): $(srcdir)/atexit.c config.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -558,7 +568,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/atexit.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/atexit.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/atexit.c $(OUTPUT_OPTION)
 
 ./basename.$(objext): $(srcdir)/basename.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
@@ -568,7 +578,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/basename.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/basename.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/basename.c $(OUTPUT_OPTION)
 
 ./bcmp.$(objext): $(srcdir)/bcmp.c
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -577,7 +587,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/bcmp.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/bcmp.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/bcmp.c $(OUTPUT_OPTION)
 
 ./bcopy.$(objext): $(srcdir)/bcopy.c
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -586,7 +596,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/bcopy.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/bcopy.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/bcopy.c $(OUTPUT_OPTION)
 
 ./bsearch.$(objext): $(srcdir)/bsearch.c config.h $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -595,7 +605,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/bsearch.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/bsearch.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/bsearch.c $(OUTPUT_OPTION)
 
 ./bzero.$(objext): $(srcdir)/bzero.c
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -604,7 +614,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/bzero.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/bzero.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/bzero.c $(OUTPUT_OPTION)
 
 ./calloc.$(objext): $(srcdir)/calloc.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -613,7 +623,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/calloc.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/calloc.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/calloc.c $(OUTPUT_OPTION)
 
 ./choose-temp.$(objext): $(srcdir)/choose-temp.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -623,7 +633,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/choose-temp.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/choose-temp.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/choose-temp.c $(OUTPUT_OPTION)
 
 ./clock.$(objext): $(srcdir)/clock.c config.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -632,7 +642,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/clock.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/clock.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/clock.c $(OUTPUT_OPTION)
 
 ./concat.$(objext): $(srcdir)/concat.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -642,7 +652,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/concat.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/concat.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/concat.c $(OUTPUT_OPTION)
 
 ./copysign.$(objext): $(srcdir)/copysign.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -651,7 +661,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/copysign.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/copysign.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/copysign.c $(OUTPUT_OPTION)
 
 ./cp-demangle.$(objext): $(srcdir)/cp-demangle.c config.h $(INCDIR)/ansidecl.h \
 	$(srcdir)/cp-demangle.h $(INCDIR)/demangle.h \
@@ -662,7 +672,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/cp-demangle.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/cp-demangle.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/cp-demangle.c $(OUTPUT_OPTION)
 
 ./cp-demint.$(objext): $(srcdir)/cp-demint.c config.h $(INCDIR)/ansidecl.h \
 	$(srcdir)/cp-demangle.h $(INCDIR)/demangle.h \
@@ -673,7 +683,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/cp-demint.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/cp-demint.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/cp-demint.c $(OUTPUT_OPTION)
 
 ./cplus-dem.$(objext): $(srcdir)/cplus-dem.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/demangle.h $(INCDIR)/libiberty.h \
@@ -684,7 +694,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/cplus-dem.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/cplus-dem.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/cplus-dem.c $(OUTPUT_OPTION)
 
 ./crc32.$(objext): $(srcdir)/crc32.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -694,7 +704,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/crc32.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/crc32.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/crc32.c $(OUTPUT_OPTION)
 
 ./d-demangle.$(objext): $(srcdir)/d-demangle.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/demangle.h $(INCDIR)/libiberty.h \
@@ -705,7 +715,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/d-demangle.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/d-demangle.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/d-demangle.c $(OUTPUT_OPTION)
 
 ./dwarfnames.$(objext): $(srcdir)/dwarfnames.c $(INCDIR)/dwarf2.def \
 	$(INCDIR)/dwarf2.h
@@ -715,7 +725,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/dwarfnames.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/dwarfnames.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/dwarfnames.c $(OUTPUT_OPTION)
 
 ./dyn-string.$(objext): $(srcdir)/dyn-string.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/dyn-string.h $(INCDIR)/libiberty.h
@@ -725,7 +735,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/dyn-string.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/dyn-string.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/dyn-string.c $(OUTPUT_OPTION)
 
 ./fdmatch.$(objext): $(srcdir)/fdmatch.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -735,7 +745,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/fdmatch.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/fdmatch.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/fdmatch.c $(OUTPUT_OPTION)
 
 ./ffs.$(objext): $(srcdir)/ffs.c
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -744,7 +754,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/ffs.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/ffs.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/ffs.c $(OUTPUT_OPTION)
 
 ./fibheap.$(objext): $(srcdir)/fibheap.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/fibheap.h $(INCDIR)/libiberty.h
@@ -754,7 +764,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/fibheap.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/fibheap.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/fibheap.c $(OUTPUT_OPTION)
 
 ./filename_cmp.$(objext): $(srcdir)/filename_cmp.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
@@ -765,7 +775,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/filename_cmp.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/filename_cmp.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/filename_cmp.c $(OUTPUT_OPTION)
 
 ./floatformat.$(objext): $(srcdir)/floatformat.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/floatformat.h $(INCDIR)/libiberty.h
@@ -775,7 +785,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/floatformat.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/floatformat.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/floatformat.c $(OUTPUT_OPTION)
 
 ./fnmatch.$(objext): $(srcdir)/fnmatch.c config.h $(INCDIR)/fnmatch.h \
 	$(INCDIR)/safe-ctype.h
@@ -785,7 +795,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/fnmatch.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/fnmatch.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/fnmatch.c $(OUTPUT_OPTION)
 
 ./fopen_unlocked.$(objext): $(srcdir)/fopen_unlocked.c config.h \
 	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
@@ -795,7 +805,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/fopen_unlocked.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/fopen_unlocked.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/fopen_unlocked.c $(OUTPUT_OPTION)
 
 ./getcwd.$(objext): $(srcdir)/getcwd.c config.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -804,7 +814,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/getcwd.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/getcwd.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/getcwd.c $(OUTPUT_OPTION)
 
 ./getopt.$(objext): $(srcdir)/getopt.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/getopt.h
@@ -814,7 +824,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/getopt.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/getopt.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/getopt.c $(OUTPUT_OPTION)
 
 ./getopt1.$(objext): $(srcdir)/getopt1.c config.h $(INCDIR)/getopt.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -823,7 +833,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/getopt1.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/getopt1.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/getopt1.c $(OUTPUT_OPTION)
 
 ./getpagesize.$(objext): $(srcdir)/getpagesize.c config.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -832,7 +842,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/getpagesize.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/getpagesize.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/getpagesize.c $(OUTPUT_OPTION)
 
 ./getpwd.$(objext): $(srcdir)/getpwd.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -842,7 +852,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/getpwd.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/getpwd.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/getpwd.c $(OUTPUT_OPTION)
 
 ./getruntime.$(objext): $(srcdir)/getruntime.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -852,7 +862,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/getruntime.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/getruntime.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/getruntime.c $(OUTPUT_OPTION)
 
 ./gettimeofday.$(objext): $(srcdir)/gettimeofday.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -862,7 +872,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/gettimeofday.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/gettimeofday.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/gettimeofday.c $(OUTPUT_OPTION)
 
 ./hashtab.$(objext): $(srcdir)/hashtab.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/hashtab.h $(INCDIR)/libiberty.h
@@ -872,7 +882,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/hashtab.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/hashtab.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/hashtab.c $(OUTPUT_OPTION)
 
 ./hex.$(objext): $(srcdir)/hex.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
@@ -882,7 +892,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/hex.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/hex.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/hex.c $(OUTPUT_OPTION)
 
 ./index.$(objext): $(srcdir)/index.c
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -891,7 +901,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/index.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/index.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/index.c $(OUTPUT_OPTION)
 
 ./insque.$(objext): $(srcdir)/insque.c
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -900,7 +910,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/insque.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/insque.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/insque.c $(OUTPUT_OPTION)
 
 ./lbasename.$(objext): $(srcdir)/lbasename.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/filenames.h $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h \
@@ -911,7 +921,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/lbasename.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/lbasename.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/lbasename.c $(OUTPUT_OPTION)
 
 ./lrealpath.$(objext): $(srcdir)/lrealpath.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -921,7 +931,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/lrealpath.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/lrealpath.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/lrealpath.c $(OUTPUT_OPTION)
 
 ./make-relative-prefix.$(objext): $(srcdir)/make-relative-prefix.c config.h \
 	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
@@ -931,7 +941,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/make-relative-prefix.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/make-relative-prefix.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/make-relative-prefix.c $(OUTPUT_OPTION)
 
 ./make-temp-file.$(objext): $(srcdir)/make-temp-file.c config.h \
 	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
@@ -941,7 +951,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/make-temp-file.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/make-temp-file.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/make-temp-file.c $(OUTPUT_OPTION)
 
 ./md5.$(objext): $(srcdir)/md5.c config.h $(INCDIR)/ansidecl.h $(INCDIR)/md5.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -950,7 +960,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/md5.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/md5.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/md5.c $(OUTPUT_OPTION)
 
 ./memchr.$(objext): $(srcdir)/memchr.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -959,7 +969,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/memchr.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/memchr.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/memchr.c $(OUTPUT_OPTION)
 
 ./memcmp.$(objext): $(srcdir)/memcmp.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -968,7 +978,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/memcmp.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/memcmp.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/memcmp.c $(OUTPUT_OPTION)
 
 ./memcpy.$(objext): $(srcdir)/memcpy.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -977,7 +987,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/memcpy.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/memcpy.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/memcpy.c $(OUTPUT_OPTION)
 
 ./memmem.$(objext): $(srcdir)/memmem.c config.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -986,7 +996,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/memmem.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/memmem.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/memmem.c $(OUTPUT_OPTION)
 
 ./memmove.$(objext): $(srcdir)/memmove.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -995,7 +1005,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/memmove.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/memmove.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/memmove.c $(OUTPUT_OPTION)
 
 ./mempcpy.$(objext): $(srcdir)/mempcpy.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1004,7 +1014,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/mempcpy.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/mempcpy.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/mempcpy.c $(OUTPUT_OPTION)
 
 ./memset.$(objext): $(srcdir)/memset.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1013,7 +1023,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/memset.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/memset.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/memset.c $(OUTPUT_OPTION)
 
 ./mkstemps.$(objext): $(srcdir)/mkstemps.c config.h $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1022,7 +1032,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/mkstemps.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/mkstemps.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/mkstemps.c $(OUTPUT_OPTION)
 
 ./msdos.$(objext): $(srcdir)/msdos.c
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1031,7 +1041,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/msdos.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/msdos.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/msdos.c $(OUTPUT_OPTION)
 
 ./objalloc.$(objext): $(srcdir)/objalloc.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/objalloc.h
@@ -1041,7 +1051,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/objalloc.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/objalloc.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/objalloc.c $(OUTPUT_OPTION)
 
 ./obstack.$(objext): $(srcdir)/obstack.c config.h $(INCDIR)/obstack.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1050,7 +1060,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/obstack.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/obstack.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/obstack.c $(OUTPUT_OPTION)
 
 ./partition.$(objext): $(srcdir)/partition.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h $(INCDIR)/partition.h
@@ -1060,7 +1070,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/partition.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/partition.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/partition.c $(OUTPUT_OPTION)
 
 ./pex-common.$(objext): $(srcdir)/pex-common.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h $(srcdir)/pex-common.h
@@ -1070,7 +1080,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/pex-common.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/pex-common.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/pex-common.c $(OUTPUT_OPTION)
 
 ./pex-djgpp.$(objext): $(srcdir)/pex-djgpp.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h $(srcdir)/pex-common.h
@@ -1080,7 +1090,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/pex-djgpp.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/pex-djgpp.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/pex-djgpp.c $(OUTPUT_OPTION)
 
 ./pex-msdos.$(objext): $(srcdir)/pex-msdos.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h $(srcdir)/pex-common.h \
@@ -1091,7 +1101,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/pex-msdos.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/pex-msdos.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/pex-msdos.c $(OUTPUT_OPTION)
 
 ./pex-one.$(objext): $(srcdir)/pex-one.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -1101,7 +1111,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/pex-one.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/pex-one.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/pex-one.c $(OUTPUT_OPTION)
 
 ./pex-unix.$(objext): $(srcdir)/pex-unix.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h $(srcdir)/pex-common.h
@@ -1111,7 +1121,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/pex-unix.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/pex-unix.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/pex-unix.c $(OUTPUT_OPTION)
 
 ./pex-win32.$(objext): $(srcdir)/pex-win32.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h $(srcdir)/pex-common.h
@@ -1121,7 +1131,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/pex-win32.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/pex-win32.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/pex-win32.c $(OUTPUT_OPTION)
 
 ./pexecute.$(objext): $(srcdir)/pexecute.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -1131,7 +1141,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/pexecute.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/pexecute.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/pexecute.c $(OUTPUT_OPTION)
 
 ./physmem.$(objext): $(srcdir)/physmem.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -1141,7 +1151,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/physmem.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/physmem.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/physmem.c $(OUTPUT_OPTION)
 
 ./putenv.$(objext): $(srcdir)/putenv.c config.h $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1150,7 +1160,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/putenv.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/putenv.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/putenv.c $(OUTPUT_OPTION)
 
 ./random.$(objext): $(srcdir)/random.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1159,7 +1169,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/random.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/random.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/random.c $(OUTPUT_OPTION)
 
 ./regex.$(objext): $(srcdir)/regex.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/xregex.h $(INCDIR)/xregex2.h
@@ -1169,7 +1179,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/regex.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/regex.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/regex.c $(OUTPUT_OPTION)
 
 ./rename.$(objext): $(srcdir)/rename.c config.h $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1178,7 +1188,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/rename.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/rename.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/rename.c $(OUTPUT_OPTION)
 
 ./rindex.$(objext): $(srcdir)/rindex.c
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1187,7 +1197,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/rindex.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/rindex.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/rindex.c $(OUTPUT_OPTION)
 
 ./safe-ctype.$(objext): $(srcdir)/safe-ctype.c $(INCDIR)/ansidecl.h \
 	$(INCDIR)/safe-ctype.h
@@ -1197,7 +1207,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/safe-ctype.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/safe-ctype.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/safe-ctype.c $(OUTPUT_OPTION)
 
 ./setenv.$(objext): $(srcdir)/setenv.c config.h $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1206,7 +1216,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/setenv.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/setenv.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/setenv.c $(OUTPUT_OPTION)
 
 ./setproctitle.$(objext): $(srcdir)/setproctitle.c config.h $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1215,7 +1225,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/setproctitle.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/setproctitle.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/setproctitle.c $(OUTPUT_OPTION)
 
 ./sha1.$(objext): $(srcdir)/sha1.c config.h $(INCDIR)/ansidecl.h $(INCDIR)/sha1.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1224,7 +1234,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/sha1.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/sha1.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/sha1.c $(OUTPUT_OPTION)
 
 ./sigsetmask.$(objext): $(srcdir)/sigsetmask.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1233,7 +1243,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/sigsetmask.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/sigsetmask.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/sigsetmask.c $(OUTPUT_OPTION)
 
 ./simple-object-coff.$(objext): $(srcdir)/simple-object-coff.c config.h \
 	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
@@ -1244,7 +1254,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/simple-object-coff.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/simple-object-coff.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/simple-object-coff.c $(OUTPUT_OPTION)
 
 ./simple-object-elf.$(objext): $(srcdir)/simple-object-elf.c config.h \
 	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
@@ -1255,7 +1265,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/simple-object-elf.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/simple-object-elf.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/simple-object-elf.c $(OUTPUT_OPTION)
 
 ./simple-object-mach-o.$(objext): $(srcdir)/simple-object-mach-o.c config.h \
 	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
@@ -1266,7 +1276,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/simple-object-mach-o.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/simple-object-mach-o.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/simple-object-mach-o.c $(OUTPUT_OPTION)
 
 ./simple-object-xcoff.$(objext): $(srcdir)/simple-object-xcoff.c config.h \
 	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
@@ -1277,7 +1287,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/simple-object-xcoff.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/simple-object-xcoff.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/simple-object-xcoff.c $(OUTPUT_OPTION)
 
 ./simple-object.$(objext): $(srcdir)/simple-object.c config.h \
 	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
@@ -1288,7 +1298,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/simple-object.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/simple-object.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/simple-object.c $(OUTPUT_OPTION)
 
 ./snprintf.$(objext): $(srcdir)/snprintf.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1297,7 +1307,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/snprintf.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/snprintf.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/snprintf.c $(OUTPUT_OPTION)
 
 ./sort.$(objext): $(srcdir)/sort.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h $(INCDIR)/sort.h
@@ -1307,7 +1317,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/sort.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/sort.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/sort.c $(OUTPUT_OPTION)
 
 ./spaces.$(objext): $(srcdir)/spaces.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -1317,7 +1327,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/spaces.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/spaces.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/spaces.c $(OUTPUT_OPTION)
 
 ./splay-tree.$(objext): $(srcdir)/splay-tree.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h $(INCDIR)/splay-tree.h
@@ -1327,7 +1337,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/splay-tree.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/splay-tree.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/splay-tree.c $(OUTPUT_OPTION)
 
 ./stack-limit.$(objext): $(srcdir)/stack-limit.c config.h $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1336,7 +1346,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/stack-limit.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/stack-limit.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/stack-limit.c $(OUTPUT_OPTION)
 
 ./stpcpy.$(objext): $(srcdir)/stpcpy.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1345,7 +1355,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/stpcpy.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/stpcpy.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/stpcpy.c $(OUTPUT_OPTION)
 
 ./stpncpy.$(objext): $(srcdir)/stpncpy.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1354,7 +1364,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/stpncpy.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/stpncpy.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/stpncpy.c $(OUTPUT_OPTION)
 
 ./strcasecmp.$(objext): $(srcdir)/strcasecmp.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1363,7 +1373,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strcasecmp.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/strcasecmp.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/strcasecmp.c $(OUTPUT_OPTION)
 
 ./strchr.$(objext): $(srcdir)/strchr.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1372,7 +1382,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strchr.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/strchr.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/strchr.c $(OUTPUT_OPTION)
 
 ./strdup.$(objext): $(srcdir)/strdup.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1381,7 +1391,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strdup.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/strdup.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/strdup.c $(OUTPUT_OPTION)
 
 ./strerror.$(objext): $(srcdir)/strerror.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -1391,7 +1401,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strerror.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/strerror.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/strerror.c $(OUTPUT_OPTION)
 
 ./strncasecmp.$(objext): $(srcdir)/strncasecmp.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1400,7 +1410,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strncasecmp.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/strncasecmp.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/strncasecmp.c $(OUTPUT_OPTION)
 
 ./strncmp.$(objext): $(srcdir)/strncmp.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1409,7 +1419,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strncmp.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/strncmp.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/strncmp.c $(OUTPUT_OPTION)
 
 ./strndup.$(objext): $(srcdir)/strndup.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1418,7 +1428,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strndup.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/strndup.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/strndup.c $(OUTPUT_OPTION)
 
 ./strnlen.$(objext): $(srcdir)/strnlen.c config.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1427,7 +1437,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strnlen.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/strnlen.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/strnlen.c $(OUTPUT_OPTION)
 
 ./strrchr.$(objext): $(srcdir)/strrchr.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1436,7 +1446,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strrchr.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/strrchr.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/strrchr.c $(OUTPUT_OPTION)
 
 ./strsignal.$(objext): $(srcdir)/strsignal.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -1446,7 +1456,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strsignal.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/strsignal.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/strsignal.c $(OUTPUT_OPTION)
 
 ./strstr.$(objext): $(srcdir)/strstr.c
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1455,7 +1465,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strstr.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/strstr.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/strstr.c $(OUTPUT_OPTION)
 
 ./strtod.$(objext): $(srcdir)/strtod.c $(INCDIR)/ansidecl.h \
 	$(INCDIR)/safe-ctype.h
@@ -1465,7 +1475,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strtod.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/strtod.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/strtod.c $(OUTPUT_OPTION)
 
 ./strtol.$(objext): $(srcdir)/strtol.c config.h $(INCDIR)/safe-ctype.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1474,7 +1484,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strtol.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/strtol.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/strtol.c $(OUTPUT_OPTION)
 
 ./strtoll.$(objext): $(srcdir)/strtoll.c config.h $(INCDIR)/safe-ctype.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1483,7 +1493,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strtoll.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/strtoll.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/strtoll.c $(OUTPUT_OPTION)
 
 ./strtoul.$(objext): $(srcdir)/strtoul.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/safe-ctype.h
@@ -1493,7 +1503,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strtoul.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/strtoul.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/strtoul.c $(OUTPUT_OPTION)
 
 ./strtoull.$(objext): $(srcdir)/strtoull.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/safe-ctype.h
@@ -1503,7 +1513,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strtoull.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/strtoull.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/strtoull.c $(OUTPUT_OPTION)
 
 ./strverscmp.$(objext): $(srcdir)/strverscmp.c $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
@@ -1513,7 +1523,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strverscmp.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/strverscmp.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/strverscmp.c $(OUTPUT_OPTION)
 
 ./timeval-utils.$(objext): $(srcdir)/timeval-utils.c config.h \
 	$(INCDIR)/timeval-utils.h
@@ -1523,7 +1533,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/timeval-utils.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/timeval-utils.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/timeval-utils.c $(OUTPUT_OPTION)
 
 ./tmpnam.$(objext): $(srcdir)/tmpnam.c
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1542,7 +1552,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/unlink-if-ordinary.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/unlink-if-ordinary.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/unlink-if-ordinary.c $(OUTPUT_OPTION)
 
 ./vasprintf.$(objext): $(srcdir)/vasprintf.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h $(srcdir)/vprintf-support.h
@@ -1552,7 +1562,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/vasprintf.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/vasprintf.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/vasprintf.c $(OUTPUT_OPTION)
 
 ./vfork.$(objext): $(srcdir)/vfork.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1561,7 +1571,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/vfork.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/vfork.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/vfork.c $(OUTPUT_OPTION)
 
 ./vfprintf.$(objext): $(srcdir)/vfprintf.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1570,7 +1580,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/vfprintf.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/vfprintf.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/vfprintf.c $(OUTPUT_OPTION)
 
 ./vprintf-support.$(objext): $(srcdir)/vprintf-support.c config.h \
 	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
@@ -1580,7 +1590,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/vprintf-support.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/vprintf-support.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/vprintf-support.c $(OUTPUT_OPTION)
 
 ./vprintf.$(objext): $(srcdir)/vprintf.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1589,7 +1599,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/vprintf.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/vprintf.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/vprintf.c $(OUTPUT_OPTION)
 
 ./vsnprintf.$(objext): $(srcdir)/vsnprintf.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -1599,7 +1609,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/vsnprintf.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/vsnprintf.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/vsnprintf.c $(OUTPUT_OPTION)
 
 ./vsprintf.$(objext): $(srcdir)/vsprintf.c $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1608,7 +1618,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/vsprintf.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/vsprintf.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/vsprintf.c $(OUTPUT_OPTION)
 
 ./waitpid.$(objext): $(srcdir)/waitpid.c config.h $(INCDIR)/ansidecl.h
 	if [ x"$(PICFLAG)" != x ]; then \
@@ -1617,7 +1627,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/waitpid.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/waitpid.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/waitpid.c $(OUTPUT_OPTION)
 
 ./xasprintf.$(objext): $(srcdir)/xasprintf.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -1627,7 +1637,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/xasprintf.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/xasprintf.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/xasprintf.c $(OUTPUT_OPTION)
 
 ./xatexit.$(objext): $(srcdir)/xatexit.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -1637,7 +1647,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/xatexit.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/xatexit.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/xatexit.c $(OUTPUT_OPTION)
 
 ./xexit.$(objext): $(srcdir)/xexit.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -1647,7 +1657,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/xexit.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/xexit.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/xexit.c $(OUTPUT_OPTION)
 
 ./xmalloc.$(objext): $(srcdir)/xmalloc.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -1657,7 +1667,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/xmalloc.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/xmalloc.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/xmalloc.c $(OUTPUT_OPTION)
 
 ./xmemdup.$(objext): $(srcdir)/xmemdup.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -1667,7 +1677,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/xmemdup.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/xmemdup.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/xmemdup.c $(OUTPUT_OPTION)
 
 ./xstrdup.$(objext): $(srcdir)/xstrdup.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -1677,7 +1687,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/xstrdup.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/xstrdup.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/xstrdup.c $(OUTPUT_OPTION)
 
 ./xstrerror.$(objext): $(srcdir)/xstrerror.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -1687,7 +1697,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/xstrerror.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/xstrerror.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/xstrerror.c $(OUTPUT_OPTION)
 
 ./xstrndup.$(objext): $(srcdir)/xstrndup.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h
@@ -1697,7 +1707,7 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/xstrndup.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/xstrndup.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/xstrndup.c $(OUTPUT_OPTION)
 
 ./xvasprintf.$(objext): $(srcdir)/xvasprintf.c config.h $(INCDIR)/ansidecl.h \
 	$(INCDIR)/libiberty.h $(srcdir)/vprintf-support.h
@@ -1707,4 +1717,4 @@  $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 	if [ x"$(NOASANFLAG)" != x ]; then \
 	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/xvasprintf.c -o noasan/$@; \
 	else true; fi
-	$(COMPILE.c) $(srcdir)/xvasprintf.c $(OUTPUT_OPTION)
+	$(COMPILE.c) $(NONPIC) $(srcdir)/xvasprintf.c $(OUTPUT_OPTION)
diff --git a/libiberty/configure.ac b/libiberty/configure.ac
index 922aa86..6ca85f6 100644
--- a/libiberty/configure.ac
+++ b/libiberty/configure.ac
@@ -231,10 +231,19 @@  if [[ "${enable_host_shared}" = "yes" ]]; then
   shared=yes
 fi
 
+NOPICFLAG=
+case "${host}" in
+  i[[34567]]86-*-darwin* | powerpc-*-darwin*)
+    NOPICFLAG=-mdynamic-no-pic ;;
+  *) ;;
+esac
+
 if [[ "${shared}" != "yes" ]]; then
   PICFLAG=
+  NOPICFLAG=
 fi
 AC_SUBST(PICFLAG)
+AC_SUBST(NOPICFLAG)
 
 NOASANFLAG=
 case " ${CFLAGS} " in