obsolete xc16x
Alan Modra
amodra@gmail.com
Wed Jul 1 00:43:42 GMT 2020
The xc16x md_apply_fix code is just so broken that in my opinion the
target should never have been accepted, and from a quick look at
commit logs for the target it appears that no one has ever contributed
fixes for anything. This target has just been a 14 year burden on
global binutils and cgen maintainers. That's not how free software is
supposed to work.
bfd/
* config.bfd: Obsolete xc16x.
gas/
* config/tc-xc16x.c (md_apply_fix): Add FIXME.
diff --git a/bfd/config.bfd b/bfd/config.bfd
index 2fa2acb8a3..14523caf0c 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -54,6 +54,7 @@ case $targ in
exit 1
;;
powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin* | \
+ xc16x-*-* | \
null)
if test "x$enable_obsolete" != xyes; then
echo "*** Configuration $targ is obsolete." >&2
diff --git a/gas/config/tc-xc16x.c b/gas/config/tc-xc16x.c
index de2befc43f..3d78dc57c2 100644
--- a/gas/config/tc-xc16x.c
+++ b/gas/config/tc-xc16x.c
@@ -323,6 +323,8 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp)
void
md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
{
+ /* FIXME: This absolute nonsense apparently is to make relative
+ jumps "work". Of course, it breaks any other type of fixup. */
if (!strstr (seg->name,".debug"))
{
if (*valP < 128)
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list