You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
3.9 KiB
104 lines
3.9 KiB
--- binutils.orig/gold/aarch64.cc 2017-01-18 16:05:12.747684566 +0000 |
|
+++ binutils-2.27/gold/aarch64.cc 2017-01-18 16:05:23.128501011 +0000 |
|
@@ -784,8 +784,14 @@ Stub_template_repertoire<big_endian>::St |
|
0x14000000, /* b <label> */ |
|
}; |
|
|
|
- // ST_E_835769 has the same stub template as ST_E_843419. |
|
- const static Insntype* ST_E_835769_INSNS = ST_E_843419_INSNS; |
|
+ // ST_E_835769 has the same stub template as ST_E_843419 |
|
+ // but we reproduce the array here so that the sizeof |
|
+ // expressions in install_insn_template will work. |
|
+ const static Insntype ST_E_835769_INSNS[] = |
|
+ { |
|
+ 0x00000000, /* Placeholder for erratum insn. */ |
|
+ 0x14000000, /* b <label> */ |
|
+ }; |
|
|
|
#define install_insn_template(T) \ |
|
const static Stub_template<big_endian> template_##T = { \ |
|
--- binutils.orig/gas/config/tc-i386.c 2017-01-18 16:05:12.533688350 +0000 |
|
+++ binutils-2.27/gas/config/tc-i386.c 2017-01-18 16:11:29.828016979 +0000 |
|
@@ -4120,13 +4120,13 @@ parse_operands (char *l, const char *mne |
|
{ /* Yes, we've read in another operand. */ |
|
unsigned int operand_ok; |
|
this_operand = i.operands++; |
|
- i.types[this_operand].bitfield.unspecified = 1; |
|
if (i.operands > MAX_OPERANDS) |
|
{ |
|
as_bad (_("spurious operands; (%d operands/instruction max)"), |
|
MAX_OPERANDS); |
|
return NULL; |
|
} |
|
+ i.types[this_operand].bitfield.unspecified = 1; |
|
/* Now parse operand adding info to 'i' as we go along. */ |
|
END_STRING_AND_SAVE (l); |
|
|
|
diff -rup binutils.orig/ld/testplug2.c binutils-2.27/ld/testplug2.c |
|
--- binutils.orig/ld/testplug2.c 2017-01-18 16:05:12.777684035 +0000 |
|
+++ binutils-2.27/ld/testplug2.c 2017-01-18 16:18:39.437420563 +0000 |
|
@@ -242,10 +242,11 @@ parse_symdefstr (const char *str, struct |
|
sym->version = NULL; |
|
if (colon5 && colon5[1]) |
|
{ |
|
- sym->comdat_key = malloc (strlen (colon5 + 1) + 1); |
|
+ ++colon5; |
|
+ sym->comdat_key = malloc (strlen (colon5) + 1); |
|
if (!sym->comdat_key) |
|
return LDPS_ERR; |
|
- strcpy (sym->comdat_key, colon5 + 1); |
|
+ strcpy (sym->comdat_key, colon5); |
|
} |
|
else |
|
sym->comdat_key = 0; |
|
diff -rup binutils.orig/ld/testplug3.c binutils-2.27/ld/testplug3.c |
|
--- binutils.orig/ld/testplug3.c 2017-01-18 16:05:12.777684035 +0000 |
|
+++ binutils-2.27/ld/testplug3.c 2017-01-18 16:17:48.878314557 +0000 |
|
@@ -241,10 +241,11 @@ parse_symdefstr (const char *str, struct |
|
sym->version = NULL; |
|
if (colon5 && colon5[1]) |
|
{ |
|
- sym->comdat_key = malloc (strlen (colon5 + 1) + 1); |
|
+ ++colon5; |
|
+ sym->comdat_key = malloc (strlen (colon5) + 1); |
|
if (!sym->comdat_key) |
|
return LDPS_ERR; |
|
- strcpy (sym->comdat_key, colon5 + 1); |
|
+ strcpy (sym->comdat_key, colon5); |
|
} |
|
else |
|
sym->comdat_key = 0; |
|
diff -rup binutils.orig/ld/testplug4.c binutils-2.27/ld/testplug4.c |
|
--- binutils.orig/ld/testplug4.c 2017-01-18 16:05:12.777684035 +0000 |
|
+++ binutils-2.27/ld/testplug4.c 2017-01-18 16:16:34.751625275 +0000 |
|
@@ -242,10 +242,11 @@ parse_symdefstr (const char *str, struct |
|
sym->version = NULL; |
|
if (colon5 && colon5[1]) |
|
{ |
|
- sym->comdat_key = malloc (strlen (colon5 + 1) + 1); |
|
+ ++colon5; |
|
+ sym->comdat_key = malloc (strlen (colon5) + 1); |
|
if (!sym->comdat_key) |
|
return LDPS_ERR; |
|
- strcpy (sym->comdat_key, colon5 + 1); |
|
+ strcpy (sym->comdat_key, colon5); |
|
} |
|
else |
|
sym->comdat_key = 0; |
|
diff -rup binutils.orig/ld/testplug.c binutils-2.27/ld/testplug.c |
|
--- binutils.orig/ld/testplug.c 2017-01-18 16:05:12.777684035 +0000 |
|
+++ binutils-2.27/ld/testplug.c 2017-01-18 16:19:22.460659820 +0000 |
|
@@ -238,10 +238,11 @@ parse_symdefstr (const char *str, struct |
|
sym->version = NULL; |
|
if (colon5 && colon5[1]) |
|
{ |
|
- sym->comdat_key = malloc (strlen (colon5 + 1) + 1); |
|
+ ++colon5; |
|
+ sym->comdat_key = malloc (strlen (colon5) + 1); |
|
if (!sym->comdat_key) |
|
return LDPS_ERR; |
|
- strcpy (sym->comdat_key, colon5 + 1); |
|
+ strcpy (sym->comdat_key, colon5); |
|
} |
|
else |
|
sym->comdat_key = 0;
|
|
|