patacongo opened a new issue #1672:
URL: https://github.com/apache/incubator-nuttx/issues/1672


   PR #1450 broke the Cygwin build and it is still broken in the current 
master.  Consider this:
   
       $ tools/configure.sh -c nucleo-l476rg:nsh
       $ make -j V=1
   
   Results in:
   
       arm-none-eabi-ld --entry=__start -nostartfiles -nodefaultlibs -g -T 
"D:\Spuda\Documents\projects\nuttx\master\nuttx_fork\boards\arm\stm32l4\nucleo-l476rg\scripts\l476rg.ld"
  -L"D:\Spuda\Documents\projects\nuttx\master\nuttx_fork\staging" 
-L"D:\Spuda\Documents\projects\nuttx\master\nuttx_fork\arch\arm\src\board" -L 
"c:/ ./ (x86)/ ./ ./ embedded/ 
2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v7e-m/nofp/" -L "c:/ ./ 
(x86)/ ./ ./ embedded/ 
2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/lib/thumb/v7e-m/nofp/"
 \
               -o 
"D:\Spuda\Documents\projects\nuttx\master\nuttx_fork\nuttx.exe"   \
               --start-group -lsched -ldrivers -lboards -lc -lmm -larch -lxx 
-lapps -lfs -lbinfmt -lboard -lgcc -lm --end-group
       C:\Program Files (x86)\GNU Tools ARM Embedded\9 
2019-q4-major\bin\arm-none-eabi-ld.exe: cannot find -lgcc
       C:\Program Files (x86)\GNU Tools ARM Embedded\9 
2019-q4-major\bin\arm-none-eabi-ld.exe: cannot find -lm
       make[1]: *** [Makefile:172: nuttx.exe] Error 1
   
   Trying again with a different configuration, no -j and no V=1 gives me the 
same error:
   
       $ make distclean
       $ tools/configure.sh -c stm32f4discovery:nsh
       ...
       LD: nuttx
       C:\Program Files (x86)\GNU Tools ARM Embedded\9 
2019-q4-major\bin\arm-none-eabi-ld.exe: cannot find -lgcc
       C:\Program Files (x86)\GNU Tools ARM Embedded\9 
2019-q4-major\bin\arm-none-eabi-ld.exe: cannot find -lm
       make[1]: *** [Makefile:172: nuttx.exe] Error 1
   
   The problem is due to this commit:
   
       commit 4910d43ab0fc360dbddb1f8a31db2a3ee383b46d
       Author: Xiang Xiao <[email protected]>
       Date:   Wed Jul 15 20:51:26 2020 +0800
       
           build: Move the toolchain library setting to the common place
       
           so all boards support C++ automatically
   
   Commit 4910d43ab0fc360dbddb1f8a31db2a3ee383b46d adds logic like the 
following to all Toolchain.defs files:
   
       +
       +# Add the builtin library
       +
       +EXTRA_LIBS += -lgcc
       +EXTRA_LIBPATHS += -L "${dir ${shell $(CC) $(ARCHCPUFLAGS) 
--print-file-name=libgcc.a}}"
       +
       +ifneq ($(CONFIG_LIBM),y)
       +  EXTRA_LIBS += -lm
       +  EXTRA_LIBPATHS += -L "${dir ${shell $(CC) $(ARCHCPUFLAGS) 
--print-file-name=libm.a}}"
       +endif
       +
       +ifeq ($(CONFIG_CXX_LIBSUPCXX),y)
       +  EXTRA_LIBS += -lsupc++
       +  EXTRA_LIBPATHS += -L "${dir ${shell $(CC) $(ARCHCPUFLAGS) 
--print-file-name=libsupc++.a}}"
       +endif
   
   But look what happens under Cygwin:
   
       $ arm-none-eabi-gcc --print-file-name=libgcc.a
       c:/program files (x86)/gnu tools arm embedded/9 
2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/libgcc.a
   
       $ dir `arm-none-eabi-gcc --print-file-name=libgcc.a`
       dir: cannot access 'c:/program': No such file or directory
       dir: cannot access 'files': No such file or directory
       dir: cannot access '(x86)/gnu': No such file or directory
       dir: cannot access 'arm': No such file or directory
       dir: cannot access 'embedded/9': No such file or directory
       dir: cannot access 
'2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/libgcc.a'$'\r': No such file 
or directory
       ...
   
   Broken!


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to