Greg,
I saw several patch for z80, does the problem get fixed or we need take a look?

Thanks
Xiang

On Fri, Feb 21, 2020 at 4:25 AM Gregory Nutt <spudan...@gmail.com> wrote:
>
> Here is a little more detail about the error:
> >
> > ....  Here are the problems that I see now:
> >
> > 1. The eZ80 COMPILE target generates the .obj file without using the
> > fully decorated object name.  For example, when it is supposed to
> > generate:
> >
> >     
> > mkfatfs.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj
> >
> > It instead generates:
> >
> >     mkfatfs.obj
> >
> > That should be easy to fix in the COMPILE and ASSEMBLE definitions.
> >
> > 2. The full path to the archive is
> >
> >     D:\Spuda\Documents\projects\nuttx\master\apps-fork\libapps.lib
> >
> > But by the time it gets to the ZDS-II librarian, it becomes:
> >
> >     D:SpudaDocumentsprojectsnuttxmasterapps-forklibapps.lib
> >
> > I haven't figures out where the backslashes are being lost yet.
> >
> > I am expecting that this explicit GCC command option will cause
> > failures too:
> >
> >     ./Makefile:     $(call COMPILE, -fno-lto $<, $@)
> >
> > That really should be dependent on CONFIG_ARCH_TOOLCHAIN_GNU. There
> > should be an issue opened up on that.
> >
> > These all seem like simple things, but I haven't solved them all yet.
> > Makefiles are too difficult to debug!
> >
> Detailed output with V=1 and some instrumentation:
>
>     make[2]: Entering directory
>     
> '/cygdrive/d/Spuda/Documents/projects/nuttx/master/apps-fork/fsutils/mkfatfs'
>
>     ### Here three files are compiled.  They still generate the
>     undecorated object files.
>
>     /cygdrive/c/ZiLOG/ZDSII_eZ80Acclaim!_5.3.3/bin/ez80cc.exe -warn
>     -nodebug -optsize -keeplst -NOlist -NOlistinc -keepasm -chartype:S
>     -promote -cpu:eZ80F91 -NOgenprintf -NOmodsect -asmsw:" -cpu:eZ80F91
>     -NOigcase
>     
> -include:'D:\Spuda\Documents\projects\nuttx\master\nuttx-fork\include;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\std;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\zilog'
>     -warn -nodebug -NOsdiopt"
>     
> -stdinc:'D:\Spuda\Documents\projects\nuttx\master\nuttx-fork\include;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\std;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\zilog'
>     -usrinc:'.' -define:_EZ80F91 -define:
>     -usrinc:'D:\Spuda\Documents\projects\nuttx\master\apps-fork\include'
>     `cygpath -w " mkfatfs.c"`
>     mkfatfs.c
>
>     /cygdrive/c/ZiLOG/ZDSII_eZ80Acclaim!_5.3.3/bin/ez80cc.exe -warn
>     -nodebug -optsize -keeplst -NOlist -NOlistinc -keepasm -chartype:S
>     -promote -cpu:eZ80F91 -NOgenprintf -NOmodsect -asmsw:" -cpu:eZ80F91
>     -NOigcase
>     
> -include:'D:\Spuda\Documents\projects\nuttx\master\nuttx-fork\include;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\std;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\zilog'
>     -warn -nodebug -NOsdiopt"
>     
> -stdinc:'D:\Spuda\Documents\projects\nuttx\master\nuttx-fork\include;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\std;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\zilog'
>     -usrinc:'.' -define:_EZ80F91 -define:
>     -usrinc:'D:\Spuda\Documents\projects\nuttx\master\apps-fork\include'
>     `cygpath -w " configfat.c"`
>     configfat.c
>
>     /cygdrive/c/ZiLOG/ZDSII_eZ80Acclaim!_5.3.3/bin/ez80cc.exe -warn
>     -nodebug -optsize -keeplst -NOlist -NOlistinc -keepasm -chartype:S
>     -promote -cpu:eZ80F91 -NOgenprintf -NOmodsect -asmsw:" -cpu:eZ80F91
>     -NOigcase
>     
> -include:'D:\Spuda\Documents\projects\nuttx\master\nuttx-fork\include;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\std;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\zilog'
>     -warn -nodebug -NOsdiopt"
>     
> -stdinc:'D:\Spuda\Documents\projects\nuttx\master\nuttx-fork\include;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\std;C:\ZiLOG\ZDSII_eZ80Acclaim!_5.3.3\include\zilog'
>     -usrinc:'.' -define:_EZ80F91 -define:
>     -usrinc:'D:\Spuda\Documents\projects\nuttx\master\apps-fork\include'
>     `cygpath -w " writefat.c"`
>     writefat.c
>
>     ### Here is the ARCHIVE.  A debug echo shows that $1, $2m, and $AR
>     are okay
>
>     1= D:SpudaDocumentsprojectsnuttxmasterapps-forklibapps.lib
>     2=
>     
> mkfatfs.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj
>     
> configfat.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj
>     
> writefat.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj
>     AR=/cygdrive/c/ZiLOG/ZDSII_eZ80Acclaim!_5.3.3/bin/ez80lib.exe
>
>     ### This is the ARCHIVE loop.  Things are divided on separate lines
>     to make it more readable
>
>     for __obj in
>     
> mkfatfs.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj
>     
> configfat.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj
>     
> writefat.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj
>     ; \
>     do \
>     /cygdrive/c/ZiLOG/ZDSII_eZ80Acclaim!_5.3.3/bin/ez80lib.exe -quiet
>     -warn
>     "D:\Spuda\Documents\projects\nuttx\master\apps-fork\libapps.lib"=-+$__obj
>     || \
>        { echo
>     "/cygdrive/c/ZiLOG/ZDSII_eZ80Acclaim!_5.3.3/bin/ez80lib.exe
>     "D:\Spuda\Documents\projects\nuttx\master\apps-fork\libapps.lib"=-+$__obj
>     FAILED!" ; exit 1 ; } \
>     done
>
>     ### This looks like the first call to $(AR).  The $(AR) is missing
>     and seems to generate the error
>     ### The library patch still seems good
>
>     -quiet -warn
>     
> D:\Spuda\Documents\projects\nuttx\master\apps-fork\libapps.lib=-+mkfatfs.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj
>     *** <syntax error> ***
>
>     ### This is the error echo output.  The $(AR) is present.  Now the
>     library path is corrupted
>
>     /cygdrive/c/ZiLOG/ZDSII_eZ80Acclaim!_5.3.3/bin/ez80lib.exe
>     
> D:SpudaDocumentsprojectsnuttxmasterapps-forklibapps.lib=-+mkfatfs.cygdrive.d.Spuda.Documents.projects.nuttx.master.apps-fork.fsutils.mkfatfs.obj
>     FAILED!
>
>     make[2]: ***
>     
> [/cygdrive/d/Spuda/Documents/projects/nuttx/master/apps-fork/Application.mk:133:
>     .built] Error 1
>     make[2]: Leaving directory
>     
> '/cygdrive/d/Spuda/Documents/projects/nuttx/master/apps-fork/fsutils/mkfatfs'
>
> If you see any issue, let me know.  I have spent quite a bit of time one
> this tiny logic sequence.
>
> I am suspicious of the ! character in the path to ez80lib.exe. If I try
> to run that from the command line I get:
>
>     -bash: !_5.3.3/bin/ez80lib.exe: event not found
>
> But there seems to be no problem with int ! in the path to ez80cc.exe
> for the compilations above this and this has always worked from the
> context of the make in the past.
>
> Greg
>
>

Reply via email to