## Summary
A lot of linker scripts were listed twice, once for unix, once for windows.
This PR cleans up the logic so they're only listed once.
## Impact
Any opportunity to use a single source of truth and reduce lines of code is a win!
## Testing
CI will test all build
State of problem:
- Some drivers that do not support write operations (does not
have write handler or ioctl do not perform any write actions)
are registered with write permissions
- Some drivers that do not support read operation (does not
have read handler or ioctl do not perform any read actions)
are registered with read permissions
- Some drivers are registered with execute permissions
Solution:
- Iterate code where register_driver() is used and change 'mode'
parameter to reflect the actual read/write operations executed
by a driver
- Remove execute permissions from 'mode' parameter
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
since the related code was removed by:
commit 4d5a964f29
Author: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
Date: Tue Feb 23 18:04:13 2021 +0800
net: unify socket into file descriptor
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This reverts commit 45672c269d.
Because:
* It's very confusing to have cc as LD.
* I don't see what "-nostartfiles -nodefaultlibs" in LDFLAGS are
supposed to do when we use LD directly. It would be simpler to
remove them from our LDFLAGS.
The following nxstyle errors are intentionally left.
* A table, not trivial to fix:
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:142:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:143:95: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:144:88: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:145:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:146:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:147:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:148:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:149:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:150:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:151:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:152:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:153:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:154:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:155:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:156:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:157:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:158:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:159:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:160:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:161:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:162:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:163:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:164:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:165:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:166:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:167:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:168:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:169:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:170:119: error: Long line found
* Identifiers like ASCII_a:
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:397:35: error: Mixed case identifier found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:651:16: error: Mixed case identifier found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:660:38: error: Mixed case identifier found
In the current compilation environment, the recursive assignment(=) for compile
flags will be delayed until every file is actually need to be compile.
For example:
--------------------------------------------------------------------------------
arch/arm/src/Makefile:
INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)chip}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)common}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)$(ARCH_SUBDIR)}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(TOPDIR)$(DELIM)sched}
CPPFLAGS += $(INCLUDES) $(EXTRAFLAGS)
CFLAGS += $(INCLUDES) $(EXTRAFLAGS)
CXXFLAGS += $(INCLUDES) $(EXTRAFLAGS)
AFLAGS += $(INCLUDES) $(EXTRAFLAGS)
--------------------------------------------------------------------------------
All compilation options will be included recursively,
which will be delayed until the compilation options are actually used:
tools/Config.mk:
--------------------------------------------------------------------------------
define COMPILE
@echo "CC: $1"
$(Q) $(CC) -c $(CFLAGS) $($(strip $1)_CFLAGS) $1 -o $2
endef
--------------------------------------------------------------------------------
All compile flags to be reexecuted $(INCDIR) as long as one file needs to be compiled,
but in fact, the compilation options have not changed in the current directory.
So the we recommand to change the syntax of assignment
From
Recursive (=)
To
Simple (:=)
In this way, we can ensure that all compilation options are expanded only once and reducing repeated works.
Signed-off-by: chao.an <anchao@xiaomi.com>