summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--binutils-2.24.51.midipix.patch14
1 files changed, 14 insertions, 0 deletions
diff --git a/binutils-2.24.51.midipix.patch b/binutils-2.24.51.midipix.patch
index 8fa7400..9a11478 100644
--- a/binutils-2.24.51.midipix.patch
+++ b/binutils-2.24.51.midipix.patch
@@ -709,6 +709,20 @@ diff -ru a/gas/config/tc-i386.c b/gas/config/tc-i386.c
/* Fix a few things - the dynamic linker expects certain values here,
and we must not disappoint it. */
+@@ -9237,8 +9218,11 @@
+ fixP->fx_done = 0;
+ /* Remember value for tc_gen_reloc. */
+ fixP->fx_addnumber = value;
+- /* Clear out the frag for now. */
+- value = 0;
++ /* for data symbols, cancel the effect of the relocation */
++ if (!((S_GET_SEGMENT (fixP->fx_addsy)->flags) & SEC_CODE))
++ value = -S_GET_VALUE (fixP->fx_addsy);
++ else
++ value = 0;
+ }
+ #endif
+ else if (use_rela_relocations)
--- a/binutils/rename.c 2014-07-03 01:37:22.000000000 -0400
+++ b/binutils/rename.c 2015-11-25 23:13:38.086948592 -0500