Browse Source

Linux/PPC64: fix missing TOC loads

Routines loading a global symbol need the TOC register
Jonas Maebe 3 years ago
parent
commit
2de72c8541
1 changed files with 1 additions and 0 deletions
  1. 1 0
      compiler/ppcgen/cgppc.pas

+ 1 - 0
compiler/ppcgen/cgppc.pas

@@ -1025,6 +1025,7 @@ unit cgppc;
            (assigned(ref.symbol) and
            (assigned(ref.symbol) and
             not assigned(ref.relsymbol)) then
             not assigned(ref.relsymbol)) then
           begin
           begin
+            include(current_procinfo.flags,pi_needs_got);
             tmpreg := load_got_symbol(list, ref.symbol.name, asmsym2indsymflags(ref.symbol));
             tmpreg := load_got_symbol(list, ref.symbol.name, asmsym2indsymflags(ref.symbol));
             if (ref.base = NR_NO) then
             if (ref.base = NR_NO) then
               ref.base := tmpreg
               ref.base := tmpreg