Fixes for Z80 compile

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2240 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2009-11-07 00:03:22 +00:00
parent cb89120bd4
commit 19fb20b3ef
4 changed files with 60 additions and 5 deletions

View File

@ -98,3 +98,29 @@ Then make the SDCC binaries
and install SDCC:
sudo make install
SDCC Update
^^^^^^^^^^^
I have had some problems building sdcc-2.6.0 on my current UBUNTU
release (9.10). I had other problems building sdcc-2.9.0 on UBUNTU 9.10.
I suspect that the newer gcc toolchains are causing problems for these
older SDCC releases.
A 20091106 snapshot did build with no major problems on UBUNTU 9.10, but
has some compatibilty problems with the older SDCC compiler. For one, you
will need to change the Z80 assember name and options in the Make.defs
files as follows:
-AS = as-z80
+AS = sdasz80
- @$(AS) $(ASFLAGS) $2 $1
+ $(AS) $(ASFLAGS) $1
For another, I had other problems building with that 20091106 that look
like compiler bugs. If you are using UBUNTU 9.10, you may have to either
(1) downgrade your GCC compiler to a version 3.x compiler and use one of
the older stable releases, or (2) wait for the next stable SDCC release
after 2.9.0.

View File

@ -73,3 +73,32 @@ Then make the SDCC binaries
and install SDCC:
sudo make install
SDCC Update
^^^^^^^^^^^
I have had some problems building sdcc-2.6.0 on my current UBUNTU
release (9.10). I had other problems building sdcc-2.9.0 on UBUNTU 9.10.
I suspect that the newer gcc toolchains are causing problems for these
older SDCC releases.
A 20091106 snapshot did build with no major problems on UBUNTU 9.10, but
has some compatibilty problems with the older SDCC compiler. For one, you
will need to change the Z80 assember name and options in the Make.defs
files as follows:
-AS = as-z80
+AS = sdasz80
- @$(AS) $(ASFLAGS) $2 $1
+ $(AS) $(ASFLAGS) $1
For another, I had other problems building with that 20091106 that look
like compiler bugs. If you are using UBUNTU 9.10, you may have to either
(1) downgrade your GCC compiler to a version 3.x compiler and use one of
the older stable releases, or (2) wait for the next stable SDCC release
after 2.9.0.

View File

@ -142,7 +142,7 @@ struct uart_ops_s
* the return 'status'.
*/
CODE int (*receive)(FAR struct uart_dev_s *dev, unsigned int *status);
CODE int (*receive)(FAR struct uart_dev_s *dev, FAR unsigned int *status);
/* Call to enable or disable RX interrupts */

View File

@ -87,9 +87,9 @@
* Private Function Prototypes
****************************************************************************/
static inline char *med3(char *, char *, char *,
int (*)(const void *, const void *));
static inline void swapfunc(char *, char *, int, int);
static inline void swapfunc(char *a, char *b, int n, int swaptype);
static inline char *med3(char *a, char *b, char *c,
int (*compar)(const void *, const void *));
/****************************************************************************
* Private Functions
@ -108,7 +108,7 @@ static inline void swapfunc(char *a, char *b, int n, int swaptype)
}
static inline char *med3(char *a, char *b, char *c,
int (*compar)(const void *, const void *))
int (*compar)(const void *, const void *))
{
return compar(a, b) < 0 ?
(compar(b, c) < 0 ? b : (compar(a, c) < 0 ? c : a ))