1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-24 04:33:24 +00:00

Update to 2.24

Do not install libiberty.a to aviod conflicts with devel/gnulibiberty [0]
Do not install include/ansidecl.h, to avoid conflicts with gcc49 [1]
Fix gold usage when linking c++ code, related to ctors [2]

Thanks to dim for help with getting gold to build with libc++!

PR:		ports/176406 [0], ports/184327 [1]
Submitted by:	Craig Leres <leres@ee.lbl.gov> [0]
		Gerald Pfeifer <gerald@pfeifer.com> [1]
Requested by:	rdivacky [2]
This commit is contained in:
Niclas Zeising 2013-12-16 14:52:26 +00:00
parent e66acdbd56
commit b9c90aa46a
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=336642
12 changed files with 119 additions and 85 deletions

View File

@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= binutils
PORTVERSION= 2.23.2
PORTVERSION= 2.24
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_SOURCEWARE}
MASTER_SITE_SUBDIR= binutils/releases
@ -36,26 +36,6 @@ CONFIGURE_ARGS+= --with-system-zlib \
--with-gmp=${LOCALBASE} \
--with-mpfr=${LOCALBASE}
MAN1= addr2line.1 \
ar.1 \
as.1 \
c++filt.1 \
gprof.1 \
dlltool.1 \
elfedit.1 \
ld.1 \
nlmconv.1 \
nm.1 \
objcopy.1 \
objdump.1 \
ranlib.1 \
readelf.1 \
size.1 \
strings.1 \
strip.1 \
windmc.1 \
windres.1
INFO= as \
binutils \
standards \
@ -64,7 +44,6 @@ INFO= as \
configure \
ld
NO_STAGE= yes
.include <bsd.port.options.mk>
# Actual earliest version may differ slightly
@ -91,11 +70,11 @@ CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
post-install:
.if ${OSVERSION} >= 900044
${INSTALL_DATA} ${WRKSRC}/include/plugin-api.h ${PREFIX}/include/
${INSTALL_DATA} ${WRKSRC}/include/plugin-api.h ${STAGEDIR}${PREFIX}/include/
.endif
@${FIND} -ds ${PREFIX}/${CONFIGURE_TARGET} ! -type d | \
${SED} -e 's,^${PREFIX}/,,' >> ${TMPPLIST}
@${FIND} -ds ${PREFIX}/${CONFIGURE_TARGET} -type d | \
${SED} -e 's,^${PREFIX}/,@dirrm ,' >> ${TMPPLIST}
@${FIND} -ds ${STAGEDIR}${PREFIX}/${CONFIGURE_TARGET} ! -type d | \
${SED} -e 's,^${STAGEDIR}${PREFIX}/,,' >> ${TMPPLIST}
@${FIND} -ds ${STAGEDIR}${PREFIX}/${CONFIGURE_TARGET} -type d | \
${SED} -e 's,^${STAGEDIR}${PREFIX}/,@dirrm ,' >> ${TMPPLIST}
.include <bsd.port.mk>

View File

@ -1,2 +1,2 @@
SHA256 (binutils-2.23.2.tar.bz2) = fe914e56fed7a9ec2eb45274b1f2e14b0d8b4f41906a5194eac6883cfe5c1097
SIZE (binutils-2.23.2.tar.bz2) = 21440347
SHA256 (binutils-2.24.tar.bz2) = e5e8c5be9664e7f7f96e0d09919110ab5ad597794f5b1809871177a0f0f14137
SIZE (binutils-2.24.tar.bz2) = 22716802

View File

@ -1,13 +0,0 @@
$FreeBSD$
--- bfd/Makefile.in.orig
+++ bfd/Makefile.in
@@ -336,7 +336,6 @@
@INSTALL_LIBBFD_FALSE@noinst_LTLIBRARIES = libbfd.la
AM_CFLAGS = $(WARN_CFLAGS)
AM_CPPFLAGS = -DBINDIR='"$(bindir)"'
-@PLUGINS_TRUE@LIBDL = -ldl
# bfd.h goes here, for now
BFD_H = bfd.h

View File

