Vladimir 'φ-coder/phcoder' Serbinenko wrote:
> Hello, all. It's a common problem when program attempts to access
> unaligned pointer. On x86 this usually goes unnoticed but on other CPUs
> it results in segmentation fault. -Wcast-align is a good way to check
> that no such problem occurs. Unfortunately regex module breaks the
> invariants by casting char * to a re_dfa_t *. Attached patch fixes it

Hi Vlad,

How about just adding a #pragma to disable that warning, instead,
assuming it was just in regcomp.c?

The alternative (your patch or similar) would move the definition
of re_dfa_t from its private header to a public one.  If, say, the
glibc folks prefer your patch, you'll want to adjust this comment
to match the new code:

   /* Space that holds the compiled pattern.  It is declared as
      'unsigned char *' because its elements are sometimes used as
      array indexes.  */
-  unsigned char *__REPB_PREFIX(buffer);
+  re_dfa_t *__REPB_PREFIX(buffer);

Reply via email to