add arm-eabi-libstdc++

This commit is contained in:
ziggi
2020-02-20 09:52:35 +00:00
parent 9fc1de067d
commit dfd0b1d3d9
16 changed files with 1678 additions and 3 deletions

View File

@@ -35,7 +35,7 @@ USES+= gmake tar:bz2
TARGET= arm-eabi
LANGUAGES= c
LANGUAGES= c,c++
CONFIGURE_TARGET= #
CONFIGURE_ARGS+= --target=${TARGET}
@@ -76,8 +76,8 @@ CONFIGURE_ARGS+= --disable-threads
CONFIGURE_ARGS+= --disable-tls
CONFIGURE_ARGS+= --enable-multilib
CONFIGURE_ARGS+= --with-multilib-list=rmprofile
CONFIGURE_ARGS+= --with-multilib-list=rmprofile
#CONFIGURE_ARGS+= --disable-decimal-float
CONFIGURE_ENV+= ac_cv_path_SED=${LOCALBASE}/bin/gsed
CONFIGURE_ARGS+= --disable-libstdcxx

View File

@@ -1,4 +1,6 @@
bin/arm-eabi-c++
bin/arm-eabi-cpp
bin/arm-eabi-g++
bin/arm-eabi-gcc
bin/arm-eabi-gcc-ar
bin/arm-eabi-gcc-nm
@@ -128,6 +130,11 @@ lib/gcc/arm-eabi/8.2.1/plugin/include/convert.h
lib/gcc/arm-eabi/8.2.1/plugin/include/coretypes.h
lib/gcc/arm-eabi/8.2.1/plugin/include/coverage.h
lib/gcc/arm-eabi/8.2.1/plugin/include/cp/cp-tree.def
lib/gcc/arm-eabi/8.2.1/plugin/include/cp/cp-tree.h
lib/gcc/arm-eabi/8.2.1/plugin/include/cp/cxx-pretty-print.h
lib/gcc/arm-eabi/8.2.1/plugin/include/cp/name-lookup.h
lib/gcc/arm-eabi/8.2.1/plugin/include/cp/operators.def
lib/gcc/arm-eabi/8.2.1/plugin/include/cp/type-utils.h
lib/gcc/arm-eabi/8.2.1/plugin/include/cppbuiltin.h
lib/gcc/arm-eabi/8.2.1/plugin/include/cppdefault.h
lib/gcc/arm-eabi/8.2.1/plugin/include/cpplib.h
@@ -592,6 +599,7 @@ lib/libcc1.la
lib/libcc1.so
lib/libcc1.so.0
libexec/gcc/arm-eabi/8.2.1/cc1
libexec/gcc/arm-eabi/8.2.1/cc1plus
libexec/gcc/arm-eabi/8.2.1/collect2
libexec/gcc/arm-eabi/8.2.1/install-tools/fixinc.sh
libexec/gcc/arm-eabi/8.2.1/install-tools/fixincl
@@ -604,6 +612,7 @@ libexec/gcc/arm-eabi/8.2.1/lto-wrapper
libexec/gcc/arm-eabi/8.2.1/lto1
libexec/gcc/arm-eabi/8.2.1/plugin/gengtype
man/man1/arm-eabi-cpp.1.gz
man/man1/arm-eabi-g++.1.gz
man/man1/arm-eabi-gcc.1.gz
man/man1/arm-eabi-gcov-dump.1.gz
man/man1/arm-eabi-gcov-tool.1.gz

View File

