ARM GCC 6.3.0 standard libraries missing
On both the 32bit and 64 bit versions you can't use the standard library #include <stdint.h>
It will throw a compiler error
Can you give a link that demonstrates this please? https://godbolt.org/g/3nbwy4 seems to work.
Oh really strange it's the processor selection flags that makes stdint.h stop work
-O3 -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s
Place it in your link options
On 7/09/2017 1:51 AM, Matt Godbolt wrote:
Can you give a link that demonstrates this please? https://godbolt.org/g/3nbwy4 seems to work.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/mattgodbolt/compiler-explorer/issues/514#issuecomment-327562515, or mute the thread https://github.com/notifications/unsubscribe-auth/AcuWVdxOl5BzZv91rvUlFTpNf1RNKd3kks5sftuugaJpZM4POua3.
Very odd; I can only imagine I'm missing something. If you know anything about how these things are built, I'd appreciate the help. ARM GCC 6.3.0 is built with this script using crosstool inside a docker container.
Okay I did some playing around .. the problem is
-mfloat-abi=hard
So we don't have any hard float libraries.
looking in your config
https://github.com/mattgodbolt/compiler-explorer-image/blob/master/gcc-cross/build/new/arm-6.3.0.config
you have these
CT_ARCH_FLOAT_HW is not set
CT_ARCH_FLOAT_SOFTFP is not set
CT_ARCH_FLOAT_SW is not set
CT_TARGET_CFLAGS="" CT_TARGET_LDFLAGS="" CT_ARCH_FLOAT="auto"
If you look at 5.4 its different
CT_ARCH_FLOAT_AUTO is not set
CT_ARCH_FLOAT_HW=y
CT_ARCH_FLOAT_SOFTFP is not set
CT_ARCH_FLOAT_SW is not set
CT_TARGET_CFLAGS="" CT_TARGET_LDFLAGS="" CT_ARCH_FLOAT="hard"
You should be able to have both options on to give both soft and hard libraries. The default will be hard floats on because that is what is set with ARCH.
CT_ARCH_FLOAT_AUTO is not set
CT_ARCH_FLOAT_HW=y CT_ARCH_FLOAT_SOFTFP=y
CT_ARCH_FLOAT_SW is not set
CT_TARGET_CFLAGS="" CT_TARGET_LDFLAGS="" CT_ARCH_FLOAT="hard"
On 8/09/2017 9:34 PM, Matt Godbolt wrote:
Very odd; I can only imagine I'm missing something. If you know anything about how these things are built, I'd appreciate the help. ARM GCC 6.3.0 is built with this script https://github.com/mattgodbolt/compiler-explorer-image/blob/master/gcc-cross/build/build.sh using crosstool https://crosstool-ng.github.io/ inside a docker container.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/mattgodbolt/compiler-explorer/issues/514#issuecomment-328104688, or mute the thread https://github.com/notifications/unsubscribe-auth/AcuWVaGbIebi6p7SLySlkZTl8HMdTSP-ks5sgUJugaJpZM4POua3.
That's great: thanks!
On Fri, Sep 8, 2017 at 11:31 AM Leon de Boer [email protected] wrote:
Okay I did some playing around .. the problem is
-mfloat-abi=hard
So we don't have any hard float libraries.
looking in your config
https://github.com/mattgodbolt/compiler-explorer-image/blob/master/gcc-cross/build/new/arm-6.3.0.config
you have these
CT_ARCH_FLOAT_HW is not set
CT_ARCH_FLOAT_SOFTFP is not set
CT_ARCH_FLOAT_SW is not set
CT_TARGET_CFLAGS="" CT_TARGET_LDFLAGS="" CT_ARCH_FLOAT="auto"
If you look at 5.4 its different
CT_ARCH_FLOAT_AUTO is not set
CT_ARCH_FLOAT_HW=y
CT_ARCH_FLOAT_SOFTFP is not set
CT_ARCH_FLOAT_SW is not set
CT_TARGET_CFLAGS="" CT_TARGET_LDFLAGS="" CT_ARCH_FLOAT="hard"
You should be able to have both options on to give both soft and hard libraries. The default will be hard floats on because that is what is set with ARCH.
CT_ARCH_FLOAT_AUTO is not set
CT_ARCH_FLOAT_HW=y CT_ARCH_FLOAT_SOFTFP=y
CT_ARCH_FLOAT_SW is not set
CT_TARGET_CFLAGS="" CT_TARGET_LDFLAGS="" CT_ARCH_FLOAT="hard"
On 8/09/2017 9:34 PM, Matt Godbolt wrote:
Very odd; I can only imagine I'm missing something. If you know anything about how these things are built, I'd appreciate the help. ARM GCC 6.3.0 is built with this script < https://github.com/mattgodbolt/compiler-explorer-image/blob/master/gcc-cross/build/build.sh>
using crosstool https://crosstool-ng.github.io/ inside a docker container.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub < https://github.com/mattgodbolt/compiler-explorer/issues/514#issuecomment-328104688>,
or mute the thread < https://github.com/notifications/unsubscribe-auth/AcuWVaGbIebi6p7SLySlkZTl8HMdTSP-ks5sgUJugaJpZM4POua3 .
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/mattgodbolt/compiler-explorer/issues/514#issuecomment-328151930, or mute the thread https://github.com/notifications/unsubscribe-auth/AAmsdexq_wE5D1-lCj5w7-ciV6yEl2JYks5sgWvPgaJpZM4POua3 .
Demonstration link: https://godbolt.org/z/sG1YGozqW
Broken on:
- [ ] 4.6.4
- [ ] 6.3.0
- [ ] 6.4.0
- [ ] 7.3.0
- [ ] 8.2.0 (needs
-mcpu=corterx-a75or similar e.g. https://gcc.godbolt.org/z/deGx1dfof ) - [x] 8.2.0 (wince; but that seems to be a hard limit in the compiler itself)
Works on:
- 4.5.4
- 5.4
- 5.4.1 (none)
- 7.2.1 (none)
- 7.5.0
- 8.3.1
- 8.5.0
- 9.2.1 (none)
- 9.3.0
- 9.4.0
- 9.5.0
- 10.2.0
- 10.2.1 (none)
- ....seemingly everything else after that, I clicked around and couldn't find one but didn't have time to check each and write them down.