On Wed, Sep 09, 2009 at 06:59:23PM -0700, Roland McGrath wrote: > The latest GCC has a better way than "for (;;)" to indicate that a code > path cannot be reached due to reasons the compiler doesn't understand (such > as code in an asm). These patches provide UNREACHABLE() as a macro to hide > the details of this, and then use it for the BUG() macro on x86, saving > some dead code otherwise generated. > > Other arch's BUG() may want to this too instead of "for (;;)" or __builtin_trap. Just instead of for (;;) (or any place where an asm never returns). __builtin_trap () shouldn't be replaced - __builtin_unreachable () just says that the location is never reachable, so everything after it not reachable through other ways can be optimized out - while __builtin_trap () emits an instruction that traps and then assumes anything after it is unreachable. Also, I wonder if Fedora/RHEL specific GCC backport is desirable to be handled in upstream kernel (i.e. whether compiler-gcc4.h shouldn't enable it just for GCC 4.5+) and Fedora/RHEL should patch it for our backport. Jakub -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html