@@ -0,0 +1,130 @@
#
# $Id: Makefile 1285 2007-10-25 11:42:14Z root $
#
PORTNAME= libc++
DIST_SUBDIR= arm
PORTVERSION= 8.2.1
CATEGORIES= devel
MASTER_SITES= https://developer.arm.com/-/media/Files/downloads/gnu-rm/8-2018q4/
DISTNAME= ${ORIGINAL_PACKAGE_NAME}-src
CATEGORIES= devel
PKGNAMEPREFIX= ${TARGET}-
GCC_VERSION= 8.2.1
FULL_VERSION= 8-2018-q4-major
ORIGINAL_TARGET= arm-none-eabi
ORIGINAL_PACKAGE_NAME= gcc-${ORIGINAL_TARGET}-${FULL_VERSION}
MAINTAINER= homeunix7@gmail.com
COMMENT= GNU Compiler Collection for bare metal arm cross-development
LIB_DEPENDS+= libgmp.so:math/libgmp
LIB_DEPENDS+= libmpc.so:math/libmpc
LIB_DEPENDS+= libmpfr.so:math/libmpfr
BUILD_DEPENS+= gawk:text/gawk
BUILD_DEPENS+= gawk:text/gsed
RUN_DEPENDS+= ${TARGET}-as:devel/${TARGET}-binutils
BUILD_DEPENDS+= ${TARGET}-as:devel/${TARGET}-binutils
GNU_CONFIGURE= yes
USES+= gmake tar:bz2
TARGET= arm-eabi
LANGUAGES= c++
ALL_TARGET= all-target-libstdc++-v3
INSTALL_TARGET= install-target-libstdc++-v3
CONFIGURE_TARGET= #
CONFIGURE_ARGS+= --target=${TARGET}
CONFIGURE_ARGS+= --enable-languages='${LANGUAGES}'
CONFIGURE_ARGS+= --with-system-zlib
CONFIGURE_ARGS+= --with-mpfr=${LOCALBASE}
CONFIGURE_ARGS+= --with-gmp=${LOCALBASE}
LDFLAGS= -L${LOCALBASE}/lib
CFLAGS= -I${WRKSRC}/../include -I${LOCALBASE}/include -Os
CPPFLAGS= -I${WRKSRC}/../include -I${LOCALBASE}/include -Os
CXXFLAGS+= -fbracket-depth=512 -Os
CXXFLAGS+= -Wno-error -fbracket-depth=512 -Wno-deprecated-register
CFLAGS+= -Wno-error -fbracket-depth=512 -Wno-deprecated-register
CONFIGURE_ARGS+= --with-headers
CONFIGURE_ARGS+= --disable-shared
CONFIGURE_ARGS+= --disable-threads
CONFIGURE_ARGS+= --with-newlib
CONFIGURE_ARGS+= --disable-bootstrap
CONFIGURE_ARGS+= --without-nls
CONFIGURE_ARGS+= --disable-nls
CONFIGURE_ARGS+= --disable-shared
CONFIGURE_ARGS+= --infodir=${LOCALBASE}/info/${TARGET}
CONFIGURE_ARGS+= --with-as=${LOCALBASE}/bin/${TARGET}-as
CONFIGURE_ARGS+= --with-ld=${LOCALBASE}/bin/${TARGET}-ld
MAKE_ARGS+= AWK=${LOCALBASE}/bin/gawk
MAKE_ARGS+= INHIBIT_LIBC_CFLAGS="-DUSE_TM_CLONE_REGISTRY=0"
CONFIGURE_ARGS+= --disable-decimal-float
CONFIGURE_ARGS+= --disable-libffi
CONFIGURE_ARGS+= --disable-libgomp
CONFIGURE_ARGS+= --disable-libmudflap
CONFIGURE_ARGS+= --disable-libquadmath
CONFIGURE_ARGS+= --disable-libssp
CONFIGURE_ARGS+= --disable-libstdcxx-pch
CONFIGURE_ARGS+= --disable-threads
CONFIGURE_ARGS+= --disable-tls
CONFIGURE_ARGS+= --enable-multilib
CONFIGURE_ARGS+= --with-multilib-list=rmprofile
#CONFIGURE_ARGS+= --disable-decimal-float
CONFIGURE_ENV+= ac_cv_path_SED=${LOCALBASE}/bin/gsed
#CONFIGURE_ARGS+= --disable-libstdcxx
PATCH_WRKSRC= ${WRKDIR}/${ORIGINAL_PACKAGE_NAME}/src
PATCH_STRIP= -p1
SRCDIR= ${WRKDIR}/${ORIGINAL_PACKAGE_NAME}/src
WRKSRC= ${WRKDIR}/${ORIGINAL_PACKAGE_NAME}/src/gcc
CONFIGURE_WRKSRC= ${WRKSRC}/build
BUILD_WRKSRC= ${WRKSRC}/build
INSTALL_WRKSRC= ${WRKSRC}/build
CONFIGURE_SCRIPT= ../configure
post-extract:
${TAR} -xf ${SRCDIR}/gcc.tar.bz2 -C ${SRCDIR}
${MKDIR} ${WRKSRC}/build
post-patch:
${REINPLACE_CMD} -e 's,-g -O2,-O,' ${WRKSRC}/configure ${WRKSRC}/*/configure
PLIST_SUB+= SUFFIX=${GCC_SUFFIX}
PLIST_SUB+= TARGET=${TARGET}
PLIST_SUB+= VERSION=${PORTVERSION}
post-configure:
${MKDIR} ${WRKSRC}/gcc/include
pre-configure:
${MKDIR} ${WRKSRC}
${FIND} ${WRKSRC} -name 'config.cache' | ${XARGS} ${RM} -v
.include <bsd.port.pre.mk>
.if (${OSVERSION} > 1100000)
BUILD_DEPENDS+= makeinfo:system/texinfo
.endif
.include <bsd.port.post.mk>
#EOF

View File

@@ -0,0 +1,3 @@
TIMESTAMP = 1581924461
SHA256 (arm/gcc-arm-none-eabi-8-2018-q4-major-src.tar.bz2) = bc228325dbbfaf643f2ee5d19e01d8b1873fcb9c31781b5e1355d40a68704ce7
SIZE (arm/gcc-arm-none-eabi-8-2018-q4-major-src.tar.bz2) = 176155267

View File

@@ -0,0 +1,11 @@
--- src/gdb/gdb/dtrace-probe.c.orig 2018-01-23 21:30:27.712651000 +0300
+++ src/gdb/gdb/dtrace-probe.c 2018-01-23 21:30:46.183643000 +0300
@@ -77,6 +77,8 @@
class dtrace_static_probe_ops : public static_probe_ops
{
public:
+ dtrace_static_probe_ops() {}
+
/* See probe.h. */
bool is_linespec (const char **linespecp) const override;

