Go to file
Alexey Brodkin b4c050e9af gpsd: Fix building with gcc 6.x
When building C++ parts of gpsd (for example Qt bindings) with gcc 6.x following
failure happens, see [1]:
------------------------------>8-------------------------------
<command-line>:0:0: warning: "_LARGEFILE_SOURCE" redefined
<command-line>:0:0: note: this is the location of the previous definition
In file included from clock_gettime.c:10:0:
compiler.h: In function 'void memory_barrier()':
compiler.h:93:25: error: 'memory_order_seq_cst' was not declared in this scope
     atomic_thread_fence(memory_order_seq_cst);
                         ^~~~~~~~~~~~~~~~~~~~
compiler.h:93:25: note: suggested alternative:
In file included from .../output/host/usr/arc-buildroot-linux-uclibc/include/c++/6.2.1/atomic:41:0,
                 from compiler.h:75,
                 from clock_gettime.c:10:
.../output/host/usr/arc-buildroot-linux-uclibc/include/c++/6.2.1/bits/atomic_base.h:62:7: note:   'memory_order_seq_cst'
       memory_order_seq_cst
       ^~~~~~~~~~~~~~~~~~~~
In file included from clock_gettime.c:10:0:
compiler.h:93:45: error: 'atomic_thread_fence' was not declared in this scope
     atomic_thread_fence(memory_order_seq_cst);
                                             ^
compiler.h:93:45: note: suggested alternative:
In file included from .../output/host/usr/arc-buildroot-linux-uclibc/include/c++/6.2.1/atomic:41:0,
                 from compiler.h:75,
                 from clock_gettime.c:10:
.../output/host/usr/arc-buildroot-linux-uclibc/include/c++/6.2.1/bits/atomic_base.h:101:3: note:   'std::atomic_thread_fence'
   atomic_thread_fence(memory_order __m) noexcept
   ^~~~~~~~~~~~~~~~~~~
scons: *** [qt-clock_gettime.os] Error 1
scons: building terminated because of errors.
------------------------------>8-------------------------------

As discussed on gpsd mailng list here [2] the only work-around as of today is to
add "-std=gnu++98" to both CFLAGS and CXXFLAGS which we implement here.

Fixes:
http://autobuild.buildroot.net/results/e8593a8ebf2f05cc93235a8129a2ba8b839d6d90
http://autobuild.buildroot.net/results/ff766f4f514c9cb4891873167f4e9b7870051883
http://autobuild.buildroot.net/results/1a4/1a4dbd9ee5e0c7255843228731beab030ca005ca
http://autobuild.buildroot.net/results/1a4/1a4dbd9ee5e0c7255843228731beab030ca005ca
and many others, see http://autobuild.buildroot.net/?reason=gpsd-3.16

[1] http://autobuild.buildroot.net/results/e85/e8593a8ebf2f05cc93235a8129a2ba8b839d6d90/build-end.log
[2] http://lists.nongnu.org/archive/html/gpsd-dev/2016-09/msg00082.html

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
Cc: Sergio Prado <sergio.prado@e-labworks.com>
Cc: James Knight <james.knight@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 17:45:26 +01:00
arch MIPS: rename M6201 core to M6250 2016-11-09 22:42:12 +01:00
board board/atmel/readme.txt: remove mention of sama5d4ek 2016-11-10 11:16:10 +01:00
boot boot-wrapper-aarch64: update upstream repository 2016-11-16 12:24:19 +01:00
configs configs/imx28evk: Bump to kernel 4.8.8 2016-11-21 22:43:32 +01:00
docs docs/manual: fix documentation about BR2_EXTERNAL_<name>_PATH variable 2016-11-20 15:55:22 +01:00
fs fs/ext2: fix double quoted label 2016-11-21 21:16:02 +01:00
linux linux: bump default to version 4.8.10 2016-11-21 21:16:42 +01:00
package gpsd: Fix building with gcc 6.x 2016-11-25 17:45:26 +01:00
support core/br2-external: restore compatibility with old distros 2016-11-23 23:31:20 +01:00
system system: fix typo 2016-10-13 08:06:11 +02:00
toolchain MIPS: rename M5101 core to M5150 2016-11-09 22:41:51 +01:00
.defconfig arch: remove support for sh64 2016-09-08 22:15:15 +02:00
.gitignore
CHANGES CHANGES: mention quota package update 2016-11-13 18:23:10 +01:00
Config.in Config.in: add BR2_HOST_GCC_AT_LEAST_4_5 2016-10-26 21:11:34 +02:00
Config.in.legacy legacy: add missing select 2016-10-24 22:42:07 +02:00
COPYING COPYING: add exception about patch licensing 2016-02-26 19:50:13 +01:00
DEVELOPERS DEVELOPERS: remove Gregory Hermant 2016-11-09 22:52:37 +01:00
Makefile Makefile: fix distclean removal of $(O) 2016-11-23 23:29:45 +01:00
Makefile.legacy Remove BR2_DEPRECATED 2016-10-15 23:14:45 +02:00
README README: add reference to submitting-patches 2016-02-01 19:16:08 +01:00

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on Freenode IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches