diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-03-20 00:40:44 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-03-20 00:40:44 +0000 |
commit | 4cbcc855382a06088e2f016f62cafdbcb7e40665 (patch) | |
tree | 356496503d52354aa6d9f2d36126302fed5f3a73 /dev-ada/gprbuild/files | |
parent | fcc5224904648a8e6eb528d7603154160a20022f (diff) |
gentoo resync : 20.03.2022
Diffstat (limited to 'dev-ada/gprbuild/files')
-rw-r--r-- | dev-ada/gprbuild/files/gprbuild-2021-runpath.patch | 11 | ||||
-rw-r--r-- | dev-ada/gprbuild/files/gprbuild-22.0.0-2020.patch | 47 |
2 files changed, 58 insertions, 0 deletions
diff --git a/dev-ada/gprbuild/files/gprbuild-2021-runpath.patch b/dev-ada/gprbuild/files/gprbuild-2021-runpath.patch new file mode 100644 index 000000000000..9224a09f9049 --- /dev/null +++ b/dev-ada/gprbuild/files/gprbuild-2021-runpath.patch @@ -0,0 +1,11 @@ +--- a/gpr/src/gpr-util.adb 2022-03-19 22:41:32.372348082 +0100 ++++ b/gpr/src/gpr-util.adb 2022-03-19 22:41:54.325010633 +0100 +@@ -3634,7 +3634,7 @@ + end if; + end loop; + +- return Ret; ++ return Ret(1 .. Length - Separator'Length); + end; + end Concat_Paths; + diff --git a/dev-ada/gprbuild/files/gprbuild-22.0.0-2020.patch b/dev-ada/gprbuild/files/gprbuild-22.0.0-2020.patch new file mode 100644 index 000000000000..ba5c2f858de7 --- /dev/null +++ b/dev-ada/gprbuild/files/gprbuild-22.0.0-2020.patch @@ -0,0 +1,47 @@ +--- a/gpr/src/gpr_imports.c 2022-02-27 10:10:34.053638209 +0100 ++++ b/gpr/src/gpr_imports.c 2022-02-27 10:12:03.898276758 +0100 +@@ -114,6 +114,44 @@ + const char *__gnat_default_libgcc_subdir = "lib"; + #endif + ++#include <sys/types.h> ++#include <sys/stat.h> ++#include <limits.h> ++#include <unistd.h> ++ ++ extern long long __gnat_file_time(char* name) ++ { ++ long long result; ++ ++ if (name == NULL) { ++ return LLONG_MIN; ++ } ++ /* Number of seconds between <Jan 1st 1970> and <Jan 1st 2150>. */ ++ static const long long ada_epoch_offset = (136 * 365 + 44 * 366) * 86400LL; ++ struct stat sb; ++ if (stat(name, &sb) != 0) { ++ return LLONG_MIN; ++ } ++ ++ // return (sb.st_mtim.tv_sec - ada_epoch_offset) * 1E9 ++ // + sb.st_mtim.tv_nsec; ++ // with check overflow below ++ ++ if (__builtin_ssubll_overflow(sb.st_mtim.tv_sec, ada_epoch_offset, &result)) { ++ return LLONG_MIN; ++ } ++ ++ if (__builtin_smulll_overflow(result, 1E9, &result)) { ++ return LLONG_MIN; ++ } ++ ++ if (__builtin_saddll_overflow(result, sb.st_mtim.tv_nsec, &result)) { ++ return LLONG_MIN; ++ } ++ ++ return result; ++ } ++ + #ifdef __cplusplus + } + #endif |