Turn a warning into an error. Occurances of that warning generate bad

-fpic code that damages symbol locations at runtime.

The only know occurance in our tree (src and ports) was locatime.c,
which was just changed to generate code that doesn't trigger the
problem.

This is a workaround, the real cause is that our gas doesn't
understand code our gcc generates for some -O -fpic code. They are
expected to be back in sync soon, but until then (including
4.0-RELEASE) we need to prevent people from using bad -fpic code.

PR:		avoids such things as in bin/16862
Submitted by:	bde
Approved by:	jkh
This commit is contained in:
Martin Cracauer 2000-03-08 12:58:03 +00:00
parent 6686e4fafb
commit 58a557e671
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=57823

View file

@ -19,6 +19,8 @@
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */
/* $FreeBSD$ */
/*
Intel 80386 machine specific gas.
Written by Eliot Dresselhaus (eliot@mgm.mit.edu).
@ -2139,15 +2141,8 @@ i386_operand (operand_string)
SKIP_WHITESPACE ();
exp_seg = expression (exp);
if (*input_line_pointer != '\0')
{
/* This should be as_bad, but some versions of gcc, up to
about 2.8 and egcs 1.01, generate a bogus @GOTOFF(%ebx)
in certain cases. Oddly, the code in question turns out
to work correctly anyhow, so we make this just a warning
until those versions of gcc are obsolete. */
as_warn ("warning: unrecognized characters `%s' in expression",
input_line_pointer);
}
as_bad ("warning: unrecognized characters `%s' in expression",
input_line_pointer);
input_line_pointer = save_input_line_pointer;
if (exp->X_op == O_absent)