This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: How to configure a bi-arch PowerPC GCC?


Hello Segher,

On 20/01/17 02:04, Segher Boessenkool wrote:
Hi,

On Thu, Jan 19, 2017 at 01:41:33PM +0100, Sebastian Huber wrote:
conftest.c:16:1: error: unrecognizable insn:
  }
  ^
(insn/f 22 21 23 2 (parallel [
             (set (reg/f:DI 1 1)
                 (plus:SI (reg/f:DI 1 1)
                     (const_int 16 [0x10])))
             (set (mem:BLK (reg/f:DI 1 1) [0  A8])
                 (const_int 0 [0]))
             (set (mem:BLK (reg/f:DI 1 1) [0  A8])
                 (const_int 0 [0]))
         ]) "conftest.c":16 -1
      (expr_list:REG_CFA_DEF_CFA (reg/f:DI 1 1)
         (nil)))
This is stack_restore_tie, which requires TARGET_32BIT.

It currently is only generated from rs6000_emit_stack_reset:

   /* This blockage is needed so that sched doesn't decide to move
      the sp change before the register restores.  */
   if (DEFAULT_ABI == ABI_V4
       || (TARGET_SPE_ABI
           && info->spe_64bit_regs_used != 0
           && info->first_gp_reg_save != 32))
     return emit_insn (gen_stack_restore_tie (updt_reg_rtx, frame_reg_rtx,
                                              GEN_INT (frame_off)));

so you seem to have 64-bit ABI_V4?  I wonder how well tested that is,
you are likely to run into more problems.  Either stack_restore_tie or
the above code will need a tweak.

thanks for your help. I would had a hard time to figure this out myself.

I am flexible in terms of the ABI choice for the 64-bit PowerPC. I guess the ABI_ELFv2 is the way to go?

I had to provide SUBSUBTARGET_OVERRIDE_OPTIONS in rtems.h (in config/rs6000/) to set the ABI. The sysv4.h doesn't care about -mabi=elfv2. There seems to be some copy and paste in linux64.h and freebsd64.h for their SUBSUBTARGET_OVERRIDE_OPTIONS. Maybe the common stuff should move to sysv4.h?

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]