Hi, I've recently re-stumbled upon this. As far as I can tell it hasn't been commited. Was there some more discussion on the topic or did it simply get forgotten?
-- Adrien Nader On Mon, Aug 22, 2016, Kai Tietz wrote: > Hello Aleksey, > > 2016-08-22 13:52 GMT+02:00 Aleksey Vasenev <[email protected]>: > > __attribute__((aligned)) don't work for stack variables in threads created > > with _beginthreadex without alignment. > > > > Signed-off-by: Aleksey Vasenev <[email protected]> > > --- > > send it again > > github: https://github.com/Ratio2/mingw-w64/tree/align > > fix crash: ffmpeg -f lavfi -i testsrc -vcodec libvpx -threads 2 -f null - > > problem discuss: https://ffmpeg.zeranoe.com/forum/viewtopic.php?t=2236 > > > > _beginthreadex does not align the stack on 16-byte boundary as expected > > by gcc. > > > > On x86 targets, the force_align_arg_pointer attribute may be applied to > > individual function definitions, generating an alternate prologue and > > epilogue that realigns the run-time stack if necessary. This supports > > mixing legacy codes that run with a 4-byte aligned stack with modern > > codes that keep a 16-byte stack for SSE compatibility. > > https://gcc.gnu.org/onlinedocs/gcc/x86-Function-Attributes.html > > > > mingw-w64-libraries/winpthreads/src/thread.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/mingw-w64-libraries/winpthreads/src/thread.c > > b/mingw-w64-libraries/winpthreads/src/thread.c > > index 565ea48..c771daf 100644 > > --- a/mingw-w64-libraries/winpthreads/src/thread.c > > +++ b/mingw-w64-libraries/winpthreads/src/thread.c > > @@ -1454,6 +1454,9 @@ pthread_setcanceltype (int type, int *oldtype) > > return 0; > > } > > > > +#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) > > +__attribute__((force_align_arg_pointer)) > > +#endif > > int > > pthread_create_wrapper (void *args) > > { > > -- > > 2.9.1 > > I guess you have tested your suggested patch? Over all it looks > reasonable to me. > > Regards, > Kai > > ------------------------------------------------------------------------------ > _______________________________________________ > Mingw-w64-public mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
