Bug 12281

Summary: Custom configuration fails to build (based on raspberrypi3_defconfig)
Product: buildroot Reporter: Paulo Matos <pmatos>
Component: OtherAssignee: Paulo Matos <pmatos>
Status: RESOLVED FIXED    
Severity: normal CC: buildroot
Priority: P5    
Version: 2019.08.1   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Host: Target:
Build:

Description Paulo Matos 2019-10-24 18:30:40 UTC
During build of qemu 3.1.1:
In file included from /usr/include/string.h:494,
                 from /home/pmatos/roots/br-root.rpi3_qemu/build/host-qemu-3.1.1/include/qemu/osdep.h:84,
                 from /home/pmatos/roots/br-root.rpi3_qemu/build/host-qemu-3.1.1/linux-user/uname.c:20:
In function ‘strncpy’,
    inlined from ‘sys_uname’ at /home/pmatos/roots/br-root.rpi3_qemu/build/host-qemu-3.1.1/linux-user/uname.c:94:3:
/usr/include/bits/string_fortified.h:106:10: warning: ‘__builtin_strncpy’ output may be truncated copying 64 bytes from a string of length 64 [-Wstringop-truncation]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘strncpy’,
    inlined from ‘sys_uname’ at /home/pmatos/roots/br-root.rpi3_qemu/build/host-qemu-3.1.1/linux-user/uname.c:95:3:
/usr/include/bits/string_fortified.h:106:10: warning: ‘__builtin_strncpy’ output may be truncated copying 64 bytes from a string of length 64 [-Wstringop-truncation]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘strncpy’,
    inlined from ‘sys_uname’ at /home/pmatos/roots/br-root.rpi3_qemu/build/host-qemu-3.1.1/linux-user/uname.c:96:3:
/usr/include/bits/string_fortified.h:106:10: warning: ‘__builtin_strncpy’ output may be truncated copying 64 bytes from a string of length 64 [-Wstringop-truncation]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘strncpy’,
    inlined from ‘sys_uname’ at /home/pmatos/roots/br-root.rpi3_qemu/build/host-qemu-3.1.1/linux-user/uname.c:97:3:
/usr/include/bits/string_fortified.h:106:10: warning: ‘__builtin_strncpy’ output may be truncated copying 64 bytes from a string of length 64 [-Wstringop-truncation]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘strncpy’,
    inlined from ‘sys_uname’ at /home/pmatos/roots/br-root.rpi3_qemu/build/host-qemu-3.1.1/linux-user/uname.c:98:3:
/usr/include/bits/string_fortified.h:106:10: warning: ‘__builtin_strncpy’ output may be truncated copying 64 bytes from a string of length 64 [-Wstringop-truncation]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘strncpy’,
    inlined from ‘sys_uname’ at /home/pmatos/roots/br-root.rpi3_qemu/build/host-qemu-3.1.1/linux-user/uname.c:100:3:
/usr/include/bits/string_fortified.h:106:10: warning: ‘__builtin_strncpy’ output may be truncated copying 64 bytes from a string of length 64 [-Wstringop-truncation]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pmatos/roots/br-root.rpi3_qemu/build/host-qemu-3.1.1/linux-user/syscall.c:254:16: error: static declaration of ‘gettid’ follows non-static declaration
  254 | _syscall0(int, gettid)
      |                ^~~~~~
/home/pmatos/roots/br-root.rpi3_qemu/build/host-qemu-3.1.1/linux-user/syscall.c:185:13: note: in definition of macro ‘_syscall0’
  185 | static type name (void)   \
      |             ^~~~
In file included from /usr/include/unistd.h:1170,
                 from /home/pmatos/roots/br-root.rpi3_qemu/build/host-qemu-3.1.1/include/qemu/osdep.h:90,
                 from /home/pmatos/roots/br-root.rpi3_qemu/build/host-qemu-3.1.1/linux-user/syscall.c:20:
/usr/include/bits/unistd_ext.h:34:16: note: previous declaration of ‘gettid’ was here
   34 | extern __pid_t gettid (void) __THROW;
      |                ^~~~~~
make[3]: *** [/home/pmatos/roots/br-root.rpi3_qemu/build/host-qemu-3.1.1/rules.mak:69: linux-user/syscall.o] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from /usr/include/string.h:494,
                 from /home/pmatos/roots/br-root.rpi3_qemu/build/host-qemu-3.1.1/include/qemu/osdep.h:84,
                 from /home/pmatos/roots/br-root.rpi3_qemu/build/host-qemu-3.1.1/linux-user/elfload.c:2:
In function ‘strncpy’,
    inlined from ‘fill_psinfo’ at /home/pmatos/roots/br-root.rpi3_qemu/build/host-qemu-3.1.1/linux-user/elfload.c:3158:12,
    inlined from ‘fill_note_info’ at /home/pmatos/roots/br-root.rpi3_qemu/build/host-qemu-3.1.1/linux-user/elfload.c:3340:5,
    inlined from ‘elf_core_dump’ at /home/pmatos/roots/br-root.rpi3_qemu/build/host-qemu-3.1.1/linux-user/elfload.c:3489:9:
/usr/include/bits/string_fortified.h:106:10: warning: ‘__builtin_strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:483: subdir-arm-linux-user] Error 2
make[1]: *** [package/pkg-generic.mk:241: /home/pmatos/roots/br-root.rpi3_qemu/build/host-qemu-3.1.1/.stamp_built] Error 2
make: *** [Makefile:23: _all] Error 2

Built on arch linux with host gcc 9.2.0. Attaching .config
Comment 1 Peter Seiderer 2019-10-24 21:25:29 UTC
Still missing 'Attaching .config' ;-)

Searching for 'error: static declaration of ‘gettid’ follows non-static declaration' findes the following [1]:

  [Qemu-devel] [PULL 2/2] linux-user: rename gettid() to sys_gettid() to avoid clash with glibc

Time for quemu update (or cherry-picking the patch)?

[1] https://lists.gnu.org/archive/html/qemu-devel/2019-04/msg01314.html
Comment 2 Paulo Matos 2019-10-25 07:17:56 UTC
Apologies for missing the attachment of .config although it seems the problem is in qemu 3.1.1 so any build of that package fails. I have updated buildroot to use qemu 4.1.0 and it works. Would this be something that can be sent in as a patch?
Comment 3 Paulo Matos 2019-10-25 07:41:13 UTC
Testing the patch on 3.1.1 atm.
Comment 4 Paulo Matos 2019-10-25 07:41:29 UTC
Taking it to send patch.
Comment 5 Paulo Matos 2019-10-25 11:28:30 UTC
Patch sent to the mailing list:
http://lists.busybox.net/pipermail/buildroot/2019-October/263739.html