#2073 SDCC 3.2.0, FreeBSD amd64 not supported

closed-fixed
5
2012-10-03
2012-08-26
No

I'm using SDCC 3.1.0 on FreeBSD right now, so I think it's some kind of mistake that 3.2.0 suddenly doesn't support FreeBSD any more:

...
checking for psinfo_t.pr_pid in sys/procfs.h... no
checking for psinfo32_t in sys/procfs.h... no
checking for psinfo32_t.pr_pid in sys/procfs.h... no
checking for lwpstatus_t in sys/procfs.h... no
checking for lwpxstatus_t in sys/procfs.h... no
checking for lwpstatus_t.pr_context in sys/procfs.h... no
checking for lwpstatus_t.pr_reg in sys/procfs.h... no
checking for lwpstatus_t.pr_fpreg in sys/procfs.h... no
checking for win32_pstatus_t in sys/procfs.h... no
checking linker --as-needed support... yes
checking for cos in -lm... yes
*** BFD does not support target amd64-portbld-freebsd9.0.
*** Look in bfd/config.bfd for supported targets.
gmake[2]: *** [configure-bfd] Error 1
gmake[2]: Leaving directory `/usr/obj/mobileKamikaze.norad/amd64/usr/ports/lang/sdcc/work/sdcc/support/sdbinutils'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/usr/obj/mobileKamikaze.norad/amd64/usr/ports/lang/sdcc/work/sdcc/support/sdbinutils'
gmake: *** [sdcc-sdbinutils] Error 2
*** [do-build] Error code 1

I looked into the bfd/config.bfd file. It doesn't make much sense to me. There some references to an architecture called x86_64-*-freebsd*, which I suppose is Intel speak for amd64 and as such does not exist under that name on FreeBSD.

> uname -a
FreeBSD mobileKamikaze.norad 9.0-STABLE FreeBSD 9.0-STABLE #1: Sat Jun 16 11:09:48 CEST 2012 root@mobileKamikaze.norad:/usr/obj/HP6510b-9/amd64/usr/src/sys/HP6510b-9 amd64

Discussion

  • Borut Ražem

    Borut Ražem - 2012-08-26
    • assigned_to: nobody --> borutr
     
  • Borut Ražem

    Borut Ražem - 2012-08-26

    You can try two things:
    - add --target=amd64-portbld-freebsd9.0 to the configure command line or
    - change the config.bfd file from
    ...
    x86_64*) targ_archs=bfd_i386_arch ;;
    ...
    x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
    ...
    to
    ...
    x86_64*) targ_archs=bfd_i386_arch ;;
    amd64*) targ_archs=bfd_i386_arch ;;
    ...
    x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu | amd64-*-freebsd* | amd64-*-kfreebsd*-gnu)
    ...

    Please let me know if the change of config.bfd file works. If it does it will be included into the sdcc.

    P.S.: This is actually a GNU binutils issue (bfd is a part of it). You can try to compile the GNU binutils 2.22 package an you will (probably) get the same error. Please report the problem to binutils developers so they will fix it at the source.

    Borut

     
  • Kamikaze Dominic Fandrey

    Everything I tried, including your suggestions, failed. I even replaced bfd with the bfd from /usr/src/contrib/binutils/bfd/, which compiles just fine when I build my system.

    So I figure it must be in the environment or configure arguments.

     
  • Kamikaze Dominic Fandrey

    • status: open --> closed-fixed
     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks