|
Message-ID: <55F02C5D.2020606@cox.net> Date: Wed, 9 Sep 2015 07:55:57 -0500 From: JimF <jfoug@....net> To: john-dev@...ts.openwall.com Subject: Re: Large stack alignment On 9/9/2015 5:03 AM, magnum wrote: > On 2015-09-08 21:45, magnum wrote: > >> /* >> * I had to place this in a separate function to avoid having the >> unaligned >> * branch optimized away (even using -O0), since gcc is totally >> convinced it >> * simply can't be unaligned! >> */ >> void out(char *pt) >> { >> if ((size_t)pt & 31) >> printf("%s unaligned!\n", pt); >> else >> puts(pt); >> } > > Come to think of it, this is troubling: It suggests that the macro > form of mem_align() might also be optimized away, doesn't it?! > > Also, I'm puzzled anything is optimized away at -O0. But it was - > there wasn't even any "%s unaligned!\n" string in the assembly output. > I believe this is going to be 2 different cases, but I honestly can not say for 100% sure. In the macro case, we have an lparam expression which sets an undefined variable. It must be run.
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.