diff options
author | Rafaël Carré <rafael.carre@gmail.com> | 2011-12-09 20:56:40 +0000 |
---|---|---|
committer | Rafaël Carré <rafael.carre@gmail.com> | 2011-12-09 20:56:40 +0000 |
commit | 07cfc30e50f6fdd66b8bcf281f949ec6320d58fb (patch) | |
tree | 310ff90bc78fbed03b08ec98539d81d871005ce9 /firmware/drivers | |
parent | 11b661e45ce7ac8f3ec16d06de165895b624e701 (diff) | |
download | rockbox-07cfc30e50f6fdd66b8bcf281f949ec6320d58fb.tar.gz rockbox-07cfc30e50f6fdd66b8bcf281f949ec6320d58fb.zip |
lcd_blit_yuv(): don't use weak attribute when building for windows
current gcc/binutils don't support weak attribute correctly
see http://sourceware.org/bugzilla/show_bug.cgi?id=9687
fix FS#12427
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31193 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers')
-rw-r--r-- | firmware/drivers/lcd-16bit-common.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/firmware/drivers/lcd-16bit-common.c b/firmware/drivers/lcd-16bit-common.c index 5f3997a5f6..2e5ce208b0 100644 --- a/firmware/drivers/lcd-16bit-common.c +++ b/firmware/drivers/lcd-16bit-common.c | |||
@@ -978,15 +978,24 @@ static inline int clamp(int val, int min, int max) | |||
978 | return val; | 978 | return val; |
979 | } | 979 | } |
980 | 980 | ||
981 | __attribute__((weak)) void lcd_yuv_set_options(unsigned options) | 981 | #ifndef _WIN32 |
982 | /* | ||
983 | * weak attribute doesn't work for win32 as of gcc 4.6.2 and binutils 2.21.52 | ||
984 | * When building win32 simulators, we won't be using an optimized version of | ||
985 | * lcd_blit_yuv(), so just don't use the weak attribute. | ||
986 | */ | ||
987 | __attribute__((weak)) | ||
988 | #endif | ||
989 | void lcd_yuv_set_options(unsigned options) | ||
982 | { | 990 | { |
983 | (void)options; | 991 | (void)options; |
984 | } | 992 | } |
985 | 993 | ||
986 | /* Draw a partial YUV colour bitmap - similiar behavior to lcd_blit_yuv | 994 | /* Draw a partial YUV colour bitmap */ |
987 | in the core */ | 995 | #ifndef _WIN32 |
988 | 996 | __attribute__((weak)) | |
989 | __attribute__((weak)) void lcd_blit_yuv(unsigned char * const src[3], | 997 | #endif |
998 | void lcd_blit_yuv(unsigned char * const src[3], | ||
990 | int src_x, int src_y, int stride, | 999 | int src_x, int src_y, int stride, |
991 | int x, int y, int width, int height) | 1000 | int x, int y, int width, int height) |
992 | { | 1001 | { |