vivante-gpu-sdk doesn't build with hardfloat because of forced options in Makefiles. Even removing the "-mfloat-abi=softfp -mfpu=neon" from the Makefiles cause an error (in a devshell): # make -j 6 -e MAKEFLAGS= -f Makefile.x11 set -e; for d in 01_SimpleTriangle 02_VertexColors 03_VertexTransformation 04_ColoredVerticesInterpolation 05_GeometricObjects 06_Projection 07_BasicTexturing 08_Multitexturing 09_Alphablending 10_FilteringLights 11_LightingFog 12_Stencil 13_3DFonts 14_ParticlesSpritesAnimation 15_ParticleAccelerator 16_VertexBufferObjects 17_Beizer; do make -C $d -f Makefile.x11; done make[1]: Entering directory `/opt/yocto_builder/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/vivante-gpu-sdk/1.00-r0/vivante-gpu-sdk-1.00/Samples/GLES1.1/01_SimpleTriangle' CC SimpleTriangle.o arm-poky-linux-gnueabi-gcc -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/yocto_builder/build/tmp/sysroots/nitrogen6x -DDEBUG -D_DEBUG -D_GNU_SOURCE -fPIC -O3 -fno-strict-aliasing -fno-optimize-sibling-calls -Wall -g -DLINUX -DEGL_USE_X11 -I../common/inc -MMD -c SimpleTriangle.c -o SimpleTriangle.o In file included from /opt/yocto_builder/build/tmp/sysroots/nitrogen6x/usr/include/features.h:388:0, from /opt/yocto_builder/build/tmp/sysroots/nitrogen6x/usr/include/stdio.h:27, from SimpleTriangle.c:11: /opt/yocto_builder/build/tmp/sysroots/nitrogen6x/usr/include/gnu/stubs.h:10:29: fatal error: gnu/stubs-hard.h: No such file or directory # include <gnu/stubs-hard.h> ^ compilation terminated. make[1]: *** [SimpleTriangle.o] Error 1 make[1]: Leaving directory `/opt/yocto_builder/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/vivante-gpu-sdk/1.00-r0/vivante-gpu-sdk-1.00/Samples/GLES1.1/01_SimpleTriangle' make: *** [all] Error 2
Fixed in master with new SDK package.