xref: /minix3/external/gpl3/binutils/patches/0007-gold-as-tool-on-minix.patch (revision fed2e50bd7b8589eb3b99a6853cac2a31e68f5a4)
1*fed2e50bSLionel Sambucdiff -rNU3 dist/gold/configure dist.mxm/gold/configure
2*fed2e50bSLionel Sambuc--- dist/gold/configure	2014-07-14 18:21:16.292364610 +0200
3*fed2e50bSLionel Sambuc+++ dist.mxm/gold/configure	2014-07-14 18:25:08.509642134 +0200
4*fed2e50bSLionel Sambuc@@ -7106,6 +7106,20 @@
5*fed2e50bSLionel Sambuc ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
6*fed2e50bSLionel Sambuc
7*fed2e50bSLionel Sambuc
8*fed2e50bSLionel Sambuc+for ac_header in unordered_set unordered_map
9*fed2e50bSLionel Sambuc+do :
10*fed2e50bSLionel Sambuc+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
11*fed2e50bSLionel Sambuc+ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
12*fed2e50bSLionel Sambuc+eval as_val=\$$as_ac_Header
13*fed2e50bSLionel Sambuc+   if test "x$as_val" = x""yes; then :
14*fed2e50bSLionel Sambuc+  cat >>confdefs.h <<_ACEOF
15*fed2e50bSLionel Sambuc+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
16*fed2e50bSLionel Sambuc+_ACEOF
17*fed2e50bSLionel Sambuc+
18*fed2e50bSLionel Sambuc+fi
19*fed2e50bSLionel Sambuc+
20*fed2e50bSLionel Sambuc+done
21*fed2e50bSLionel Sambuc+
22*fed2e50bSLionel Sambuc for ac_header in tr1/unordered_set tr1/unordered_map
23*fed2e50bSLionel Sambuc do :
24*fed2e50bSLionel Sambuc   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
25*fed2e50bSLionel Sambucdiff -rNU3 dist/gold/configure.ac dist.mxm/gold/configure.ac
26*fed2e50bSLionel Sambuc--- dist/gold/configure.ac	2014-07-14 18:21:16.292364610 +0200
27*fed2e50bSLionel Sambuc+++ dist.mxm/gold/configure.ac	2014-07-14 18:15:57.376945885 +0200
28*fed2e50bSLionel Sambuc@@ -496,6 +496,7 @@
29*fed2e50bSLionel Sambuc
30*fed2e50bSLionel Sambuc AC_LANG_PUSH(C++)
31*fed2e50bSLionel Sambuc
32*fed2e50bSLionel Sambuc+AC_CHECK_HEADERS(unordered_set unordered_map)
33*fed2e50bSLionel Sambuc AC_CHECK_HEADERS(tr1/unordered_set tr1/unordered_map)
34*fed2e50bSLionel Sambuc AC_CHECK_HEADERS(ext/hash_map ext/hash_set)
35*fed2e50bSLionel Sambuc AC_CHECK_HEADERS(byteswap.h)
36*fed2e50bSLionel Sambucdiff -rNU3 dist/gold/gold.h dist.mxm/gold/gold.h
37*fed2e50bSLionel Sambuc--- dist/gold/gold.h	2012-11-09 09:21:28.000000000 +0100
38*fed2e50bSLionel Sambuc+++ dist.mxm/gold/gold.h	2014-07-14 18:18:04.885779352 +0200
39*fed2e50bSLionel Sambuc@@ -66,7 +66,20 @@
40*fed2e50bSLionel Sambuc
41*fed2e50bSLionel Sambuc // Figure out how to get a hash set and a hash map.
42*fed2e50bSLionel Sambuc
43*fed2e50bSLionel Sambuc-#if defined(HAVE_TR1_UNORDERED_SET) && defined(HAVE_TR1_UNORDERED_MAP) \
44*fed2e50bSLionel Sambuc+#if defined(HAVE_UNORDERED_SET) && defined(HAVE_UNORDERED_MAP)
45*fed2e50bSLionel Sambuc+
46*fed2e50bSLionel Sambuc+#include <unordered_set>
47*fed2e50bSLionel Sambuc+#include <unordered_map>
48*fed2e50bSLionel Sambuc+
49*fed2e50bSLionel Sambuc+// We need a template typedef here.
50*fed2e50bSLionel Sambuc+
51*fed2e50bSLionel Sambuc+#define Unordered_set std::unordered_set
52*fed2e50bSLionel Sambuc+#define Unordered_map std::unordered_map
53*fed2e50bSLionel Sambuc+#define Unordered_multimap std::unordered_multimap
54*fed2e50bSLionel Sambuc+
55*fed2e50bSLionel Sambuc+#define reserve_unordered_map(map, n) ((map)->rehash(n))
56*fed2e50bSLionel Sambuc+
57*fed2e50bSLionel Sambuc+#elif defined(HAVE_TR1_UNORDERED_SET) && defined(HAVE_TR1_UNORDERED_MAP) \
58*fed2e50bSLionel Sambuc     && defined(HAVE_TR1_UNORDERED_MAP_REHASH)
59*fed2e50bSLionel Sambuc
60*fed2e50bSLionel Sambuc #include <tr1/unordered_set>
61*fed2e50bSLionel Sambucdiff -rNU3 dist/gold/stringpool.cc dist.mxm/gold/stringpool.cc
62*fed2e50bSLionel Sambuc--- dist/gold/stringpool.cc	2010-08-25 10:36:54.000000000 +0200
63*fed2e50bSLionel Sambuc+++ dist.mxm/gold/stringpool.cc	2014-07-14 18:19:48.650875718 +0200
64*fed2e50bSLionel Sambuc@@ -72,7 +72,10 @@
65*fed2e50bSLionel Sambuc {
66*fed2e50bSLionel Sambuc   this->key_to_offset_.reserve(n);
67*fed2e50bSLionel Sambuc
68*fed2e50bSLionel Sambuc-#if defined(HAVE_TR1_UNORDERED_MAP)
69*fed2e50bSLionel Sambuc+#if defined(HAVE_UNORDERED_MAP)
70*fed2e50bSLionel Sambuc+  this->string_set_.rehash(this->string_set_.size() + n);
71*fed2e50bSLionel Sambuc+  return;
72*fed2e50bSLionel Sambuc+#elif defined(HAVE_TR1_UNORDERED_MAP)
73*fed2e50bSLionel Sambuc   // rehash() implementation is broken in gcc 4.0.3's stl
74*fed2e50bSLionel Sambuc   //this->string_set_.rehash(this->string_set_.size() + n);
75*fed2e50bSLionel Sambuc   //return;
76*fed2e50bSLionel Sambuc@@ -499,7 +502,7 @@
77*fed2e50bSLionel Sambuc void
78*fed2e50bSLionel Sambuc Stringpool_template<Stringpool_char>::print_stats(const char* name) const
79*fed2e50bSLionel Sambuc {
80*fed2e50bSLionel Sambuc-#if defined(HAVE_TR1_UNORDERED_MAP) || defined(HAVE_EXT_HASH_MAP)
81*fed2e50bSLionel Sambuc+#if  defined(HAVE_UNORDERED_MAP) || defined(HAVE_TR1_UNORDERED_MAP) || defined(HAVE_EXT_HASH_MAP)
82*fed2e50bSLionel Sambuc   fprintf(stderr, _("%s: %s entries: %zu; buckets: %zu\n"),
83*fed2e50bSLionel Sambuc 	  program_name, name, this->string_set_.size(),
84*fed2e50bSLionel Sambuc 	  this->string_set_.bucket_count());
85*fed2e50bSLionel Sambucdiff -rNU3 dist/gold/config.in dist.mxm/gold/config.in
86*fed2e50bSLionel Sambuc--- dist/gold/config.in 2014-07-14 19:21:52.217425468 +0200
87*fed2e50bSLionel Sambuc+++ dist.mxm/gold/config.in     2014-07-14 20:08:52.208824229 +0200
88*fed2e50bSLionel Sambuc@@ -175,6 +175,12 @@
89*fed2e50bSLionel Sambuc /* Define to 1 if you have the <unistd.h> header file. */
90*fed2e50bSLionel Sambuc #undef HAVE_UNISTD_H
91*fed2e50bSLionel Sambuc
92*fed2e50bSLionel Sambuc+/* Define to 1 if you have the <unordered_map> header file. */
93*fed2e50bSLionel Sambuc+#undef HAVE_UNORDERED_MAP
94*fed2e50bSLionel Sambuc+
95*fed2e50bSLionel Sambuc+/* Define to 1 if you have the <unordered_set> header file. */
96*fed2e50bSLionel Sambuc+#undef HAVE_UNORDERED_SET
97*fed2e50bSLionel Sambuc+
98*fed2e50bSLionel Sambuc /* Define to 1 if you have the <windows.h> header file. */
99*fed2e50bSLionel Sambuc #undef HAVE_WINDOWS_H
100*fed2e50bSLionel Sambuc
101*fed2e50bSLionel Sambucdiff -rNU3 dist/include/safe-ctype.h dist.mxm/include/safe-ctype.h
102*fed2e50bSLionel Sambuc--- dist/include/safe-ctype.h	2008-07-07 19:09:31.000000000 +0200
103*fed2e50bSLionel Sambuc+++ dist.mxm/include/safe-ctype.h	2014-07-15 10:49:44.583026808 +0200
104*fed2e50bSLionel Sambuc@@ -119,6 +119,7 @@
105*fed2e50bSLionel Sambuc    including another system header (for instance gnulib's stdint.h).
106*fed2e50bSLionel Sambuc    So we include ctype.h here and then immediately redefine its macros.  */
107*fed2e50bSLionel Sambuc
108*fed2e50bSLionel Sambuc+#if !defined(__minix) || !defined(__clang__)
109*fed2e50bSLionel Sambuc #include <ctype.h>
110*fed2e50bSLionel Sambuc #undef isalpha
111*fed2e50bSLionel Sambuc #define isalpha(c) do_not_use_isalpha_with_safe_ctype
112*fed2e50bSLionel Sambuc@@ -145,6 +146,34 @@
113*fed2e50bSLionel Sambuc #undef toupper
114*fed2e50bSLionel Sambuc #define toupper(c) do_not_use_toupper_with_safe_ctype
115*fed2e50bSLionel Sambuc #undef tolower
116*fed2e50bSLionel Sambuc-#define tolower(c) do_not_use_tolower_with_safe_ctype
117*fed2e50bSLionel Sambuc+#else
118*fed2e50bSLionel Sambuc+#include <ctype.h>
119*fed2e50bSLionel Sambuc+#undef isalpha
120*fed2e50bSLionel Sambuc+#define isalpha(c) ISALPHA(c)
121*fed2e50bSLionel Sambuc+#undef isalnum
122*fed2e50bSLionel Sambuc+#define isalnum(c) ISALNUM(c)
123*fed2e50bSLionel Sambuc+#undef iscntrl
124*fed2e50bSLionel Sambuc+#define iscntrl(c) ISCNTRL(c)
125*fed2e50bSLionel Sambuc+#undef isdigit
126*fed2e50bSLionel Sambuc+#define isdigit(c) ISDIGIT(c)
127*fed2e50bSLionel Sambuc+#undef isgraph
128*fed2e50bSLionel Sambuc+#define isgraph(c) ISGRAPH(c)
129*fed2e50bSLionel Sambuc+#undef islower
130*fed2e50bSLionel Sambuc+#define islower(c) ISLOWER(c)
131*fed2e50bSLionel Sambuc+#undef isprint
132*fed2e50bSLionel Sambuc+#define isprint(c) ISPRINT(c)
133*fed2e50bSLionel Sambuc+#undef ispunct
134*fed2e50bSLionel Sambuc+#define ispunct(c) ISPUNCT(c)
135*fed2e50bSLionel Sambuc+#undef isspace
136*fed2e50bSLionel Sambuc+#define isspace(c) ISSPACE(c)
137*fed2e50bSLionel Sambuc+#undef isupper
138*fed2e50bSLionel Sambuc+#define isupper(c) ISUPPER(c)
139*fed2e50bSLionel Sambuc+#undef isxdigit
140*fed2e50bSLionel Sambuc+#define isxdigit(c) ISXDIGIT(c)
141*fed2e50bSLionel Sambuc+#undef toupper
142*fed2e50bSLionel Sambuc+#define toupper(c) TOUPPER(c)
143*fed2e50bSLionel Sambuc+#undef tolower
144*fed2e50bSLionel Sambuc+#define tolower(c) TOLOWER(c)
145*fed2e50bSLionel Sambuc+#endif /* !defined(__minix) || !defined(__clang__) */
146*fed2e50bSLionel Sambuc
147*fed2e50bSLionel Sambuc #endif /* SAFE_CTYPE_H */
148