http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60411

John Marino <gnugcc at marino dot st> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gnugcc at marino dot st

--- Comment #11 from John Marino <gnugcc at marino dot st> ---
Eric,
Thanks for these commits.  However, I'm still unable to build
arm-aux-linux-androideabi cross-compiler target after 209227.

This is the current error:
s-osinte.ads:593:07: component "sa_flags" overlaps "sa_mask" at line 592

This happens when a-dynpri.adb is being compiled.  s-osinte.ads is
s-osinte-android.ads of course.

I think this is a direct consequence of #include <asm/signal.h> at sigtramp.h

s-ointe-android.ads, lines 590-594:
   for struct_sigaction use record
      sa_handler at Linux.sa_handler_pos range 0 .. Standard'Address_Size - 1;
      sa_mask    at Linux.sa_mask_pos    range 0 .. 1023;
      sa_flags   at Linux.sa_flags_pos   range 0 .. Standard'Address_Size - 1;
   end record;

asm/signal.h (NDK, API 15):
typedef unsigned long sigset_t;
struct sigaction {
 union {
 __sighandler_t _sa_handler;
 void (*_sa_sigaction)(int, struct siginfo *, void *);
 } _u;
 sigset_t sa_mask;
 unsigned long sa_flags;
 void (*sa_restorer)(void);
};

So it does seem that struct_sigaction record isn't correct after all.
John

Reply via email to