glog can optionally use atomic __sync built-ins. However, its
configure script only checks for the availability of the 4-byte
variant, but the code also uses the 1-byte variant. While this works
on most architectures, it does not on architectures that implement
only the 4-byte variant, such as Microblaze. So if the architecture
does not implement the 1-byte variant, we hint the configure script
that atomic built-ins should not be used.
Fixes:
http://autobuild.buildroot.org/results/bedebd594c283adf39374c9a9f44432e5d6cbff7/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
With following blackfin toolchains
BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2014R1
BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2013R1
BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2
when BR2_BINFMT_FDPIC=y
../usr/include/bits/elf-fdpic.h: In function 'void* __reloc_pointer(void*, const elf32_fdpic_loadmap*)':
../usr/include/bits/elf-fdpic.h:95: error: invalid use of 'void'
code snippet at line 95 in elf-fdpic.h
-------------------------------------------------------
unsigned long offset = p - (void*)map->segs[c].p_vaddr;
-------------------------------------------------------
void pointer addition and subtraction is not allowed in C++ as it has undetermined size,
however in C with language extension it is possible because sizeof void is treated
as one byte.
This is toolchain-specific issue. So disable package on these external toolchains.
fixes:
http://autobuild.buildroot.net/results/c70/c704c70ae2f066f85dd6a5fa6a73789bc358d368/
Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>