@ -1,12 +1,11 @@
$FreeBSD$
--- gold/Makefile.in.orig
+++ gold/Makefile.in
@@ -368,7 +368,6 @@
@INCINTL@
--- gold/Makefile.in.orig 2013-11-04 16:33:39.000000000 +0100
+++ gold/Makefile.in 2013-12-13 17:15:03.279391312 +0100
@@ -419,7 +419,7 @@
-DTOOLLIBDIR="\"$(tooldir)/lib\"" @INCINTL@
LIBIBERTY = ../libiberty/libiberty.a
-@PLUGINS_TRUE@LIBDL = -ldl
-@PLUGINS_TRUE@LIBDL = @DLOPEN_LIBS@
+@PLUGINS_TRUE@LIBDL =
@THREADS_TRUE@THREADSLIB = -lpthread
AM_YFLAGS = -d

View File

@ -0,0 +1,15 @@
--- gold/config.in.orig 2012-09-11 11:20:40.000000000 +0200
+++ gold/config.in 2013-06-22 20:44:46.000000000 +0200
@@ -190,6 +190,12 @@
/* Define to 1 if you have the <windows.h> header file. */
#undef HAVE_WINDOWS_H
+/* Define to 1 if you have the <unordered_map> header file. */
+#undef HAVE_UNORDERED_MAP
+
+/* Define to 1 if you have the <unordered_set> header file. */
+#undef HAVE_UNORDERED_SET
+
/* Define to 1 if you have the <zlib.h> header file. */
#undef HAVE_ZLIB_H

View File

