diff -cr /tmp/orig/config/m68k/m68k.h gcc-2.7.2.3-pic/config/m68k/m68k.h *** /tmp/orig/config/m68k/m68k.h Mon Jan 10 20:07:34 2000 --- gcc-2.7.2.3-pic/config/m68k/m68k.h Mon Jan 10 19:15:08 2000 *************** *** 141,155 **** #define OVERRIDE_OPTIONS \ { \ if (TARGET_FPA) target_flags &= ~2; \ - if (! TARGET_68020 && flag_pic == 2) \ - error("-fPIC is not currently supported on the 68000 or 68010\n"); \ SUBTARGET_OVERRIDE_OPTIONS; \ } #else #define OVERRIDE_OPTIONS \ { \ - if (! TARGET_68020 && flag_pic == 2) \ - error("-fPIC is not currently supported on the 68000 or 68010\n"); \ SUBTARGET_OVERRIDE_OPTIONS; \ } #endif /* defined SUPPORT_SUN_FPA */ --- 141,151 ---- diff -cr /tmp/orig/config/m68k/m68k.md gcc-2.7.2.3-pic/config/m68k/m68k.md *** /tmp/orig/config/m68k/m68k.md Mon Jan 10 20:07:34 2000 --- gcc-2.7.2.3-pic/config/m68k/m68k.md Mon Jan 10 19:27:28 2000 *************** *** 808,814 **** (plus:SI (pc) (match_operand:SI 1 "" "X")))] "TARGET_PCREL" ! "lea %a1(%%pc),%0") ;; General case of fullword move. The register constraints ;; force integer constants in range for a moveq to be reloaded --- 808,819 ---- (plus:SI (pc) (match_operand:SI 1 "" "X")))] "TARGET_PCREL" ! ;; 32-bit offset for text seg. load ! "* ! { ! return (flag_pic==2) ? \"lea %a1-.-8,%0\;lea 0(%%pc,%0),%0\" ! : \"lea %a1(%%pc),%0\"; ! }") ;; General case of fullword move. The register constraints ;; force integer constants in range for a moveq to be reloaded *************** *** 5991,5997 **** if (name[0] == '*') return &name[1]; else ! return \"bsr.w %0\"; } #else #ifdef MOTOROLA --- 5996,6003 ---- if (name[0] == '*') return &name[1]; else ! return (flag_pic==2) ? \"lea %0-.-8,%%a0\;jsr 0(%%pc,%%a0)\" ! : \"bsr.w %0\"; } #else #ifdef MOTOROLA *************** *** 6064,6070 **** if (name[0] == '*') return &name[1]; else ! return \"bsr.w %1\"; } #else #ifdef MOTOROLA --- 6070,6077 ---- if (name[0] == '*') return &name[1]; else ! return (flag_pic==2) ? \"lea %1-.-8,%%a0\;jsr 0(%%pc,%%a0)\" ! : \"bsr.w %1\"; } #else #ifdef MOTOROLA diff -cr /tmp/orig/config/m68k/m68kpic.h gcc-2.7.2.3-pic/config/m68k/m68kpic.h *** /tmp/orig/config/m68k/m68kpic.h Mon Jan 10 20:07:34 2000 --- gcc-2.7.2.3-pic/config/m68k/m68kpic.h Mon Jan 10 19:36:39 2000 *************** *** 102,108 **** #undef SUBTARGET_OVERRIDE_OPTIONS #define SUBTARGET_OVERRIDE_OPTIONS \ ! { if (TARGET_PCREL) { flag_no_function_cse = flag_pic = 1; } } #undef SUBTARGET_SWITCHES #define SUBTARGET_SWITCHES \ --- 102,108 ---- #undef SUBTARGET_OVERRIDE_OPTIONS #define SUBTARGET_OVERRIDE_OPTIONS \ ! { if (TARGET_PCREL) { flag_no_function_cse = 1; if (!flag_pic) flag_pic = 1; } } #undef SUBTARGET_SWITCHES #define SUBTARGET_SWITCHES \ diff -cr /tmp/orig/config/m68k/pic_link.ld gcc-2.7.2.3-pic/config/m68k/pic_link.ld *** /tmp/orig/config/m68k/pic_link.ld Wed Jan 12 22:37:19 2000 --- gcc-2.7.2.3-pic/config/m68k/pic_link.ld Wed Jan 12 22:38:05 2000 *************** *** 1,7 **** MEMORY { a5world : ORIGIN = 0x0, LENGTH = 32767 ! code : ORIGIN = 0x10000, LENGTH = 65536 } SECTIONS --- 1,7 ---- MEMORY { a5world : ORIGIN = 0x0, LENGTH = 32767 ! code : ORIGIN = 0x10000, LENGTH = 4000000 } SECTIONS