Project

General

Profile

Bug #1626

syscall number mismatch between glibc and linux-libre-api-headers on armv7h

oaken-source - over 6 years ago - . Updated about 6 years ago.

Status:
fixed
Priority:
broken
Assignee:
-
% Done:

100%


Description

on armv7h, /usr/include/bits/syscall.h defines SYS_mmap2 to __NR_mmap2:

$ grep mmap2 /usr/include/bits/syscall.h
#define SYS_mmap2 __NR_mmap2
#define SYS_mmap2 __NR_mmap2
$ pacman -Qo /usr/include/bits/syscall.h
/usr/include/bits/syscall.h is owned by glibc 2.26-10

but __NR_mmap2 is only defined in /usr/include/asm/unistd_32.h, which is not included on armv7h, as per /usr/include/asm/unistd.h:
# ifdef __i386__
#  include <asm/unistd_32.h>
# elif defined(__ILP32__)
#  include <asm/unistd_x32.h>
# else
#  include <asm/unistd_64.h>
# endif

both of which are part of linux-libre-api-headers:
$ pacman -Qo /usr/include/asm/unistd.h 
/usr/include/asm/unistd.h is owned by linux-libre-api-headers 4.12.7_gnu-1
$ pacman -Qo /usr/include/asm/unistd_32.h 
/usr/include/asm/unistd_32.h is owned by linux-libre-api-headers 4.12.7_gnu-1

I'm not sure what is going on there, but I think our linux-libre-api-headers appears to mismatch syscall numbers on arm? This currently causes the iceweasel build on arm to fail.

History

#1

Updated by ovruni over 6 years ago

I have built linux-libre-api-headers for different architectures. Can you try build iceweasel again?

#2

Updated by oaken-source over 6 years ago

this looks a lot better, thanks. now the iceweasel build fails for other reasons ;)

#3

Updated by oaken-source about 6 years ago

  • % Done changed from 0 to 100
  • Status changed from open to fixed

Also available in: Atom PDF