[PATCH 2/2] Enable ILP32 mode on aarch64
Yury Norov
ynorov@caviumnetworks.com
Thu Dec 1 05:05:00 GMT 2016
On Wed, Nov 30, 2016 at 04:39:11PM -0800, Steve Ellcey wrote:
> On Wed, 2016-11-30 at 10:06 +0100, Andreas Schwab wrote:
> > ../sysdeps/unix/sysv/linux/generic/rename.c: In function ârenameâ:
> > ../sysdeps/unix/sysv/linux/aarch64/sysdep.h:41:32: error:
> > â__NR_renameatâ undeclared (first use in this function)
> > Â #define SYS_ify(syscall_name) (__NR_##syscall_name)
> > Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ^
> >
> > Andreas.
>
> Were you able to build a normal aarch64 glibc before? Â I do not
> understand what is going on but to fix this I edited my
> /usr/include/aarch64-linux-gnu/asm/unistd.h file to include
>
> #define __ARCH_WANT_RENAMEAT
>
> Without this change, even if I build with older non-modified glibc
> sources I am hitting the bug you got above. Â I was able to build those
> sources on the same system, with the same compiler before. Â I don't
> know why things changed.  My /usr/include/asm/unistd.h header file
> already had that, I am not sure why the two header files were
> different, but my best guess is that somehow that define got removed
> from my kernel header file, but I don't know how that would happen
> since I never changed it.
>
> Steve Ellcey
> sellcey@caviumnetworks.com
You should also update kernel headers before build.
__ARCH_WANT_RENAMEAT is introduced in kernel series for ILP3 and it makes
a choice to use or not __NR_renameat properly.
https://patchwork.kernel.org/patch/9390105/
Yury
More information about the Libc-alpha
mailing list