Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/external/gpl3 For reproducible builds, allow the source of t...
details: https://anonhg.NetBSD.org/src/rev/115764e02b87
branches: trunk
changeset: 342451:115764e02b87
user: christos <christos%NetBSD.org@localhost>
date: Tue Dec 22 16:48:44 2015 +0000
description:
For reproducible builds, allow the source of the map to be set from the
environment, so that DW_at_producer is the same no matter what the actual
underlying source and destination directories are. See:
https://gcc.gnu.org/ml/gcc-patches/2015-12/msg01168.html
diffstat:
external/gpl3/gcc.old/dist/gcc/final.c | 27 +++++++++++++++++++++++++--
external/gpl3/gcc/dist/gcc/final.c | 27 +++++++++++++++++++++++++--
2 files changed, 50 insertions(+), 4 deletions(-)
diffs (90 lines):
diff -r ae8fe9267867 -r 115764e02b87 external/gpl3/gcc.old/dist/gcc/final.c
--- a/external/gpl3/gcc.old/dist/gcc/final.c Tue Dec 22 16:46:56 2015 +0000
+++ b/external/gpl3/gcc.old/dist/gcc/final.c Tue Dec 22 16:48:44 2015 +0000
@@ -1492,6 +1492,9 @@
{
debug_prefix_map *map;
const char *p;
+ char *env;
+ const char *old;
+ size_t oldlen;
p = strchr (arg, '=');
if (!p)
@@ -1499,9 +1502,29 @@
error ("invalid argument %qs to -fdebug-prefix-map", arg);
return;
}
+ if (*arg == '$')
+ {
+ env = xstrndup (arg+1, p - (arg+1));
+ old = getenv(env);
+ if (!old)
+ {
+ warning (0, "environment variable %qs not set in argument to "
+ "-fdebug-prefix-map", env);
+ free(env);
+ return;
+ }
+ oldlen = strlen(old);
+ free(env);
+ }
+ else
+ {
+ old = xstrndup (arg, p - arg);
+ oldlen = p - arg;
+ }
+
map = XNEW (debug_prefix_map);
- map->old_prefix = xstrndup (arg, p - arg);
- map->old_len = p - arg;
+ map->old_prefix = old;
+ map->old_len = oldlen;
p++;
map->new_prefix = xstrdup (p);
map->new_len = strlen (p);
diff -r ae8fe9267867 -r 115764e02b87 external/gpl3/gcc/dist/gcc/final.c
--- a/external/gpl3/gcc/dist/gcc/final.c Tue Dec 22 16:46:56 2015 +0000
+++ b/external/gpl3/gcc/dist/gcc/final.c Tue Dec 22 16:48:44 2015 +0000
@@ -1492,6 +1492,9 @@
{
debug_prefix_map *map;
const char *p;
+ char *env;
+ const char *old;
+ size_t oldlen;
p = strchr (arg, '=');
if (!p)
@@ -1499,9 +1502,29 @@
error ("invalid argument %qs to -fdebug-prefix-map", arg);
return;
}
+ if (*arg == '$')
+ {
+ env = xstrndup (arg+1, p - (arg+1));
+ old = getenv(env);
+ if (!old)
+ {
+ warning (0, "environment variable %qs not set in argument to "
+ "-fdebug-prefix-map", env);
+ free(env);
+ return;
+ }
+ oldlen = strlen(old);
+ free(env);
+ }
+ else
+ {
+ old = xstrndup (arg, p - arg);
+ oldlen = p - arg;
+ }
+
map = XNEW (debug_prefix_map);
- map->old_prefix = xstrndup (arg, p - arg);
- map->old_len = p - arg;
+ map->old_prefix = old;
+ map->old_len = oldlen;
p++;
map->new_prefix = xstrdup (p);
map->new_len = strlen (p);
Home |
Main Index |
Thread Index |
Old Index