Annotation of /trunk/gcc/patches/gcc-7.1.0-lto-fix.patch
Parent Directory | Revision Log
Revision 2948 -
(hide annotations)
(download)
Mon Jun 26 08:31:35 2017 UTC (7 years, 2 months ago) by niro
File size: 2488 byte(s)
Mon Jun 26 08:31:35 2017 UTC (7 years, 2 months ago) by niro
File size: 2488 byte(s)
-added 7.1.0 patches
1 | niro | 2948 | 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 | { |