diff options
| -rw-r--r-- | meta/recipes-devtools/gcc/gcc-9.2.inc | 1 | ||||
| -rw-r--r-- | meta/recipes-devtools/gcc/gcc-9.2/gen-no-line-numbers.patch | 170 |
2 files changed, 171 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-9.2.inc b/meta/recipes-devtools/gcc/gcc-9.2.inc index 2bae85afe3..2368f35867 100644 --- a/meta/recipes-devtools/gcc/gcc-9.2.inc +++ b/meta/recipes-devtools/gcc/gcc-9.2.inc | |||
| @@ -70,6 +70,7 @@ SRC_URI = "\ | |||
| 70 | file://CVE-2019-15847_2.patch \ | 70 | file://CVE-2019-15847_2.patch \ |
| 71 | file://CVE-2019-15847_3.patch \ | 71 | file://CVE-2019-15847_3.patch \ |
| 72 | file://re-PR-target-91102-aarch64-ICE-on-Linux-kernel-with-.patch \ | 72 | file://re-PR-target-91102-aarch64-ICE-on-Linux-kernel-with-.patch \ |
| 73 | file://gen-no-line-numbers.patch \ | ||
| 73 | " | 74 | " |
| 74 | S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" | 75 | S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" |
| 75 | SRC_URI[md5sum] = "3818ad8600447f05349098232c2ddc78" | 76 | SRC_URI[md5sum] = "3818ad8600447f05349098232c2ddc78" |
diff --git a/meta/recipes-devtools/gcc/gcc-9.2/gen-no-line-numbers.patch b/meta/recipes-devtools/gcc/gcc-9.2/gen-no-line-numbers.patch new file mode 100644 index 0000000000..8e2c3f5809 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-9.2/gen-no-line-numbers.patch | |||
| @@ -0,0 +1,170 @@ | |||
| 1 | Inserting line numbers into generated code means its not always reproducible wth | ||
| 2 | differing versions of host gcc. Void the issue by not adding these. | ||
| 3 | |||
| 4 | Upstream-Status: Inappropriate [OE Reproducibility specific] | ||
| 5 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
| 6 | |||
| 7 | diff --git a/gcc/gengtype.c b/gcc/gengtype.c | ||
| 8 | index 53317337c..bbb261516 100644 | ||
| 9 | --- a/gcc/gengtype.c | ||
| 10 | +++ b/gcc/gengtype.c | ||
| 11 | @@ -991,7 +991,7 @@ create_field_at (pair_p next, type_p type, const char *name, options_p opt, | ||
| 12 | /* Create a fake field with the given type and name. NEXT is the next | ||
| 13 | field in the chain. */ | ||
| 14 | #define create_field(next,type,name) \ | ||
| 15 | - create_field_all (next,type,name, 0, this_file, __LINE__) | ||
| 16 | + create_field_all (next,type,name, 0, this_file, 0) | ||
| 17 | |||
| 18 | /* Like create_field, but the field is only valid when condition COND | ||
| 19 | is true. */ | ||
| 20 | @@ -1024,7 +1024,7 @@ create_optional_field_ (pair_p next, type_p type, const char *name, | ||
| 21 | } | ||
| 22 | |||
| 23 | #define create_optional_field(next,type,name,cond) \ | ||
| 24 | - create_optional_field_(next,type,name,cond,__LINE__) | ||
| 25 | + create_optional_field_(next,type,name,cond,0) | ||
| 26 | |||
| 27 | /* Reverse a linked list of 'struct pair's in place. */ | ||
| 28 | pair_p | ||
| 29 | @@ -5186,7 +5186,7 @@ main (int argc, char **argv) | ||
| 30 | /* These types are set up with #define or else outside of where | ||
| 31 | we can see them. We should initialize them before calling | ||
| 32 | read_input_list. */ | ||
| 33 | -#define POS_HERE(Call) do { pos.file = this_file; pos.line = __LINE__; \ | ||
| 34 | +#define POS_HERE(Call) do { pos.file = this_file; pos.line = 0; \ | ||
| 35 | Call;} while (0) | ||
| 36 | POS_HERE (do_scalar_typedef ("CUMULATIVE_ARGS", &pos)); | ||
| 37 | POS_HERE (do_scalar_typedef ("REAL_VALUE_TYPE", &pos)); | ||
| 38 | diff --git a/gcc/genmodes.c b/gcc/genmodes.c | ||
| 39 | index f33eefa24..07bef9eeb 100644 | ||
| 40 | --- a/gcc/genmodes.c | ||
| 41 | +++ b/gcc/genmodes.c | ||
| 42 | @@ -429,7 +429,7 @@ complete_all_modes (void) | ||
| 43 | } | ||
| 44 | |||
| 45 | /* For each mode in class CLASS, construct a corresponding complex mode. */ | ||
| 46 | -#define COMPLEX_MODES(C) make_complex_modes (MODE_##C, __FILE__, __LINE__) | ||
| 47 | +#define COMPLEX_MODES(C) make_complex_modes (MODE_##C, __FILE__, 0) | ||
| 48 | static void | ||
| 49 | make_complex_modes (enum mode_class cl, | ||
| 50 | const char *file, unsigned int line) | ||
| 51 | @@ -487,7 +487,7 @@ make_complex_modes (enum mode_class cl, | ||
| 52 | /* For all modes in class CL, construct vector modes of width | ||
| 53 | WIDTH, having as many components as necessary. */ | ||
| 54 | #define VECTOR_MODES_WITH_PREFIX(PREFIX, C, W) \ | ||
| 55 | - make_vector_modes (MODE_##C, #PREFIX, W, __FILE__, __LINE__) | ||
| 56 | + make_vector_modes (MODE_##C, #PREFIX, W, __FILE__, 0) | ||
| 57 | #define VECTOR_MODES(C, W) VECTOR_MODES_WITH_PREFIX (V, C, W) | ||
| 58 | static void ATTRIBUTE_UNUSED | ||
| 59 | make_vector_modes (enum mode_class cl, const char *prefix, unsigned int width, | ||
| 60 | @@ -538,7 +538,7 @@ make_vector_modes (enum mode_class cl, const char *prefix, unsigned int width, | ||
| 61 | /* Create a vector of booleans called NAME with COUNT elements and | ||
| 62 | BYTESIZE bytes in total. */ | ||
| 63 | #define VECTOR_BOOL_MODE(NAME, COUNT, BYTESIZE) \ | ||
| 64 | - make_vector_bool_mode (#NAME, COUNT, BYTESIZE, __FILE__, __LINE__) | ||
| 65 | + make_vector_bool_mode (#NAME, COUNT, BYTESIZE, __FILE__, 0) | ||
| 66 | static void ATTRIBUTE_UNUSED | ||
| 67 | make_vector_bool_mode (const char *name, unsigned int count, | ||
| 68 | unsigned int bytesize, const char *file, | ||
| 69 | @@ -560,7 +560,7 @@ make_vector_bool_mode (const char *name, unsigned int count, | ||
| 70 | /* Input. */ | ||
| 71 | |||
| 72 | #define _SPECIAL_MODE(C, N) \ | ||
| 73 | - make_special_mode (MODE_##C, #N, __FILE__, __LINE__) | ||
| 74 | + make_special_mode (MODE_##C, #N, __FILE__, 0) | ||
| 75 | #define RANDOM_MODE(N) _SPECIAL_MODE (RANDOM, N) | ||
| 76 | #define CC_MODE(N) _SPECIAL_MODE (CC, N) | ||
| 77 | |||
| 78 | @@ -573,7 +573,7 @@ make_special_mode (enum mode_class cl, const char *name, | ||
| 79 | |||
| 80 | #define INT_MODE(N, Y) FRACTIONAL_INT_MODE (N, -1U, Y) | ||
| 81 | #define FRACTIONAL_INT_MODE(N, B, Y) \ | ||
| 82 | - make_int_mode (#N, B, Y, __FILE__, __LINE__) | ||
| 83 | + make_int_mode (#N, B, Y, __FILE__, 0) | ||
| 84 | |||
| 85 | static void | ||
| 86 | make_int_mode (const char *name, | ||
| 87 | @@ -586,16 +586,16 @@ make_int_mode (const char *name, | ||
| 88 | } | ||
| 89 | |||
| 90 | #define FRACT_MODE(N, Y, F) \ | ||
| 91 | - make_fixed_point_mode (MODE_FRACT, #N, Y, 0, F, __FILE__, __LINE__) | ||
| 92 | + make_fixed_point_mode (MODE_FRACT, #N, Y, 0, F, __FILE__, 0) | ||
| 93 | |||
| 94 | #define UFRACT_MODE(N, Y, F) \ | ||
| 95 | - make_fixed_point_mode (MODE_UFRACT, #N, Y, 0, F, __FILE__, __LINE__) | ||
| 96 | + make_fixed_point_mode (MODE_UFRACT, #N, Y, 0, F, __FILE__, 0) | ||
| 97 | |||
| 98 | #define ACCUM_MODE(N, Y, I, F) \ | ||
| 99 | - make_fixed_point_mode (MODE_ACCUM, #N, Y, I, F, __FILE__, __LINE__) | ||
| 100 | + make_fixed_point_mode (MODE_ACCUM, #N, Y, I, F, __FILE__, 0) | ||
| 101 | |||
| 102 | #define UACCUM_MODE(N, Y, I, F) \ | ||
| 103 | - make_fixed_point_mode (MODE_UACCUM, #N, Y, I, F, __FILE__, __LINE__) | ||
| 104 | + make_fixed_point_mode (MODE_UACCUM, #N, Y, I, F, __FILE__, 0) | ||
| 105 | |||
| 106 | /* Create a fixed-point mode by setting CL, NAME, BYTESIZE, IBIT, FBIT, | ||
| 107 | FILE, and LINE. */ | ||
| 108 | @@ -616,7 +616,7 @@ make_fixed_point_mode (enum mode_class cl, | ||
| 109 | |||
| 110 | #define FLOAT_MODE(N, Y, F) FRACTIONAL_FLOAT_MODE (N, -1U, Y, F) | ||
| 111 | #define FRACTIONAL_FLOAT_MODE(N, B, Y, F) \ | ||
| 112 | - make_float_mode (#N, B, Y, #F, __FILE__, __LINE__) | ||
| 113 | + make_float_mode (#N, B, Y, #F, __FILE__, 0) | ||
| 114 | |||
| 115 | static void | ||
| 116 | make_float_mode (const char *name, | ||
| 117 | @@ -633,7 +633,7 @@ make_float_mode (const char *name, | ||
| 118 | #define DECIMAL_FLOAT_MODE(N, Y, F) \ | ||
| 119 | FRACTIONAL_DECIMAL_FLOAT_MODE (N, -1U, Y, F) | ||
| 120 | #define FRACTIONAL_DECIMAL_FLOAT_MODE(N, B, Y, F) \ | ||
| 121 | - make_decimal_float_mode (#N, B, Y, #F, __FILE__, __LINE__) | ||
| 122 | + make_decimal_float_mode (#N, B, Y, #F, __FILE__, 0) | ||
| 123 | |||
| 124 | static void | ||
| 125 | make_decimal_float_mode (const char *name, | ||
| 126 | @@ -648,7 +648,7 @@ make_decimal_float_mode (const char *name, | ||
| 127 | } | ||
| 128 | |||
| 129 | #define RESET_FLOAT_FORMAT(N, F) \ | ||
| 130 | - reset_float_format (#N, #F, __FILE__, __LINE__) | ||
| 131 | + reset_float_format (#N, #F, __FILE__, 0) | ||
| 132 | static void ATTRIBUTE_UNUSED | ||
| 133 | reset_float_format (const char *name, const char *format, | ||
| 134 | const char *file, unsigned int line) | ||
| 135 | @@ -669,7 +669,7 @@ reset_float_format (const char *name, const char *format, | ||
| 136 | |||
| 137 | /* __intN support. */ | ||
| 138 | #define INT_N(M,PREC) \ | ||
| 139 | - make_int_n (#M, PREC, __FILE__, __LINE__) | ||
| 140 | + make_int_n (#M, PREC, __FILE__, 0) | ||
| 141 | static void ATTRIBUTE_UNUSED | ||
| 142 | make_int_n (const char *m, int bitsize, | ||
| 143 | const char *file, unsigned int line) | ||
| 144 | @@ -698,7 +698,7 @@ make_int_n (const char *m, int bitsize, | ||
| 145 | /* Partial integer modes are specified by relation to a full integer | ||
| 146 | mode. */ | ||
| 147 | #define PARTIAL_INT_MODE(M,PREC,NAME) \ | ||
| 148 | - make_partial_integer_mode (#M, #NAME, PREC, __FILE__, __LINE__) | ||
| 149 | + make_partial_integer_mode (#M, #NAME, PREC, __FILE__, 0) | ||
| 150 | static void ATTRIBUTE_UNUSED | ||
| 151 | make_partial_integer_mode (const char *base, const char *name, | ||
| 152 | unsigned int precision, | ||
| 153 | @@ -725,7 +725,7 @@ make_partial_integer_mode (const char *base, const char *name, | ||
| 154 | /* A single vector mode can be specified by naming its component | ||
| 155 | mode and the number of components. */ | ||
| 156 | #define VECTOR_MODE(C, M, N) \ | ||
| 157 | - make_vector_mode (MODE_##C, #M, N, __FILE__, __LINE__); | ||
| 158 | + make_vector_mode (MODE_##C, #M, N, __FILE__, 0); | ||
| 159 | static void ATTRIBUTE_UNUSED | ||
| 160 | make_vector_mode (enum mode_class bclass, | ||
| 161 | const char *base, | ||
| 162 | @@ -768,7 +768,7 @@ make_vector_mode (enum mode_class bclass, | ||
| 163 | |||
| 164 | /* Adjustability. */ | ||
| 165 | #define _ADD_ADJUST(A, M, X, C1, C2) \ | ||
| 166 | - new_adjust (#M, &adj_##A, #A, #X, MODE_##C1, MODE_##C2, __FILE__, __LINE__) | ||
| 167 | + new_adjust (#M, &adj_##A, #A, #X, MODE_##C1, MODE_##C2, __FILE__, 0) | ||
| 168 | |||
| 169 | #define ADJUST_NUNITS(M, X) _ADD_ADJUST (nunits, M, X, RANDOM, RANDOM) | ||
| 170 | #define ADJUST_BYTESIZE(M, X) _ADD_ADJUST (bytesize, M, X, RANDOM, RANDOM) | ||
