David Edelsohn wrote:
"Joel Sherrill writes:


Joel> With code updated this morning, powerpc-rtems fails to build. I am Joel> using binutils 2.16.1 with just a couple of patches.

Joel> Is this a gcc or binutils error?  Is there a known fix?

        This is not a known problem.  There have been a lot of patches
committed this morning.  You need to be more specific about the
instruction producing the assembler error and the latest updates that you
have merged in your tree.

SVN revision 109589.  I don't know precisely where before that it broke.
I built my native on 8 Jan. The other RTEMS crosses built on 9 Jan but I missed that the PowerPC didn't installed -- I was so excited to see that Ada built I missed it. :)

I have cut it down to this command:

/home/joel/gcc-work/head/b-powerpc-rtems4.7/./gcc/xgcc \
  -B/home/joel/gcc-work/head/b-powerpc-rtems4.7/./gcc/ \
  -mrelocatable-lib -c j3.c

and the attached source file.  It appears to be this line in
__do_global_dtors_aux.

  static func_ptr *p = __DTOR_LIST__ + 1;

What else can I do to help narrow it down?

--joel
typedef void (*func_ptr) (void);
static func_ptr __DTOR_LIST__[1]
  __attribute__((section(".dtors"), aligned(sizeof(func_ptr))))
  = { (func_ptr) (-1) };
#if 0
static const char __EH_FRAME_BEGIN__[]
     __attribute__((section(".eh_frame"), aligned(4)))
     = { };
extern void *__deregister_frame_info (const void *)
         __attribute__ ((weak));
#endif

static void __attribute__((used))
__do_global_dtors_aux (void)
{

  static func_ptr *p = __DTOR_LIST__ + 1;
#if 0
  func_ptr f;

  static _Bool completed;

  if (__builtin_expect (completed, 0))
    return;
  while ((f = *p))
    {
      p++;
      f ();
    }
  if (__deregister_frame_info)
    __deregister_frame_info (__EH_FRAME_BEGIN__);



  completed = 1;
#endif
}

Reply via email to