[PATCH] updated GNU/FreeBSD patch for latest binutils

Nick Clifton nickc@redhat.com
Fri May 30 09:06:00 GMT 2003


Hi Robert,

>> I am applying the patch below to fix this.
>> [...]
>> 
>> +       i386-*-freebsd*)		fmt=elf em=freebsd ;;
>
> I think that should be 'i386-*-freebsd*-gnu*',

I based the regexp in my patch on the version used in bfd/config.bfd:

  i[3-7]86-*-freebsd*)
    targ_defvec=bfd_elf32_i386_freebsd_vec
    targ_selvecs=i386coff_vec
    # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
    case "${targ}" in
      i[3-7]86-*-freebsd3* | i[3-7]86-*-freebsd4 | i[3-7]86-*-freebsd4.0*)
	targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;;
    esac
    ;;


> otherwise it will be caught by native FreeBSD (iirc, FreeBSD 5.0 is
> 'i386-*-freebsd5.0')


It was a discrepancy between config.bfd and gas/configure.in that was
causing the bug you encountered.  I think that the two files are now
in sync, so if we need to change one we must change the other as well,
(and ld/configure.tgt).


> After patching a bunch of triplet test cases for adding freebsd-gnu,
> i found that a practical solution is to add freebsd-gnu before any other
> freebsd, then the native freebsd's, eg:
>
>   freebsd*-gnu*) foo;;
>   freebsd1) bar;;
>   freebsd*) toe;;

I would prefer to have to have some verification that the current
versions of the configuration files are broken for native FreeBSD
systems before we go changing them again.

Cheers
        Nick



More information about the Binutils mailing list