Contents of /trunk/gcc/patches/gcc-7.1.0-lto-fix.patch
Parent Directory | Revision Log
Revision 2948 -
(show annotations)
(download)
Mon Jun 26 08:31:35 2017 UTC (7 years, 3 months ago) by niro
File size: 2488 byte(s)
Mon Jun 26 08:31:35 2017 UTC (7 years, 3 months ago) by niro
File size: 2488 byte(s)
-added 7.1.0 patches
1 | commit 43d83a70267a9e5c456d28de8e7348820446b712 |
2 | Author: Bartłomiej Piotrowski <bpiotrowski@archlinux.org> |
3 | Date: Tue May 16 07:50:42 2017 +0200 |
4 | |
5 | Revert "Prevent LTO wrappers to process a recursive execution" |
6 | |
7 | This reverts commit eeb6872bfdfd1e71b27de6f62a5f5c08a2efb015. |
8 | |
9 | diff --git a/gcc/file-find.c b/gcc/file-find.c |
10 | index b072a4993d76..b5a1fe8494e8 100644 |
11 | --- a/gcc/file-find.c |
12 | +++ b/gcc/file-find.c |
13 | @@ -208,38 +208,3 @@ prefix_from_string (const char *p, struct path_prefix *pprefix) |
14 | } |
15 | free (nstore); |
16 | } |
17 | - |
18 | -void |
19 | -remove_prefix (const char *prefix, struct path_prefix *pprefix) |
20 | -{ |
21 | - struct prefix_list *remove, **prev, **remove_prev = NULL; |
22 | - int max_len = 0; |
23 | - |
24 | - if (pprefix->plist) |
25 | - { |
26 | - prev = &pprefix->plist; |
27 | - for (struct prefix_list *pl = pprefix->plist; pl->next; pl = pl->next) |
28 | - { |
29 | - if (strcmp (prefix, pl->prefix) == 0) |
30 | - { |
31 | - remove = pl; |
32 | - remove_prev = prev; |
33 | - continue; |
34 | - } |
35 | - |
36 | - int l = strlen (pl->prefix); |
37 | - if (l > max_len) |
38 | - max_len = l; |
39 | - |
40 | - prev = &pl; |
41 | - } |
42 | - |
43 | - if (remove_prev) |
44 | - { |
45 | - *remove_prev = remove->next; |
46 | - free (remove); |
47 | - } |
48 | - |
49 | - pprefix->max_len = max_len; |
50 | - } |
51 | -} |
52 | diff --git a/gcc/file-find.h b/gcc/file-find.h |
53 | index 8f49a3af273e..407feba26e74 100644 |
54 | --- a/gcc/file-find.h |
55 | +++ b/gcc/file-find.h |
56 | @@ -41,7 +41,6 @@ extern void find_file_set_debug (bool); |
57 | extern char *find_a_file (struct path_prefix *, const char *, int); |
58 | extern void add_prefix (struct path_prefix *, const char *); |
59 | extern void add_prefix_begin (struct path_prefix *, const char *); |
60 | -extern void remove_prefix (const char *prefix, struct path_prefix *); |
61 | extern void prefix_from_env (const char *, struct path_prefix *); |
62 | extern void prefix_from_string (const char *, struct path_prefix *); |
63 | |
64 | diff --git a/gcc/gcc-ar.c b/gcc/gcc-ar.c |
65 | index 78d2fc1ad306..d5d80e042e5a 100644 |
66 | --- a/gcc/gcc-ar.c |
67 | +++ b/gcc/gcc-ar.c |
68 | @@ -194,14 +194,6 @@ main (int ac, char **av) |
69 | #ifdef CROSS_DIRECTORY_STRUCTURE |
70 | real_exe_name = concat (target_machine, "-", PERSONALITY, NULL); |
71 | #endif |
72 | - /* Do not search original location in the same folder. */ |
73 | - char *exe_folder = lrealpath (av[0]); |
74 | - exe_folder[strlen (exe_folder) - strlen (lbasename (exe_folder))] = '\0'; |
75 | - char *location = concat (exe_folder, PERSONALITY, NULL); |
76 | - |
77 | - if (access (location, X_OK) == 0) |
78 | - remove_prefix (exe_folder, &path); |
79 | - |
80 | exe_name = find_a_file (&path, real_exe_name, X_OK); |
81 | if (!exe_name) |
82 | { |