View File

@@ -0,0 +1,20 @@
--- src/gdb/gdb/dwarf2read.c.orig 2018-01-25 13:10:17.113384000 +0300
+++ src/gdb/gdb/dwarf2read.c 2018-01-25 13:11:33.355566000 +0300
@@ -23105,7 +23105,7 @@
}
break;
- case DW_MACINFO_vendor_ext:
+ case DW_MACRO_hi_user:
if (!section_is_gnu)
{
unsigned int bytes_read;
@@ -23281,7 +23281,7 @@
mac_ptr += offset_size;
break;
- case DW_MACINFO_vendor_ext:
+ case DW_MACRO_hi_user:
/* Only skip the data by MAC_PTR. */
if (!section_is_gnu)
{

View File

@@ -0,0 +1,11 @@
--- src/gdb/gdb/gnulib/import/stddef.in.h.orig 2016-10-19 20:29:26.000000000 +0300
+++ src/gdb/gdb/gnulib/import/stddef.in.h 2018-01-14 18:58:11.223138215 +0300
@@ -84,7 +84,7 @@
/* Some platforms lack max_align_t. The check for _GCC_MAX_ALIGN_T is
a hack in case the configure-time test was done with g++ even though
we are currently compiling with gcc. */
-#if ! (@HAVE_MAX_ALIGN_T@ || defined _GCC_MAX_ALIGN_T)
+#if 0
/* On the x86, the maximum storage alignment of double, long, etc. is 4,
but GCC's C11 ABI for x86 says that max_align_t has an alignment of 8,
and the C11 standard allows this. Work around this problem by

View File

@@ -0,0 +1,11 @@
--- src/gdb/gdb/probe.c.orig 2018-01-24 19:30:20.436713000 +0300
+++ src/gdb/gdb/probe.c 2018-01-24 19:30:41.659782000 +0300
@@ -43,6 +43,8 @@
class any_static_probe_ops : public static_probe_ops
{
public:
+ any_static_probe_ops() {}
+
/* See probe.h. */
bool is_linespec (const char **linespecp) const override;

View File

@@ -0,0 +1,11 @@
--- src/gdb/gdb/python/python-config.py.orig 2019-01-22 16:22:04.766003000 +0300
+++ src/gdb/gdb/python/python-config.py 2019-01-22 16:22:38.796302000 +0300
@@ -58,7 +58,7 @@
print (to_unix_path(' '.join(flags)))
elif opt in ('--libs', '--ldflags'):
- libs = ['-lpython' + pyver + abiflags]
+ libs = ['-L' + sysconfig.PREFIX + "/lib", '-lpython' + pyver + abiflags]
if getvar('LIBS') is not None:
libs.extend(getvar('LIBS').split())
if getvar('SYSLIBS') is not None:

View File

@@ -0,0 +1,11 @@
--- src/gdb/gdb/stap-probe.c.orig 2018-01-23 18:50:38.886661000 +0300
+++ src/gdb/gdb/stap-probe.c 2018-01-23 18:51:08.013663000 +0300
@@ -102,6 +102,8 @@
class stap_static_probe_ops : public static_probe_ops
{
public:
+ stap_static_probe_ops() {}
+
/* See probe.h. */
bool is_linespec (const char **linespecp) const override;

View File

@@ -0,0 +1,12 @@
--- src/gdb/gdb/target-float.c.orig 2019-01-22 18:39:51.598469000 +0300
+++ src/gdb/gdb/target-float.c 2019-01-22 18:40:20.405163000 +0300
@@ -1155,7 +1155,9 @@
#ifdef HAVE_LIBMPFR
+#ifndef MPFR_USE_INTMAX_T
#define MPFR_USE_INTMAX_T
+#endif
#include <mpfr.h>

View File

@@ -0,0 +1,11 @@
--- src/gcc/gcc/config/arm/arm.h.orig 2016-12-05 16:07:09 UTC
+++ src/gcc/gcc/config/arm/arm.h
@@ -2273,7 +2273,7 @@ extern const char *arm_target_thumb_only
/* -mcpu=native handling only makes sense with compiler running on
an ARM chip. */
-#if defined(__arm__)
+#if defined(__arm__) && !defined(CROSS_DIRECTORY_STRUCTURE)
extern const char *host_detect_local_cpu (int argc, const char **argv);
# define EXTRA_SPEC_FUNCTIONS \
{ "local_cpu_detect", host_detect_local_cpu }, \

View File

@@ -0,0 +1,11 @@
--- src/gcc/gcc/tree-vect-loop.c.orig 2019-12-02 09:49:15 UTC
+++ src/gcc/gcc/tree-vect-loop.c
@@ -55,6 +55,8 @@ along with GCC; see the file COPYING3. If not see
#include "vec-perm-indices.h"
#include "tree-eh.h"
+#define vec_step vec_step_
+
/* Loop Vectorization Pass.
This pass tries to vectorize loops.

View File

@@ -0,0 +1,5 @@
MULTILIB_OPTIONS = march=armv7-a mthumb
MULTILIB_DIRNAMES = armv7-a thumb
MULTILIB_EXCEPTIONS =
MULTILIB_MATCHES =
MULTILIB_OSDIRNAMES =

View File

@@ -0,0 +1,6 @@
The GNU Ada compiler system built from GCC 4.1.2.
Please add ${PREFIX}/bin/gcc41 to your PATH variable
before using this port.
WWW: http://gcc.gnu.org/

File diff suppressed because it is too large Load Diff