https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107339

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |INVALID
             Status|UNCONFIRMED                 |RESOLVED

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The code is broken.

uint32_t here is aligned to 32bits and you access it via that type.


this is the correct fix:


typedef uint32_t uint32_t_ua __attribute__((aligned(1)));

void  tttt (misalign_t* t){

    printf("%x\n",(*(const uint32_t_ua *)&t->rseq[0]));
    printf("%x\n",(*(const uint32_t_ua *)&t->rseq[1]));
}

Reply via email to