mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-01-12 03:10:15 +00:00
arm-toolchain: update Arm GCC to 12.2
Update the Arm GCC source to the latest version. Also, update the GCC patches to apply cleanly, removing those that are no longer relevant. Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
@@ -3,4 +3,4 @@ header:
|
||||
|
||||
local_conf_header:
|
||||
cc: |
|
||||
GCCVERSION = "arm-11.3"
|
||||
GCCVERSION = "arm-12.2"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,128 +0,0 @@
|
||||
From f10bec5ffa487ad3033ed5f38cfd0fc7d696deab Mon Sep 17 00:00:00 2001
|
||||
From: Nick Clifton <nickc@redhat.com>
|
||||
Date: Mon, 31 Jan 2022 14:28:42 +0000
|
||||
Subject: [PATCH] libiberty: Fix infinite recursion in rust demangler.
|
||||
|
||||
libiberty/
|
||||
PR demangler/98886
|
||||
PR demangler/99935
|
||||
* rust-demangle.c (struct rust_demangler): Add a recursion
|
||||
counter.
|
||||
(demangle_path): Increment/decrement the recursion counter upon
|
||||
entry and exit. Fail if the counter exceeds a fixed limit.
|
||||
(demangle_type): Likewise.
|
||||
(rust_demangle_callback): Initialise the recursion counter,
|
||||
disabling if requested by the option flags.
|
||||
|
||||
CVE: CVE-2021-46195
|
||||
Upstream-Status: Backport
|
||||
[https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=f10bec5ffa487ad3033ed5f38cfd0fc7d696deab]
|
||||
Signed-off-by: Pgowda <pgowda.cve@gmail.com>
|
||||
---
|
||||
libiberty/rust-demangle.c | 47 ++++++++++++++++++++++++++++++++++-----
|
||||
1 file changed, 41 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/libiberty/rust-demangle.c b/libiberty/rust-demangle.c
|
||||
index 18c760491bd..3b24d63892a 100644
|
||||
--- a/libiberty/rust-demangle.c
|
||||
+++ b/libiberty/rust-demangle.c
|
||||
@@ -74,6 +74,12 @@ struct rust_demangler
|
||||
/* Rust mangling version, with legacy mangling being -1. */
|
||||
int version;
|
||||
|
||||
+ /* Recursion depth. */
|
||||
+ unsigned int recursion;
|
||||
+ /* Maximum number of times demangle_path may be called recursively. */
|
||||
+#define RUST_MAX_RECURSION_COUNT 1024
|
||||
+#define RUST_NO_RECURSION_LIMIT ((unsigned int) -1)
|
||||
+
|
||||
uint64_t bound_lifetime_depth;
|
||||
};
|
||||
|
||||
@@ -671,6 +677,15 @@ demangle_path (struct rust_demangler *rdm, int in_value)
|
||||
if (rdm->errored)
|
||||
return;
|
||||
|
||||
+ if (rdm->recursion != RUST_NO_RECURSION_LIMIT)
|
||||
+ {
|
||||
+ ++ rdm->recursion;
|
||||
+ if (rdm->recursion > RUST_MAX_RECURSION_COUNT)
|
||||
+ /* FIXME: There ought to be a way to report
|
||||
+ that the recursion limit has been reached. */
|
||||
+ goto fail_return;
|
||||
+ }
|
||||
+
|
||||
switch (tag = next (rdm))
|
||||
{
|
||||
case 'C':
|
||||
@@ -688,10 +703,7 @@ demangle_path (struct rust_demangler *rdm, int in_value)
|
||||
case 'N':
|
||||
ns = next (rdm);
|
||||
if (!ISLOWER (ns) && !ISUPPER (ns))
|
||||
- {
|
||||
- rdm->errored = 1;
|
||||
- return;
|
||||
- }
|
||||
+ goto fail_return;
|
||||
|
||||
demangle_path (rdm, in_value);
|
||||
|
||||
@@ -776,9 +788,15 @@ demangle_path (struct rust_demangler *rdm, int in_value)
|
||||
}
|
||||
break;
|
||||
default:
|
||||
- rdm->errored = 1;
|
||||
- return;
|
||||
+ goto fail_return;
|
||||
}
|
||||
+ goto pass_return;
|
||||
+
|
||||
+ fail_return:
|
||||
+ rdm->errored = 1;
|
||||
+ pass_return:
|
||||
+ if (rdm->recursion != RUST_NO_RECURSION_LIMIT)
|
||||
+ -- rdm->recursion;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -870,6 +888,19 @@ demangle_type (struct rust_demangler *rdm)
|
||||
return;
|
||||
}
|
||||
|
||||
+ if (rdm->recursion != RUST_NO_RECURSION_LIMIT)
|
||||
+ {
|
||||
+ ++ rdm->recursion;
|
||||
+ if (rdm->recursion > RUST_MAX_RECURSION_COUNT)
|
||||
+ /* FIXME: There ought to be a way to report
|
||||
+ that the recursion limit has been reached. */
|
||||
+ {
|
||||
+ rdm->errored = 1;
|
||||
+ -- rdm->recursion;
|
||||
+ return;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
switch (tag)
|
||||
{
|
||||
case 'R':
|
||||
@@ -1030,6 +1061,9 @@ demangle_type (struct rust_demangler *rdm)
|
||||
rdm->next--;
|
||||
demangle_path (rdm, 0);
|
||||
}
|
||||
+
|
||||
+ if (rdm->recursion != RUST_NO_RECURSION_LIMIT)
|
||||
+ -- rdm->recursion;
|
||||
}
|
||||
|
||||
/* A trait in a trait object may have some "existential projections"
|
||||
@@ -1320,6 +1354,7 @@ rust_demangle_callback (const char *mangled, int options,
|
||||
rdm.skipping_printing = 0;
|
||||
rdm.verbose = (options & DMGL_VERBOSE) != 0;
|
||||
rdm.version = 0;
|
||||
+ rdm.recursion = (options & DMGL_NO_RECURSE_LIMIT) ? RUST_NO_RECURSION_LIMIT : 0;
|
||||
rdm.bound_lifetime_depth = 0;
|
||||
|
||||
/* Rust symbols always start with _R (v0) or _ZN (legacy). */
|
||||
--
|
||||
2.27.0
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,142 +0,0 @@
|
||||
From 1a7f2c0774129750fdf73e9f1b78f0ce983c9ab3 Mon Sep 17 00:00:00 2001
|
||||
From: David Malcolm <dmalcolm@redhat.com>
|
||||
Date: Tue, 2 Nov 2021 09:54:32 -0400
|
||||
Subject: [PATCH] libcpp: escape non-ASCII source bytes in -Wbidi-chars=
|
||||
[PR103026]
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=utf8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This flags rich_locations associated with -Wbidi-chars= so that
|
||||
non-ASCII bytes will be escaped when printing the source lines
|
||||
(using the diagnostics support I added in
|
||||
r12-4825-gbd5e882cf6e0def3dd1bc106075d59a303fe0d1e).
|
||||
|
||||
In particular, this ensures that the printed source lines will
|
||||
be pure ASCII, and thus the visual ordering of the characters
|
||||
will be the same as the logical ordering.
|
||||
|
||||
Before:
|
||||
|
||||
Wbidi-chars-1.c: In function âmainâ:
|
||||
Wbidi-chars-1.c:6:43: warning: unpaired UTF-8 bidirectional control character detected [-Wbidi-chars=]
|
||||
6 | /*â® } â¦if (isAdmin)⩠⦠begin admins only */
|
||||
| ^
|
||||
Wbidi-chars-1.c:9:28: warning: unpaired UTF-8 bidirectional control character detected [-Wbidi-chars=]
|
||||
9 | /* end admins only â® { â¦*/
|
||||
| ^
|
||||
|
||||
Wbidi-chars-11.c:6:15: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
|
||||
6 | int LRE_âª_PDF_\u202c;
|
||||
| ^
|
||||
Wbidi-chars-11.c:8:19: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
|
||||
8 | int LRE_\u202a_PDF_â¬_;
|
||||
| ^
|
||||
Wbidi-chars-11.c:10:28: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
|
||||
10 | const char *s1 = "LRE_âª_PDF_\u202c";
|
||||
| ^
|
||||
Wbidi-chars-11.c:12:33: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
|
||||
12 | const char *s2 = "LRE_\u202a_PDF_â¬";
|
||||
| ^
|
||||
|
||||
After:
|
||||
|
||||
Wbidi-chars-1.c: In function âmainâ:
|
||||
Wbidi-chars-1.c:6:43: warning: unpaired UTF-8 bidirectional control character detected [-Wbidi-chars=]
|
||||
6 | /*<U+202E> } <U+2066>if (isAdmin)<U+2069> <U+2066> begin admins only */
|
||||
| ^
|
||||
Wbidi-chars-1.c:9:28: warning: unpaired UTF-8 bidirectional control character detected [-Wbidi-chars=]
|
||||
9 | /* end admins only <U+202E> { <U+2066>*/
|
||||
| ^
|
||||
|
||||
Wbidi-chars-11.c:6:15: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
|
||||
6 | int LRE_<U+202A>_PDF_\u202c;
|
||||
| ^
|
||||
Wbidi-chars-11.c:8:19: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
|
||||
8 | int LRE_\u202a_PDF_<U+202C>_;
|
||||
| ^
|
||||
Wbidi-chars-11.c:10:28: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
|
||||
10 | const char *s1 = "LRE_<U+202A>_PDF_\u202c";
|
||||
| ^
|
||||
Wbidi-chars-11.c:12:33: warning: UTF-8 vs UCN mismatch when closing a context by "U+202C (POP DIRECTIONAL FORMATTING)" [-Wbidi-chars=]
|
||||
12 | const char *s2 = "LRE_\u202a_PDF_<U+202C>";
|
||||
| ^
|
||||
|
||||
libcpp/ChangeLog:
|
||||
PR preprocessor/103026
|
||||
* lex.c (maybe_warn_bidi_on_close): Use a rich_location
|
||||
and call set_escape_on_output (true) on it.
|
||||
(maybe_warn_bidi_on_char): Likewise.
|
||||
|
||||
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
|
||||
|
||||
CVE: CVE-2021-42574
|
||||
Upstream-Status: Backport [https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=1a7f2c0774129750fdf73e9f1b78f0ce983c9ab3]
|
||||
Signed-off-by: Pgowda <pgowda.cve@gmail.com>
|
||||
|
||||
---
|
||||
libcpp/lex.c | 29 +++++++++++++++++------------
|
||||
1 file changed, 17 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/libcpp/lex.c b/libcpp/lex.c
|
||||
index 8188e33b07d..2421d6c0f40 100644
|
||||
--- a/libcpp/lex.c
|
||||
+++ b/libcpp/lex.c
|
||||
@@ -1427,9 +1427,11 @@ maybe_warn_bidi_on_close (cpp_reader *pfile, const uchar *p)
|
||||
const location_t loc
|
||||
= linemap_position_for_column (pfile->line_table,
|
||||
CPP_BUF_COLUMN (pfile->buffer, p));
|
||||
- cpp_warning_with_line (pfile, CPP_W_BIDIRECTIONAL, loc, 0,
|
||||
- "unpaired UTF-8 bidirectional control character "
|
||||
- "detected");
|
||||
+ rich_location rich_loc (pfile->line_table, loc);
|
||||
+ rich_loc.set_escape_on_output (true);
|
||||
+ cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
|
||||
+ "unpaired UTF-8 bidirectional control character "
|
||||
+ "detected");
|
||||
}
|
||||
/* We're done with this context. */
|
||||
bidi::on_close ();
|
||||
@@ -1454,6 +1456,9 @@ maybe_warn_bidi_on_char (cpp_reader *pfile, const uchar *p, bidi::kind kind,
|
||||
const location_t loc
|
||||
= linemap_position_for_column (pfile->line_table,
|
||||
CPP_BUF_COLUMN (pfile->buffer, p));
|
||||
+ rich_location rich_loc (pfile->line_table, loc);
|
||||
+ rich_loc.set_escape_on_output (true);
|
||||
+
|
||||
/* It seems excessive to warn about a PDI/PDF that is closing
|
||||
an opened context because we've already warned about the
|
||||
opening character. Except warn when we have a UCN x UTF-8
|
||||
@@ -1462,20 +1467,20 @@ maybe_warn_bidi_on_char (cpp_reader *pfile, const uchar *p, bidi::kind kind,
|
||||
{
|
||||
if (warn_bidi == bidirectional_unpaired
|
||||
&& bidi::current_ctx_ucn_p () != ucn_p)
|
||||
- cpp_warning_with_line (pfile, CPP_W_BIDIRECTIONAL, loc, 0,
|
||||
- "UTF-8 vs UCN mismatch when closing "
|
||||
- "a context by \"%s\"", bidi::to_str (kind));
|
||||
+ cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
|
||||
+ "UTF-8 vs UCN mismatch when closing "
|
||||
+ "a context by \"%s\"", bidi::to_str (kind));
|
||||
}
|
||||
else if (warn_bidi == bidirectional_any)
|
||||
{
|
||||
if (kind == bidi::kind::PDF || kind == bidi::kind::PDI)
|
||||
- cpp_warning_with_line (pfile, CPP_W_BIDIRECTIONAL, loc, 0,
|
||||
- "\"%s\" is closing an unopened context",
|
||||
- bidi::to_str (kind));
|
||||
+ cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
|
||||
+ "\"%s\" is closing an unopened context",
|
||||
+ bidi::to_str (kind));
|
||||
else
|
||||
- cpp_warning_with_line (pfile, CPP_W_BIDIRECTIONAL, loc, 0,
|
||||
- "found problematic Unicode character \"%s\"",
|
||||
- bidi::to_str (kind));
|
||||
+ cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
|
||||
+ "found problematic Unicode character \"%s\"",
|
||||
+ bidi::to_str (kind));
|
||||
}
|
||||
}
|
||||
/* We're done with this context. */
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@@ -1,573 +0,0 @@
|
||||
From bef32d4a28595e933f24fef378cf052a30b674a7 Mon Sep 17 00:00:00 2001
|
||||
From: David Malcolm <dmalcolm@redhat.com>
|
||||
Date: Tue, 2 Nov 2021 15:45:22 -0400
|
||||
Subject: [PATCH] libcpp: capture and underline ranges in -Wbidi-chars=
|
||||
[PR103026]
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=utf8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This patch converts the bidi::vec to use a struct so that we can
|
||||
capture location_t values for the bidirectional control characters.
|
||||
|
||||
Before:
|
||||
|
||||
Wbidi-chars-1.c: In function âmainâ:
|
||||
Wbidi-chars-1.c:6:43: warning: unpaired UTF-8 bidirectional control character detected [-Wbidi-chars=]
|
||||
6 | /*<U+202E> } <U+2066>if (isAdmin)<U+2069> <U+2066> begin admins only */
|
||||
| ^
|
||||
Wbidi-chars-1.c:9:28: warning: unpaired UTF-8 bidirectional control character detected [-Wbidi-chars=]
|
||||
9 | /* end admins only <U+202E> { <U+2066>*/
|
||||
| ^
|
||||
|
||||
After:
|
||||
|
||||
Wbidi-chars-1.c: In function âmainâ:
|
||||
Wbidi-chars-1.c:6:43: warning: unpaired UTF-8 bidirectional control characters detected [-Wbidi-chars=]
|
||||
6 | /*<U+202E> } <U+2066>if (isAdmin)<U+2069> <U+2066> begin admins only */
|
||||
| ~~~~~~~~ ~~~~~~~~ ^
|
||||
| | | |
|
||||
| | | end of bidirectional context
|
||||
| U+202E (RIGHT-TO-LEFT OVERRIDE) U+2066 (LEFT-TO-RIGHT ISOLATE)
|
||||
Wbidi-chars-1.c:9:28: warning: unpaired UTF-8 bidirectional control characters detected [-Wbidi-chars=]
|
||||
9 | /* end admins only <U+202E> { <U+2066>*/
|
||||
| ~~~~~~~~ ~~~~~~~~ ^
|
||||
| | | |
|
||||
| | | end of bidirectional context
|
||||
| | U+2066 (LEFT-TO-RIGHT ISOLATE)
|
||||
| U+202E (RIGHT-TO-LEFT OVERRIDE)
|
||||
|
||||
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
|
||||
|
||||
gcc/testsuite/ChangeLog:
|
||||
PR preprocessor/103026
|
||||
* c-c++-common/Wbidi-chars-ranges.c: New test.
|
||||
|
||||
libcpp/ChangeLog:
|
||||
PR preprocessor/103026
|
||||
* lex.c (struct bidi::context): New.
|
||||
(bidi::vec): Convert to a vec of context rather than unsigned
|
||||
char.
|
||||
(bidi::ctx_at): Rename to...
|
||||
(bidi::pop_kind_at): ...this and reimplement for above change.
|
||||
(bidi::current_ctx): Update for change to vec.
|
||||
(bidi::current_ctx_ucn_p): Likewise.
|
||||
(bidi::current_ctx_loc): New.
|
||||
(bidi::on_char): Update for usage of context struct. Add "loc"
|
||||
param and pass it when pushing contexts.
|
||||
(get_location_for_byte_range_in_cur_line): New.
|
||||
(get_bidi_utf8): Rename to...
|
||||
(get_bidi_utf8_1): ...this, reintroducing...
|
||||
(get_bidi_utf8): ...as a wrapper, setting *OUT when the result is
|
||||
not NONE.
|
||||
(get_bidi_ucn): Rename to...
|
||||
(get_bidi_ucn_1): ...this, reintroducing...
|
||||
(get_bidi_ucn): ...as a wrapper, setting *OUT when the result is
|
||||
not NONE.
|
||||
(class unpaired_bidi_rich_location): New.
|
||||
(maybe_warn_bidi_on_close): Use unpaired_bidi_rich_location when
|
||||
reporting on unpaired bidi chars. Split into singular vs plural
|
||||
spellings.
|
||||
(maybe_warn_bidi_on_char): Pass in a location_t rather than a
|
||||
const uchar * and use it when emitting warnings, and when calling
|
||||
bidi::on_char.
|
||||
(_cpp_skip_block_comment): Capture location when kind is not NONE
|
||||
and pass it to maybe_warn_bidi_on_char.
|
||||
(skip_line_comment): Likewise.
|
||||
(forms_identifier_p): Likewise.
|
||||
(lex_raw_string): Likewise.
|
||||
(lex_string): Likewise.
|
||||
|
||||
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
|
||||
|
||||
CVE: CVE-2021-42574
|
||||
Upstream-Status: Backport [https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=bef32d4a28595e933f24fef378cf052a30b674a7]
|
||||
Signed-off-by: Pgowda <pgowda.cve@gmail.com>
|
||||
|
||||
---
|
||||
.../c-c++-common/Wbidi-chars-ranges.c | 54 ++++
|
||||
libcpp/lex.c | 251 ++++++++++++++----
|
||||
2 files changed, 257 insertions(+), 48 deletions(-)
|
||||
create mode 100644 gcc/testsuite/c-c++-common/Wbidi-chars-ranges.c
|
||||
|
||||
diff --git a/gcc/testsuite/c-c++-common/Wbidi-chars-ranges.c b/gcc/testsuite/c-c++-common/Wbidi-chars-ranges.c
|
||||
new file mode 100644
|
||||
index 00000000000..298750a2a64
|
||||
--- /dev/null
|
||||
+++ b/gcc/testsuite/c-c++-common/Wbidi-chars-ranges.c
|
||||
@@ -0,0 +1,54 @@
|
||||
+/* PR preprocessor/103026 */
|
||||
+/* { dg-do compile } */
|
||||
+/* { dg-options "-Wbidi-chars=unpaired -fdiagnostics-show-caret" } */
|
||||
+/* Verify that we escape and underline pertinent bidirectional
|
||||
+ control characters when quoting the source. */
|
||||
+
|
||||
+int test_unpaired_bidi () {
|
||||
+ int isAdmin = 0;
|
||||
+ /*â® } â¦if (isAdmin)⩠⦠begin admins only */
|
||||
+/* { dg-warning "bidirectional" "" { target *-*-* } .-1 } */
|
||||
+#if 0
|
||||
+ { dg-begin-multiline-output "" }
|
||||
+ /*<U+202E> } <U+2066>if (isAdmin)<U+2069> <U+2066> begin admins only */
|
||||
+ ~~~~~~~~ ~~~~~~~~ ^
|
||||
+ | | |
|
||||
+ | | end of bidirectional context
|
||||
+ U+202E (RIGHT-TO-LEFT OVERRIDE) U+2066 (LEFT-TO-RIGHT ISOLATE)
|
||||
+ { dg-end-multiline-output "" }
|
||||
+#endif
|
||||
+
|
||||
+ __builtin_printf("You are an admin.\n");
|
||||
+ /* end admins only â® { â¦*/
|
||||
+/* { dg-warning "bidirectional" "" { target *-*-* } .-1 } */
|
||||
+#if 0
|
||||
+ { dg-begin-multiline-output "" }
|
||||
+ /* end admins only <U+202E> { <U+2066>*/
|
||||
+ ~~~~~~~~ ~~~~~~~~ ^
|
||||
+ | | |
|
||||
+ | | end of bidirectional context
|
||||
+ | U+2066 (LEFT-TO-RIGHT ISOLATE)
|
||||
+ U+202E (RIGHT-TO-LEFT OVERRIDE)
|
||||
+ { dg-end-multiline-output "" }
|
||||
+#endif
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+int LRE_âª_PDF_\u202c;
|
||||
+/* { dg-warning "mismatch" "" { target *-*-* } .-1 } */
|
||||
+#if 0
|
||||
+ { dg-begin-multiline-output "" }
|
||||
+ int LRE_<U+202A>_PDF_\u202c;
|
||||
+ ~~~~~~~~ ^~~~~~
|
||||
+ { dg-end-multiline-output "" }
|
||||
+#endif
|
||||
+
|
||||
+const char *s1 = "LRE_âª_PDF_\u202c";
|
||||
+/* { dg-warning "mismatch" "" { target *-*-* } .-1 } */
|
||||
+#if 0
|
||||
+ { dg-begin-multiline-output "" }
|
||||
+ const char *s1 = "LRE_<U+202A>_PDF_\u202c";
|
||||
+ ~~~~~~~~ ^~~~~~
|
||||
+ { dg-end-multiline-output "" }
|
||||
+#endif
|
||||
diff --git a/libcpp/lex.c b/libcpp/lex.c
|
||||
index 2421d6c0f40..94c36f0d014 100644
|
||||
--- a/libcpp/lex.c
|
||||
+++ b/libcpp/lex.c
|
||||
@@ -1172,11 +1172,34 @@ namespace bidi {
|
||||
/* All the UTF-8 encodings of bidi characters start with E2. */
|
||||
constexpr uchar utf8_start = 0xe2;
|
||||
|
||||
+ struct context
|
||||
+ {
|
||||
+ context () {}
|
||||
+ context (location_t loc, kind k, bool pdf, bool ucn)
|
||||
+ : m_loc (loc), m_kind (k), m_pdf (pdf), m_ucn (ucn)
|
||||
+ {
|
||||
+ }
|
||||
+
|
||||
+ kind get_pop_kind () const
|
||||
+ {
|
||||
+ return m_pdf ? kind::PDF : kind::PDI;
|
||||
+ }
|
||||
+ bool ucn_p () const
|
||||
+ {
|
||||
+ return m_ucn;
|
||||
+ }
|
||||
+
|
||||
+ location_t m_loc;
|
||||
+ kind m_kind;
|
||||
+ unsigned m_pdf : 1;
|
||||
+ unsigned m_ucn : 1;
|
||||
+ };
|
||||
+
|
||||
/* A vector holding currently open bidi contexts. We use a char for
|
||||
each context, its LSB is 1 if it represents a PDF context, 0 if it
|
||||
represents a PDI context. The next bit is 1 if this context was open
|
||||
by a bidi character written as a UCN, and 0 when it was UTF-8. */
|
||||
- semi_embedded_vec <unsigned char, 16> vec;
|
||||
+ semi_embedded_vec <context, 16> vec;
|
||||
|
||||
/* Close the whole comment/identifier/string literal/character constant
|
||||
context. */
|
||||
@@ -1193,19 +1216,19 @@ namespace bidi {
|
||||
vec.truncate (len - 1);
|
||||
}
|
||||
|
||||
- /* Return the context of the Ith element. */
|
||||
- kind ctx_at (unsigned int i)
|
||||
+ /* Return the pop kind of the context of the Ith element. */
|
||||
+ kind pop_kind_at (unsigned int i)
|
||||
{
|
||||
- return (vec[i] & 1) ? kind::PDF : kind::PDI;
|
||||
+ return vec[i].get_pop_kind ();
|
||||
}
|
||||
|
||||
- /* Return which context is currently opened. */
|
||||
+ /* Return the pop kind of the context that is currently opened. */
|
||||
kind current_ctx ()
|
||||
{
|
||||
unsigned int len = vec.count ();
|
||||
if (len == 0)
|
||||
return kind::NONE;
|
||||
- return ctx_at (len - 1);
|
||||
+ return vec[len - 1].get_pop_kind ();
|
||||
}
|
||||
|
||||
/* Return true if the current context comes from a UCN origin, that is,
|
||||
@@ -1214,11 +1237,19 @@ namespace bidi {
|
||||
{
|
||||
unsigned int len = vec.count ();
|
||||
gcc_checking_assert (len > 0);
|
||||
- return (vec[len - 1] >> 1) & 1;
|
||||
+ return vec[len - 1].m_ucn;
|
||||
}
|
||||
|
||||
- /* We've read a bidi char, update the current vector as necessary. */
|
||||
- void on_char (kind k, bool ucn_p)
|
||||
+ location_t current_ctx_loc ()
|
||||
+ {
|
||||
+ unsigned int len = vec.count ();
|
||||
+ gcc_checking_assert (len > 0);
|
||||
+ return vec[len - 1].m_loc;
|
||||
+ }
|
||||
+
|
||||
+ /* We've read a bidi char, update the current vector as necessary.
|
||||
+ LOC is only valid when K is not kind::NONE. */
|
||||
+ void on_char (kind k, bool ucn_p, location_t loc)
|
||||
{
|
||||
switch (k)
|
||||
{
|
||||
@@ -1226,12 +1257,12 @@ namespace bidi {
|
||||
case kind::RLE:
|
||||
case kind::LRO:
|
||||
case kind::RLO:
|
||||
- vec.push (ucn_p ? 3u : 1u);
|
||||
+ vec.push (context (loc, k, true, ucn_p));
|
||||
break;
|
||||
case kind::LRI:
|
||||
case kind::RLI:
|
||||
case kind::FSI:
|
||||
- vec.push (ucn_p ? 2u : 0u);
|
||||
+ vec.push (context (loc, k, false, ucn_p));
|
||||
break;
|
||||
/* PDF terminates the scope of the last LRE, RLE, LRO, or RLO
|
||||
whose scope has not yet been terminated. */
|
||||
@@ -1245,7 +1276,7 @@ namespace bidi {
|
||||
yet been terminated. */
|
||||
case kind::PDI:
|
||||
for (int i = vec.count () - 1; i >= 0; --i)
|
||||
- if (ctx_at (i) == kind::PDI)
|
||||
+ if (pop_kind_at (i) == kind::PDI)
|
||||
{
|
||||
vec.truncate (i);
|
||||
break;
|
||||
@@ -1295,10 +1326,47 @@ namespace bidi {
|
||||
}
|
||||
}
|
||||
|
||||
+/* Get location_t for the range of bytes [START, START + NUM_BYTES)
|
||||
+ within the current line in FILE, with the caret at START. */
|
||||
+
|
||||
+static location_t
|
||||
+get_location_for_byte_range_in_cur_line (cpp_reader *pfile,
|
||||
+ const unsigned char *const start,
|
||||
+ size_t num_bytes)
|
||||
+{
|
||||
+ gcc_checking_assert (num_bytes > 0);
|
||||
+
|
||||
+ /* CPP_BUF_COLUMN and linemap_position_for_column both refer
|
||||
+ to offsets in bytes, but CPP_BUF_COLUMN is 0-based,
|
||||
+ whereas linemap_position_for_column is 1-based. */
|
||||
+
|
||||
+ /* Get 0-based offsets within the line. */
|
||||
+ size_t start_offset = CPP_BUF_COLUMN (pfile->buffer, start);
|
||||
+ size_t end_offset = start_offset + num_bytes - 1;
|
||||
+
|
||||
+ /* Now convert to location_t, where "columns" are 1-based byte offsets. */
|
||||
+ location_t start_loc = linemap_position_for_column (pfile->line_table,
|
||||
+ start_offset + 1);
|
||||
+ location_t end_loc = linemap_position_for_column (pfile->line_table,
|
||||
+ end_offset + 1);
|
||||
+
|
||||
+ if (start_loc == end_loc)
|
||||
+ return start_loc;
|
||||
+
|
||||
+ source_range src_range;
|
||||
+ src_range.m_start = start_loc;
|
||||
+ src_range.m_finish = end_loc;
|
||||
+ location_t combined_loc = COMBINE_LOCATION_DATA (pfile->line_table,
|
||||
+ start_loc,
|
||||
+ src_range,
|
||||
+ NULL);
|
||||
+ return combined_loc;
|
||||
+}
|
||||
+
|
||||
/* Parse a sequence of 3 bytes starting with P and return its bidi code. */
|
||||
|
||||
static bidi::kind
|
||||
-get_bidi_utf8 (const unsigned char *const p)
|
||||
+get_bidi_utf8_1 (const unsigned char *const p)
|
||||
{
|
||||
gcc_checking_assert (p[0] == bidi::utf8_start);
|
||||
|
||||
@@ -1340,10 +1408,25 @@ get_bidi_utf8 (const unsigned char *cons
|
||||
return bidi::kind::NONE;
|
||||
}
|
||||
|
||||
+/* Parse a sequence of 3 bytes starting with P and return its bidi code.
|
||||
+ If the kind is not NONE, write the location to *OUT.*/
|
||||
+
|
||||
+static bidi::kind
|
||||
+get_bidi_utf8 (cpp_reader *pfile, const unsigned char *const p, location_t *out)
|
||||
+{
|
||||
+ bidi::kind result = get_bidi_utf8_1 (p);
|
||||
+ if (result != bidi::kind::NONE)
|
||||
+ {
|
||||
+ /* We have a sequence of 3 bytes starting at P. */
|
||||
+ *out = get_location_for_byte_range_in_cur_line (pfile, p, 3);
|
||||
+ }
|
||||
+ return result;
|
||||
+}
|
||||
+
|
||||
/* Parse a UCN where P points just past \u or \U and return its bidi code. */
|
||||
|
||||
static bidi::kind
|
||||
-get_bidi_ucn (const unsigned char *p, bool is_U)
|
||||
+get_bidi_ucn_1 (const unsigned char *p, bool is_U)
|
||||
{
|
||||
/* 6.4.3 Universal Character Names
|
||||
\u hex-quad
|
||||
@@ -1412,6 +1495,62 @@ get_bidi_ucn (const unsigned char *p, bo
|
||||
return bidi::kind::NONE;
|
||||
}
|
||||
|
||||
+/* Parse a UCN where P points just past \u or \U and return its bidi code.
|
||||
+ If the kind is not NONE, write the location to *OUT.*/
|
||||
+
|
||||
+static bidi::kind
|
||||
+get_bidi_ucn (cpp_reader *pfile, const unsigned char *p, bool is_U,
|
||||
+ location_t *out)
|
||||
+{
|
||||
+ bidi::kind result = get_bidi_ucn_1 (p, is_U);
|
||||
+ if (result != bidi::kind::NONE)
|
||||
+ {
|
||||
+ const unsigned char *start = p - 2;
|
||||
+ size_t num_bytes = 2 + (is_U ? 8 : 4);
|
||||
+ *out = get_location_for_byte_range_in_cur_line (pfile, start, num_bytes);
|
||||
+ }
|
||||
+ return result;
|
||||
+}
|
||||
+
|
||||
+/* Subclass of rich_location for reporting on unpaired UTF-8
|
||||
+ bidirectional control character(s).
|
||||
+ Escape the source lines on output, and show all unclosed
|
||||
+ bidi context, labelling everything. */
|
||||
+
|
||||
+class unpaired_bidi_rich_location : public rich_location
|
||||
+{
|
||||
+ public:
|
||||
+ class custom_range_label : public range_label
|
||||
+ {
|
||||
+ public:
|
||||
+ label_text get_text (unsigned range_idx) const FINAL OVERRIDE
|
||||
+ {
|
||||
+ /* range 0 is the primary location; each subsequent range i + 1
|
||||
+ is for bidi::vec[i]. */
|
||||
+ if (range_idx > 0)
|
||||
+ {
|
||||
+ const bidi::context &ctxt (bidi::vec[range_idx - 1]);
|
||||
+ return label_text::borrow (bidi::to_str (ctxt.m_kind));
|
||||
+ }
|
||||
+ else
|
||||
+ return label_text::borrow (_("end of bidirectional context"));
|
||||
+ }
|
||||
+ };
|
||||
+
|
||||
+ unpaired_bidi_rich_location (cpp_reader *pfile, location_t loc)
|
||||
+ : rich_location (pfile->line_table, loc, &m_custom_label)
|
||||
+ {
|
||||
+ set_escape_on_output (true);
|
||||
+ for (unsigned i = 0; i < bidi::vec.count (); i++)
|
||||
+ add_range (bidi::vec[i].m_loc,
|
||||
+ SHOW_RANGE_WITHOUT_CARET,
|
||||
+ &m_custom_label);
|
||||
+ }
|
||||
+
|
||||
+ private:
|
||||
+ custom_range_label m_custom_label;
|
||||
+};
|
||||
+
|
||||
/* We're closing a bidi context, that is, we've encountered a newline,
|
||||
are closing a C-style comment, or are at the end of a string literal,
|
||||
character constant, or identifier. Warn if this context was not
|
||||
@@ -1427,11 +1566,17 @@ maybe_warn_bidi_on_close (cpp_reader *pf
|
||||
const location_t loc
|
||||
= linemap_position_for_column (pfile->line_table,
|
||||
CPP_BUF_COLUMN (pfile->buffer, p));
|
||||
- rich_location rich_loc (pfile->line_table, loc);
|
||||
- rich_loc.set_escape_on_output (true);
|
||||
- cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
|
||||
- "unpaired UTF-8 bidirectional control character "
|
||||
- "detected");
|
||||
+ unpaired_bidi_rich_location rich_loc (pfile, loc);
|
||||
+ /* cpp_callbacks doesn't yet have a way to handle singular vs plural
|
||||
+ forms of a diagnostic, so fake it for now. */
|
||||
+ if (bidi::vec.count () > 1)
|
||||
+ cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
|
||||
+ "unpaired UTF-8 bidirectional control characters "
|
||||
+ "detected");
|
||||
+ else
|
||||
+ cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
|
||||
+ "unpaired UTF-8 bidirectional control character "
|
||||
+ "detected");
|
||||
}
|
||||
/* We're done with this context. */
|
||||
bidi::on_close ();
|
||||
@@ -1439,12 +1584,13 @@ maybe_warn_bidi_on_close (cpp_reader *pf
|
||||
|
||||
/* We're at the beginning or in the middle of an identifier/comment/string
|
||||
literal/character constant. Warn if we've encountered a bidi character.
|
||||
- KIND says which bidi character it was; P points to it in the character
|
||||
- stream. UCN_P is true iff this bidi character was written as a UCN. */
|
||||
+ KIND says which bidi control character it was; UCN_P is true iff this bidi
|
||||
+ control character was written as a UCN. LOC is the location of the
|
||||
+ character, but is only valid if KIND != bidi::kind::NONE. */
|
||||
|
||||
static void
|
||||
-maybe_warn_bidi_on_char (cpp_reader *pfile, const uchar *p, bidi::kind kind,
|
||||
- bool ucn_p)
|
||||
+maybe_warn_bidi_on_char (cpp_reader *pfile, bidi::kind kind,
|
||||
+ bool ucn_p, location_t loc)
|
||||
{
|
||||
if (__builtin_expect (kind == bidi::kind::NONE, 1))
|
||||
return;
|
||||
@@ -1453,9 +1599,6 @@ maybe_warn_bidi_on_char (cpp_reader *pfi
|
||||
|
||||
if (warn_bidi != bidirectional_none)
|
||||
{
|
||||
- const location_t loc
|
||||
- = linemap_position_for_column (pfile->line_table,
|
||||
- CPP_BUF_COLUMN (pfile->buffer, p));
|
||||
rich_location rich_loc (pfile->line_table, loc);
|
||||
rich_loc.set_escape_on_output (true);
|
||||
|
||||
@@ -1467,9 +1610,12 @@ maybe_warn_bidi_on_char (cpp_reader *pfi
|
||||
{
|
||||
if (warn_bidi == bidirectional_unpaired
|
||||
&& bidi::current_ctx_ucn_p () != ucn_p)
|
||||
- cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
|
||||
- "UTF-8 vs UCN mismatch when closing "
|
||||
- "a context by \"%s\"", bidi::to_str (kind));
|
||||
+ {
|
||||
+ rich_loc.add_range (bidi::current_ctx_loc ());
|
||||
+ cpp_warning_at (pfile, CPP_W_BIDIRECTIONAL, &rich_loc,
|
||||
+ "UTF-8 vs UCN mismatch when closing "
|
||||
+ "a context by \"%s\"", bidi::to_str (kind));
|
||||
+ }
|
||||
}
|
||||
else if (warn_bidi == bidirectional_any)
|
||||
{
|
||||
@@ -1484,7 +1630,7 @@ maybe_warn_bidi_on_char (cpp_reader *pfi
|
||||
}
|
||||
}
|
||||
/* We're done with this context. */
|
||||
- bidi::on_char (kind, ucn_p);
|
||||
+ bidi::on_char (kind, ucn_p, loc);
|
||||
}
|
||||
|
||||
/* Skip a C-style block comment. We find the end of the comment by
|
||||
@@ -1552,8 +1698,9 @@ _cpp_skip_block_comment (cpp_reader *pfi
|
||||
a bidirectional control character. */
|
||||
else if (__builtin_expect (c == bidi::utf8_start, 0) && warn_bidi_p)
|
||||
{
|
||||
- bidi::kind kind = get_bidi_utf8 (cur - 1);
|
||||
- maybe_warn_bidi_on_char (pfile, cur, kind, /*ucn_p=*/false);
|
||||
+ location_t loc;
|
||||
+ bidi::kind kind = get_bidi_utf8 (pfile, cur - 1, &loc);
|
||||
+ maybe_warn_bidi_on_char (pfile, kind, /*ucn_p=*/false, loc);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1586,9 +1733,9 @@ skip_line_comment (cpp_reader *pfile)
|
||||
{
|
||||
if (__builtin_expect (*buffer->cur == bidi::utf8_start, 0))
|
||||
{
|
||||
- bidi::kind kind = get_bidi_utf8 (buffer->cur);
|
||||
- maybe_warn_bidi_on_char (pfile, buffer->cur, kind,
|
||||
- /*ucn_p=*/false);
|
||||
+ location_t loc;
|
||||
+ bidi::kind kind = get_bidi_utf8 (pfile, buffer->cur, &loc);
|
||||
+ maybe_warn_bidi_on_char (pfile, kind, /*ucn_p=*/false, loc);
|
||||
}
|
||||
buffer->cur++;
|
||||
}
|
||||
@@ -1708,9 +1855,9 @@ forms_identifier_p (cpp_reader *pfile, i
|
||||
if (__builtin_expect (*buffer->cur == bidi::utf8_start, 0)
|
||||
&& warn_bidi_p)
|
||||
{
|
||||
- bidi::kind kind = get_bidi_utf8 (buffer->cur);
|
||||
- maybe_warn_bidi_on_char (pfile, buffer->cur, kind,
|
||||
- /*ucn_p=*/false);
|
||||
+ location_t loc;
|
||||
+ bidi::kind kind = get_bidi_utf8 (pfile, buffer->cur, &loc);
|
||||
+ maybe_warn_bidi_on_char (pfile, kind, /*ucn_p=*/false, loc);
|
||||
}
|
||||
if (_cpp_valid_utf8 (pfile, &buffer->cur, buffer->rlimit, 1 + !first,
|
||||
state, &s))
|
||||
@@ -1722,10 +1869,12 @@ forms_identifier_p (cpp_reader *pfile, i
|
||||
buffer->cur += 2;
|
||||
if (warn_bidi_p)
|
||||
{
|
||||
- bidi::kind kind = get_bidi_ucn (buffer->cur,
|
||||
- buffer->cur[-1] == 'U');
|
||||
- maybe_warn_bidi_on_char (pfile, buffer->cur, kind,
|
||||
- /*ucn_p=*/true);
|
||||
+ location_t loc;
|
||||
+ bidi::kind kind = get_bidi_ucn (pfile,
|
||||
+ buffer->cur,
|
||||
+ buffer->cur[-1] == 'U',
|
||||
+ &loc);
|
||||
+ maybe_warn_bidi_on_char (pfile, kind, /*ucn_p=*/true, loc);
|
||||
}
|
||||
if (_cpp_valid_ucn (pfile, &buffer->cur, buffer->rlimit, 1 + !first,
|
||||
state, &s, NULL, NULL))
|
||||
@@ -2336,8 +2485,11 @@ lex_raw_string (cpp_reader *pfile, cpp_t
|
||||
}
|
||||
else if (__builtin_expect ((unsigned char) c == bidi::utf8_start, 0)
|
||||
&& warn_bidi_p)
|
||||
- maybe_warn_bidi_on_char (pfile, pos - 1, get_bidi_utf8 (pos - 1),
|
||||
- /*ucn_p=*/false);
|
||||
+ {
|
||||
+ location_t loc;
|
||||
+ bidi::kind kind = get_bidi_utf8 (pfile, pos - 1, &loc);
|
||||
+ maybe_warn_bidi_on_char (pfile, kind, /*ucn_p=*/false, loc);
|
||||
+ }
|
||||
}
|
||||
|
||||
if (warn_bidi_p)
|
||||
@@ -2447,8 +2599,10 @@ lex_string (cpp_reader *pfile, cpp_token
|
||||
{
|
||||
if ((cur[0] == 'u' || cur[0] == 'U') && warn_bidi_p)
|
||||
{
|
||||
- bidi::kind kind = get_bidi_ucn (cur + 1, cur[0] == 'U');
|
||||
- maybe_warn_bidi_on_char (pfile, cur, kind, /*ucn_p=*/true);
|
||||
+ location_t loc;
|
||||
+ bidi::kind kind = get_bidi_ucn (pfile, cur + 1, cur[0] == 'U',
|
||||
+ &loc);
|
||||
+ maybe_warn_bidi_on_char (pfile, kind, /*ucn_p=*/true, loc);
|
||||
}
|
||||
cur++;
|
||||
}
|
||||
@@ -2476,8 +2630,9 @@ lex_string (cpp_reader *pfile, cpp_token
|
||||
saw_NUL = true;
|
||||
else if (__builtin_expect (c == bidi::utf8_start, 0) && warn_bidi_p)
|
||||
{
|
||||
- bidi::kind kind = get_bidi_utf8 (cur - 1);
|
||||
- maybe_warn_bidi_on_char (pfile, cur - 1, kind, /*ucn_p=*/false);
|
||||
+ location_t loc;
|
||||
+ bidi::kind kind = get_bidi_utf8 (pfile, cur - 1, &loc);
|
||||
+ maybe_warn_bidi_on_char (pfile, kind, /*ucn_p=*/false, loc);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
From 768e9075e88d811b00207d991123438bb996e4ea Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 29 Mar 2013 09:26:37 +0400
|
||||
Subject: [PATCH] gcc: Fix argument list too long error.
|
||||
|
||||
There would be an "Argument list too long" error when the
|
||||
build directory is longer than 200, this is caused by:
|
||||
|
||||
headers=`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u`
|
||||
|
||||
The PLUGIN_HEADERS is too long before sort, so the "echo" can't handle
|
||||
it, use the $(sort list) of GNU make which can handle the too long list
|
||||
would fix the problem, the header would be short enough after sorted.
|
||||
The "tr ' ' '\012'" was used for translating the space to "\n", the
|
||||
$(sort list) doesn't need this.
|
||||
|
||||
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
RP: gcc then added *.h and *.def additions to this list, breaking the original
|
||||
fix. Add the sort to the original gcc code, leaving the tr+sort to fix the original
|
||||
issue but include the new files too as reported by Zhuang <qiuguang.zqg@alibaba-inc.com>
|
||||
|
||||
Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=66e157188bd2f789809e17e85f917534c9381599]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
gcc/Makefile.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
|
||||
index 95962ae37b6..d1d4512bba3 100644
|
||||
--- a/gcc/Makefile.in
|
||||
+++ b/gcc/Makefile.in
|
||||
@@ -3671,7 +3671,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype
|
||||
# We keep the directory structure for files in config, common/config or
|
||||
# c-family and .def files. All other files are flattened to a single directory.
|
||||
$(mkinstalldirs) $(DESTDIR)$(plugin_includedir)
|
||||
- headers=`echo $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def) | tr ' ' '\012' | sort -u`; \
|
||||
+ headers=`echo $(sort $(PLUGIN_HEADERS)) $$(cd $(srcdir); echo *.h *.def) | tr ' ' '\012' | sort -u`; \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \
|
||||
for file in $$headers; do \
|
||||
if [ -f $$file ] ; then \
|
||||
@@ -1,204 +0,0 @@
|
||||
From 667b302f637be0a4b6ef714b5eb0026c54425386 Mon Sep 17 00:00:00 2001
|
||||
From: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
Date: Sun, 31 Oct 2021 17:40:12 -0700
|
||||
Subject: [PATCH] Makefile.in: Ensure build CPP/CPPFLAGS is used for build
|
||||
targets
|
||||
|
||||
During cross compiling, CPP is being set to the target compiler even for
|
||||
build targets. As an example, when building a cross compiler targetting
|
||||
mingw, the config.log for libiberty in
|
||||
build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log
|
||||
shows:
|
||||
|
||||
configure:3786: checking how to run the C preprocessor
|
||||
configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=[sysroot]/x86_64-nativesdk-mingw32-pokysdk-mingw32
|
||||
configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=[sysroot]/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c
|
||||
configure:3876: $? = 0
|
||||
|
||||
This is libiberty being built for the build environment, not the target one
|
||||
(i.e. in build-x86_64-linux). As such it should be using the build environment's
|
||||
gcc and not the target one. In the mingw case the system headers are quite
|
||||
different leading to build failures related to not being able to include a
|
||||
process.h file for pem-unix.c.
|
||||
|
||||
Further analysis shows the same issue occuring for CPPFLAGS too.
|
||||
|
||||
Fix this by adding support for CPP_FOR_BUILD and CPPFLAGS_FOR_BUILD which
|
||||
for example, avoids mixing the mingw headers for host binaries on linux
|
||||
systems.
|
||||
|
||||
2021-10-27 Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
|
||||
ChangeLog:
|
||||
|
||||
* Makefile.tpl: Add CPP_FOR_BUILD and CPPFLAGS_FOR_BUILD support
|
||||
* Makefile.in: Regenerate.
|
||||
* configure: Regenerate.
|
||||
* configure.ac: Add CPP_FOR_BUILD and CPPFLAGS_FOR_BUILD support
|
||||
|
||||
gcc/ChangeLog:
|
||||
|
||||
* configure: Regenerate.
|
||||
* configure.ac: Use CPPFLAGS_FOR_BUILD for GMPINC
|
||||
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
|
||||
Submitted [https://gcc.gnu.org/pipermail/gcc-patches/2021-October/582727.html]
|
||||
Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=84401ce5fb4ecab55decb472b168100e7593e01f]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
Makefile.in | 6 ++++++
|
||||
Makefile.tpl | 6 ++++++
|
||||
configure | 4 ++++
|
||||
configure.ac | 4 ++++
|
||||
gcc/configure | 2 +-
|
||||
gcc/configure.ac | 2 +-
|
||||
6 files changed, 22 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 20cbbe2906d..33476d53327 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -154,6 +154,8 @@ BUILD_EXPORTS = \
|
||||
CC="$(CC_FOR_BUILD)"; export CC; \
|
||||
CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
|
||||
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
|
||||
+ CPP="$(CPP_FOR_BUILD)"; export CPP; \
|
||||
+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
|
||||
CXX="$(CXX_FOR_BUILD)"; export CXX; \
|
||||
CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
|
||||
GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
|
||||
@@ -202,6 +204,8 @@ HOST_EXPORTS = \
|
||||
AR="$(AR)"; export AR; \
|
||||
AS="$(AS)"; export AS; \
|
||||
CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
|
||||
+ CPP_FOR_BUILD="$(CPP_FOR_BUILD)"; export CPP_FOR_BUILD; \
|
||||
+ CPPFLAGS_FOR_BUILD="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS_FOR_BUILD; \
|
||||
CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \
|
||||
DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
|
||||
DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \
|
||||
@@ -360,6 +364,8 @@ AR_FOR_BUILD = @AR_FOR_BUILD@
|
||||
AS_FOR_BUILD = @AS_FOR_BUILD@
|
||||
CC_FOR_BUILD = @CC_FOR_BUILD@
|
||||
CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
|
||||
+CPP_FOR_BUILD = @CPP_FOR_BUILD@
|
||||
+CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
|
||||
CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@
|
||||
CXX_FOR_BUILD = @CXX_FOR_BUILD@
|
||||
DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
|
||||
diff --git a/Makefile.tpl b/Makefile.tpl
|
||||
index 9adf4f94728..e39d85d1109 100644
|
||||
--- a/Makefile.tpl
|
||||
+++ b/Makefile.tpl
|
||||
@@ -157,6 +157,8 @@ BUILD_EXPORTS = \
|
||||
CC="$(CC_FOR_BUILD)"; export CC; \
|
||||
CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
|
||||
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
|
||||
+ CPP="$(CPP_FOR_BUILD)"; export CPP; \
|
||||
+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
|
||||
CXX="$(CXX_FOR_BUILD)"; export CXX; \
|
||||
CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
|
||||
GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
|
||||
@@ -205,6 +207,8 @@ HOST_EXPORTS = \
|
||||
AR="$(AR)"; export AR; \
|
||||
AS="$(AS)"; export AS; \
|
||||
CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
|
||||
+ CPP_FOR_BUILD="$(CPP_FOR_BUILD)"; export CPP_FOR_BUILD; \
|
||||
+ CPPFLAGS_FOR_BUILD="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS_FOR_BUILD; \
|
||||
CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \
|
||||
DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
|
||||
DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \
|
||||
@@ -363,6 +367,8 @@ AR_FOR_BUILD = @AR_FOR_BUILD@
|
||||
AS_FOR_BUILD = @AS_FOR_BUILD@
|
||||
CC_FOR_BUILD = @CC_FOR_BUILD@
|
||||
CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
|
||||
+CPP_FOR_BUILD = @CPP_FOR_BUILD@
|
||||
+CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
|
||||
CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@
|
||||
CXX_FOR_BUILD = @CXX_FOR_BUILD@
|
||||
DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
|
||||
diff --git a/configure b/configure
|
||||
index 45744e6e471..ff0de8a68b4 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -655,6 +655,8 @@ DSYMUTIL_FOR_BUILD
|
||||
DLLTOOL_FOR_BUILD
|
||||
CXX_FOR_BUILD
|
||||
CXXFLAGS_FOR_BUILD
|
||||
+CPPFLAGS_FOR_BUILD
|
||||
+CPP_FOR_BUILD
|
||||
CFLAGS_FOR_BUILD
|
||||
CC_FOR_BUILD
|
||||
AS_FOR_BUILD
|
||||
@@ -4100,6 +4102,7 @@ if test "${build}" != "${host}" ; then
|
||||
AR_FOR_BUILD=${AR_FOR_BUILD-ar}
|
||||
AS_FOR_BUILD=${AS_FOR_BUILD-as}
|
||||
CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
|
||||
+ CPP_FOR_BUILD="${CPP_FOR_BUILD-\$(CPP)}"
|
||||
CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
|
||||
DSYMUTIL_FOR_BUILD=${DSYMUTIL_FOR_BUILD-dsymutil}
|
||||
GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
|
||||
@@ -9831,6 +9834,7 @@ esac
|
||||
# our build compiler if desired.
|
||||
if test x"${build}" = x"${host}" ; then
|
||||
CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
|
||||
+ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-${CPPFLAGS}}
|
||||
CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}}
|
||||
LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
|
||||
fi
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index bf66b51373c..09fa3896dc7 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1347,6 +1347,7 @@ if test "${build}" != "${host}" ; then
|
||||
AR_FOR_BUILD=${AR_FOR_BUILD-ar}
|
||||
AS_FOR_BUILD=${AS_FOR_BUILD-as}
|
||||
CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
|
||||
+ CPP_FOR_BUILD="${CPP_FOR_BUILD-\$(CPP)}"
|
||||
CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
|
||||
DSYMUTIL_FOR_BUILD=${DSYMUTIL_FOR_BUILD-dsymutil}
|
||||
GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
|
||||
@@ -3336,6 +3337,7 @@ esac
|
||||
# our build compiler if desired.
|
||||
if test x"${build}" = x"${host}" ; then
|
||||
CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
|
||||
+ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-${CPPFLAGS}}
|
||||
CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}}
|
||||
LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
|
||||
fi
|
||||
@@ -3402,6 +3404,8 @@ AC_SUBST(AR_FOR_BUILD)
|
||||
AC_SUBST(AS_FOR_BUILD)
|
||||
AC_SUBST(CC_FOR_BUILD)
|
||||
AC_SUBST(CFLAGS_FOR_BUILD)
|
||||
+AC_SUBST(CPP_FOR_BUILD)
|
||||
+AC_SUBST(CPPFLAGS_FOR_BUILD)
|
||||
AC_SUBST(CXXFLAGS_FOR_BUILD)
|
||||
AC_SUBST(CXX_FOR_BUILD)
|
||||
AC_SUBST(DLLTOOL_FOR_BUILD)
|
||||
diff --git a/gcc/configure b/gcc/configure
|
||||
index ec3c24482df..31a460dc9d0 100755
|
||||
--- a/gcc/configure
|
||||
+++ b/gcc/configure
|
||||
@@ -12740,7 +12740,7 @@ else
|
||||
CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
|
||||
CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
|
||||
LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
|
||||
- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
|
||||
+ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
|
||||
${realsrcdir}/configure \
|
||||
--enable-languages=${enable_languages-all} \
|
||||
${enable_obsolete+--enable-obsolete="$enable_obsolete"} \
|
||||
diff --git a/gcc/configure.ac b/gcc/configure.ac
|
||||
index ea794cd1763..b965eb036bc 100644
|
||||
--- a/gcc/configure.ac
|
||||
+++ b/gcc/configure.ac
|
||||
@@ -2054,7 +2054,7 @@ else
|
||||
CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
|
||||
CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
|
||||
LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
|
||||
- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
|
||||
+ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
|
||||
${realsrcdir}/configure \
|
||||
--enable-languages=${enable_languages-all} \
|
||||
${enable_obsolete+--enable-obsolete="$enable_obsolete"} \
|
||||
@@ -1,25 +0,0 @@
|
||||
From 9ec4db8e910d9a51ae43f6b20d4bf1dac2d8cca8 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Tue, 2 Feb 2016 10:26:10 -0800
|
||||
Subject: [PATCH] nios2: Define MUSL_DYNAMIC_LINKER
|
||||
|
||||
Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=e5ddbbf992b909d8e38851bd3179d29389e6ac97]
|
||||
|
||||
Signed-off-by: Marek Vasut <marex@denx.de>
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
gcc/config/nios2/linux.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h
|
||||
index 08edf1521f6..15696d86241 100644
|
||||
--- a/gcc/config/nios2/linux.h
|
||||
+++ b/gcc/config/nios2/linux.h
|
||||
@@ -30,6 +30,7 @@
|
||||
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
|
||||
|
||||
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-nios2.so.1"
|
||||
+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-nios2.so.1"
|
||||
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC LINK_SPEC_ENDIAN \
|
||||
@@ -1,26 +0,0 @@
|
||||
From 79a568dec47baa264eb6290fed3df3244450a92e Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 4 May 2016 21:11:34 -0700
|
||||
Subject: [PATCH] Link libgcc using LDFLAGS, not just SHLIB_LDFLAGS
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
libgcc/config/t-slibgcc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libgcc/config/t-slibgcc b/libgcc/config/t-slibgcc
|
||||
index c59b43b7b69..ca4c141f526 100644
|
||||
--- a/libgcc/config/t-slibgcc
|
||||
+++ b/libgcc/config/t-slibgcc
|
||||
@@ -32,7 +32,7 @@ SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \
|
||||
$(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
|
||||
|
||||
SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
|
||||
- $(SHLIB_LDFLAGS) \
|
||||
+ $(LDFLAGS) $(SHLIB_LDFLAGS) \
|
||||
-o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \
|
||||
$(SHLIB_OBJS) $(SHLIB_LC) && \
|
||||
rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \
|
||||
@@ -1,88 +0,0 @@
|
||||
From 07a06aa8e8285c1bb06d0bebeaa9ad04eb76f2e2 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 3 Feb 2017 12:56:00 -0800
|
||||
Subject: [PATCH] sync gcc stddef.h with musl
|
||||
|
||||
musl defines ptrdiff_t size_t and wchar_t
|
||||
so dont define them here if musl is definining them
|
||||
|
||||
Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=85a438fc78dd12249ca854a3e5c577fefeb1a5cd]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
gcc/ginclude/stddef.h | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
|
||||
index 66619fe43b1..3f843d6f365 100644
|
||||
--- a/gcc/ginclude/stddef.h
|
||||
+++ b/gcc/ginclude/stddef.h
|
||||
@@ -128,6 +128,7 @@ _TYPE_wchar_t;
|
||||
#ifndef ___int_ptrdiff_t_h
|
||||
#ifndef _GCC_PTRDIFF_T
|
||||
#ifndef _PTRDIFF_T_DECLARED /* DragonFly */
|
||||
+#ifndef __DEFINED_ptrdiff_t /* musl */
|
||||
#define _PTRDIFF_T
|
||||
#define _T_PTRDIFF_
|
||||
#define _T_PTRDIFF
|
||||
@@ -137,10 +138,12 @@ _TYPE_wchar_t;
|
||||
#define ___int_ptrdiff_t_h
|
||||
#define _GCC_PTRDIFF_T
|
||||
#define _PTRDIFF_T_DECLARED
|
||||
+#define __DEFINED_ptrdiff_t /* musl */
|
||||
#ifndef __PTRDIFF_TYPE__
|
||||
#define __PTRDIFF_TYPE__ long int
|
||||
#endif
|
||||
typedef __PTRDIFF_TYPE__ ptrdiff_t;
|
||||
+#endif /* __DEFINED_ptrdiff_t */
|
||||
#endif /* _PTRDIFF_T_DECLARED */
|
||||
#endif /* _GCC_PTRDIFF_T */
|
||||
#endif /* ___int_ptrdiff_t_h */
|
||||
@@ -178,6 +181,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
|
||||
#ifndef _GCC_SIZE_T
|
||||
#ifndef _SIZET_
|
||||
#ifndef __size_t
|
||||
+#ifndef __DEFINED_size_t /* musl */
|
||||
#define __size_t__ /* BeOS */
|
||||
#define __SIZE_T__ /* Cray Unicos/Mk */
|
||||
#define _SIZE_T
|
||||
@@ -194,6 +198,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
|
||||
#define ___int_size_t_h
|
||||
#define _GCC_SIZE_T
|
||||
#define _SIZET_
|
||||
+#define __DEFINED_size_t /* musl */
|
||||
#if defined (__FreeBSD__) \
|
||||
|| defined(__DragonFly__) \
|
||||
|| defined(__FreeBSD_kernel__) \
|
||||
@@ -228,6 +233,7 @@ typedef long ssize_t;
|
||||
#endif /* _SIZE_T */
|
||||
#endif /* __SIZE_T__ */
|
||||
#endif /* __size_t__ */
|
||||
+#endif /* __DEFINED_size_t */
|
||||
#undef __need_size_t
|
||||
#endif /* _STDDEF_H or __need_size_t. */
|
||||
|
||||
@@ -257,6 +263,7 @@ typedef long ssize_t;
|
||||
#ifndef ___int_wchar_t_h
|
||||
#ifndef __INT_WCHAR_T_H
|
||||
#ifndef _GCC_WCHAR_T
|
||||
+#ifndef __DEFINED_wchar_t /* musl */
|
||||
#define __wchar_t__ /* BeOS */
|
||||
#define __WCHAR_T__ /* Cray Unicos/Mk */
|
||||
#define _WCHAR_T
|
||||
@@ -272,6 +279,7 @@ typedef long ssize_t;
|
||||
#define __INT_WCHAR_T_H
|
||||
#define _GCC_WCHAR_T
|
||||
#define _WCHAR_T_DECLARED
|
||||
+#define __DEFINED_wchar_t /* musl */
|
||||
|
||||
/* On BSD/386 1.1, at least, machine/ansi.h defines _BSD_WCHAR_T_
|
||||
instead of _WCHAR_T_, and _BSD_RUNE_T_ (which, unlike the other
|
||||
@@ -337,6 +345,7 @@ typedef __WCHAR_TYPE__ wchar_t;
|
||||
#endif
|
||||
#endif /* __WCHAR_T__ */
|
||||
#endif /* __wchar_t__ */
|
||||
+#endif /* __DEFINED_wchar_t musl */
|
||||
#undef __need_wchar_t
|
||||
#endif /* _STDDEF_H or __need_wchar_t. */
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
From 7bc34769f0b055e25286576e4ba6d211e8159834 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Tue, 12 May 2020 10:39:09 -0700
|
||||
Subject: [PATCH] mingw32: Enable operation_not_supported
|
||||
|
||||
Fixes nativesdk build errors on mingw32 gcc-runtime
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
libstdc++-v3/config/os/mingw32/error_constants.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libstdc++-v3/config/os/mingw32/error_constants.h b/libstdc++-v3/config/os/mingw32/error_constants.h
|
||||
index eca06a97014..933cfab49cf 100644
|
||||
--- a/libstdc++-v3/config/os/mingw32/error_constants.h
|
||||
+++ b/libstdc++-v3/config/os/mingw32/error_constants.h
|
||||
@@ -107,7 +107,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
#ifdef EPERM
|
||||
operation_not_permitted = EPERM,
|
||||
#endif
|
||||
-// operation_not_supported = EOPNOTSUPP,
|
||||
+ operation_not_supported = EOPNOTSUPP,
|
||||
#ifdef EWOULDBLOCK
|
||||
operation_would_block = EWOULDBLOCK,
|
||||
#endif
|
||||
@@ -1,101 +0,0 @@
|
||||
From 49008eeedc97014f44e12afe179d3785e4438372 Mon Sep 17 00:00:00 2001
|
||||
From: Richard Biener <rguenther@suse.de>
|
||||
Date: Tue, 20 Jul 2021 11:00:33 +0200
|
||||
Subject: [PATCH] debug/101473 - apply debug prefix maps before checksumming
|
||||
DIEs
|
||||
|
||||
The following makes sure to apply the debug prefix maps to filenames
|
||||
before checksumming DIEs to create the global symbol for the CU DIE
|
||||
used by LTO to link the late debug to the early debug. This avoids
|
||||
binary differences (in said symbol) when compiling with toolchains
|
||||
installed under a different path and that compensated with appropriate
|
||||
-fdebug-prefix-map options.
|
||||
|
||||
The easiest and most scalable way is to record both the unmapped
|
||||
and the remapped filename in the dwarf_file_data so the remapping
|
||||
process takes place at a single point and only once (otherwise it
|
||||
creates GC garbage at each point doing that).
|
||||
|
||||
2021-07-20 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR debug/101473
|
||||
* dwarf2out.h (dwarf_file_data): Add key member.
|
||||
* dwarf2out.c (dwarf_file_hasher::equal): Compare key.
|
||||
(dwarf_file_hasher::hash): Hash key.
|
||||
(lookup_filename): Remap the filename and store it in the
|
||||
filename member of dwarf_file_data when creating a new
|
||||
dwarf_file_data.
|
||||
(file_name_acquire): Do not remap the filename again.
|
||||
(maybe_emit_file): Likewise.
|
||||
|
||||
[YOCTO #14481]
|
||||
|
||||
Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=7cc2df084b7977653a9b59cbc34a9ad500ae619c]
|
||||
|
||||
The upstream patch was modified to compensate for the definition of
|
||||
"struct dwarf_file_data" being in dwarf2out.c rather than dwarf2out.h in
|
||||
this version of gcc.
|
||||
|
||||
Signed-off-by: Tony Battersby <tonyb@cybernetics.com>
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
gcc/dwarf2out.c | 13 +++++++------
|
||||
1 file changed, 7 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
|
||||
index e5d3ce4966d..41ac3008507 100644
|
||||
--- a/gcc/dwarf2out.c
|
||||
+++ b/gcc/dwarf2out.c
|
||||
@@ -1283,6 +1283,7 @@ dwarf2out_switch_text_section (void)
|
||||
|
||||
/* Data about a single source file. */
|
||||
struct GTY((for_user)) dwarf_file_data {
|
||||
+ const char * key;
|
||||
const char * filename;
|
||||
int emitted_number;
|
||||
};
|
||||
@@ -12335,7 +12336,7 @@ file_name_acquire (dwarf_file_data **slot, file_name_acquire_data *fnad)
|
||||
|
||||
fi = fnad->files + fnad->used_files++;
|
||||
|
||||
- f = remap_debug_filename (d->filename);
|
||||
+ f = d->filename;
|
||||
|
||||
/* Skip all leading "./". */
|
||||
while (f[0] == '.' && IS_DIR_SEPARATOR (f[1]))
|
||||
@@ -27259,13 +27260,13 @@ dwarf2out_ignore_block (const_tree block)
|
||||
bool
|
||||
dwarf_file_hasher::equal (dwarf_file_data *p1, const char *p2)
|
||||
{
|
||||
- return filename_cmp (p1->filename, p2) == 0;
|
||||
+ return filename_cmp (p1->key, p2) == 0;
|
||||
}
|
||||
|
||||
hashval_t
|
||||
dwarf_file_hasher::hash (dwarf_file_data *p)
|
||||
{
|
||||
- return htab_hash_string (p->filename);
|
||||
+ return htab_hash_string (p->key);
|
||||
}
|
||||
|
||||
/* Lookup FILE_NAME (in the list of filenames that we know about here in
|
||||
@@ -27295,7 +27296,8 @@ lookup_filename (const char *file_name)
|
||||
return *slot;
|
||||
|
||||
created = ggc_alloc<dwarf_file_data> ();
|
||||
- created->filename = file_name;
|
||||
+ created->key = file_name;
|
||||
+ created->filename = remap_debug_filename (file_name);
|
||||
created->emitted_number = 0;
|
||||
*slot = created;
|
||||
return created;
|
||||
@@ -27321,8 +27323,7 @@ maybe_emit_file (struct dwarf_file_data * fd)
|
||||
if (output_asm_line_debug_info ())
|
||||
{
|
||||
fprintf (asm_out_file, "\t.file %u ", fd->emitted_number);
|
||||
- output_quoted_string (asm_out_file,
|
||||
- remap_debug_filename (fd->filename));
|
||||
+ output_quoted_string (asm_out_file, fd->filename);
|
||||
fputc ('\n', asm_out_file);
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,16 @@
|
||||
require recipes-devtools/gcc/gcc-common.inc
|
||||
|
||||
# Third digit in PV should be incremented after a minor release
|
||||
ARM_GCC_VERSION = "11.3"
|
||||
ARM_GCC_VERSION = "12.2"
|
||||
ARM_GCC_SUB_VERSION = "rel1"
|
||||
PV = "arm-${ARM_GCC_VERSION}"
|
||||
CVE_VERSION = "11.3"
|
||||
CVE_VERSION = "12.2"
|
||||
|
||||
# BINV should be incremented to a revision after a minor gcc release
|
||||
|
||||
BINV = "11.3.1"
|
||||
BINV = "12.2.1"
|
||||
|
||||
MMYY = "22.08"
|
||||
MMYY = "22.12"
|
||||
RELEASE = "20${MMYY}"
|
||||
PR = "r${RELEASE}"
|
||||
|
||||
@@ -30,45 +30,34 @@ LIC_FILES_CHKSUM = "\
|
||||
"
|
||||
|
||||
BASEURI ?= "https://developer.arm.com/-/media/Files/downloads/gnu/${ARM_GCC_VERSION}.${ARM_GCC_SUB_VERSION}/srcrel/arm-gnu-toolchain-src-snapshot-${ARM_GCC_VERSION}.${ARM_GCC_SUB_VERSION}.tar.xz"
|
||||
SRC_URI = "\
|
||||
${BASEURI} \
|
||||
SRC_URI = "${BASEURI} \
|
||||
file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
|
||||
file://0002-gcc-poison-system-directories.patch \
|
||||
file://0003-64-bit-multilib-hack.patch \
|
||||
file://0004-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \
|
||||
file://0005-cpp-honor-sysroot.patch \
|
||||
file://0006-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \
|
||||
file://0007-gcc-Fix-argument-list-too-long-error.patch \
|
||||
file://0004-Pass-CXXFLAGS_FOR_BUILD-in-a-couple-of-places-to-avo.patch \
|
||||
file://0005-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \
|
||||
file://0006-cpp-honor-sysroot.patch \
|
||||
file://0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \
|
||||
file://0008-libtool.patch \
|
||||
file://0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \
|
||||
file://0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch \
|
||||
file://0011-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \
|
||||
file://0012-Ensure-target-gcc-headers-can-be-included.patch \
|
||||
file://0013-Don-t-search-host-directory-during-relink-if-inst_pr.patch \
|
||||
file://0014-libcc1-fix-libcc1-s-install-path-and-rpath.patch \
|
||||
file://0015-Makefile.in-Ensure-build-CPP-CPPFLAGS-is-used-for-bu.patch \
|
||||
file://0016-If-CXXFLAGS-contains-something-unsupported-by-the-bu.patch \
|
||||
file://0017-handle-sysroot-support-for-nativesdk-gcc.patch \
|
||||
file://0018-Search-target-sysroot-gcc-version-specific-dirs-with.patch \
|
||||
file://0019-nios2-Define-MUSL_DYNAMIC_LINKER.patch \
|
||||
file://0020-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \
|
||||
file://0021-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \
|
||||
file://0022-sync-gcc-stddef.h-with-musl.patch \
|
||||
file://0023-Re-introduce-spe-commandline-options.patch \
|
||||
file://0024-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \
|
||||
file://0025-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \
|
||||
file://0026-mingw32-Enable-operation_not_supported.patch \
|
||||
file://0027-libatomic-Do-not-enforce-march-on-aarch64.patch \
|
||||
file://0028-debug-101473-apply-debug-prefix-maps-before-checksum.patch \
|
||||
file://0029-Fix-install-path-of-linux64.h.patch \
|
||||
file://0030-rust-recursion-limit.patch \
|
||||
file://0001-CVE-2021-42574.patch \
|
||||
file://0002-CVE-2021-42574.patch \
|
||||
file://0003-CVE-2021-42574.patch \
|
||||
file://0004-CVE-2021-42574.patch \
|
||||
file://0001-CVE-2021-46195.patch \
|
||||
file://0013-Ensure-target-gcc-headers-can-be-included.patch \
|
||||
file://0014-Don-t-search-host-directory-during-relink-if-inst_pr.patch \
|
||||
file://0015-libcc1-fix-libcc1-s-install-path-and-rpath.patch \
|
||||
file://0016-handle-sysroot-support-for-nativesdk-gcc.patch \
|
||||
file://0017-Search-target-sysroot-gcc-version-specific-dirs-with.patch \
|
||||
file://0018-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \
|
||||
file://0019-Re-introduce-spe-commandline-options.patch \
|
||||
file://0020-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \
|
||||
file://0021-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \
|
||||
file://0023-libatomic-Do-not-enforce-march-on-aarch64.patch \
|
||||
file://0024-Fix-install-path-of-linux64.h.patch \
|
||||
file://0026-rust-recursion-limit.patch \
|
||||
file://prefix-map-realpath.patch \
|
||||
file://hardcoded-paths.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "4fb9a3c58c94deb91bd75bc503962fae347f05d4d47a0e079141350f08919fb5"
|
||||
SRC_URI[sha256sum] = "108b5e0786b988c7ce24b82187d8cf643fefbd8e3db24fa5f67e530e727d0c70"
|
||||
|
||||
S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/arm-gnu-toolchain-src-snapshot-${ARM_GCC_VERSION}.${ARM_GCC_SUB_VERSION}"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 6badb97389cae4ff9a533d38dc7cceefe21b97a8 Mon Sep 17 00:00:00 2001
|
||||
From 31f94ef5b43a984a98f0eebd2dcf1b53aa1d7bce Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 29 Mar 2013 08:37:11 +0400
|
||||
Subject: [PATCH] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET
|
||||
@@ -12,10 +12,10 @@ Upstream-Status: Inappropriate [embedded specific]
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index e218a19e333..45744e6e471 100755
|
||||
index 5dcaab14ae9..f76310a36bb 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -9750,7 +9750,7 @@ fi
|
||||
@@ -10165,7 +10165,7 @@ fi
|
||||
# for target_alias and gcc doesn't manage it consistently.
|
||||
target_configargs="--cache-file=./config.cache ${target_configargs}"
|
||||
|
||||
@@ -25,10 +25,10 @@ index e218a19e333..45744e6e471 100755
|
||||
*" newlib "*)
|
||||
case " $target_configargs " in
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 7e8e628b325..bf66b51373c 100644
|
||||
index 85977482aee..8b9097c7a45 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3255,7 +3255,7 @@ fi
|
||||
@@ -3346,7 +3346,7 @@ fi
|
||||
# for target_alias and gcc doesn't manage it consistently.
|
||||
target_configargs="--cache-file=./config.cache ${target_configargs}"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 863f1f9dc78839ecd021b2cb01d501e8c9e00ef7 Mon Sep 17 00:00:00 2001
|
||||
From 99f1e61b2957226254a116fde7fd73bf07034012 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 8 Mar 2021 16:04:20 -0800
|
||||
Subject: [PATCH] gcc: poison-system-directories
|
||||
@@ -20,15 +20,15 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
gcc/configure | 19 +++++++++++++++++++
|
||||
gcc/configure.ac | 16 ++++++++++++++++
|
||||
gcc/doc/invoke.texi | 9 +++++++++
|
||||
gcc/gcc.c | 9 +++++++--
|
||||
gcc/incpath.c | 21 +++++++++++++++++++++
|
||||
7 files changed, 86 insertions(+), 2 deletions(-)
|
||||
gcc/gcc.cc | 15 ++++++++++++---
|
||||
gcc/incpath.cc | 21 +++++++++++++++++++++
|
||||
7 files changed, 91 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/gcc/common.opt b/gcc/common.opt
|
||||
index a75b44ee47e..d15105a73f3 100644
|
||||
index 8a0dafc52..0357868e2 100644
|
||||
--- a/gcc/common.opt
|
||||
+++ b/gcc/common.opt
|
||||
@@ -683,6 +683,10 @@ Wreturn-local-addr
|
||||
@@ -710,6 +710,10 @@ Wreturn-local-addr
|
||||
Common Var(warn_return_local_addr) Init(1) Warning
|
||||
Warn about returning a pointer/reference to a local or temporary variable.
|
||||
|
||||
@@ -40,7 +40,7 @@ index a75b44ee47e..d15105a73f3 100644
|
||||
Common Var(warn_shadow) Warning
|
||||
Warn when one variable shadows another. Same as -Wshadow=global.
|
||||
diff --git a/gcc/config.in b/gcc/config.in
|
||||
index 048bf52e8c2..4f973f7906a 100644
|
||||
index 64c27c9cf..a693cb8a8 100644
|
||||
--- a/gcc/config.in
|
||||
+++ b/gcc/config.in
|
||||
@@ -230,6 +230,16 @@
|
||||
@@ -61,10 +61,10 @@ index 048bf52e8c2..4f973f7906a 100644
|
||||
optimizer and back end) to be checked for dynamic type safety at runtime.
|
||||
This is quite expensive. */
|
||||
diff --git a/gcc/configure b/gcc/configure
|
||||
index 7218b0c331a..d7445339f9a 100755
|
||||
index 2b83acfb0..8bb97578c 100755
|
||||
--- a/gcc/configure
|
||||
+++ b/gcc/configure
|
||||
@@ -1019,6 +1019,7 @@ enable_maintainer_mode
|
||||
@@ -1023,6 +1023,7 @@ enable_maintainer_mode
|
||||
enable_link_mutex
|
||||
enable_link_serialization
|
||||
enable_version_specific_runtime_libs
|
||||
@@ -72,7 +72,7 @@ index 7218b0c331a..d7445339f9a 100755
|
||||
enable_plugin
|
||||
enable_host_shared
|
||||
enable_libquadmath_support
|
||||
@@ -1781,6 +1782,8 @@ Optional Features:
|
||||
@@ -1785,6 +1786,8 @@ Optional Features:
|
||||
--enable-version-specific-runtime-libs
|
||||
specify that runtime libraries should be installed
|
||||
in a compiler-specific directory
|
||||
@@ -81,7 +81,7 @@ index 7218b0c331a..d7445339f9a 100755
|
||||
--enable-plugin enable plugin support
|
||||
--enable-host-shared build host code as shared libraries
|
||||
--disable-libquadmath-support
|
||||
@@ -31932,6 +31935,22 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
|
||||
@@ -31996,6 +31999,22 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
|
||||
fi
|
||||
|
||||
|
||||
@@ -105,10 +105,10 @@ index 7218b0c331a..d7445339f9a 100755
|
||||
|
||||
|
||||
diff --git a/gcc/configure.ac b/gcc/configure.ac
|
||||
index 49f043ed29b..fe488f2232b 100644
|
||||
index daf2a708c..6155b83a7 100644
|
||||
--- a/gcc/configure.ac
|
||||
+++ b/gcc/configure.ac
|
||||
@@ -7393,6 +7393,22 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
|
||||
@@ -7435,6 +7435,22 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
|
||||
[specify that runtime libraries should be
|
||||
installed in a compiler-specific directory])])
|
||||
|
||||
@@ -132,10 +132,10 @@ index 49f043ed29b..fe488f2232b 100644
|
||||
AC_SUBST(subdirs)
|
||||
AC_SUBST(srcdir)
|
||||
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
|
||||
index 35508efb4ef..40f798eac78 100644
|
||||
index ff6c338be..a8ebfa59a 100644
|
||||
--- a/gcc/doc/invoke.texi
|
||||
+++ b/gcc/doc/invoke.texi
|
||||
@@ -369,6 +369,7 @@ Objective-C and Objective-C++ Dialects}.
|
||||
@@ -379,6 +379,7 @@ Objective-C and Objective-C++ Dialects}.
|
||||
-Wpacked -Wno-packed-bitfield-compat -Wpacked-not-aligned -Wpadded @gol
|
||||
-Wparentheses -Wno-pedantic-ms-format @gol
|
||||
-Wpointer-arith -Wno-pointer-compare -Wno-pointer-to-int-cast @gol
|
||||
@@ -143,7 +143,7 @@ index 35508efb4ef..40f798eac78 100644
|
||||
-Wno-pragmas -Wno-prio-ctor-dtor -Wredundant-decls @gol
|
||||
-Wrestrict -Wno-return-local-addr -Wreturn-type @gol
|
||||
-Wno-scalar-storage-order -Wsequence-point @gol
|
||||
@@ -7728,6 +7729,14 @@ made up of data only and thus requires no special treatment. But, for
|
||||
@@ -8029,6 +8030,14 @@ made up of data only and thus requires no special treatment. But, for
|
||||
most targets, it is made up of code and thus requires the stack to be
|
||||
made executable in order for the program to work properly.
|
||||
|
||||
@@ -158,11 +158,11 @@ index 35508efb4ef..40f798eac78 100644
|
||||
@item -Wfloat-equal
|
||||
@opindex Wfloat-equal
|
||||
@opindex Wno-float-equal
|
||||
diff --git a/gcc/gcc.c b/gcc/gcc.c
|
||||
index 0af888c7d78..b047fc31c2f 100644
|
||||
--- a/gcc/gcc.c
|
||||
+++ b/gcc/gcc.c
|
||||
@@ -1152,6 +1152,8 @@ proper position among the other output files. */
|
||||
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
|
||||
index beefde7f6..4e6557b3c 100644
|
||||
--- a/gcc/gcc.cc
|
||||
+++ b/gcc/gcc.cc
|
||||
@@ -1162,6 +1162,8 @@ proper position among the other output files. */
|
||||
"%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
|
||||
"%X %{o*} %{e*} %{N} %{n} %{r}\
|
||||
%{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
|
||||
@@ -171,7 +171,7 @@ index 0af888c7d78..b047fc31c2f 100644
|
||||
%{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \
|
||||
VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \
|
||||
%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
|
||||
@@ -1247,8 +1249,11 @@ static const char *cpp_unique_options =
|
||||
@@ -1257,8 +1259,11 @@ static const char *cpp_unique_options =
|
||||
static const char *cpp_options =
|
||||
"%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\
|
||||
%{f*} %{g*:%{%:debug-level-gt(0):%{g*}\
|
||||
@@ -179,16 +179,29 @@ index 0af888c7d78..b047fc31c2f 100644
|
||||
- %{undef} %{save-temps*:-fpch-preprocess}";
|
||||
+ %{!fno-working-directory:-fworking-directory}}} %{O*}"
|
||||
+#ifdef POISON_BY_DEFAULT
|
||||
+ " -Werror=poison-system-directories"
|
||||
+ " %{!Wno-error=poison-system-directories:-Werror=poison-system-directories}"
|
||||
+#endif
|
||||
+ " %{undef} %{save-temps*:-fpch-preprocess}";
|
||||
|
||||
/* Pass -d* flags, possibly modifying -dumpdir, -dumpbase et al.
|
||||
|
||||
diff --git a/gcc/incpath.c b/gcc/incpath.c
|
||||
index 446d280321d..fbfc0ce03b8 100644
|
||||
--- a/gcc/incpath.c
|
||||
+++ b/gcc/incpath.c
|
||||
@@ -1287,7 +1292,11 @@ static const char *cc1_options =
|
||||
%{coverage:-fprofile-arcs -ftest-coverage}\
|
||||
%{fprofile-arcs|fprofile-generate*|coverage:\
|
||||
%{!fprofile-update=single:\
|
||||
- %{pthread:-fprofile-update=prefer-atomic}}}";
|
||||
+ %{pthread:-fprofile-update=prefer-atomic}}}"
|
||||
+#ifdef POISON_BY_DEFAULT
|
||||
+ " %{!Wno-error=poison-system-directories:-Werror=poison-system-directories}"
|
||||
+#endif
|
||||
+ ;
|
||||
|
||||
static const char *asm_options =
|
||||
"%{-target-help:%:print-asm-header()} "
|
||||
diff --git a/gcc/incpath.cc b/gcc/incpath.cc
|
||||
index 622204a38..5ac03c086 100644
|
||||
--- a/gcc/incpath.cc
|
||||
+++ b/gcc/incpath.cc
|
||||
@@ -26,6 +26,7 @@
|
||||
#include "intl.h"
|
||||
#include "incpath.h"
|
||||
@@ -197,7 +210,7 @@ index 446d280321d..fbfc0ce03b8 100644
|
||||
|
||||
/* Microsoft Windows does not natively support inodes.
|
||||
VMS has non-numeric inodes. */
|
||||
@@ -395,6 +396,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
|
||||
@@ -399,6 +400,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
|
||||
}
|
||||
fprintf (stderr, _("End of search list.\n"));
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
From b87a3ac51df372128be2fda992238c5aab4a719a Mon Sep 17 00:00:00 2001
|
||||
From 34b861e7a4cfd7b1f0d2c0f8cf9bb0b0b81eb61a Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 29 Mar 2013 09:10:06 +0400
|
||||
Subject: [PATCH] 64-bit multilib hack.
|
||||
@@ -28,6 +28,7 @@ Upstream-Status: Inappropriate [OE-Specific]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
gcc/config/aarch64/t-aarch64-linux | 8 ++++----
|
||||
gcc/config/arc/t-multilib-linux | 4 ++--
|
||||
@@ -38,7 +39,7 @@ Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
6 files changed, 17 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux
|
||||
index 241b0ef20b6..a7dadb2d64f 100644
|
||||
index d0cd546002a..f4056d68372 100644
|
||||
--- a/gcc/config/aarch64/t-aarch64-linux
|
||||
+++ b/gcc/config/aarch64/t-aarch64-linux
|
||||
@@ -21,8 +21,8 @@
|
||||
@@ -55,7 +56,7 @@ index 241b0ef20b6..a7dadb2d64f 100644
|
||||
-MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
|
||||
+#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
|
||||
diff --git a/gcc/config/arc/t-multilib-linux b/gcc/config/arc/t-multilib-linux
|
||||
index fc3fff640a2..d58e28f6df8 100644
|
||||
index ecb9ae6859f..12a164028d4 100644
|
||||
--- a/gcc/config/arc/t-multilib-linux
|
||||
+++ b/gcc/config/arc/t-multilib-linux
|
||||
@@ -16,9 +16,9 @@
|
||||
@@ -71,7 +72,7 @@ index fc3fff640a2..d58e28f6df8 100644
|
||||
# Aliases:
|
||||
MULTILIB_MATCHES += mcpu?arc700=mA7
|
||||
diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
|
||||
index d288b093522..7b5980a9d21 100644
|
||||
index 5526ad0e6cc..fa51c88912b 100644
|
||||
--- a/gcc/config/i386/t-linux64
|
||||
+++ b/gcc/config/i386/t-linux64
|
||||
@@ -32,7 +32,5 @@
|
||||
@@ -85,7 +86,7 @@ index d288b093522..7b5980a9d21 100644
|
||||
+MULTILIB_DIRNAMES = . .
|
||||
+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
|
||||
diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
|
||||
index 130e1f04707..3b7eb6b2a2f 100644
|
||||
index 2fdd8e00407..04f2099250f 100644
|
||||
--- a/gcc/config/mips/t-linux64
|
||||
+++ b/gcc/config/mips/t-linux64
|
||||
@@ -17,10 +17,6 @@
|
||||
@@ -115,7 +116,7 @@ index 216d2776a18..e4d817621fc 100644
|
||||
+#MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
|
||||
+MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
|
||||
diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
|
||||
index e11a118cb5f..4eaffb416fe 100644
|
||||
index 47e0efd5764..05f5a3f188e 100644
|
||||
--- a/gcc/config/rs6000/t-linux64
|
||||
+++ b/gcc/config/rs6000/t-linux64
|
||||
@@ -26,10 +26,9 @@
|
||||
@@ -129,5 +130,5 @@ index e11a118cb5f..4eaffb416fe 100644
|
||||
-MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
|
||||
+MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
|
||||
|
||||
rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
|
||||
rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc
|
||||
$(COMPILE) $<
|
||||
@@ -1,10 +1,10 @@
|
||||
From 2c2a92573598ddbc33c023fe5d499191491fb523 Mon Sep 17 00:00:00 2001
|
||||
From 7f40f8321fb999e9b34d948724517d3fb0d26820 Mon Sep 17 00:00:00 2001
|
||||
From: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
Date: Thu, 28 Oct 2021 11:33:40 +0100
|
||||
Subject: [PATCH] If CXXFLAGS contains something unsupported by the build CXX,
|
||||
we see build failures (e.g. using -fmacro-prefix-map for the target).
|
||||
Subject: [PATCH] Pass CXXFLAGS_FOR_BUILD in a couple of places to avoid these
|
||||
errors.
|
||||
|
||||
Pass CXXFLAGS_FOR_BUILD in a couple of places to avoid these errors.
|
||||
If CXXFLAGS contains something unsupported by the build CXX, we see build failures (e.g. using -fmacro-prefix-map for the target).
|
||||
|
||||
2021-10-28 Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
|
||||
@@ -23,7 +23,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
2 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 33476d53327..b949dffee0e 100644
|
||||
index 593495e1650..1d9c83cc566 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -176,6 +176,7 @@ BUILD_EXPORTS = \
|
||||
@@ -43,7 +43,7 @@ index 33476d53327..b949dffee0e 100644
|
||||
DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \
|
||||
LD="$(LD)"; export LD; \
|
||||
diff --git a/Makefile.tpl b/Makefile.tpl
|
||||
index e39d85d1109..d8520cbb164 100644
|
||||
index ef58fac2b9a..bab04f335c2 100644
|
||||
--- a/Makefile.tpl
|
||||
+++ b/Makefile.tpl
|
||||
@@ -179,6 +179,7 @@ BUILD_EXPORTS = \
|
||||
@@ -1,4 +1,4 @@
|
||||
From 1766cf28fd7d917df510b1c262c47211b9ea70fa Mon Sep 17 00:00:00 2001
|
||||
From 5455fc1de74897a27c1199dc5611ec02243e24af Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 29 Mar 2013 09:17:25 +0400
|
||||
Subject: [PATCH] Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}
|
||||
@@ -26,10 +26,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
4 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
|
||||
index 7bfd6ce653f..95962ae37b6 100644
|
||||
index 31ff95500c9..a8277254696 100644
|
||||
--- a/gcc/Makefile.in
|
||||
+++ b/gcc/Makefile.in
|
||||
@@ -552,7 +552,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
|
||||
@@ -553,7 +553,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
|
||||
TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@
|
||||
|
||||
xmake_file=@xmake_file@
|
||||
@@ -39,10 +39,10 @@ index 7bfd6ce653f..95962ae37b6 100644
|
||||
TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@
|
||||
TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@
|
||||
diff --git a/gcc/configure b/gcc/configure
|
||||
index d7445339f9a..f5b99d1cf7d 100755
|
||||
index dc2d59701ad..3fc0e2f5813 100755
|
||||
--- a/gcc/configure
|
||||
+++ b/gcc/configure
|
||||
@@ -13131,8 +13131,8 @@ for f in $tm_file; do
|
||||
@@ -13381,8 +13381,8 @@ for f in $tm_file; do
|
||||
tm_include_list="${tm_include_list} $f"
|
||||
;;
|
||||
defaults.h )
|
||||
@@ -54,10 +54,10 @@ index d7445339f9a..f5b99d1cf7d 100755
|
||||
* )
|
||||
tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
|
||||
diff --git a/gcc/configure.ac b/gcc/configure.ac
|
||||
index fe488f2232b..29005f6d18f 100644
|
||||
index 36ce78924de..46de496b256 100644
|
||||
--- a/gcc/configure.ac
|
||||
+++ b/gcc/configure.ac
|
||||
@@ -2294,8 +2294,8 @@ for f in $tm_file; do
|
||||
@@ -2332,8 +2332,8 @@ for f in $tm_file; do
|
||||
tm_include_list="${tm_include_list} $f"
|
||||
;;
|
||||
defaults.h )
|
||||
@@ -69,7 +69,7 @@ index fe488f2232b..29005f6d18f 100644
|
||||
* )
|
||||
tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
|
||||
diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh
|
||||
index c49acd8f7e4..a0a657bdbb9 100644
|
||||
index 91cc43f69ff..8de33713cd8 100644
|
||||
--- a/gcc/mkconfig.sh
|
||||
+++ b/gcc/mkconfig.sh
|
||||
@@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then
|
||||
@@ -1,4 +1,4 @@
|
||||
From e6a820a19c4cd115d8af7c235c5f9700c7a24730 Mon Sep 17 00:00:00 2001
|
||||
From abc3b82ab24169277f2090e9df1ceac3573142be Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 29 Mar 2013 09:22:00 +0400
|
||||
Subject: [PATCH] cpp: honor sysroot.
|
||||
@@ -19,14 +19,14 @@ RP 2012/04/13
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
Upstream-Status: Submitted [https://gcc.gnu.org/pipermail/gcc-patches/2021-October/582725.html]
|
||||
Upstream-Status: Pending
|
||||
---
|
||||
gcc/cp/lang-specs.h | 2 +-
|
||||
gcc/gcc.c | 2 +-
|
||||
gcc/gcc.cc | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
|
||||
index 8902ae1d2ed..e99e2fcd6ad 100644
|
||||
index f35c9fab76b..19ddc98ce7f 100644
|
||||
--- a/gcc/cp/lang-specs.h
|
||||
+++ b/gcc/cp/lang-specs.h
|
||||
@@ -116,7 +116,7 @@ along with GCC; see the file COPYING3. If not see
|
||||
@@ -38,11 +38,11 @@ index 8902ae1d2ed..e99e2fcd6ad 100644
|
||||
" %{!fsyntax-only:"
|
||||
" %{fmodule-only:%{!S:-o %g.s%V}}"
|
||||
" %{!fmodule-only:%{!fmodule-header*:%(invoke_as)}}}"
|
||||
diff --git a/gcc/gcc.c b/gcc/gcc.c
|
||||
index b047fc31c2f..bdee2671532 100644
|
||||
--- a/gcc/gcc.c
|
||||
+++ b/gcc/gcc.c
|
||||
@@ -1469,7 +1469,7 @@ static const struct compiler default_compilers[] =
|
||||
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
|
||||
index ce161d3c853..aa4cf92fb78 100644
|
||||
--- a/gcc/gcc.cc
|
||||
+++ b/gcc/gcc.cc
|
||||
@@ -1476,7 +1476,7 @@ static const struct compiler default_compilers[] =
|
||||
%W{o*:--output-pch=%*}}%V}}}}}}}", 0, 0, 0},
|
||||
{".i", "@cpp-output", 0, 0, 0},
|
||||
{"@cpp-output",
|
||||
@@ -1,4 +1,4 @@
|
||||
From 84dd8ea4c982fc2c82af642293d29e9c1880de5b Mon Sep 17 00:00:00 2001
|
||||
From 4de00af67b57b5440bdf61ab364ad959ad0aeee7 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 29 Mar 2013 09:24:50 +0400
|
||||
Subject: [PATCH] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
|
||||
@@ -12,26 +12,33 @@ SH, sparc, alpha for possible future support (if any)
|
||||
|
||||
Removes the do_headerfix task in metadata
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
Upstream-Status: Inappropriate [OE configuration]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
gcc/config/aarch64/aarch64-linux.h | 4 ++--
|
||||
gcc/config/alpha/linux-elf.h | 4 ++--
|
||||
gcc/config/arm/linux-eabi.h | 4 ++--
|
||||
gcc/config/arm/linux-eabi.h | 6 +++---
|
||||
gcc/config/arm/linux-elf.h | 2 +-
|
||||
gcc/config/i386/linux.h | 2 +-
|
||||
gcc/config/i386/linux64.h | 6 +++---
|
||||
gcc/config/i386/linux.h | 4 ++--
|
||||
gcc/config/i386/linux64.h | 12 ++++++------
|
||||
gcc/config/linux.h | 8 ++++----
|
||||
gcc/config/mips/linux.h | 12 ++++++------
|
||||
gcc/config/riscv/linux.h | 2 +-
|
||||
gcc/config/loongarch/gnu-user.h | 4 ++--
|
||||
gcc/config/microblaze/linux.h | 4 ++--
|
||||
gcc/config/mips/linux.h | 18 +++++++++---------
|
||||
gcc/config/nios2/linux.h | 4 ++--
|
||||
gcc/config/riscv/linux.h | 4 ++--
|
||||
gcc/config/rs6000/linux64.h | 15 +++++----------
|
||||
gcc/config/sh/linux.h | 2 +-
|
||||
gcc/config/rs6000/sysv4.h | 4 ++--
|
||||
gcc/config/s390/linux.h | 8 ++++----
|
||||
gcc/config/sh/linux.h | 4 ++--
|
||||
gcc/config/sparc/linux.h | 2 +-
|
||||
gcc/config/sparc/linux64.h | 4 ++--
|
||||
13 files changed, 31 insertions(+), 36 deletions(-)
|
||||
18 files changed, 53 insertions(+), 58 deletions(-)
|
||||
|
||||
diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
|
||||
index 7f2529a2a1d..4bcae7f3110 100644
|
||||
index 5e4553d79f5..877e8841eb2 100644
|
||||
--- a/gcc/config/aarch64/aarch64-linux.h
|
||||
+++ b/gcc/config/aarch64/aarch64-linux.h
|
||||
@@ -21,10 +21,10 @@
|
||||
@@ -48,7 +55,7 @@ index 7f2529a2a1d..4bcae7f3110 100644
|
||||
#undef ASAN_CC1_SPEC
|
||||
#define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}"
|
||||
diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
|
||||
index c1dae8ca2cf..3ce2b76c1a4 100644
|
||||
index 17f16a55910..0a7be38fa63 100644
|
||||
--- a/gcc/config/alpha/linux-elf.h
|
||||
+++ b/gcc/config/alpha/linux-elf.h
|
||||
@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. If not see
|
||||
@@ -63,7 +70,7 @@ index c1dae8ca2cf..3ce2b76c1a4 100644
|
||||
#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
|
||||
#elif DEFAULT_LIBC == LIBC_GLIBC
|
||||
diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
|
||||
index 85d0136e76e..6bd95855827 100644
|
||||
index 50cc0bc6d08..17c18b27145 100644
|
||||
--- a/gcc/config/arm/linux-eabi.h
|
||||
+++ b/gcc/config/arm/linux-eabi.h
|
||||
@@ -65,8 +65,8 @@
|
||||
@@ -77,8 +84,17 @@ index 85d0136e76e..6bd95855827 100644
|
||||
#define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
|
||||
|
||||
#define GLIBC_DYNAMIC_LINKER \
|
||||
@@ -89,7 +89,7 @@
|
||||
#define MUSL_DYNAMIC_LINKER_E "%{mbig-endian:eb}"
|
||||
#endif
|
||||
#define MUSL_DYNAMIC_LINKER \
|
||||
- "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}%{mfdpic:-fdpic}.so.1"
|
||||
+ SYSTEMLIBS_DIR "ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}%{mfdpic:-fdpic}.so.1"
|
||||
|
||||
/* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
|
||||
use the GNU/Linux version, not the generic BPABI version. */
|
||||
diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
|
||||
index 0c1c4e70b6b..6bd643ade11 100644
|
||||
index df3da67c4f0..37456e9d5a4 100644
|
||||
--- a/gcc/config/arm/linux-elf.h
|
||||
+++ b/gcc/config/arm/linux-elf.h
|
||||
@@ -60,7 +60,7 @@
|
||||
@@ -91,7 +107,7 @@ index 0c1c4e70b6b..6bd643ade11 100644
|
||||
#define LINUX_TARGET_LINK_SPEC "%{h*} \
|
||||
%{static:-Bstatic} \
|
||||
diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
|
||||
index 04b274f1654..7aafcf3ac2d 100644
|
||||
index 5d99ee56d5b..a76022c9ccc 100644
|
||||
--- a/gcc/config/i386/linux.h
|
||||
+++ b/gcc/config/i386/linux.h
|
||||
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see
|
||||
@@ -102,12 +118,13 @@ index 04b274f1654..7aafcf3ac2d 100644
|
||||
+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
|
||||
|
||||
#undef MUSL_DYNAMIC_LINKER
|
||||
#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
|
||||
-#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
|
||||
+#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-i386.so.1"
|
||||
diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
|
||||
index b3822ced528..92d303e80d6 100644
|
||||
index 8681e36f10d..ddce49b6b60 100644
|
||||
--- a/gcc/config/i386/linux64.h
|
||||
+++ b/gcc/config/i386/linux64.h
|
||||
@@ -27,9 +27,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
@@ -27,13 +27,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
#define GNU_USER_LINK_EMULATION64 "elf_x86_64"
|
||||
#define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
|
||||
|
||||
@@ -119,12 +136,19 @@ index b3822ced528..92d303e80d6 100644
|
||||
+#define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2"
|
||||
|
||||
#undef MUSL_DYNAMIC_LINKER32
|
||||
#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
|
||||
-#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
|
||||
+#define MUSL_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-musl-i386.so.1"
|
||||
#undef MUSL_DYNAMIC_LINKER64
|
||||
-#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1"
|
||||
+#define MUSL_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-musl-x86_64.so.1"
|
||||
#undef MUSL_DYNAMIC_LINKERX32
|
||||
-#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1"
|
||||
+#define MUSL_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-musl-x32.so.1"
|
||||
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
|
||||
index 4e1db60fced..87efc5f69fe 100644
|
||||
index 74f70793d90..4ce173384ef 100644
|
||||
--- a/gcc/config/linux.h
|
||||
+++ b/gcc/config/linux.h
|
||||
@@ -94,10 +94,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
@@ -99,10 +99,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
|
||||
GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
|
||||
supporting both 32-bit and 64-bit compilation. */
|
||||
@@ -139,11 +163,51 @@ index 4e1db60fced..87efc5f69fe 100644
|
||||
#define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
|
||||
#define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
|
||||
#define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
|
||||
diff --git a/gcc/config/loongarch/gnu-user.h b/gcc/config/loongarch/gnu-user.h
|
||||
index 664dc9206ad..082bd7cfc6f 100644
|
||||
--- a/gcc/config/loongarch/gnu-user.h
|
||||
+++ b/gcc/config/loongarch/gnu-user.h
|
||||
@@ -31,11 +31,11 @@ along with GCC; see the file COPYING3. If not see
|
||||
|
||||
#undef GLIBC_DYNAMIC_LINKER
|
||||
#define GLIBC_DYNAMIC_LINKER \
|
||||
- "/lib" ABI_GRLEN_SPEC "/ld-linux-loongarch-" ABI_SPEC ".so.1"
|
||||
+ SYSTEMLIBS_DIR "ld-linux-loongarch-" ABI_SPEC ".so.1"
|
||||
|
||||
#undef MUSL_DYNAMIC_LINKER
|
||||
#define MUSL_DYNAMIC_LINKER \
|
||||
- "/lib" ABI_GRLEN_SPEC "/ld-musl-loongarch-" ABI_SPEC ".so.1"
|
||||
+ SYSTEMLIBS_DIR "ld-musl-loongarch-" ABI_SPEC ".so.1"
|
||||
|
||||
#undef GNU_USER_TARGET_LINK_SPEC
|
||||
#define GNU_USER_TARGET_LINK_SPEC \
|
||||
diff --git a/gcc/config/microblaze/linux.h b/gcc/config/microblaze/linux.h
|
||||
index 5b1a365eda4..2e63df1ae9c 100644
|
||||
--- a/gcc/config/microblaze/linux.h
|
||||
+++ b/gcc/config/microblaze/linux.h
|
||||
@@ -28,7 +28,7 @@
|
||||
#undef TLS_NEEDS_GOT
|
||||
#define TLS_NEEDS_GOT 1
|
||||
|
||||
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
|
||||
+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "/ld.so.1"
|
||||
#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
|
||||
|
||||
#if TARGET_BIG_ENDIAN_DEFAULT == 0 /* LE */
|
||||
@@ -38,7 +38,7 @@
|
||||
#endif
|
||||
|
||||
#undef MUSL_DYNAMIC_LINKER
|
||||
-#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-microblaze" MUSL_DYNAMIC_LINKER_E ".so.1"
|
||||
+#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-microblaze" MUSL_DYNAMIC_LINKER_E ".so.1"
|
||||
|
||||
#undef SUBTARGET_EXTRA_SPECS
|
||||
#define SUBTARGET_EXTRA_SPECS \
|
||||
diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
|
||||
index 44a85e410d9..8d41b5574f6 100644
|
||||
index 230b7789bb8..d96d134bfcf 100644
|
||||
--- a/gcc/config/mips/linux.h
|
||||
+++ b/gcc/config/mips/linux.h
|
||||
@@ -22,20 +22,20 @@ along with GCC; see the file COPYING3. If not see
|
||||
@@ -22,29 +22,29 @@ along with GCC; see the file COPYING3. If not see
|
||||
#define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32"
|
||||
|
||||
#define GLIBC_DYNAMIC_LINKER32 \
|
||||
@@ -170,8 +234,35 @@ index 44a85e410d9..8d41b5574f6 100644
|
||||
|
||||
#undef MUSL_DYNAMIC_LINKER32
|
||||
#define MUSL_DYNAMIC_LINKER32 \
|
||||
- "/lib/ld-musl-mips%{mips32r6|mips64r6:r6}%{EL:el}%{msoft-float:-sf}.so.1"
|
||||
+ SYSTEMLIBS_DIR "ld-musl-mips%{mips32r6|mips64r6:r6}%{EL:el}%{msoft-float:-sf}.so.1"
|
||||
#undef MUSL_DYNAMIC_LINKER64
|
||||
#define MUSL_DYNAMIC_LINKER64 \
|
||||
- "/lib/ld-musl-mips64%{mips64r6:r6}%{EL:el}%{msoft-float:-sf}.so.1"
|
||||
+ SYSTEMLIBS_DIR "ld-musl-mips64%{mips64r6:r6}%{EL:el}%{msoft-float:-sf}.so.1"
|
||||
#define MUSL_DYNAMIC_LINKERN32 \
|
||||
- "/lib/ld-musl-mipsn32%{mips64r6:r6}%{EL:el}%{msoft-float:-sf}.so.1"
|
||||
+ SYSTEMLIBS_DIR "ld-musl-mipsn32%{mips64r6:r6}%{EL:el}%{msoft-float:-sf}.so.1"
|
||||
|
||||
#define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
|
||||
#define GNU_USER_DYNAMIC_LINKERN32 \
|
||||
diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h
|
||||
index f5dd813acad..7a13e1c9799 100644
|
||||
--- a/gcc/config/nios2/linux.h
|
||||
+++ b/gcc/config/nios2/linux.h
|
||||
@@ -29,8 +29,8 @@
|
||||
#undef CPP_SPEC
|
||||
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
|
||||
|
||||
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-nios2.so.1"
|
||||
-#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-nios2.so.1"
|
||||
+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-nios2.so.1"
|
||||
+#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-nios2.so.1"
|
||||
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC LINK_SPEC_ENDIAN \
|
||||
diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
|
||||
index fce5b896e6e..03aa55cb5ab 100644
|
||||
index 38803723ba9..d5ef8a96a19 100644
|
||||
--- a/gcc/config/riscv/linux.h
|
||||
+++ b/gcc/config/riscv/linux.h
|
||||
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3. If not see
|
||||
@@ -183,11 +274,20 @@ index fce5b896e6e..03aa55cb5ab 100644
|
||||
|
||||
#define MUSL_ABI_SUFFIX \
|
||||
"%{mabi=ilp32:-sf}" \
|
||||
@@ -33,7 +33,7 @@ along with GCC; see the file COPYING3. If not see
|
||||
"%{mabi=lp64d:}"
|
||||
|
||||
#undef MUSL_DYNAMIC_LINKER
|
||||
-#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-riscv" XLEN_SPEC MUSL_ABI_SUFFIX ".so.1"
|
||||
+#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-riscv" XLEN_SPEC MUSL_ABI_SUFFIX ".so.1"
|
||||
|
||||
/* Because RISC-V only has word-sized atomics, it requries libatomic where
|
||||
others do not. So link libatomic by default, as needed. */
|
||||
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
|
||||
index e3f2cd254f6..a11e01faa3d 100644
|
||||
index b2a7afabc73..364c1a5b155 100644
|
||||
--- a/gcc/config/rs6000/linux64.h
|
||||
+++ b/gcc/config/rs6000/linux64.h
|
||||
@@ -336,24 +336,19 @@ extern int dot_symbols;
|
||||
@@ -339,24 +339,19 @@ extern int dot_symbols;
|
||||
#undef LINK_OS_DEFAULT_SPEC
|
||||
#define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
|
||||
|
||||
@@ -217,12 +317,55 @@ index e3f2cd254f6..a11e01faa3d 100644
|
||||
|
||||
#undef DEFAULT_ASM_ENDIAN
|
||||
#if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN)
|
||||
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
|
||||
index 7e2519de5d4..a73954d9de5 100644
|
||||
--- a/gcc/config/rs6000/sysv4.h
|
||||
+++ b/gcc/config/rs6000/sysv4.h
|
||||
@@ -779,10 +779,10 @@ GNU_USER_TARGET_CC1_SPEC
|
||||
|
||||
#define MUSL_DYNAMIC_LINKER_E ENDIAN_SELECT("","le","")
|
||||
|
||||
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
|
||||
+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld.so.1"
|
||||
#undef MUSL_DYNAMIC_LINKER
|
||||
#define MUSL_DYNAMIC_LINKER \
|
||||
- "/lib/ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
|
||||
+ SYSTEMLIBS_DIR "ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
|
||||
|
||||
#ifndef GNU_USER_DYNAMIC_LINKER
|
||||
#define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER
|
||||
diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h
|
||||
index d7b7e7a7b02..0139b4d06ca 100644
|
||||
--- a/gcc/config/s390/linux.h
|
||||
+++ b/gcc/config/s390/linux.h
|
||||
@@ -72,13 +72,13 @@ along with GCC; see the file COPYING3. If not see
|
||||
#define MULTILIB_DEFAULTS { "m31" }
|
||||
#endif
|
||||
|
||||
-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
|
||||
-#define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
|
||||
+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld.so.1"
|
||||
+#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64.so.1"
|
||||
|
||||
#undef MUSL_DYNAMIC_LINKER32
|
||||
-#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-s390.so.1"
|
||||
+#define MUSL_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-musl-s390.so.1"
|
||||
#undef MUSL_DYNAMIC_LINKER64
|
||||
-#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-s390x.so.1"
|
||||
+#define MUSL_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-musl-s390x.so.1"
|
||||
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC \
|
||||
diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h
|
||||
index 7558d2f7195..3aaa6c3a078 100644
|
||||
index d96d077c99e..7d27f9893ee 100644
|
||||
--- a/gcc/config/sh/linux.h
|
||||
+++ b/gcc/config/sh/linux.h
|
||||
@@ -64,7 +64,7 @@ along with GCC; see the file COPYING3. If not see
|
||||
"/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \
|
||||
@@ -61,10 +61,10 @@ along with GCC; see the file COPYING3. If not see
|
||||
|
||||
#undef MUSL_DYNAMIC_LINKER
|
||||
#define MUSL_DYNAMIC_LINKER \
|
||||
- "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \
|
||||
+ SYSTEMLIBS_DIR "ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \
|
||||
"%{mfdpic:-fdpic}.so.1"
|
||||
|
||||
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
|
||||
@@ -231,7 +374,7 @@ index 7558d2f7195..3aaa6c3a078 100644
|
||||
#undef SUBTARGET_LINK_EMUL_SUFFIX
|
||||
#define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}"
|
||||
diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
|
||||
index 2550d7ee8f0..a94f4cd8ba2 100644
|
||||
index 6a809e9092d..60603765ad6 100644
|
||||
--- a/gcc/config/sparc/linux.h
|
||||
+++ b/gcc/config/sparc/linux.h
|
||||
@@ -78,7 +78,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
|
||||
@@ -244,7 +387,7 @@ index 2550d7ee8f0..a94f4cd8ba2 100644
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
|
||||
diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
|
||||
index 95af8afa9b5..63127afb074 100644
|
||||
index d08a2ef96fe..e6955da0a5b 100644
|
||||
--- a/gcc/config/sparc/linux64.h
|
||||
+++ b/gcc/config/sparc/linux64.h
|
||||
@@ -78,8 +78,8 @@ along with GCC; see the file COPYING3. If not see
|
||||
@@ -1,4 +1,4 @@
|
||||
From b19700ef0103f9414416b9a779a64d6138c58b1f Mon Sep 17 00:00:00 2001
|
||||
From 5117519c1897a49b09fe7fff213b9c2ea15d37f5 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 29 Mar 2013 09:29:11 +0400
|
||||
Subject: [PATCH] libtool
|
||||
@@ -1,4 +1,4 @@
|
||||
From 10d23d93697167396e223711bf6210e1642ee926 Mon Sep 17 00:00:00 2001
|
||||
From 32129f9682d0d27fc67af10f077ad2768935cbe6 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 29 Mar 2013 09:30:32 +0400
|
||||
Subject: [PATCH] gcc: armv4: pass fix-v4bx to linker to support EABI.
|
||||
@@ -19,12 +19,12 @@ Upstream-Status: Pending
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
|
||||
index 6bd95855827..77befab5da8 100644
|
||||
index 17c18b27145..8eacb099317 100644
|
||||
--- a/gcc/config/arm/linux-eabi.h
|
||||
+++ b/gcc/config/arm/linux-eabi.h
|
||||
@@ -91,10 +91,14 @@
|
||||
#define MUSL_DYNAMIC_LINKER \
|
||||
"/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}%{mfdpic:-fdpic}.so.1"
|
||||
SYSTEMLIBS_DIR "ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}%{mfdpic:-fdpic}.so.1"
|
||||
|
||||
+/* For armv4 we pass --fix-v4bx to linker to support EABI */
|
||||
+#undef TARGET_FIX_V4BX_SPEC
|
||||
@@ -1,4 +1,4 @@
|
||||
From 5970fb3fadccd8c43f7f7030e6ff51e0295731ef Mon Sep 17 00:00:00 2001
|
||||
From bf85b8bbcb4b77725d4c22c1bb25a29f6ff21038 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 29 Mar 2013 09:33:04 +0400
|
||||
Subject: [PATCH] Use the multilib config files from ${B} instead of using the
|
||||
@@ -18,10 +18,10 @@ Upstream-Status: Inappropriate [configuration]
|
||||
2 files changed, 36 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/gcc/configure b/gcc/configure
|
||||
index f5b99d1cf7d..ec3c24482df 100755
|
||||
index 3fc0e2f5813..2f0f0e057a9 100755
|
||||
--- a/gcc/configure
|
||||
+++ b/gcc/configure
|
||||
@@ -13111,10 +13111,20 @@ done
|
||||
@@ -13361,10 +13361,20 @@ done
|
||||
tmake_file_=
|
||||
for f in ${tmake_file}
|
||||
do
|
||||
@@ -46,7 +46,7 @@ index f5b99d1cf7d..ec3c24482df 100755
|
||||
done
|
||||
tmake_file="${tmake_file_}${omp_device_property_tmake_file}"
|
||||
|
||||
@@ -13125,6 +13135,10 @@ tm_file_list="options.h"
|
||||
@@ -13375,6 +13385,10 @@ tm_file_list="options.h"
|
||||
tm_include_list="options.h insn-constants.h"
|
||||
for f in $tm_file; do
|
||||
case $f in
|
||||
@@ -58,10 +58,10 @@ index f5b99d1cf7d..ec3c24482df 100755
|
||||
f=`echo $f | sed 's/^..//'`
|
||||
tm_file_list="${tm_file_list} $f"
|
||||
diff --git a/gcc/configure.ac b/gcc/configure.ac
|
||||
index 29005f6d18f..ea794cd1763 100644
|
||||
index 46de496b256..6155b83a732 100644
|
||||
--- a/gcc/configure.ac
|
||||
+++ b/gcc/configure.ac
|
||||
@@ -2274,10 +2274,20 @@ done
|
||||
@@ -2312,10 +2312,20 @@ done
|
||||
tmake_file_=
|
||||
for f in ${tmake_file}
|
||||
do
|
||||
@@ -86,7 +86,7 @@ index 29005f6d18f..ea794cd1763 100644
|
||||
done
|
||||
tmake_file="${tmake_file_}${omp_device_property_tmake_file}"
|
||||
|
||||
@@ -2288,6 +2298,10 @@ tm_file_list="options.h"
|
||||
@@ -2326,6 +2336,10 @@ tm_file_list="options.h"
|
||||
tm_include_list="options.h insn-constants.h"
|
||||
for f in $tm_file; do
|
||||
case $f in
|
||||
@@ -1,4 +1,4 @@
|
||||
From 2af537b9ff0018945a27a7f89efad736a0f647d4 Mon Sep 17 00:00:00 2001
|
||||
From e5463727ff028cee5e452da38f5b4c44d52e412e Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 20 Feb 2015 09:39:38 +0000
|
||||
Subject: [PATCH] Avoid using libdir from .la which usually points to a host
|
||||
@@ -1,4 +1,4 @@
|
||||
From 9427c6cedf88e15f747c48cb4fcf9eda6f5c4555 Mon Sep 17 00:00:00 2001
|
||||
From 612801d426e75ff997cfabda380dbe52c2cbc532 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 20 Feb 2015 10:25:11 +0000
|
||||
Subject: [PATCH] Ensure target gcc headers can be included
|
||||
@@ -21,14 +21,14 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
gcc/Makefile.in | 2 ++
|
||||
gcc/config/linux.h | 8 ++++++++
|
||||
gcc/config/rs6000/sysv4.h | 8 ++++++++
|
||||
gcc/cppdefault.c | 4 ++++
|
||||
gcc/cppdefault.cc | 4 ++++
|
||||
4 files changed, 22 insertions(+)
|
||||
|
||||
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
|
||||
index d1d4512bba3..06eb0d27a28 100644
|
||||
index a8277254696..07fa63b6640 100644
|
||||
--- a/gcc/Makefile.in
|
||||
+++ b/gcc/Makefile.in
|
||||
@@ -630,6 +630,7 @@ libexecdir = @libexecdir@
|
||||
@@ -632,6 +632,7 @@ libexecdir = @libexecdir@
|
||||
|
||||
# Directory in which the compiler finds libraries etc.
|
||||
libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
|
||||
@@ -36,7 +36,7 @@ index d1d4512bba3..06eb0d27a28 100644
|
||||
# Directory in which the compiler finds executables
|
||||
libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
|
||||
# Directory in which all plugin resources are installed
|
||||
@@ -3009,6 +3010,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\"
|
||||
@@ -3024,6 +3025,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\"
|
||||
|
||||
PREPROCESSOR_DEFINES = \
|
||||
-DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
|
||||
@@ -45,10 +45,10 @@ index d1d4512bba3..06eb0d27a28 100644
|
||||
-DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
|
||||
-DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \
|
||||
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
|
||||
index 87efc5f69fe..b525bcd56b3 100644
|
||||
index 4ce173384ef..8a3cd4f2d34 100644
|
||||
--- a/gcc/config/linux.h
|
||||
+++ b/gcc/config/linux.h
|
||||
@@ -165,6 +165,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
@@ -170,6 +170,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
#define INCLUDE_DEFAULTS_MUSL_TOOL
|
||||
#endif
|
||||
|
||||
@@ -62,7 +62,7 @@ index 87efc5f69fe..b525bcd56b3 100644
|
||||
#ifdef NATIVE_SYSTEM_HEADER_DIR
|
||||
#define INCLUDE_DEFAULTS_MUSL_NATIVE \
|
||||
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
|
||||
@@ -191,6 +198,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
@@ -196,6 +203,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
INCLUDE_DEFAULTS_MUSL_PREFIX \
|
||||
INCLUDE_DEFAULTS_MUSL_CROSS \
|
||||
INCLUDE_DEFAULTS_MUSL_TOOL \
|
||||
@@ -71,10 +71,10 @@ index 87efc5f69fe..b525bcd56b3 100644
|
||||
{ GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \
|
||||
{ 0, 0, 0, 0, 0, 0 } \
|
||||
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
|
||||
index 510abe169c5..0c2bba5ea32 100644
|
||||
index a73954d9de5..e5dd6538358 100644
|
||||
--- a/gcc/config/rs6000/sysv4.h
|
||||
+++ b/gcc/config/rs6000/sysv4.h
|
||||
@@ -995,6 +995,13 @@ ncrtn.o%s"
|
||||
@@ -994,6 +994,13 @@ ncrtn.o%s"
|
||||
#define INCLUDE_DEFAULTS_MUSL_TOOL
|
||||
#endif
|
||||
|
||||
@@ -88,7 +88,7 @@ index 510abe169c5..0c2bba5ea32 100644
|
||||
#ifdef NATIVE_SYSTEM_HEADER_DIR
|
||||
#define INCLUDE_DEFAULTS_MUSL_NATIVE \
|
||||
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
|
||||
@@ -1021,6 +1028,7 @@ ncrtn.o%s"
|
||||
@@ -1020,6 +1027,7 @@ ncrtn.o%s"
|
||||
INCLUDE_DEFAULTS_MUSL_PREFIX \
|
||||
INCLUDE_DEFAULTS_MUSL_CROSS \
|
||||
INCLUDE_DEFAULTS_MUSL_TOOL \
|
||||
@@ -96,10 +96,10 @@ index 510abe169c5..0c2bba5ea32 100644
|
||||
INCLUDE_DEFAULTS_MUSL_NATIVE \
|
||||
{ GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \
|
||||
{ 0, 0, 0, 0, 0, 0 } \
|
||||
diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
|
||||
index c503d14fc3f..d54d6ce0076 100644
|
||||
--- a/gcc/cppdefault.c
|
||||
+++ b/gcc/cppdefault.c
|
||||
diff --git a/gcc/cppdefault.cc b/gcc/cppdefault.cc
|
||||
index 7888300f277..52cf14e92f8 100644
|
||||
--- a/gcc/cppdefault.cc
|
||||
+++ b/gcc/cppdefault.cc
|
||||
@@ -64,6 +64,10 @@ const struct default_include cpp_include_defaults[]
|
||||
/* This is the dir for gcc's private headers. */
|
||||
{ GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
|
||||
@@ -1,4 +1,4 @@
|
||||
From ab6e6af5deca6f4b35b089a6b197776df38780e6 Mon Sep 17 00:00:00 2001
|
||||
From 9ae49e7b88c208ab79ec9c2fc4a2fa8a3f1e85bb Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Tue, 3 Mar 2015 08:21:19 +0000
|
||||
Subject: [PATCH] Don't search host directory during "relink" if $inst_prefix
|
||||
@@ -1,4 +1,4 @@
|
||||
From fd862c8c112067d8613d921ae89c99056aca54a1 Mon Sep 17 00:00:00 2001
|
||||
From bf918db7117f41d3c04162095641165ca241707d Mon Sep 17 00:00:00 2001
|
||||
From: Robert Yang <liezhi.yang@windriver.com>
|
||||
Date: Sun, 5 Jul 2015 20:25:18 -0700
|
||||
Subject: [PATCH] libcc1: fix libcc1's install path and rpath
|
||||
@@ -20,10 +20,10 @@ Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am
|
||||
index 3b75e7d9290..d3a4c4f9ddf 100644
|
||||
index 6e3a34ff7e2..3f3f6391aba 100644
|
||||
--- a/libcc1/Makefile.am
|
||||
+++ b/libcc1/Makefile.am
|
||||
@@ -41,8 +41,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
|
||||
@@ -40,8 +40,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
|
||||
$(Wc)$(libiberty_normal)))
|
||||
libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
|
||||
|
||||
@@ -35,10 +35,10 @@ index 3b75e7d9290..d3a4c4f9ddf 100644
|
||||
if ENABLE_PLUGIN
|
||||
plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la
|
||||
diff --git a/libcc1/Makefile.in b/libcc1/Makefile.in
|
||||
index 07fa9d94c83..a9f737d78f2 100644
|
||||
index f8f590d71e9..56462492045 100644
|
||||
--- a/libcc1/Makefile.in
|
||||
+++ b/libcc1/Makefile.in
|
||||
@@ -398,8 +398,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
|
||||
@@ -396,8 +396,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
|
||||
$(Wc)$(libiberty_normal)))
|
||||
|
||||
libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
|
||||
@@ -1,4 +1,4 @@
|
||||
From 68802ca536b01ab21cfa58e11ef332e30d9a3c5e Mon Sep 17 00:00:00 2001
|
||||
From 4fbbd40d7db89cdbeaf93df1e1da692b1f80a5bc Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 7 Dec 2015 23:39:54 +0000
|
||||
Subject: [PATCH] handle sysroot support for nativesdk-gcc
|
||||
@@ -35,21 +35,21 @@ implementation.)
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
|
||||
---
|
||||
gcc/c-family/c-opts.c | 4 +--
|
||||
gcc/c-family/c-opts.cc | 4 +--
|
||||
gcc/config/linux.h | 24 +++++++--------
|
||||
gcc/config/rs6000/sysv4.h | 24 +++++++--------
|
||||
gcc/cppdefault.c | 63 ++++++++++++++++++++++++---------------
|
||||
gcc/cppdefault.cc | 63 ++++++++++++++++++++++++---------------
|
||||
gcc/cppdefault.h | 13 ++++----
|
||||
gcc/gcc.c | 20 +++++++++----
|
||||
gcc/incpath.c | 12 ++++----
|
||||
gcc/prefix.c | 6 ++--
|
||||
gcc/gcc.cc | 20 +++++++++----
|
||||
gcc/incpath.cc | 12 ++++----
|
||||
gcc/prefix.cc | 6 ++--
|
||||
8 files changed, 94 insertions(+), 72 deletions(-)
|
||||
|
||||
diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c
|
||||
index 6f001e0bb6c..55ab07c278f 100644
|
||||
--- a/gcc/c-family/c-opts.c
|
||||
+++ b/gcc/c-family/c-opts.c
|
||||
@@ -1438,8 +1438,8 @@ add_prefixed_path (const char *suffix, incpath_kind chain)
|
||||
diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc
|
||||
index a341a061758..83b0bef4dbb 100644
|
||||
--- a/gcc/c-family/c-opts.cc
|
||||
+++ b/gcc/c-family/c-opts.cc
|
||||
@@ -1458,8 +1458,8 @@ add_prefixed_path (const char *suffix, incpath_kind chain)
|
||||
size_t prefix_len, suffix_len;
|
||||
|
||||
suffix_len = strlen (suffix);
|
||||
@@ -61,11 +61,11 @@ index 6f001e0bb6c..55ab07c278f 100644
|
||||
path = (char *) xmalloc (prefix_len + suffix_len + 1);
|
||||
memcpy (path, prefix, prefix_len);
|
||||
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
|
||||
index b525bcd56b3..ba02c013e30 100644
|
||||
index 8a3cd4f2d34..58143dff731 100644
|
||||
--- a/gcc/config/linux.h
|
||||
+++ b/gcc/config/linux.h
|
||||
@@ -129,53 +129,53 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
* Unfortunately, this is mostly duplicated from cppdefault.c */
|
||||
@@ -134,53 +134,53 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
* Unfortunately, this is mostly duplicated from cppdefault.cc */
|
||||
#if DEFAULT_LIBC == LIBC_MUSL
|
||||
#define INCLUDE_DEFAULTS_MUSL_GPP \
|
||||
- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \
|
||||
@@ -129,7 +129,7 @@ index b525bcd56b3..ba02c013e30 100644
|
||||
#else
|
||||
#define INCLUDE_DEFAULTS_MUSL_NATIVE
|
||||
#endif
|
||||
@@ -200,7 +200,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
@@ -205,7 +205,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
INCLUDE_DEFAULTS_MUSL_TOOL \
|
||||
INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \
|
||||
INCLUDE_DEFAULTS_MUSL_NATIVE \
|
||||
@@ -139,10 +139,10 @@ index b525bcd56b3..ba02c013e30 100644
|
||||
}
|
||||
#endif
|
||||
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
|
||||
index 0c2bba5ea32..313a8de4417 100644
|
||||
index e5dd6538358..b496849b792 100644
|
||||
--- a/gcc/config/rs6000/sysv4.h
|
||||
+++ b/gcc/config/rs6000/sysv4.h
|
||||
@@ -959,53 +959,53 @@ ncrtn.o%s"
|
||||
@@ -958,53 +958,53 @@ ncrtn.o%s"
|
||||
/* Include order changes for musl, same as in generic linux.h. */
|
||||
#if DEFAULT_LIBC == LIBC_MUSL
|
||||
#define INCLUDE_DEFAULTS_MUSL_GPP \
|
||||
@@ -207,7 +207,7 @@ index 0c2bba5ea32..313a8de4417 100644
|
||||
#else
|
||||
#define INCLUDE_DEFAULTS_MUSL_NATIVE
|
||||
#endif
|
||||
@@ -1030,7 +1030,7 @@ ncrtn.o%s"
|
||||
@@ -1029,7 +1029,7 @@ ncrtn.o%s"
|
||||
INCLUDE_DEFAULTS_MUSL_TOOL \
|
||||
INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \
|
||||
INCLUDE_DEFAULTS_MUSL_NATIVE \
|
||||
@@ -216,10 +216,10 @@ index 0c2bba5ea32..313a8de4417 100644
|
||||
{ 0, 0, 0, 0, 0, 0 } \
|
||||
}
|
||||
#endif
|
||||
diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
|
||||
index d54d6ce0076..784a92a0c24 100644
|
||||
--- a/gcc/cppdefault.c
|
||||
+++ b/gcc/cppdefault.c
|
||||
diff --git a/gcc/cppdefault.cc b/gcc/cppdefault.cc
|
||||
index 52cf14e92f8..d8977afc05e 100644
|
||||
--- a/gcc/cppdefault.cc
|
||||
+++ b/gcc/cppdefault.cc
|
||||
@@ -35,6 +35,30 @@
|
||||
# undef CROSS_INCLUDE_DIR
|
||||
#endif
|
||||
@@ -343,7 +343,7 @@ index d54d6ce0076..784a92a0c24 100644
|
||||
/* This value is set by cpp_relocated at runtime */
|
||||
const char *gcc_exec_prefix;
|
||||
diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h
|
||||
index fd3c655db1c..20669ac427d 100644
|
||||
index fb97c0b5814..6267150facc 100644
|
||||
--- a/gcc/cppdefault.h
|
||||
+++ b/gcc/cppdefault.h
|
||||
@@ -33,7 +33,8 @@
|
||||
@@ -354,7 +354,7 @@ index fd3c655db1c..20669ac427d 100644
|
||||
+ const char *fname; /* The name of the directory. */
|
||||
+
|
||||
const char *const component; /* The component containing the directory
|
||||
(see update_path in prefix.c) */
|
||||
(see update_path in prefix.cc) */
|
||||
const char cplusplus; /* When this is non-zero, we should only
|
||||
@@ -55,17 +56,13 @@ struct default_include
|
||||
};
|
||||
@@ -377,10 +377,10 @@ index fd3c655db1c..20669ac427d 100644
|
||||
/* The run-time execution prefix. This is typically the lib/gcc
|
||||
subdirectory of the actual installation. */
|
||||
extern const char *gcc_exec_prefix;
|
||||
diff --git a/gcc/gcc.c b/gcc/gcc.c
|
||||
index bdee2671532..36e8af38630 100644
|
||||
--- a/gcc/gcc.c
|
||||
+++ b/gcc/gcc.c
|
||||
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
|
||||
index aa4cf92fb78..5569a39a14a 100644
|
||||
--- a/gcc/gcc.cc
|
||||
+++ b/gcc/gcc.cc
|
||||
@@ -252,6 +252,8 @@ FILE *report_times_to_file = NULL;
|
||||
#endif
|
||||
static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT;
|
||||
@@ -390,7 +390,7 @@ index bdee2671532..36e8af38630 100644
|
||||
/* Nonzero means pass the updated target_system_root to the compiler. */
|
||||
|
||||
static int target_system_root_changed;
|
||||
@@ -568,6 +570,7 @@ or with constant text in a single argument.
|
||||
@@ -575,6 +577,7 @@ or with constant text in a single argument.
|
||||
%G process LIBGCC_SPEC as a spec.
|
||||
%R Output the concatenation of target_system_root and
|
||||
target_sysroot_suffix.
|
||||
@@ -398,7 +398,7 @@ index bdee2671532..36e8af38630 100644
|
||||
%S process STARTFILE_SPEC as a spec. A capital S is actually used here.
|
||||
%E process ENDFILE_SPEC as a spec. A capital E is actually used here.
|
||||
%C process CPP_SPEC as a spec.
|
||||
@@ -1620,10 +1623,10 @@ static const char *gcc_libexec_prefix;
|
||||
@@ -1627,10 +1630,10 @@ static const char *gcc_libexec_prefix;
|
||||
gcc_exec_prefix is set because, in that case, we know where the
|
||||
compiler has been installed, and use paths relative to that
|
||||
location instead. */
|
||||
@@ -413,7 +413,7 @@ index bdee2671532..36e8af38630 100644
|
||||
|
||||
/* For native compilers, these are well-known paths containing
|
||||
components that may be provided by the system. For cross
|
||||
@@ -1631,9 +1634,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
|
||||
@@ -1638,9 +1641,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
|
||||
static const char *md_exec_prefix = MD_EXEC_PREFIX;
|
||||
static const char *md_startfile_prefix = MD_STARTFILE_PREFIX;
|
||||
static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1;
|
||||
@@ -425,7 +425,7 @@ index bdee2671532..36e8af38630 100644
|
||||
= STANDARD_STARTFILE_PREFIX_2;
|
||||
|
||||
/* A relative path to be used in finding the location of tools
|
||||
@@ -6570,6 +6573,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
|
||||
@@ -6676,6 +6679,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -437,11 +437,11 @@ index bdee2671532..36e8af38630 100644
|
||||
case 'S':
|
||||
value = do_spec_1 (startfile_spec, 0, NULL);
|
||||
if (value != 0)
|
||||
diff --git a/gcc/incpath.c b/gcc/incpath.c
|
||||
index fbfc0ce03b8..a82e543428b 100644
|
||||
--- a/gcc/incpath.c
|
||||
+++ b/gcc/incpath.c
|
||||
@@ -131,7 +131,7 @@ add_standard_paths (const char *sysroot, const char *iprefix,
|
||||
diff --git a/gcc/incpath.cc b/gcc/incpath.cc
|
||||
index c80f100f476..5ac03c08693 100644
|
||||
--- a/gcc/incpath.cc
|
||||
+++ b/gcc/incpath.cc
|
||||
@@ -135,7 +135,7 @@ add_standard_paths (const char *sysroot, const char *iprefix,
|
||||
int relocated = cpp_relocated ();
|
||||
size_t len;
|
||||
|
||||
@@ -450,7 +450,7 @@ index fbfc0ce03b8..a82e543428b 100644
|
||||
{
|
||||
/* Look for directories that start with the standard prefix.
|
||||
"Translate" them, i.e. replace /usr/local/lib/gcc... with
|
||||
@@ -146,7 +146,7 @@ add_standard_paths (const char *sysroot, const char *iprefix,
|
||||
@@ -150,7 +150,7 @@ add_standard_paths (const char *sysroot, const char *iprefix,
|
||||
now. */
|
||||
if (sysroot && p->add_sysroot)
|
||||
continue;
|
||||
@@ -459,7 +459,7 @@ index fbfc0ce03b8..a82e543428b 100644
|
||||
{
|
||||
char *str = concat (iprefix, p->fname + len, NULL);
|
||||
if (p->multilib == 1 && imultilib)
|
||||
@@ -187,7 +187,7 @@ add_standard_paths (const char *sysroot, const char *iprefix,
|
||||
@@ -191,7 +191,7 @@ add_standard_paths (const char *sysroot, const char *iprefix,
|
||||
free (sysroot_no_trailing_dir_separator);
|
||||
}
|
||||
else if (!p->add_sysroot && relocated
|
||||
@@ -468,7 +468,7 @@ index fbfc0ce03b8..a82e543428b 100644
|
||||
{
|
||||
static const char *relocated_prefix;
|
||||
char *ostr;
|
||||
@@ -204,12 +204,12 @@ add_standard_paths (const char *sysroot, const char *iprefix,
|
||||
@@ -208,12 +208,12 @@ add_standard_paths (const char *sysroot, const char *iprefix,
|
||||
dummy = concat (gcc_exec_prefix, "dummy", NULL);
|
||||
relocated_prefix
|
||||
= make_relative_prefix (dummy,
|
||||
@@ -484,10 +484,10 @@ index fbfc0ce03b8..a82e543428b 100644
|
||||
NULL);
|
||||
str = update_path (ostr, p->component);
|
||||
free (ostr);
|
||||
diff --git a/gcc/prefix.c b/gcc/prefix.c
|
||||
index 747c09de638..f728638dc65 100644
|
||||
--- a/gcc/prefix.c
|
||||
+++ b/gcc/prefix.c
|
||||
diff --git a/gcc/prefix.cc b/gcc/prefix.cc
|
||||
index 096ed5afa3d..2526f0ecc39 100644
|
||||
--- a/gcc/prefix.cc
|
||||
+++ b/gcc/prefix.cc
|
||||
@@ -72,7 +72,9 @@ License along with GCC; see the file COPYING3. If not see
|
||||
#include "prefix.h"
|
||||
#include "common/common-target.h"
|
||||
@@ -1,4 +1,4 @@
|
||||
From 14291076874b133e7fb67ef1714b768a2c48ea44 Mon Sep 17 00:00:00 2001
|
||||
From 33a1f07a4417247dc24819d4e583ca09f56d5a7b Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 7 Dec 2015 23:41:45 +0000
|
||||
Subject: [PATCH] Search target sysroot gcc version specific dirs with
|
||||
@@ -47,14 +47,14 @@ RP 2015/7/31
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
gcc/gcc.c | 29 ++++++++++++++++++++++++++++-
|
||||
gcc/gcc.cc | 29 ++++++++++++++++++++++++++++-
|
||||
1 file changed, 28 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gcc/gcc.c b/gcc/gcc.c
|
||||
index 36e8af38630..d1faa788d60 100644
|
||||
--- a/gcc/gcc.c
|
||||
+++ b/gcc/gcc.c
|
||||
@@ -2810,7 +2810,7 @@ for_each_path (const struct path_prefix *paths,
|
||||
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
|
||||
index 5569a39a14a..4598f6cd7c9 100644
|
||||
--- a/gcc/gcc.cc
|
||||
+++ b/gcc/gcc.cc
|
||||
@@ -2817,7 +2817,7 @@ for_each_path (const struct path_prefix *paths,
|
||||
if (path == NULL)
|
||||
{
|
||||
len = paths->max_len + extra_space + 1;
|
||||
@@ -63,7 +63,7 @@ index 36e8af38630..d1faa788d60 100644
|
||||
path = XNEWVEC (char, len);
|
||||
}
|
||||
|
||||
@@ -2822,6 +2822,33 @@ for_each_path (const struct path_prefix *paths,
|
||||
@@ -2829,6 +2829,33 @@ for_each_path (const struct path_prefix *paths,
|
||||
/* Look first in MACHINE/VERSION subdirectory. */
|
||||
if (!skip_multi_dir)
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
From af72a47a677ce98c08cb73444bdd741ca8e28422 Mon Sep 17 00:00:00 2001
|
||||
From d7dc2861840e88a4592817a398a054a886c3f3ee Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Tue, 27 Jun 2017 18:10:54 -0700
|
||||
Subject: [PATCH] Add ssp_nonshared to link commandline for musl targets
|
||||
@@ -23,10 +23,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
3 files changed, 27 insertions(+)
|
||||
|
||||
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
|
||||
index ba02c013e30..8fcaa0c9faf 100644
|
||||
index 58143dff731..d2409ccac26 100644
|
||||
--- a/gcc/config/linux.h
|
||||
+++ b/gcc/config/linux.h
|
||||
@@ -203,6 +203,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
@@ -208,6 +208,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
{ GCC_INCLUDE_DIRVAR, "GCC", 0, 1, 0, 0 }, \
|
||||
{ 0, 0, 0, 0, 0, 0 } \
|
||||
}
|
||||
@@ -41,10 +41,10 @@ index ba02c013e30..8fcaa0c9faf 100644
|
||||
|
||||
#if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
|
||||
diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
|
||||
index 47c9d9ac0b6..d065f88b377 100644
|
||||
index 8c9039ac1e5..259cd485973 100644
|
||||
--- a/gcc/config/rs6000/linux.h
|
||||
+++ b/gcc/config/rs6000/linux.h
|
||||
@@ -94,6 +94,16 @@
|
||||
@@ -99,6 +99,16 @@
|
||||
" -m elf32ppclinux")
|
||||
#endif
|
||||
|
||||
@@ -62,10 +62,10 @@ index 47c9d9ac0b6..d065f88b377 100644
|
||||
#define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \
|
||||
%{!static-pie: \
|
||||
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
|
||||
index a11e01faa3d..ce464f3626b 100644
|
||||
index 364c1a5b155..e33d9ae98e0 100644
|
||||
--- a/gcc/config/rs6000/linux64.h
|
||||
+++ b/gcc/config/rs6000/linux64.h
|
||||
@@ -369,6 +369,16 @@ extern int dot_symbols;
|
||||
@@ -372,6 +372,16 @@ extern int dot_symbols;
|
||||
" -m elf64ppc")
|
||||
#endif
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From ca73043041c3c7aa86af9a3d4f316abc87eb3254 Mon Sep 17 00:00:00 2001
|
||||
From bf0d7c463e1fab62804556099b56319fe94be1eb Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 6 Jun 2018 12:10:22 -0700
|
||||
Subject: [PATCH] Re-introduce spe commandline options
|
||||
@@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
1 file changed, 13 insertions(+)
|
||||
|
||||
diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt
|
||||
index 6b0a3e27529..1bd2e356ac9 100644
|
||||
index 4931d781c4e..3fb87b6f7d5 100644
|
||||
--- a/gcc/config/rs6000/rs6000.opt
|
||||
+++ b/gcc/config/rs6000/rs6000.opt
|
||||
@@ -352,6 +352,19 @@ mdebug=
|
||||
@@ -348,6 +348,19 @@ mdebug=
|
||||
Target RejectNegative Joined
|
||||
-mdebug= Enable debug output.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From b3957bc1fd52ec427a1b71b10055905cab4bbc7c Mon Sep 17 00:00:00 2001
|
||||
From a32c75b37209d6836eaaa943dc6b1207acba5d27 Mon Sep 17 00:00:00 2001
|
||||
From: Szabolcs Nagy <nsz@port70.net>
|
||||
Date: Sat, 24 Oct 2015 20:09:53 +0000
|
||||
Subject: [PATCH] libgcc_s: Use alias for __cpu_indicator_init instead of
|
||||
@@ -33,30 +33,30 @@ Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
gcc/config/i386/i386-expand.c | 4 ++--
|
||||
libgcc/config/i386/cpuinfo.c | 6 +++---
|
||||
libgcc/config/i386/t-linux | 2 +-
|
||||
gcc/config/i386/i386-expand.cc | 4 ++--
|
||||
libgcc/config/i386/cpuinfo.c | 6 +++---
|
||||
libgcc/config/i386/t-linux | 2 +-
|
||||
3 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/gcc/config/i386/i386-expand.c b/gcc/config/i386/i386-expand.c
|
||||
index 31eae75d277..ec7e858ec83 100644
|
||||
--- a/gcc/config/i386/i386-expand.c
|
||||
+++ b/gcc/config/i386/i386-expand.c
|
||||
@@ -11066,10 +11066,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
|
||||
diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc
|
||||
index 68978ef8dc2..0c71f36b572 100644
|
||||
--- a/gcc/config/i386/i386-expand.cc
|
||||
+++ b/gcc/config/i386/i386-expand.cc
|
||||
@@ -12321,10 +12321,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
|
||||
{
|
||||
case IX86_BUILTIN_CPU_INIT:
|
||||
{
|
||||
- /* Make it call __cpu_indicator_init in libgcc. */
|
||||
+ /* Make it call __cpu_indicator_init_local in libgcc.a. */
|
||||
- /* Make it call __cpu_indicator_init in libgcc. */
|
||||
+ /* Make it call __cpu_indicator_init_local in libgcc.a. */
|
||||
tree call_expr, fndecl, type;
|
||||
type = build_function_type_list (integer_type_node, NULL_TREE);
|
||||
type = build_function_type_list (integer_type_node, NULL_TREE);
|
||||
- fndecl = build_fn_decl ("__cpu_indicator_init", type);
|
||||
+ fndecl = build_fn_decl ("__cpu_indicator_init_local", type);
|
||||
call_expr = build_call_expr (fndecl, 0);
|
||||
call_expr = build_call_expr (fndecl, 0);
|
||||
return expand_expr (call_expr, target, mode, EXPAND_NORMAL);
|
||||
}
|
||||
diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c
|
||||
index ef463848f9d..1a3de052c80 100644
|
||||
index dab1d98060f..cf824b4114a 100644
|
||||
--- a/libgcc/config/i386/cpuinfo.c
|
||||
+++ b/libgcc/config/i386/cpuinfo.c
|
||||
@@ -63,7 +63,7 @@ __cpu_indicator_init (void)
|
||||
@@ -1,4 +1,4 @@
|
||||
From 5fd90d243ae14034a4699443110070dafc0d4d30 Mon Sep 17 00:00:00 2001
|
||||
From 4efc42b99c96b026f560b0918de7e237ac3dc8d1 Mon Sep 17 00:00:00 2001
|
||||
From: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
Date: Tue, 10 Mar 2020 08:26:53 -0700
|
||||
Subject: [PATCH] gentypes/genmodes: Do not use __LINE__ for maintaining
|
||||
@@ -12,15 +12,15 @@ Upstream-Status: Inappropriate [OE Reproducibility specific]
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
gcc/gengtype.c | 6 +++---
|
||||
gcc/genmodes.c | 32 ++++++++++++++++----------------
|
||||
gcc/gengtype.cc | 6 +++---
|
||||
gcc/genmodes.cc | 32 ++++++++++++++++----------------
|
||||
2 files changed, 19 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/gcc/gengtype.c b/gcc/gengtype.c
|
||||
index 98d4626f87e..f602da8b501 100644
|
||||
--- a/gcc/gengtype.c
|
||||
+++ b/gcc/gengtype.c
|
||||
@@ -991,7 +991,7 @@ create_field_at (pair_p next, type_p type, const char *name, options_p opt,
|
||||
diff --git a/gcc/gengtype.cc b/gcc/gengtype.cc
|
||||
index 386ae1b0506..9762e914296 100644
|
||||
--- a/gcc/gengtype.cc
|
||||
+++ b/gcc/gengtype.cc
|
||||
@@ -1006,7 +1006,7 @@ create_field_at (pair_p next, type_p type, const char *name, options_p opt,
|
||||
/* Create a fake field with the given type and name. NEXT is the next
|
||||
field in the chain. */
|
||||
#define create_field(next,type,name) \
|
||||
@@ -29,7 +29,7 @@ index 98d4626f87e..f602da8b501 100644
|
||||
|
||||
/* Like create_field, but the field is only valid when condition COND
|
||||
is true. */
|
||||
@@ -1024,7 +1024,7 @@ create_optional_field_ (pair_p next, type_p type, const char *name,
|
||||
@@ -1039,7 +1039,7 @@ create_optional_field_ (pair_p next, type_p type, const char *name,
|
||||
}
|
||||
|
||||
#define create_optional_field(next,type,name,cond) \
|
||||
@@ -38,7 +38,7 @@ index 98d4626f87e..f602da8b501 100644
|
||||
|
||||
/* Reverse a linked list of 'struct pair's in place. */
|
||||
pair_p
|
||||
@@ -5189,7 +5189,7 @@ main (int argc, char **argv)
|
||||
@@ -5238,7 +5238,7 @@ main (int argc, char **argv)
|
||||
/* These types are set up with #define or else outside of where
|
||||
we can see them. We should initialize them before calling
|
||||
read_input_list. */
|
||||
@@ -47,11 +47,11 @@ index 98d4626f87e..f602da8b501 100644
|
||||
Call;} while (0)
|
||||
POS_HERE (do_scalar_typedef ("CUMULATIVE_ARGS", &pos));
|
||||
POS_HERE (do_scalar_typedef ("REAL_VALUE_TYPE", &pos));
|
||||
diff --git a/gcc/genmodes.c b/gcc/genmodes.c
|
||||
index c268ebc4c6e..4361f3f1563 100644
|
||||
--- a/gcc/genmodes.c
|
||||
+++ b/gcc/genmodes.c
|
||||
@@ -438,7 +438,7 @@ complete_all_modes (void)
|
||||
diff --git a/gcc/genmodes.cc b/gcc/genmodes.cc
|
||||
index 59850bb070a..e187f8542a1 100644
|
||||
--- a/gcc/genmodes.cc
|
||||
+++ b/gcc/genmodes.cc
|
||||
@@ -440,7 +440,7 @@ complete_all_modes (void)
|
||||
}
|
||||
|
||||
/* For each mode in class CLASS, construct a corresponding complex mode. */
|
||||
@@ -60,7 +60,7 @@ index c268ebc4c6e..4361f3f1563 100644
|
||||
static void
|
||||
make_complex_modes (enum mode_class cl,
|
||||
const char *file, unsigned int line)
|
||||
@@ -497,7 +497,7 @@ make_complex_modes (enum mode_class cl,
|
||||
@@ -499,7 +499,7 @@ make_complex_modes (enum mode_class cl,
|
||||
having as many components as necessary. ORDER is the sorting order
|
||||
of the mode, with smaller numbers indicating a higher priority. */
|
||||
#define VECTOR_MODES_WITH_PREFIX(PREFIX, C, W, ORDER) \
|
||||
@@ -69,16 +69,16 @@ index c268ebc4c6e..4361f3f1563 100644
|
||||
#define VECTOR_MODES(C, W) VECTOR_MODES_WITH_PREFIX (V, C, W, 0)
|
||||
static void ATTRIBUTE_UNUSED
|
||||
make_vector_modes (enum mode_class cl, const char *prefix, unsigned int width,
|
||||
@@ -549,7 +549,7 @@ make_vector_modes (enum mode_class cl, const char *prefix, unsigned int width,
|
||||
/* Create a vector of booleans called NAME with COUNT elements and
|
||||
@@ -552,7 +552,7 @@ make_vector_modes (enum mode_class cl, const char *prefix, unsigned int width,
|
||||
BYTESIZE bytes in total. */
|
||||
#define VECTOR_BOOL_MODE(NAME, COUNT, BYTESIZE) \
|
||||
- make_vector_bool_mode (#NAME, COUNT, BYTESIZE, __FILE__, __LINE__)
|
||||
+ make_vector_bool_mode (#NAME, COUNT, BYTESIZE, __FILE__, 0)
|
||||
#define VECTOR_BOOL_MODE(NAME, COUNT, COMPONENT, BYTESIZE) \
|
||||
make_vector_bool_mode (#NAME, COUNT, #COMPONENT, BYTESIZE, \
|
||||
- __FILE__, __LINE__)
|
||||
+ __FILE__, 0)
|
||||
static void ATTRIBUTE_UNUSED
|
||||
make_vector_bool_mode (const char *name, unsigned int count,
|
||||
unsigned int bytesize, const char *file,
|
||||
@@ -571,7 +571,7 @@ make_vector_bool_mode (const char *name, unsigned int count,
|
||||
const char *component, unsigned int bytesize,
|
||||
@@ -574,7 +574,7 @@ make_vector_bool_mode (const char *name, unsigned int count,
|
||||
/* Input. */
|
||||
|
||||
#define _SPECIAL_MODE(C, N) \
|
||||
@@ -87,7 +87,7 @@ index c268ebc4c6e..4361f3f1563 100644
|
||||
#define RANDOM_MODE(N) _SPECIAL_MODE (RANDOM, N)
|
||||
#define CC_MODE(N) _SPECIAL_MODE (CC, N)
|
||||
|
||||
@@ -584,7 +584,7 @@ make_special_mode (enum mode_class cl, const char *name,
|
||||
@@ -587,7 +587,7 @@ make_special_mode (enum mode_class cl, const char *name,
|
||||
|
||||
#define INT_MODE(N, Y) FRACTIONAL_INT_MODE (N, -1U, Y)
|
||||
#define FRACTIONAL_INT_MODE(N, B, Y) \
|
||||
@@ -96,7 +96,7 @@ index c268ebc4c6e..4361f3f1563 100644
|
||||
|
||||
static void
|
||||
make_int_mode (const char *name,
|
||||
@@ -611,16 +611,16 @@ make_opaque_mode (const char *name,
|
||||
@@ -628,16 +628,16 @@ make_opaque_mode (const char *name,
|
||||
}
|
||||
|
||||
#define FRACT_MODE(N, Y, F) \
|
||||
@@ -117,7 +117,7 @@ index c268ebc4c6e..4361f3f1563 100644
|
||||
|
||||
/* Create a fixed-point mode by setting CL, NAME, BYTESIZE, IBIT, FBIT,
|
||||
FILE, and LINE. */
|
||||
@@ -641,7 +641,7 @@ make_fixed_point_mode (enum mode_class cl,
|
||||
@@ -658,7 +658,7 @@ make_fixed_point_mode (enum mode_class cl,
|
||||
|
||||
#define FLOAT_MODE(N, Y, F) FRACTIONAL_FLOAT_MODE (N, -1U, Y, F)
|
||||
#define FRACTIONAL_FLOAT_MODE(N, B, Y, F) \
|
||||
@@ -126,7 +126,7 @@ index c268ebc4c6e..4361f3f1563 100644
|
||||
|
||||
static void
|
||||
make_float_mode (const char *name,
|
||||
@@ -658,7 +658,7 @@ make_float_mode (const char *name,
|
||||
@@ -675,7 +675,7 @@ make_float_mode (const char *name,
|
||||
#define DECIMAL_FLOAT_MODE(N, Y, F) \
|
||||
FRACTIONAL_DECIMAL_FLOAT_MODE (N, -1U, Y, F)
|
||||
#define FRACTIONAL_DECIMAL_FLOAT_MODE(N, B, Y, F) \
|
||||
@@ -135,7 +135,7 @@ index c268ebc4c6e..4361f3f1563 100644
|
||||
|
||||
static void
|
||||
make_decimal_float_mode (const char *name,
|
||||
@@ -673,7 +673,7 @@ make_decimal_float_mode (const char *name,
|
||||
@@ -690,7 +690,7 @@ make_decimal_float_mode (const char *name,
|
||||
}
|
||||
|
||||
#define RESET_FLOAT_FORMAT(N, F) \
|
||||
@@ -144,7 +144,7 @@ index c268ebc4c6e..4361f3f1563 100644
|
||||
static void ATTRIBUTE_UNUSED
|
||||
reset_float_format (const char *name, const char *format,
|
||||
const char *file, unsigned int line)
|
||||
@@ -694,7 +694,7 @@ reset_float_format (const char *name, const char *format,
|
||||
@@ -711,7 +711,7 @@ reset_float_format (const char *name, const char *format,
|
||||
|
||||
/* __intN support. */
|
||||
#define INT_N(M,PREC) \
|
||||
@@ -153,7 +153,7 @@ index c268ebc4c6e..4361f3f1563 100644
|
||||
static void ATTRIBUTE_UNUSED
|
||||
make_int_n (const char *m, int bitsize,
|
||||
const char *file, unsigned int line)
|
||||
@@ -723,7 +723,7 @@ make_int_n (const char *m, int bitsize,
|
||||
@@ -740,7 +740,7 @@ make_int_n (const char *m, int bitsize,
|
||||
/* Partial integer modes are specified by relation to a full integer
|
||||
mode. */
|
||||
#define PARTIAL_INT_MODE(M,PREC,NAME) \
|
||||
@@ -162,16 +162,16 @@ index c268ebc4c6e..4361f3f1563 100644
|
||||
static void ATTRIBUTE_UNUSED
|
||||
make_partial_integer_mode (const char *base, const char *name,
|
||||
unsigned int precision,
|
||||
@@ -750,7 +750,7 @@ make_partial_integer_mode (const char *base, const char *name,
|
||||
@@ -767,7 +767,7 @@ make_partial_integer_mode (const char *base, const char *name,
|
||||
/* A single vector mode can be specified by naming its component
|
||||
mode and the number of components. */
|
||||
#define VECTOR_MODE(C, M, N) \
|
||||
- make_vector_mode (MODE_##C, #M, N, __FILE__, __LINE__);
|
||||
+ make_vector_mode (MODE_##C, #M, N, __FILE__, 0);
|
||||
#define VECTOR_MODE_WITH_PREFIX(PREFIX, C, M, N, ORDER) \
|
||||
- make_vector_mode (MODE_##C, #PREFIX, #M, N, ORDER, __FILE__, __LINE__);
|
||||
+ make_vector_mode (MODE_##C, #PREFIX, #M, N, ORDER, __FILE__, 0);
|
||||
#define VECTOR_MODE(C, M, N) VECTOR_MODE_WITH_PREFIX(V, C, M, N, 0);
|
||||
static void ATTRIBUTE_UNUSED
|
||||
make_vector_mode (enum mode_class bclass,
|
||||
const char *base,
|
||||
@@ -793,7 +793,7 @@ make_vector_mode (enum mode_class bclass,
|
||||
@@ -814,7 +814,7 @@ make_vector_mode (enum mode_class bclass,
|
||||
|
||||
/* Adjustability. */
|
||||
#define _ADD_ADJUST(A, M, X, C1, C2) \
|
||||
@@ -1,4 +1,4 @@
|
||||
From df1c63bbd7a520e8c6d0d0692b4d8bff56952394 Mon Sep 17 00:00:00 2001
|
||||
From 52931ec7a708b58d68e69ce9eb99001ae9f099dd Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 13 May 2020 15:10:38 -0700
|
||||
Subject: [PATCH] libatomic: Do not enforce march on aarch64
|
||||
@@ -17,7 +17,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
2 files changed, 2 deletions(-)
|
||||
|
||||
diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am
|
||||
index ab8c2da24a1..f614a46b34d 100644
|
||||
index d88515e4a03..e0e2f8b442a 100644
|
||||
--- a/libatomic/Makefile.am
|
||||
+++ b/libatomic/Makefile.am
|
||||
@@ -125,7 +125,6 @@ libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix _$(s)_.lo,$(SIZEOBJS)))
|
||||
@@ -1,4 +1,4 @@
|
||||
From 8a62cc0a64670e39f462c1dbbf82e04d2f03b89e Mon Sep 17 00:00:00 2001
|
||||
From 3e67c9c77e46132c252911bf1e5e4222dfd3aa34 Mon Sep 17 00:00:00 2001
|
||||
From: Andrei Gherzan <andrei.gherzan@huawei.com>
|
||||
Date: Wed, 22 Dec 2021 12:49:25 +0100
|
||||
Subject: [PATCH] Fix install path of linux64.h
|
||||
@@ -17,10 +17,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
|
||||
index 06eb0d27a28..a8678ca24ed 100644
|
||||
index 07fa63b6640..0def7394454 100644
|
||||
--- a/gcc/Makefile.in
|
||||
+++ b/gcc/Makefile.in
|
||||
@@ -3686,6 +3686,8 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype
|
||||
@@ -3706,6 +3706,8 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype
|
||||
"$(srcdir)"/config/* | "$(srcdir)"/common/config/* \
|
||||
| "$(srcdir)"/c-family/* | "$(srcdir)"/*.def ) \
|
||||
base=`echo "$$path" | sed -e "s|$$srcdirstrip/||"`;; \
|
||||
@@ -0,0 +1,19 @@
|
||||
Avoid encoding build paths into sources used for floating point on powerpc.
|
||||
(MACHINE=qemuppc bitbake libgcc).
|
||||
|
||||
Upstream-Status: Submitted [https://gcc.gnu.org/pipermail/gcc-patches/2022-August/599882.html]
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
|
||||
Index: gcc-12.1.0/libgcc/config/rs6000/t-float128
|
||||
===================================================================
|
||||
--- gcc-12.1.0.orig/libgcc/config/rs6000/t-float128
|
||||
+++ gcc-12.1.0/libgcc/config/rs6000/t-float128
|
||||
@@ -103,7 +103,7 @@ $(ibm128_dec_objs) : INTERNAL_CFLAGS +=
|
||||
$(fp128_softfp_src) : $(srcdir)/soft-fp/$(subst -sw,,$(subst kf,tf,$@)) $(fp128_dep)
|
||||
@src="$(srcdir)/soft-fp/$(subst -sw,,$(subst kf,tf,$@))"; \
|
||||
echo "Create $@"; \
|
||||
- (echo "/* file created from $$src */"; \
|
||||
+ (echo "/* file created from `basename $$src` */"; \
|
||||
echo; \
|
||||
sed -f $(fp128_sed) < $$src) > $@
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
Relative paths don't work with -fdebug-prefix-map and friends. This
|
||||
can lead to paths which the user wanted to be remapped being missed.
|
||||
Setting -fdebug-prefix-map to work with a relative path isn't practical
|
||||
either.
|
||||
|
||||
Instead, call gcc's realpath function on the incomming path name before
|
||||
comparing it with the remapping. This means other issues like symlinks
|
||||
are also accounted for and leads to a more consistent remapping experience.
|
||||
|
||||
Upstream-Status: Submitted [https://gcc.gnu.org/pipermail/gcc-patches/2022-August/599885.html]
|
||||
[Also https://gcc.gnu.org/pipermail/gcc-patches/2022-August/599884.html]
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
|
||||
|
||||
Index: gcc-12.1.0/gcc/file-prefix-map.cc
|
||||
===================================================================
|
||||
--- gcc-12.1.0.orig/gcc/file-prefix-map.cc
|
||||
+++ gcc-12.1.0/gcc/file-prefix-map.cc
|
||||
@@ -70,19 +70,28 @@ remap_filename (file_prefix_map *maps, c
|
||||
file_prefix_map *map;
|
||||
char *s;
|
||||
const char *name;
|
||||
+ char *realname;
|
||||
size_t name_len;
|
||||
|
||||
+ if (lbasename (filename) == filename)
|
||||
+ return filename;
|
||||
+
|
||||
+ realname = lrealpath (filename);
|
||||
+
|
||||
for (map = maps; map; map = map->next)
|
||||
- if (filename_ncmp (filename, map->old_prefix, map->old_len) == 0)
|
||||
+ if (filename_ncmp (realname, map->old_prefix, map->old_len) == 0)
|
||||
break;
|
||||
- if (!map)
|
||||
+ if (!map) {
|
||||
+ free (realname);
|
||||
return filename;
|
||||
- name = filename + map->old_len;
|
||||
+ }
|
||||
+ name = realname + map->old_len;
|
||||
name_len = strlen (name) + 1;
|
||||
|
||||
s = (char *) ggc_alloc_atomic (name_len + map->new_len);
|
||||
memcpy (s, map->new_prefix, map->new_len);
|
||||
memcpy (s + map->new_len, name, name_len);
|
||||
+ free (realname);
|
||||
return s;
|
||||
}
|
||||
|
||||
Index: gcc-12.1.0/libcpp/macro.cc
|
||||
===================================================================
|
||||
--- gcc-12.1.0.orig/libcpp/macro.cc
|
||||
+++ gcc-12.1.0/libcpp/macro.cc
|
||||
@@ -563,7 +563,7 @@ _cpp_builtin_macro_text (cpp_reader *pfi
|
||||
if (!name)
|
||||
abort ();
|
||||
}
|
||||
- if (pfile->cb.remap_filename)
|
||||
+ if (pfile->cb.remap_filename && !pfile->state.in_directive)
|
||||
name = pfile->cb.remap_filename (name);
|
||||
len = strlen (name);
|
||||
buf = _cpp_unaligned_alloc (pfile, len * 2 + 3);
|
||||
Reference in New Issue
Block a user