aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc
AgeCommit message (Collapse)Author
2016-04-14gcc-common.inc: String format tweak for available tunesnoel eck
Small change to python string formatting for error logging. Previously, tune and availtunes would print out at the end of the log message. This change allows them to print out in the correct locations of the error string. Signed-off-by: noel eck <kceleon@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-30gcc: Fix musl ldso name for mips64Khem Raj
Now we have mips64 port of musl and there is a name for ldso, backport the fix from upstream gcc master Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-30gcc-5.3/gcc-4.9: -fdebug-prefix-map support to remap relative pathHongxu Jia
For relative path in DWARF, -fdebug-prefix-map could not remap it, so translate to real path before mapping. [YOCTO #9305] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-29gcc: Backport fixes for musl ssp configurationKhem Raj
We were trying to inject cached configure variables via EXTRA_OECONF, but that was not working due to the fact that gcc configure is called recursively via makefiles and hence these were getting lost. These backports from master fixes the problem by defining the options in configure itself dl_iterate_phdr is provided by musl as well, so lets not depend on glibc defines like inhibit_libc alone Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-20gcc-5.3/gcc-4.9:Reuse -fdebug-prefix-map to replace -ffile-prefix-mapHongxu Jia
The oe-core may use external toolchain for compiling, which did not support -ffile-prefix-map. Since we use -fdebug-prefix-map to do the same thing, so we could reuse it to replace -ffile-prefix-map. [YOCTO #7058] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-20gcc-5.3/gcc-4.9:replace build path with target path in __FILE__Hongxu Jia
Similar -fdebug-prefix-map, add option -ffile-prefix-map to map one directory name (old) to another (new) in __FILE__, __BASE_FILE__and __builtin_FILE (). With this patch, it fixes build path issue which caused by __FILE__. We do not need to use relative path to compile any more. [YOCTO #7058] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70268 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-20gcc-runtime.inc: set LICENSE for all gcc-runtime packagesAndre McCurdy
LICENSE_${PN} doesn't apply to all gcc-runtime packages. Set LICENSE instead. Without this fix, gcc-runtime packages such as libstdc++ are excluded from rootfs for builds which blacklist GPLv3. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-12gcc: Fix the license on GNU OpenMPHelio Chissini de Castro
Poky jethro has libgomp ( GNU OpenMP ) license marked as GPL-3.0, where's in fact the correct is GPL-3.0 with GCC Library Runtime Exception As stated on https://github.com/gcc-mirror/gcc/blob/master/libgomp/libgomp.h header license: ... Under Section 7 of GPL version 3, you are granted additional permissions described in the GCC Runtime Library Exception, version 3.1, as published by the Free Software Foundation. ... Signed-off-by: Helio Chissini de Castro <helio.castro@bmw-carit.de> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-12Revert "gcc: Fix the license on GNU OpenMP"Ross Burton
This reverts commit 892fbe373c5cff7b2f28b58aa2508b47e53d3e63.
2016-03-11gcc: Disable libitm for MicroBlazeNathan Rossi
Disable libitm as it is not supported on MicroBlaze. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-11gcc: Fix the license on GNU OpenMPHelio Chissini de Castro
Poky jethro has libgomp ( GNU OpenMP ) license marked as GPL-3.0, where's in fact the correct is GPL-3.0 with GCC Library Runtime Exception Signed-off-by: Helio Chissini de Castro <helio.castro@bmw-carit.de> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-10gcc: Disable libitm for nios2Marek Vasut
The libitm is not supported on nios2, so disable it. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Ley Foon Tan <lftan@altera.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Ross Burton <ross.burton@intel.com> Cc: Thomas Chou <thomas@wytron.com.tw> Cc: Walter Goossens <waltergoossens@home.nl> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-06gcc-runtime.inc: disable libitm for little endian MIPS tooAndre McCurdy
libitm is already disabled for big endian MIPS, but needs to be disabled for little endian MIPS targets too. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-02gcc: Add support for atomic opertions (libitm) where availableMark Hatle
GCC 4.7 and newer have supported various automic operation directives, however these have not been previously enabled. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28gcc: use relative path for configure scriptHongxu Jia
The absolute path (/path/to/configure) caused __FILE__ to be an absolute path. If 'assert' invoked, it uses __FILE__, and build path would be in elf files. In assert.h ... .# define assert(expr) \ ((expr) \ ? __ASSERT_VOID_CAST (0) \ : __assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION)) ... Which triggered buildpaths QA issue: ... | libgcc-5.3.0: File work/core2-64-poky-linux/libgcc/5.3.0-r0/packages-split/ libgcc-dev/usr/lib64/x86_64-poky-linux/5.3.0/libgcc.a in package contained reference to tmpdir [buildpaths] ... Use relative path to run configure can fix the problem. [YOCTO #7058] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-21glibc: Upgrade to 2.23Khem Raj
Drop kconfig and options-group support Forward port cross-localedef support Assume ssp support in libc when building gcc-initial Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-02-19gcc-5.3: backport fix for PR-target-65358Martin Jansa
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18gcc: Backport nios2 r31 fixMarek Vasut
Backport a fix from GCC mainline, which fixes libpcre 8.38 and expat 2.1.0 build on nios2. The example of the fixed error follows: | ./nios2-poky-linux-libtool --silent --mode=compile nios2-poky-linux-gcc -mel -mhw-div -mhw-mul --sysroot=/mnt/work/Yocto/build-nios2/tmp/sysroots/10m50 -I../expat-2.1.0/lib -I. -O2 -pipe -g -feliminate-unused-debug-types -Wall -Wmissing-prototypes -Wstrict-prototypes -fexceptions -DHAVE_EXPAT_CONFIG_H -o lib/xmltok.lo -c ../expat-2.1.0/lib/xmltok.c | {standard input}: Assembler messages: | {standard input}:4988: Error: r31 cannot be used with jmp; use ret instead | {standard input}:9703: Error: r31 cannot be used with jmp; use ret instead | {standard input}:20068: Error: r31 cannot be used with jmp; use ret instead | {standard input}:24020: Error: r31 cannot be used with jmp; use ret instead | Makefile:196: recipe for target 'lib/xmltok.lo' failed | make: *** [lib/xmltok.lo] Error 1 | WARNING: exit code 1 from a shell command. Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18gcc-4.9/5.3: Ignore -fdebug-prefix-map in producer stringHongxu Jia
Backport from upstream master. The discussion detail: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69821 Compile without this fix: objdump -g packages-split/lib32-glibc-dev/usr/lib/gcrt1.o ... | <5f> DW_AT_producer : (indirect string, offset: 0x1b): GNU C99 5.3.0 -m32-march=core2 -mtune=core2 -msse3 -mfpmath=sse -mpreferred-stack-boundary=4 -g -O2 -std=gnu99 -fgnu89-inline -fdebug-prefix-map=/buildarea/raid0/hjia/buil d-20160127-yocto-buildpath-2/tmp/sysroots/lib32-qemux86-64= -feliminate-unused-debug-types -fmerge-all-constants -frounding-math -ftls-model=initial-exec ... Compile with this fix: objdump -g packages-split/lib32-glibc-dev/usr/lib/gcrt1.o ... | <5f> DW_AT_producer : (indirect string, offset: 0xa1): GNU C99 5.3.0 -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -mpreferred-stack-boundary=4 -g -O2 -std=gnu99 -fgnu89-inline -feliminate-unused-debug-types -fmerge-all-constants -frounding-math -ftls-model=initial-exec ... [YOCTO #7058] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-07gcc: musl related fixes for ppc/secure-plt and gthrKhem Raj
These issues are fixing building gcc for target, ppc issue helps in fixing discrepency between gcc cmdline and linker cmdline Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-07gcc: Assume libssp and dl_iterate_phdr on muslKhem Raj
gcc configure fails to set these settings correctly on musl based builds Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-07gcc: Fix build on musl with -fstack-protectorKhem Raj
When enabling the secutity flags on musl based targets the builds fail due to libssp(gcc-runtime) build asking to link with libssp and libssp_nonshared.a when configuring libssp itself. This does not work with musl since it does provide ssp implementation but not like glibc where these libraries are separate to libc Fix the nios2 patch with upstream status while at it and generate the patch after applying to my tree Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-02gcc-configure-common.inc: drop --enable-target-optspace from configureAndre McCurdy
Configuring gcc with --enable-target-optspace (which causes gcc to append "-g -Os" to the default CFLAGS_FOR_TARGET and so force libgcc etc target libraries to always be optimised for size) dates back to the very first commit in oe-core git in 2005 (for gcc 3.4.3). Configuring gcc with --enable-target-optspace is not done widely elsewhere (it's not used for Ubuntu or Fedora host gcc, the Linaro binary toolchain or in Buildroot since early 2015). Sometime around gcc 4.5.x it caused problems for powerpc and so was disabled for that architecture: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43810 This patch removes --enable-target-optspace completely (ie powerpc is no longer a special case) and allows optimisation of libgcc etc to be controlled directly by the flags present in TARGET_CFLAGS. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-02machine/include: drop tune-cortexm*.inc and tune-cortexr4.incAndre McCurdy
The Cortex M1, M3 and R4 CPU tuning files are poorly tested (if at all). They have no obvious users either inside or outside oe-core. Until OE officially gains support for CPUs without an MMU, these tuning files are probably better maintained outside of oe-core (e.g. in a separate meta-nommu layer). Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-30gcc, qemuppc: Explicitly disable forcing SPE flagsKhem Raj
G4 does not have SPE, so we make that explicit in the tune files and since we emulate G4 when building Qemu, we ensure it for qemuppc as well. GCC config for powerpc-linux is made to include SPE by default which is equivalent if the tripet was powerpc-linux*spe, this forces gcc to configure assembler to enable -mspe by default, when we do that then the kernel fails to compile with binutils 2.26, since newer assembler is smart to detect the tlbia instructions are not compatible with SPE and hence the kernel build breaks rightly. We configure the kernel for G4 as well where it enables tlbia instrucitons rightly so because it thinks its being configured for power4. So we keep the options but do not force -mspe down to assembler as default. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-29gcc-cross.inc: drop pruning of PATCH_GET from the testgcc scriptAndre McCurdy
PATCH_GET is no longer exported by bitbake.conf, so no longer needs to be pruned from the gcc-cross do_compile() environment. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-29gcc: fix hidden weak symbols by removing buggy gcc patchMathieu Desnoyers
We are noticing the presence of the following patch in various openembedded gcc versions: 0024-PR-target-32219.patch However, contrarily to its "Backport" status, that patch is not upstream in gcc, and it breaks handling of start/stop automatic weak hidden symbols we use in lttng-ust. We are only experiencing problems on the various openembedded compilers, but on no other distro (with same compiler versions), which led us to suspect a buggy distro-specific gcc patch. We've been testing with openembedded gcc-4.9.2-r0. Rebuilding the gcc compiler with this patch removed fixes the lttng-ust issue. Link: http://lists.openembedded.org/pipermail/openembedded-core/2016-January/116306.html Link: http://lists.lttng.org/pipermail/lttng-dev/2014-May/023112.html Link: https://gcc.gnu.org/ml/gcc-help/2014-05/msg00042.html Link: http://cgit.openembedded.org/openembedded-core/commit/?id=3cb2b003db7371b3a47d02c08352a262e1e419b4 Link: https://sourceware.org/bugzilla/show_bug.cgi?id=15435 Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-25gcc-cross-canadian: Add missing DEPENDS on virtual/${HOST_PREFIX}gcc-crosssdkRichard Purdie
The cross-canadian compiler needs the nativesdk compiler to build but for some reason this was missing. Add the missing dependency. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-20gcc-runtime.inc: provide libquadmathIoan-Adrian Ratiu
libgfortran's build fails with "ld: cannot find -lquadmath" unless libquadmath is added to gcc-runtime's RUNTIMETARGET Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-19gcc-runtime: switch to removal override syntax to modify CXXFLAGSJoshua Lock
The use of immediate expansion can cause issues when trying to override variables, further the removal override syntax is clearer than oe_filter_out () — switch to using removal override syntax instead. Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-13gcc-configure-common.inc: duplicate armv7a over-ride for armv7veAndre McCurdy
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11gcc5: Fix build on NIOS2Marek Vasut
The gcc 5.3 does not build on NIOS2 due to a missing MUSL_DYNAMIC_LINKER definition in it's config file. Add the definition to fix the build issue. The output produced during the failing build is as follows: g++ -isystem/b/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H -static-libstdc++ -static-libgcc -L/b/tmp/sysroots/x86_64-linux/usr/lib -L/b/tmp/sysroots/x86_64-linux/lib -Wl,-rpath-link,/b/tmp/sysroots/x86_64-linux/usr/lib -Wl,-rpath-link,/b/tmp/sysroots/x86_64-linux/lib -Wl,-rpath,/b/tmp/sysroots/x86_64-linux/usr/lib -Wl,-rpath,/b/tmp/sysroots/x86_64-linux/lib -Wl,-O1 gcc-ar.o -o gcc-ar \ file-find.o libcommon.a ../libcpp/libcpp.a ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a In file included from ./tm.h:27:0, from /b/tmp/work-shared/gcc-5.3.0-r0/gcc-5.3.0/gcc/gcc.c:34: ./config/linux.h:92:28: error: expected ',' or ';' before 'MUSL_DYNAMIC_LINKER' BIONIC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) ^ ./config/linux.h:59:60: note: in definition of macro 'CHOOSE_DYNAMIC_LINKER1' "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:%{" LIBC4 ":" LD4 ";:" LD1 "}}}" ^ ./config/linux.h:91:3: note: in expansion of macro 'CHOOSE_DYNAMIC_LINKER' CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \ ^ ./config/nios2/linux.h:40:25: note: in expansion of macro 'GNU_USER_DYNAMIC_LINKER' -dynamic-linker " GNU_USER_DYNAMIC_LINKER "} \ ^ /b/tmp/work-shared/gcc-5.3.0-r0/gcc-5.3.0/gcc/gcc.c:884:32: note: in expansion of macro 'LINK_SPEC' static const char *link_spec = LINK_SPEC; ^ <command-line>:0:27: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] /b/tmp/work-shared/gcc-5.3.0-r0/gcc-5.3.0/gcc/gcc.c:1295:48: note: in expansion of macro 'STANDARD_STARTFILE_PREFIX' static char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; Signed-off-by: Marek Vasut <marex@denx.de> Cc: Khem Raj <raj.khem@gmail.com> Cc: Ross Burton <ross.burton@intel.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-07gcc-sanitizers: link directly against sysroot libstc++Ross Burton
Instead of building a shadow libstdc++-v3 directory with symlinks to the sysroot libstdc++-v3.la, fiddle the Makefiles so that it doesn't attempt to link to a in-tree library at all. This fixes builds where .la files are not being installed into the sysroot at all. Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-22gcc-configure-common.inc: add gcc-runtime ABI fixes for armv7m and armv7rAndre McCurdy
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-22gcc5: Upgrade gcc-5.2 -> gcc-5.3Khem Raj
Minor bugfix upgrade to gcc 5.3 for detailed list of fixes in 5.3 see https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&list_id=132738&resolution=FIXED&target_milestone=5.3 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-16meta: more removals of redunant FILES_${PN}-dbgRoss Burton
In some recipes overly-split -dbg packages were merged into PN-dbg. Unless there's a very good reason, recipes should have a single -dev and -dbg package. Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-16meta: Drop now pointless manual -dbg packagingRichard Purdie
With the autodebug package generation logic, specifically setting FILES_${PN}-dbg isn't needed in most cases, we can remove them. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-14nopackages: Add class for recipes which don't generate packagesRichard Purdie
It turns out writing the same list of packaging tasks multiple times in multiple places is error prone. Move this to a new class 'nopackages", migrate existing users and add glibc-initial and libgcc-initial since we don't want packages for those recipes. This means the sstate for those recipes won't be installed, saving small amounts of build time and bandwidth. A reference to the old package_write task is also dropped. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-12gcc: Add support for building musl configurationKhem Raj
Most of these patches are already in gcc 6.0/master but we still need them for older gcc, they have been tested in meta-musl for quite some time Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-12gcc-4.9: import patch fixing compilation in thumb modeDmitry Eremin-Solenikov
Import patch fixing a bug that caused ICE when compiling some packages (e.g. ICU) in Thumb-1 model. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-12gcc-5.2: import patch fixing compilation in thumb modeDmitry Eremin-Solenikov
Import patch fixing a bug that caused ICE when compiling some packages (e.g. ICU) in Thumb-1 model. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-12gcc-cross-initial: make dependency on gnu-config-native and autoconf-native ↵Yuanjie Huang
explicit When a project is configure to use sstate cache and has the host tool sysroot cleaned, gcc-cross-initial may fail to be configured due to lack of gnu-configize tool. gcc-cross-initial recipe has autotools dependency inhibited, and the same flag variable also excludes the gnu-config-native. Though there is an indirect dependency through libmpc-native, it's not safe with sstate cache being used. Moreover, gnu-config-native requires a perl package from autoconf-native to run, otherwise it will fail with "Can't locate Autom4te/ChannelDefs.pm in @INC" message. This patch makes both dependencies explicit for gcc-cross-initial's configuration. Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-08package_regex.inc: split entries which blacklist specific versions to their ↵Alexander Kanavin
recipes Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01guile, mailx, gcc, opensp, gstreamer1.0-libav, libunwind: disable thumb ↵Martin Jansa
where it fails for qemuarm Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-11-25gcc-4.9: Fix various _FOR_BUILD and related variablesJuro Bystricky
This patch is based on the patch for gcc-5.2 (41cbfd7af60f93a4bd496b7b6bf477215a286950) When doing a FOR_BUILD thing, you have to override CFLAGS with CFLAGS_FOR_BUILD. And if you use C++, you also have to override CXXFLAGS with CXXFLAGS_FOR_BUILD. Without this, when building for mingw, you end up trying to use the mingw headers for a host build. The same goes for other variables as well, such as CPPFLAGS, CPP, and GMPINC. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-11-25gcc-multilib-config: make aarch64 support multilibRobert Yang
Fixed: MACHINE = qemuarm64 require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "armv7at-neon" $ bitbake core-image-minimal -cpopulate_sdk WARNING: gcc multilib setup is not supported for TARGET_ARCH=aarch64 WARNING: gcc multilib setup is not supported for TARGET_ARCH=aarch64 [YOCTO #8638] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-11-16gcc: Drop 4.8Richard Purdie
We have 5.2 and 4.9, we don't really need 4.8 now and it can be moved out to other layers if anyone still wants/needs it. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16gcc: Update default Power GCC settings to use secure-pltMark Hatle
The gcc default, bss-plt, will cause errors when using the prelinker. All other distributions that I am aware of are using the the secure-plt. For an explanation of the differences, the gcc docs: Current PowerPC GCC accepts a `-msecure-plt' option that generates code capable of using a newer PLT and GOT layout that has the security advantage of no executable section ever needing to be writable and no writable section ever being executable. PowerPC ld will generate this layout, including stubs to access the PLT, if all input files (including startup and static libraries) were compiled with `-msecure-plt'. `--bss-plt' forces the old BSS PLT (and GOT layout) which can give slightly better performance. The security of the new PLT and ability to run the prelinker outweigh any performance penalty. The secure-plt is enabled by default. The old bss-plt can be enabled by selecting 'bssplt' in the DISTRO_FEATURES. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-10-24gcc-target.inc: Add support for executable thats may have a suffixMark Hatle
In the past GCC has used a wildcard to permit generating executables that may have a suffix, such as .exe. This wild card was lost in one of the updates. Adding the wild card back in fixes a number of issues when generating a mingw gcc. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-10-21gcc-5.2: Fix various _FOR_BUILD and related variablesMark Hatle
When doing a FOR_BUILD thing, you have to override CFLAGS with CFLAGS_FOR_BUILD. And if you use C++, you also have to override CXXFLAGS with CXXFLAGS_FOR_BUILD. Without this, when building for mingw, you end up trying to use the mingw headers for a host build. The same goes for other variables as well, such as CPPFLAGS, CPP, and GMPINC. Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>