On 06/11/2018 02:35 PM, Sergei Trofimovich wrote:
On Mon, 11 Jun 2018 08:17:37 -0300
Adhemerval Zanella <adhemerval.zanella@linaro.org> wrote:
On 11/06/2018 07:46, Florian Weimer wrote:
On 06/11/2018 12:28 PM, Sergei Trofimovich wrote:
When glibc is built on armv7 with CFLAGS="-pipe -march=armv7-a -O2 -mfpu=neon"
rtld fails to link due to missing memcpy symbol.
This happens because .c files are built with -mfpu=neon flag but .S/.s files
are built without it. Among other things -mfpu=neon defines __ARM_NEON__.
To fix this mismatch CFLAGS should be passed consistently to .c and .S files.
Please check if you can fix this by putting the architecture selection flags into the CC and CXX variables when invoking configure.
I'm not sure just adding an arch flag is enough:
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/arm/armv7/multiarch/memcpy_neon.S;h=1a8d8bbe9e128618105be0652de42a34fbc52d73;hb=HEAD
...
2 #ifndef __ARM_NEON__
3 # define memcpy __memcpy_neon
Here memcpy_neon.S explicitly supports both neon-enabled and disabled flags.
Does this mean your proposed patch fails to address the issue, too?