According to Agner Fog, "...you must make sure that all calls are matched with returns. Never jump out of a subroutine without a return and never use a return as an indirect jump."
(see paragraph 3.15 in microarchitecture.pdf and examples 3.5a and 3.5b in optimizing_assembly.pdf) Basically this patch replaces call .get_eip0 .get_eip0: pop eax with call .mov_eip_to_eax .get_eip0: and .mov_eip_to_eax: mov eax, [esp] ret
get_eip.diff
Description: Binary data
_______________________________________________ flac-dev mailing list flac-dev@xiph.org http://lists.xiph.org/mailman/listinfo/flac-dev