Any comments on this? This bug caused me a lot of troube. -Aaron
On Tuesday, January 25, 2011 02:30:55 pm Aaron Williams wrote: > In some of my work with the Cavium Octeon 64-bit processor I ran into a > problem with the min and max macros provided in common.h. The problem > occurs if x is 32-bit and y is 64-bit. In this case, y will always be > truncated to 32-bits. This patch fixes this problem. > > -Aaron > > diff --git a/include/common.h b/include/common.h > index d8c912d..cf5c076 100644 > --- a/include/common.h > +++ b/include/common.h > @@ -180,11 +180,13 @@ typedef void (interrupt_handler_t)(void *); > * General Purpose Utilities > */ > #define min(X, Y) \ > - ({ typeof (X) __x = (X), __y = (Y); \ > + ({ typeof (X) __x = (X); \ > + typeof (Y) __y = (Y); \ > (__x < __y) ? __x : __y; }) > > #define max(X, Y) \ > - ({ typeof (X) __x = (X), __y = (Y); \ > + ({ typeof (X) __x = (X); \ > + typeof (Y) __y = (Y); \ > (__x > __y) ? __x : __y; }) > > #define MIN(x, y) min(x, y) > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot