Ping?!

Thanks,
Andreas

On 27.11.14 21:56, Andreas Tobler wrote:
Hi all,

this is the second attempt.

I reworked the issues Richard mentioned in the previous review.
I also found one issue which will break build/bootstrap if I pass
--enable-gnu-indirect-function, also fixed.

One thing which came up is the way we generate code for the
armv6*-*-freebsd* triplet versus the arm-*-freebsd* triplet.

I think the thing which confuses is the fact that we have only two fixed
triplets where we build a complete OS with. Means the whole OS is built
with the same optimization, not only the kernel or one binary.

For the armv6* we want to benefit from the cpu's functionality by
default. We build all __ARM_ARCH >= 6 with TARGET_CPU_arm1176jzs,
on the other hand all __ARM_ARCH <=5 will be built with TARGET_CPU_arm9.

Now who becomes arm-*-freebsd* and who becomes armv6*-*-freebsd*?

As tried above, we only know two triplets, so __ARM_ARCH >= 6 becomes
armv6*-*-freebsd* and __ARM_ARCH <=5 becomes arm-*-freebsd*.

armv8 is not yet in the portfolio and it will become something
different, either arm64 or aarch64, I do not know.

I'd like to keep this since our system compilers, clang and gcc-4.2.1
behave the same.
If we have to change here, we would confuse people quite a lot.

The whole thing is FreeBSD specific and does not touch others.

As usual, bootstrapped, cross compiled, tested.

Ok for trunk?

TIA,
Andreas

toplevel:

        * configure.ac: Don't add ${libgcj} for arm*-*-freebsd*.
        * configure: Regenerate.
gcc:
        * config.gcc (arm*-*-freebsd*): New configuration.
        * config/arm/freebsd.h: New file.
        * config.host: Add extra components for arm*-*-freebsd*.
        * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
        * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.

libgcc:

        * config.host (arm*-*-freebsd*): Add new configuration for
        arm*-*-freebsd*.
        * config/arm/freebsd-atomic.c: New file.
        * config/arm/t-freebsd: Likewise.
        * config/arm/unwind-arm.h: Add __FreeBSD__ to the list of
        'PC-relative indirect' OS's.

libatomic:

        * configure.tgt: Exclude arm*-*-freebsd* from try_ifunc.

libstdc++-v3:

        * configure.host: Add arm*-*-freebsd* port_specific_symbol_files.


Reply via email to