Go to file
Carlos Santos 1f80ca3390 protobuf: fix detection of __atomic_*() built-ins
- Use the recently introduced BR2_TOOLCHAIN_HAS_ATOMIC boolean.

- Import an upstream patch to fix error handling when atomic operations
  are not detected. Without this patch the build fails due to a syntax
  error instead of showing the proper message.

- Add a patch to configure.ac to check if libatomic is needed and force
  linking to it (we will attempt to submit this upstream).

- Disable build for SPARC64 because it fails due to a missing definition
  of Atomic64.

On PowerPC, the __atomic_*() built-ins for 1-byte, 2-byte and 4-byte
types are available built-in. The corresponding built-ins for 8-byte
types, however, are implemented via libatomic, so requiring gcc >= 4.8.

In Buildroot, to simplify things, it was decided to require gcc 4.8 as
soon as the architectures has at least one __atomic_*() built-in variant
that requires libatomic.

Since protobuf most likely only uses the 1, 2 and 4-byte variants, it
*could* technically build with gcc 4.7. This is probably not a big deal,
and we can live with requiring gcc 4.8 on PowerPC to build protobuf. The
same restriction applies to SPARC.

The build for SPARC64 breaks even using the master branch of protobuf
due to undefined references to some NoBarrier_Atomic*() functions.

Signed-off-by: Henrique Marks <henrique.marks@datacom.ind.br>
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-03-20 23:43:31 +01:00
arch arch/arm: add Cortex-M4 entry 2016-03-20 15:37:30 +01:00
board qemu-m68k: add new board 2016-03-20 15:28:55 +01:00
boot barebox: bump to version 2016.03.0 2016-03-17 14:29:06 +01:00
configs qemu-m68k: add new board 2016-03-20 15:28:55 +01:00
docs core: add the possibility to provide help for custom rules 2016-03-19 16:41:22 +01:00
fs fs/common: generate users before setting permissions 2016-02-01 07:25:36 +01:00
linux linux: build and install kernel selftests 2016-03-20 22:04:47 +01:00
package protobuf: fix detection of __atomic_*() built-ins 2016-03-20 23:43:31 +01:00
support scancpan: use recommend & test flags only at first level 2016-03-15 23:16:33 +01:00
system skeleton: Recreate /var/run symlink 2016-02-11 23:20:38 +01:00
toolchain toolchain: introduce BR2_TOOLCHAIN_HAS_LIBATOMIC 2016-03-20 23:40:03 +01:00
.defconfig arch: kill avr32 2015-02-14 17:39:50 +01:00
.gitignore update gitignore 2013-05-04 12:41:55 +02:00
CHANGES Update for 2016.02 2016-03-01 21:47:30 +01:00
Config.in Config.in: add symbols for BR2_HOST_GCC_AT_LEAST_4_6 2016-03-20 14:55:27 +01:00
Config.in.legacy package/qt5webkit-examples: remove obsolete package 2016-03-20 23:22:42 +01:00
COPYING COPYING: add exception about patch licensing 2016-02-26 19:50:13 +01:00
Makefile core: also display the custom help with our main help 2016-03-19 16:41:26 +01:00
Makefile.legacy Makefile.legacy: fix recursive invocation with BUILDROOT_DL_DIR and _CONFIG 2014-02-11 08:14:57 +01: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