Page MenuHomeFreeBSD

D22064.id.diff
No OneTemporary

D22064.id.diff

Index: head/devel/aarch64-none-elf-gcc/Makefile
===================================================================
--- head/devel/aarch64-none-elf-gcc/Makefile
+++ head/devel/aarch64-none-elf-gcc/Makefile
@@ -1,22 +1,99 @@
# $FreeBSD$
-PKGNAMEPREFIX= aarch64-none-elf-
+PORTNAME= gcc
+PORTVERSION= 6.4.0
+PORTREVISION= 7
+CATEGORIES= devel
+MASTER_SITES= GCC
+PKGNAMEPREFIX?= aarch64-none-elf-
+
+MAINTAINER= ports@FreeBSD.org
COMMENT= GNU Compiler Collection for bare metal arm cross-development
-GCC_TARGET= aarch64-none-elf
-PLIST= ${.CURDIR}/pkg-plist
+LICENSE= GPLv3 GPLv3RLE
+LICENSE_COMB= multi
+
+BROKEN_mips= configure: error: cannot compute suffix of object files: cannot compile
+BROKEN_mips64= configure: error: cannot compute suffix of object files: cannot compile
+
+LIB_DEPENDS= libgmp.so:math/gmp \
+ libmpfr.so:math/mpfr \
+ libmpc.so:math/mpc
+BUILD_DEPENDS= ${GCC_TARGET}-as:devel/${PKGNAMEPREFIX}binutils
+RUN_DEPENDS= ${GCC_TARGET}-as:devel/${PKGNAMEPREFIX}binutils
+
+USES= gmake iconv libtool tar:xz makeinfo compiler:c++11-lang
+
+PLIST_SUB= TARGETARCH=${PKGNAMEPREFIX:C/-//g} \
+ OPSYS=${OPSYS:tl} \
+ GCC_TARGET=${GCC_TARGET} \
+ GCC_VERSION=${PORTVERSION}
+
+TARGETARCH= ${PKGNAMEPREFIX:C/-//g}
+
+GCC_TARGET?= aarch64-none-elf
+
+GNU_CONFIGURE= yes
+CONFIGURE_OUTSOURCE= yes
+CONFIGURE_ARGS+=--target=${GCC_TARGET} --disable-nls --enable-languages=c,c++ \
+ --enable-gnu-indirect-function \
+ --without-headers \
+ --with-gmp=${LOCALBASE} \
+ --with-pkgversion="FreeBSD Ports Collection for ${PKGNAMEPREFIX:C/-//g}" \
+ --with-system-zlib \
+ --with-gxx-include-dir=/usr/include/c++/v1/ \
+ --with-sysroot="/" \
+ --with-as=${LOCALBASE}/bin/${GCC_TARGET}-as \
+ --with-ld=${LOCALBASE}/bin/${GCC_TARGET}-ld
+
# U-Boot requires libgcc, crossbuild and install it along with the compiler.
ALL_TARGET= all-gcc all-target-libgcc
INSTALL_TARGET= install-gcc install-target-libgcc
-BROKEN_mips= configure: error: cannot compute suffix of object files: cannot compile
-BROKEN_mips64= configure: error: cannot compute suffix of object files: cannot compile
+.include <bsd.port.pre.mk>
-MASTERDIR= ${.CURDIR}/../powerpc64-gcc
+post-patch:
+ @${REINPLACE_CMD} -e '/LIBSTDCXX/ s/stdc\+\+/c\+\+/g ' \
+ ${WRKSRC}//gcc/cp/g++spec.c
+ @${REINPLACE_CMD} -e '/LOCAL_INCLUDE_DIR/ d ' \
+ ${WRKSRC}//gcc/Makefile.in
-.include "${MASTERDIR}/Makefile"
+.if ${ARCH} == "amd64"
+CONFIGURE_TARGET= x86_64-unknown-${OPSYS:tl}${OSREL}
+.else
+CONFIGURE_TARGET= ${ARCH}-unknown-${OPSYS:tl}${OSREL}
+.endif
# The following is required for clang to bootstrap gcc.
.if ${COMPILER_TYPE} == clang
MAKE_ARGS+= CXXFLAGS=-fbracket-depth=512
.endif
+
+.if ${ARCH} == "aarch64"
+PLIST_SUB+= PLUGINS="@comment plugin does not build"
+.else
+PLIST_SUB+= PLUGINS=""
+.endif
+
+post-install:
+.for f in cpp gcov gcov-dump gcov-tool
+ @if [ -f ${STAGEDIR}${PREFIX}/bin/$f ] ; then \
+ ${MV} ${STAGEDIR}${PREFIX}/bin/$f \
+ ${STAGEDIR}${PREFIX}/bin/${GCC_TARGET}-$f ; \
+ fi
+.endfor
+.for f in c++ cpp g++ gcc gcc-ar gcc-nm gcc-ranlib gcov gcov-dump gcov-tool
+ @if [ ! -f ${STAGEDIR}${PREFIX}/man/man1/${GCC_TARGET}-$f.1 ] ; then \
+ if [ -f ${STAGEDIR}${PREFIX}/man/man1/$f.1 ] ; then \
+ ${CP} ${STAGEDIR}${PREFIX}/man/man1/$f.1 \
+ ${STAGEDIR}${PREFIX}/man/man1/${GCC_TARGET}-$f.1 ; \
+ fi \
+ fi
+ @${RM} ${STAGEDIR}${PREFIX}/bin/$f
+ @${RM} ${STAGEDIR}${PREFIX}/man/man1/$f.1
+ @${RM} ${STAGEDIR}${PREFIX}/man/man1/$f.1.gz
+.endfor
+ @${RM} ${STAGEDIR}${PREFIX}/share/info/*
+ @${RM} ${STAGEDIR}${PREFIX}/man/man7/*
+
+.include <bsd.port.post.mk>
Index: head/devel/aarch64-none-elf-gcc/distinfo
===================================================================
--- head/devel/aarch64-none-elf-gcc/distinfo
+++ head/devel/aarch64-none-elf-gcc/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1514072608
+SHA256 (gcc-6.4.0.tar.xz) = 850bf21eafdfe5cd5f6827148184c08c4a0852a37ccf36ce69855334d2c914d4
+SIZE (gcc-6.4.0.tar.xz) = 76156220
Index: head/devel/aarch64-none-elf-gcc/pkg-descr
===================================================================
--- head/devel/aarch64-none-elf-gcc/pkg-descr
+++ head/devel/aarch64-none-elf-gcc/pkg-descr
@@ -0,0 +1,4 @@
+GCC, the GNU Compiler Collection supporting C and C++ for arm bare metal
+crossbuilding.
+
+WWW: http://gcc.gnu.org/
Index: head/devel/arm-none-eabi-gcc/Makefile
===================================================================
--- head/devel/arm-none-eabi-gcc/Makefile
+++ head/devel/arm-none-eabi-gcc/Makefile
@@ -1,26 +1,13 @@
# $FreeBSD$
PKGNAMEPREFIX= arm-none-eabi-
-COMMENT= GNU Compiler Collection for bare metal arm cross-development
GCC_TARGET= arm-none-eabi
PLIST= ${.CURDIR}/pkg-plist
-# U-Boot requires libgcc, crossbuild and install it along with the compiler.
-ALL_TARGET= all-gcc all-target-libgcc
-INSTALL_TARGET= install-gcc install-target-libgcc
-
# libstdcxx won't build, but we don't need it or multiple float-abi libs.
CONFIGURE_ARGS= --disable-libstdcxx \
--disable-multilib
-BROKEN_mips= configure: error: cannot compute suffix of object files: cannot compile
-BROKEN_mips64= configure: error: cannot compute suffix of object files: cannot compile
+MASTERDIR= ${.CURDIR}/../aarch64-none-elf-gcc
-MASTERDIR= ${.CURDIR}/../powerpc64-gcc
-
.include "${MASTERDIR}/Makefile"
-
-# The following is required for clang to bootstrap gcc.
-.if ${COMPILER_TYPE} == clang
-MAKE_ARGS+= CXXFLAGS=-fbracket-depth=512
-.endif
Index: head/devel/powerpc64-gcc/Makefile
===================================================================
--- head/devel/powerpc64-gcc/Makefile
+++ head/devel/powerpc64-gcc/Makefile
@@ -27,18 +27,14 @@
TARGETARCH= ${PKGNAMEPREFIX:C/-//g}
-.if empty(GCC_TARGET)
-# We are building for a FreeBSD target
GCC_TARGET= ${PKGNAMEPREFIX:S/amd64/x86_64/}unknown-${OPSYS:tl}${OSREL}
-EXTRA_PATCHES+= ${FILESDIR}/freebsd-format-extensions \
- ${FILESDIR}/freebsd-libdir
-.endif
BU_PREFIX?= ${GCC_TARGET}
GNU_CONFIGURE= yes
CONFIGURE_OUTSOURCE= yes
CONFIGURE_ARGS+=--target=${GCC_TARGET} --disable-nls --enable-languages=c,c++ \
--enable-gnu-indirect-function \
+ --enable-initfini-array \
--without-headers \
--with-gmp=${LOCALBASE} \
--with-pkgversion="FreeBSD Ports Collection for ${PKGNAMEPREFIX:C/-//g}" \
@@ -48,16 +44,11 @@
--with-as=${LOCALBASE}/bin/${BU_PREFIX}-as \
--with-ld=${LOCALBASE}/bin/${BU_PREFIX}-ld
-ALL_TARGET?= all-gcc
-INSTALL_TARGET?= install-gcc
+ALL_TARGET= all-gcc
+INSTALL_TARGET= install-gcc
-.include <bsd.port.options.mk>
.include <bsd.port.pre.mk>
-.if ${GCC_TARGET:M*${OPSYS:tl}*} != ""
-CONFIGURE_ARGS+= --enable-initfini-array
-.endif
-
post-patch:
@${REINPLACE_CMD} -e '/LIBSTDCXX/ s/stdc\+\+/c\+\+/g ' \
${WRKSRC}//gcc/cp/g++spec.c
@@ -102,9 +93,7 @@
.endfor
@${RM} ${STAGEDIR}${PREFIX}/share/info/*
@${RM} ${STAGEDIR}${PREFIX}/man/man7/*
-.if empty(PKGNAMEPREFIX:M*-*-)
@${RM} -r ${STAGEDIR}${PREFIX}/lib/gcc/${GCC_TARGET}/${PORTVERSION}/include-fixed
-.endif
.if ${TARGETARCH} == "amd64" || ${TARGETARCH} == "i386"
# Conflicts with sys/x86/include/float.h
${RM} ${STAGEDIR}${PREFIX}/lib/gcc/${GCC_TARGET}/${PORTVERSION}/include/float.h
Index: head/devel/powerpc64-gcc/files/freebsd-format-extensions
===================================================================
--- head/devel/powerpc64-gcc/files/freebsd-format-extensions
+++ head/devel/powerpc64-gcc/files/freebsd-format-extensions
@@ -1,117 +0,0 @@
-Index: gcc/c-family/c-format.c
-===================================================================
---- gcc/c-family/c-format.c (revision 216017)
-+++ gcc/c-family/c-format.c (working copy)
-@@ -622,6 +622,26 @@
- { NULL, 0, STD_C89, NOLENGTHS, NULL, NULL, NULL }
- };
-
-+static const format_char_info fbsd_ext_char_info =
-+{ NULL, 1, STD_EXT, { T89_C, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "", "cR", NULL };
-+
-+static const format_char_info fbsd_print_char_table[] =
-+{
-+ /* BSD conversion specifiers. */
-+ /* FreeBSD kernel extensions (src/sys/kern/subr_prf.c).
-+ The format %b is supported to decode error registers.
-+ Its usage is: printf("reg=%b\n", regval, "<base><arg>*");
-+ which produces: reg=3<BITTWO,BITONE>
-+ The format %D provides a hexdump given a pointer and separator string:
-+ ("%6D", ptr, ":") -> XX:XX:XX:XX:XX:XX
-+ ("%*D", len, ptr, " ") -> XX XX XX XX ...
-+ */
-+ { "D", 1, STD_EXT, { T89_V, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "cR", &fbsd_ext_char_info },
-+ { "b", 0, STD_EXT, { T89_I, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "", &fbsd_ext_char_info },
-+ { "ry", 0, STD_EXT, { T89_I, BADLEN, BADLEN, T89_L, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp0 +#", "i", NULL },
-+ { NULL, 0, STD_C89, NOLENGTHS, NULL, NULL, NULL }
-+};
-+
- static const format_char_info asm_fprintf_char_table[] =
- {
- /* C89 conversion specifiers. */
-@@ -872,6 +892,12 @@
- strfmon_flag_specs, strfmon_flag_pairs,
- FMT_FLAG_ARG_CONVERT, 'w', '#', 'p', 0, 'L', 0,
- NULL, NULL
-+ },
-+ { "printf0", printf_length_specs, print_char_table, " +#0-'I", NULL,
-+ printf_flag_specs, printf_flag_pairs,
-+ FMT_FLAG_ARG_CONVERT|FMT_FLAG_DOLLAR_MULTIPLE|FMT_FLAG_USE_DOLLAR|FMT_FLAG_EMPTY_PREC_OK|FMT_FLAG_NULL_FORMAT_OK,
-+ 'w', 0, 'p', 0, 'L', 0,
-+ &integer_type_node, &integer_type_node
- }
- };
-
-@@ -1426,6 +1452,9 @@
-
- if (integer_zerop (format_tree))
- {
-+ if (!(format_types[info->format_type].flags & FMT_FLAG_NULL_FORMAT_OK))
-+ warning (OPT_Wformat_, "null format string");
-+
- /* Skip to first argument to check, so we can see if this format
- has any arguments (it shouldn't). */
- while (arg_num + 1 < info->first_arg_num)
-@@ -1926,6 +1955,14 @@
- while (fli->name != 0
- && strncmp (fli->name, format_chars, strlen (fli->name)))
- fli++;
-+ /*
-+ * Make sure FreeBSD's D format char takes preference
-+ * over new DD length specifier if FreeBSD format
-+ * extensions are requested.
-+ */
-+ if (fli->index == FMT_LEN_D && flag_format_extensions
-+ && fki->conversion_specs == print_char_table)
-+ while (fli->name != 0) fli++;
- if (fli->name != 0)
- {
- format_chars += strlen (fli->name);
-@@ -1993,6 +2030,14 @@
- while (fci->format_chars != 0
- && strchr (fci->format_chars, format_char) == 0)
- ++fci;
-+ if (fci->format_chars == 0 && flag_format_extensions
-+ && fki->conversion_specs == print_char_table)
-+ {
-+ fci = fbsd_print_char_table;
-+ while (fci->format_chars != 0
-+ && strchr (fci->format_chars, format_char) == 0)
-+ ++fci;
-+ }
- if (fci->format_chars == 0)
- {
- if (ISGRAPH (format_char))
-Index: gcc/c-family/c-format.h
-===================================================================
---- gcc/c-family/c-format.h (revision 216017)
-+++ gcc/c-family/c-format.h (working copy)
-@@ -75,11 +75,12 @@
- FMT_FLAG_DOLLAR_GAP_POINTER_OK = 128,
- /* The format arg is an opaque object that will be parsed by an external
- facility. */
-- FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL = 256
-+ FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL = 256,
- /* Not included here: details of whether width or precision may occur
- (controlled by width_char and precision_char); details of whether
- '*' can be used for these (width_type and precision_type); details
- of whether length modifiers can occur (length_char_specs). */
-+ FMT_FLAG_NULL_FORMAT_OK = 512
- };
-
- /* Structure describing a length modifier supported in format checking, and
-Index: gcc/config/freebsd.opt
-===================================================================
---- gcc/config/freebsd.opt (revision 216017)
-+++ gcc/config/freebsd.opt (working copy)
-@@ -34,6 +34,10 @@
- defsym=
- Driver JoinedOrMissing
-
-+fformat-extensions
-+Common Report Var(flag_format_extensions) Init(0)
-+Allow FreeBSD kernel-specific printf format specifiers.
-+
- posix
- Driver
-
Index: head/devel/powerpc64-gcc/files/freebsd-libdir
===================================================================
--- head/devel/powerpc64-gcc/files/freebsd-libdir
+++ head/devel/powerpc64-gcc/files/freebsd-libdir
@@ -1,43 +0,0 @@
-diff --git gcc/config/freebsd.h gcc/config/freebsd.h
-index e7ea42370c5..191e7da2071 100644
---- gcc/config/freebsd.h
-+++ gcc/config/freebsd.h
-@@ -44,6 +44,9 @@ along with GCC; see the file COPYING3. If not see
- #undef LIB_SPEC
- #define LIB_SPEC FBSD_LIB_SPEC
-
-+#undef STARTFILE_PREFIX_SPEC
-+#define STARTFILE_PREFIX_SPEC "/usr/lib/ "
-+
- #if defined(HAVE_LD_EH_FRAME_HDR)
- #define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
- #endif
-diff --git gcc/gcc.c gcc/gcc.c
-index f70755679f4..890ef20fd43 100644
---- gcc/gcc.c
-+++ gcc/gcc.c
-@@ -4298,10 +4298,12 @@ process_command (unsigned int decoded_options_count,
- }
-
- set_std_prefix (gcc_exec_prefix, len);
-+#if 0
- add_prefix (&exec_prefixes, gcc_libexec_prefix, "GCC",
- PREFIX_PRIORITY_LAST, 0, 0);
- add_prefix (&startfile_prefixes, gcc_exec_prefix, "GCC",
- PREFIX_PRIORITY_LAST, 0, 0);
-+#endif
- }
-
- /* COMPILER_PATH and LIBRARY_PATH have values
-@@ -4585,9 +4587,11 @@ process_command (unsigned int decoded_options_count,
- add_prefix (&exec_prefixes,
- concat (tooldir_prefix, "bin", dir_separator_str, NULL),
- "BINUTILS", PREFIX_PRIORITY_LAST, 0, 0);
-+#if 0
- add_prefix (&startfile_prefixes,
- concat (tooldir_prefix, "lib", dir_separator_str, NULL),
- "BINUTILS", PREFIX_PRIORITY_LAST, 0, 1);
-+#endif
- free (tooldir_prefix);
-
- #if defined(TARGET_SYSTEM_ROOT_RELOCATABLE) && !defined(VMS)
Index: head/devel/powerpc64-gcc/files/patch-freebsd-format-extensions
===================================================================
--- head/devel/powerpc64-gcc/files/patch-freebsd-format-extensions
+++ head/devel/powerpc64-gcc/files/patch-freebsd-format-extensions
@@ -0,0 +1,117 @@
+Index: gcc/c-family/c-format.c
+===================================================================
+--- gcc/c-family/c-format.c (revision 216017)
++++ gcc/c-family/c-format.c (working copy)
+@@ -622,6 +622,26 @@
+ { NULL, 0, STD_C89, NOLENGTHS, NULL, NULL, NULL }
+ };
+
++static const format_char_info fbsd_ext_char_info =
++{ NULL, 1, STD_EXT, { T89_C, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "", "cR", NULL };
++
++static const format_char_info fbsd_print_char_table[] =
++{
++ /* BSD conversion specifiers. */
++ /* FreeBSD kernel extensions (src/sys/kern/subr_prf.c).
++ The format %b is supported to decode error registers.
++ Its usage is: printf("reg=%b\n", regval, "<base><arg>*");
++ which produces: reg=3<BITTWO,BITONE>
++ The format %D provides a hexdump given a pointer and separator string:
++ ("%6D", ptr, ":") -> XX:XX:XX:XX:XX:XX
++ ("%*D", len, ptr, " ") -> XX XX XX XX ...
++ */
++ { "D", 1, STD_EXT, { T89_V, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "cR", &fbsd_ext_char_info },
++ { "b", 0, STD_EXT, { T89_I, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "", &fbsd_ext_char_info },
++ { "ry", 0, STD_EXT, { T89_I, BADLEN, BADLEN, T89_L, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp0 +#", "i", NULL },
++ { NULL, 0, STD_C89, NOLENGTHS, NULL, NULL, NULL }
++};
++
+ static const format_char_info asm_fprintf_char_table[] =
+ {
+ /* C89 conversion specifiers. */
+@@ -872,6 +892,12 @@
+ strfmon_flag_specs, strfmon_flag_pairs,
+ FMT_FLAG_ARG_CONVERT, 'w', '#', 'p', 0, 'L', 0,
+ NULL, NULL
++ },
++ { "printf0", printf_length_specs, print_char_table, " +#0-'I", NULL,
++ printf_flag_specs, printf_flag_pairs,
++ FMT_FLAG_ARG_CONVERT|FMT_FLAG_DOLLAR_MULTIPLE|FMT_FLAG_USE_DOLLAR|FMT_FLAG_EMPTY_PREC_OK|FMT_FLAG_NULL_FORMAT_OK,
++ 'w', 0, 'p', 0, 'L', 0,
++ &integer_type_node, &integer_type_node
+ }
+ };
+
+@@ -1426,6 +1452,9 @@
+
+ if (integer_zerop (format_tree))
+ {
++ if (!(format_types[info->format_type].flags & FMT_FLAG_NULL_FORMAT_OK))
++ warning (OPT_Wformat_, "null format string");
++
+ /* Skip to first argument to check, so we can see if this format
+ has any arguments (it shouldn't). */
+ while (arg_num + 1 < info->first_arg_num)
+@@ -1926,6 +1955,14 @@
+ while (fli->name != 0
+ && strncmp (fli->name, format_chars, strlen (fli->name)))
+ fli++;
++ /*
++ * Make sure FreeBSD's D format char takes preference
++ * over new DD length specifier if FreeBSD format
++ * extensions are requested.
++ */
++ if (fli->index == FMT_LEN_D && flag_format_extensions
++ && fki->conversion_specs == print_char_table)
++ while (fli->name != 0) fli++;
+ if (fli->name != 0)
+ {
+ format_chars += strlen (fli->name);
+@@ -1993,6 +2030,14 @@
+ while (fci->format_chars != 0
+ && strchr (fci->format_chars, format_char) == 0)
+ ++fci;
++ if (fci->format_chars == 0 && flag_format_extensions
++ && fki->conversion_specs == print_char_table)
++ {
++ fci = fbsd_print_char_table;
++ while (fci->format_chars != 0
++ && strchr (fci->format_chars, format_char) == 0)
++ ++fci;
++ }
+ if (fci->format_chars == 0)
+ {
+ if (ISGRAPH (format_char))
+Index: gcc/c-family/c-format.h
+===================================================================
+--- gcc/c-family/c-format.h (revision 216017)
++++ gcc/c-family/c-format.h (working copy)
+@@ -75,11 +75,12 @@
+ FMT_FLAG_DOLLAR_GAP_POINTER_OK = 128,
+ /* The format arg is an opaque object that will be parsed by an external
+ facility. */
+- FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL = 256
++ FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL = 256,
+ /* Not included here: details of whether width or precision may occur
+ (controlled by width_char and precision_char); details of whether
+ '*' can be used for these (width_type and precision_type); details
+ of whether length modifiers can occur (length_char_specs). */
++ FMT_FLAG_NULL_FORMAT_OK = 512
+ };
+
+ /* Structure describing a length modifier supported in format checking, and
+Index: gcc/config/freebsd.opt
+===================================================================
+--- gcc/config/freebsd.opt (revision 216017)
++++ gcc/config/freebsd.opt (working copy)
+@@ -34,6 +34,10 @@
+ defsym=
+ Driver JoinedOrMissing
+
++fformat-extensions
++Common Report Var(flag_format_extensions) Init(0)
++Allow FreeBSD kernel-specific printf format specifiers.
++
+ posix
+ Driver
+
Index: head/devel/powerpc64-gcc/files/patch-freebsd-libdir
===================================================================
--- head/devel/powerpc64-gcc/files/patch-freebsd-libdir
+++ head/devel/powerpc64-gcc/files/patch-freebsd-libdir
@@ -0,0 +1,43 @@
+diff --git gcc/config/freebsd.h gcc/config/freebsd.h
+index e7ea42370c5..191e7da2071 100644
+--- gcc/config/freebsd.h
++++ gcc/config/freebsd.h
+@@ -44,6 +44,9 @@ along with GCC; see the file COPYING3. If not see
+ #undef LIB_SPEC
+ #define LIB_SPEC FBSD_LIB_SPEC
+
++#undef STARTFILE_PREFIX_SPEC
++#define STARTFILE_PREFIX_SPEC "/usr/lib/ "
++
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+ #define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
+ #endif
+diff --git gcc/gcc.c gcc/gcc.c
+index f70755679f4..890ef20fd43 100644
+--- gcc/gcc.c
++++ gcc/gcc.c
+@@ -4298,10 +4298,12 @@ process_command (unsigned int decoded_options_count,
+ }
+
+ set_std_prefix (gcc_exec_prefix, len);
++#if 0
+ add_prefix (&exec_prefixes, gcc_libexec_prefix, "GCC",
+ PREFIX_PRIORITY_LAST, 0, 0);
+ add_prefix (&startfile_prefixes, gcc_exec_prefix, "GCC",
+ PREFIX_PRIORITY_LAST, 0, 0);
++#endif
+ }
+
+ /* COMPILER_PATH and LIBRARY_PATH have values
+@@ -4585,9 +4587,11 @@ process_command (unsigned int decoded_options_count,
+ add_prefix (&exec_prefixes,
+ concat (tooldir_prefix, "bin", dir_separator_str, NULL),
+ "BINUTILS", PREFIX_PRIORITY_LAST, 0, 0);
++#if 0
+ add_prefix (&startfile_prefixes,
+ concat (tooldir_prefix, "lib", dir_separator_str, NULL),
+ "BINUTILS", PREFIX_PRIORITY_LAST, 0, 1);
++#endif
+ free (tooldir_prefix);
+
+ #if defined(TARGET_SYSTEM_ROOT_RELOCATABLE) && !defined(VMS)

File Metadata

Mime Type
text/plain
Expires
Wed, Apr 22, 1:31 PM (11 h, 11 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31981729
Default Alt Text
D22064.id.diff (20 KB)

Event Timeline