Fixed offsets
authorRobert Pengelly <robertapengelly@hotmail.com>
Wed, 17 Jun 2026 06:47:57 +0000 (07:47 +0100)
committerRobert Pengelly <robertapengelly@hotmail.com>
Wed, 17 Jun 2026 06:47:57 +0000 (07:47 +0100)
axe.c

diff --git a/axe.c b/axe.c
index abd0969c02ae84b85fd0ae885e67b270988fed37..2bd05c389b9dd2df50dfd0387553ce4f1777d8ed 100644 (file)
--- a/axe.c
+++ b/axe.c
@@ -149,10 +149,10 @@ static unsigned char *write_relocs_for_section64 (unsigned char *pos, struct sec
             
 #if     ((ULONG_MAX >> 16) >> 16) == 0xffffffff
             if ((part->reloc_arr[i].r_symbolnum >> 27) & 1) {
-                r_symbolnum |= (1LU << 54);
+                r_symbolnum |= (1LU << 59);
             }
             
-            integer_to_array (r_symbolnum | (size_log2 << 50), rel.r_symbolnum, 8, 0);
+            integer_to_array (r_symbolnum | (size_log2 << 57), rel.r_symbolnum, 8, 0);
 #elif   defined (NO_LONG_LONG)
             integer_to_array (r_symbolnum | (size_log2 << 25), rel.r_symbolnum, 4, 0);
             
@@ -163,10 +163,10 @@ static unsigned char *write_relocs_for_section64 (unsigned char *pos, struct sec
             integer_to_array (r_symbolnum | (size_log2 << 25), rel.r_symbolnum + 4, 4, 0);
 #else
             if ((part->reloc_arr[i].r_symbolnum >> 27) & 1) {
-                r_symbolnum |= (1LLU << 54);
+                r_symbolnum |= (1LLU << 59);
             }
             
-            integer_to_array (r_symbolnum | (size_log2 << 50), rel.r_symbolnum, 8, 0);
+            integer_to_array (r_symbolnum | (size_log2 << 57), rel.r_symbolnum, 8, 0);
 #endif
             memcpy (pos, &rel, sizeof (rel));
             pos += sizeof (rel);