summaryrefslogtreecommitdiffstats
path: root/package/gcc/6.1.0/892-disable-dwarf-bfin.patch
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2016-08-19 22:25:12 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2016-08-20 11:47:46 +0200
commit0d8a05c38e58b4c9240e882e0184bc10ec4f6eb4 (patch)
tree8923ed096c55f2378bef1ed6bb6104624e6f74a3 /package/gcc/6.1.0/892-disable-dwarf-bfin.patch
parent548657513d3d935e74aed2cfbc6d56ba0804736d (diff)
downloadbuildroot-0d8a05c38e58b4c9240e882e0184bc10ec4f6eb4.tar.gz
buildroot-0d8a05c38e58b4c9240e882e0184bc10ec4f6eb4.zip
bfin: fix issues with internal toolchain, re-enable C++ support
The three patches allow to compile applications using TLS emulation from libgcc or C++ applications. The patches 892-libgcc-mkmap-symver-support-skip_underscore.patch and 893-libgcc-config-bfin-use-the-generic-linker-version-in.patch fixes how libgcc is generated, by making the necessary libgcc symbols declared "GLOBAL", and therefore visible outside of libgcc. This fixes a large number of undefined reference issues (for either C++ applications or applications using TLS emulation). This was reported as gcc PR74748. The patch 894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch allows to build DWARF in FDPIC mode. This patch replaces the older 892-disable-dwarf-bfin.patch, as instead of disabling DWARF support, it fixes it. This was reported as gcc PR68468. In order to get C++ working without unresolved symbols, we also need to disable symbol versioning (--disable-symvers). This is a remaining issue in gcc which will be investigated at a later point. Since this commit fixes C++ support in Blackfin, it re-enables the selection of C++ support for this architecture. Fixes: (alsa-lib emutls) http://autobuild.buildroot.net/results/8544ce58d75820666579db93a25ca5656a8efa8e/ (cairo emutls) http://autobuild.buildroot.net/results/88b02a5dd5408318941ccbfcea0a9cbaa331500a/ (audiofile c++) http://autobuild.buildroot.net/results/394e530c5dcd9ccb590eb151aeaadb37d11e0e39/ (assimp c++) http://autobuild.buildroot.net/results/01f4be126c2d786a5ad7f220c2cf60539888a480/ (bellagio c++) http://autobuild.buildroot.net/results/ada/ada44228bf13ec05382275bd6571396f5ba2b1f7/ Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Tested-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/gcc/6.1.0/892-disable-dwarf-bfin.patch')
-rw-r--r--package/gcc/6.1.0/892-disable-dwarf-bfin.patch24
1 files changed, 0 insertions, 24 deletions
diff --git a/package/gcc/6.1.0/892-disable-dwarf-bfin.patch b/package/gcc/6.1.0/892-disable-dwarf-bfin.patch
deleted file mode 100644
index ebd31a1855..0000000000
--- a/package/gcc/6.1.0/892-disable-dwarf-bfin.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Dwarf support does not compile on Blackfin
-
-Reported upstream:
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68468
-
-Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
-
-diff -Nur gcc-6.1.0.orig/libgcc/config.host gcc-6.1.0/libgcc/config.host
---- gcc-6.1.0.orig/libgcc/config.host 2016-02-26 21:02:28.000000000 +0100
-+++ gcc-6.1.0/libgcc/config.host 2016-05-12 19:26:30.973350274 +0200
-@@ -230,6 +230,13 @@
- ;;
- esac
- ;;
-+bfin-*-*linux*)
-+ tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-linux"
-+ extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
-+ if test x$enable_vtable_verify = xyes; then
-+ extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
-+ fi
-+ ;;
- *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
- tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-linux"
- extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
OpenPOWER on IntegriCloud