@ -0,0 +1,23 @@
--- gold/configure.orig 2013-11-08 11:13:48.000000000 +0100
+++ gold/configure 2013-12-14 13:03:48.000000000 +0100
@@ -7133,6 +7133,20 @@
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+for ac_header in unordered_set unordered_map
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+eval as_val=\$$as_ac_Header
+ if test "x$as_val" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
for ac_header in tr1/unordered_set tr1/unordered_map
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`

View File

@ -0,0 +1,15 @@
--- gold/options.h.orig 2013-12-13 18:39:11.252052912 +0100
+++ gold/options.h 2013-12-13 18:41:04.363051429 +0100
@@ -716,9 +716,9 @@
N_("Output cross reference table"),
N_("Do not output cross reference table"));
- DEFINE_bool(ctors_in_init_array, options::TWO_DASHES, '\0', true,
- N_("Use DT_INIT_ARRAY for all constructors (default)"),
- N_("Handle constructors as directed by compiler"));
+ DEFINE_bool(ctors_in_init_array, options::TWO_DASHES, '\0', false,
+ N_("Use DT_INIT_ARRAY for all constructors"),
+ N_("Handle constructors as directed by compiler (default)"));
DEFINE_bool(define_common, options::TWO_DASHES, 'd', false,
N_("Define common symbols"),

View File

@ -1,6 +1,3 @@
$FreeBSD$
--- gold/script.cc.dist 2012-09-01 19:52:34.000000000 -0500
+++ gold/script.cc 2012-09-01 19:53:22.000000000 -0500
@@ -2534,8 +2534,6 @@

View File

@ -0,0 +1,23 @@
--- gold/stringpool.cc.orig 2010-08-25 10:36:54.000000000 +0200
+++ gold/stringpool.cc 2013-06-22 21:09:24.000000000 +0200
@@ -73,7 +73,10 @@ Stringpool_template<Stringpool_char>::re
{
this->key_to_offset_.reserve(n);
-#if defined(HAVE_TR1_UNORDERED_MAP)
+#if defined(HAVE_UNORDERED_MAP)
+ this->string_set_.rehash(this->string_set_.size() + n);
+ return;
+#elif defined(HAVE_TR1_UNORDERED_MAP)
// rehash() implementation is broken in gcc 4.0.3's stl
//this->string_set_.rehash(this->string_set_.size() + n);
//return;
@@ -503,7 +506,7 @@ template<typename Stringpool_char>
void
Stringpool_template<Stringpool_char>::print_stats(const char* name) const
{
-#if defined(HAVE_TR1_UNORDERED_MAP) || defined(HAVE_EXT_HASH_MAP)
+#if defined(HAVE_UNORDERED_MAP) || defined(HAVE_TR1_UNORDERED_MAP) || defined(HAVE_EXT_HASH_MAP)
fprintf(stderr, _("%s: %s entries: %zu; buckets: %zu\n"),
program_name, name, this->string_set_.size(),
this->string_set_.bucket_count());

View File

@ -1,17 +1,11 @@
--- ./gold/gold.h 2013-08-31 12:57:14.000000000 +0100
+++ ./gold/gold.h 2013-08-31 12:59:04.000000000 +0100
@@ -65,8 +65,27 @@
#endif
--- gold/system.h.orig 2013-11-04 16:33:39.000000000 +0100
+++ gold/system.h 2013-12-14 12:51:17.000000000 +0100
@@ -57,7 +57,20 @@
// Figure out how to get a hash set and a hash map.
+#ifdef __clang__
+#if __has_include(<unordered_set>)
+#define HAVE_CXX11_UNORDERED_SET 1
+#define HAVE_TR1_UNORDERED_SET
+#define HAVE_TR1_UNORDERED_MAP
+#endif
+#endif
+#if HAVE_CXX11_UNORDERED_SET
-#if defined(HAVE_TR1_UNORDERED_SET) && defined(HAVE_TR1_UNORDERED_MAP) \
+#if defined(HAVE_UNORDERED_SET) && defined(HAVE_UNORDERED_MAP)
+
+#include <unordered_set>
+#include <unordered_map>
@ -23,8 +17,7 @@
+#define Unordered_multimap std::unordered_multimap
+
+#define reserve_unordered_map(map, n) ((map)->rehash(n))
-#if defined(HAVE_TR1_UNORDERED_SET) && defined(HAVE_TR1_UNORDERED_MAP) \
+
+#elif defined(HAVE_TR1_UNORDERED_SET) && defined(HAVE_TR1_UNORDERED_MAP) \
&& defined(HAVE_TR1_UNORDERED_MAP_REHASH)

View File

@ -1,16 +0,0 @@
===================================================================
RCS file: gas/config/tc-sparc.h,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- gas/config/tc-sparc.h 2010/10/22 12:08:29 1.31
+++ gas/config/tc-sparc.h 2013/03/26 13:49:12 1.32
@@ -33,7 +33,7 @@
#define TARGET_ARCH bfd_arch_sparc
#ifdef TE_FreeBSD
-#define ELF_TARGET_FORMAT "elf32-sparc-freebsd"
+#define ELF_TARGET_FORMAT "elf32-sparc"
#define ELF64_TARGET_FORMAT "elf64-sparc-freebsd"
#endif

View File

@ -2,6 +2,7 @@ bin/addr2line
bin/ar
bin/as
bin/c++filt
%%GOLD%%bin/dwp
bin/elfedit
bin/gprof
bin/ld
@ -15,7 +16,6 @@ bin/readelf
bin/size
bin/strings
bin/strip
include/ansidecl.h
include/bfd.h
include/bfdlink.h
include/dis-asm.h
@ -23,9 +23,27 @@ include/dis-asm.h
include/symcat.h
lib/libbfd.a
lib/libbfd.la
lib/libiberty.a
lib/libopcodes.a
lib/libopcodes.la
man/man1/addr2line.1.gz
man/man1/ar.1.gz
man/man1/as.1.gz
man/man1/c++filt.1.gz
man/man1/gprof.1.gz
man/man1/dlltool.1.gz
man/man1/elfedit.1.gz
man/man1/ld.1.gz
man/man1/nlmconv.1.gz
man/man1/nm.1.gz
man/man1/objcopy.1.gz
man/man1/objdump.1.gz
man/man1/ranlib.1.gz
man/man1/readelf.1.gz
man/man1/size.1.gz
man/man1/strings.1.gz
man/man1/strip.1.gz
man/man1/windmc.1.gz
man/man1/windres.1.gz
%%NLS%%share/locale/bg/LC_MESSAGES/binutils.mo
%%NLS%%share/locale/bg/LC_MESSAGES/gprof.mo
%%NLS%%share/locale/bg/LC_MESSAGES/ld.mo
@ -60,6 +78,7 @@ lib/libopcodes.la
%%NLS%%share/locale/ga/LC_MESSAGES/gprof.mo
%%NLS%%share/locale/ga/LC_MESSAGES/ld.mo
%%NLS%%share/locale/ga/LC_MESSAGES/opcodes.mo
%%NLS%%share/locale/hr/LC_MESSAGES/binutils.mo
%%NLS%%share/locale/id/LC_MESSAGES/gprof.mo
%%NLS%%share/locale/id/LC_MESSAGES/opcodes.mo
%%NLS%%share/locale/id/LC_MESSAGES/bfd.mo