How can I add LDFLAGS for bsp build?

Y. HB sprhawk at gmail.com
Mon Jul 25 03:35:37 UTC 2022


Hi Dave & Joel:

Thanks for your replies.

I'm building RTEMS bsp, I think it should not find libm.so or lib.la in
LD_LIBRARY_PATH in configure script of RTEMS (5.1),
In fact, the compiling has -lm added, but still missing floor references:

arm-rtems5-gcc  -march=armv7-r -mthumb -mbig-endian -mfpu=vfpv3-d16
-mfloat-abi=hard -Og -ggdb -ffunction-sections -fdata-sections -Wall
-Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes
-Wnested-externs -B./../../lib/libbsp/arm/tms570
-B/home/hongbo/Developer/Embedded/rtems/rtems-master/bsps/arm/tms570/start
-specs bsp_specs -qrtems -L./../../cpukit
-L/home/hongbo/Developer/Embedded/rtems/rtems-master/bsps/arm/shared/start
-Wl,--wrap=printf -Wl,--wrap=puts -Wl,--wrap=putchar -Wl,--gc-sections -lm
-o base_sp.exe base_sp/base_sp-init.o base_sp/base_sp-apptask.o
./../../lib/libbsp/arm/tms570/librtemsbsp.a ./../../cpukit/librtemscpu.a
./../../cpukit/librtemstest.a
/home/hongbo/Developer/Embedded/rtems/5/lib/gcc/arm-rtems5/7.5.0/../../../../arm-rtems5/bin/ld:
./../../lib/libbsp/arm/tms570/librtemsbsp.a(HL_sci.o): in function
`sciSetBaudrate':
/home/hongbo/Developer/Embedded/rtems/build/tms570lc4357/arm-rtems5/c/tms570lc4357_launchxl/lib/libbsp/arm/tms570/../../../../../../../../../rtems-master/c/src/lib/libbsp/arm/tms570/../../../../../../bsps/arm/tms570/start/tms570lc4357/source/HL_sci.c:284:
undefined reference to `floor'

I added LIBS=-lm in bsps/arm/tms570/config/tms570lc4357.inc (which is I
added for a new BSP), it passed build bsp,

however, in application build, I'm building application with waf, but ./waf
configure did not pass "test c program", due to the link flags for
application still has no -lm, which reported again undefined reference to
floor

following is config.log

# project  configured on Mon Jul 25 11:30:44 2022 by
# waf 2.0.19 (abi 20, python 30902f0 on linux)
# using ./waf configure --rtems=/home/hongbo/Developer/Embedded/rtems/5
--rtems-bsp=arm/tms570lc4357_launchxl
#
----------------------------------------
Setting top to
/home/hongbo/Developer/Embedded/rtems/app/hello
----------------------------------------
Setting out to
/home/hongbo/Developer/Embedded/rtems/app/hello/build
-----------------------------------------
----------------------------------------
RTEMS Version
5
----------------------------------------
Architectures
arm-rtems5
----------------------------------------
Board Support Package (BSP)
arm-rtems5-tms570lc4357_launchxl
----------------------------------------
Show commands
no
----------------------------------------
Long commands
no
----------------------------------------
Checking for program 'arm-rtems5-gcc'
/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-gcc
find program=['arm-rtems5-gcc']
paths=['/home/hongbo/Developer/Embedded/rtems/5/bin'] var='ARM_RTEMS5_GCC'
-> ['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-gcc']
----------------------------------------
Checking for program 'arm-rtems5-g++'
/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-g++
find program=['arm-rtems5-g++']
paths=['/home/hongbo/Developer/Embedded/rtems/5/bin'] var='ARM_RTEMS5_G++'
-> ['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-g++']
----------------------------------------
Checking for program 'arm-rtems5-gcc'
/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-gcc
find program=['arm-rtems5-gcc']
paths=['/home/hongbo/Developer/Embedded/rtems/5/bin'] var='ARM_RTEMS5_GCC'
-> ['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-gcc']
----------------------------------------
Checking for program 'arm-rtems5-ld'
/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-ld
find program=['arm-rtems5-ld']
paths=['/home/hongbo/Developer/Embedded/rtems/5/bin'] var='ARM_RTEMS5_LD'
-> ['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-ld']
----------------------------------------
Checking for program 'arm-rtems5-ar'
/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-ar
find program=['arm-rtems5-ar']
paths=['/home/hongbo/Developer/Embedded/rtems/5/bin'] var='ARM_RTEMS5_AR'
-> ['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-ar']
----------------------------------------
Checking for program 'arm-rtems5-nm'
/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-nm
find program=['arm-rtems5-nm']
paths=['/home/hongbo/Developer/Embedded/rtems/5/bin'] var='ARM_RTEMS5_NM'
-> ['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-nm']
-----------------------------------------
Checking for program 'arm-rtems5-objdump'
/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-objdump
find program=['arm-rtems5-objdump']
paths=['/home/hongbo/Developer/Embedded/rtems/5/bin']
var='ARM_RTEMS5_OBJDUMP' ->
['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-objdump']
-----------------------------------------
Checking for program 'arm-rtems5-objcopy'
/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-objcopy
find program=['arm-rtems5-objcopy']
paths=['/home/hongbo/Developer/Embedded/rtems/5/bin']
var='ARM_RTEMS5_OBJCOPY' ->
['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-objcopy']
-----------------------------------------
Checking for program 'arm-rtems5-readelf'
/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-readelf
find program=['arm-rtems5-readelf']
paths=['/home/hongbo/Developer/Embedded/rtems/5/bin']
var='ARM_RTEMS5_READELF' ->
['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-readelf']
-----------------------------------------
Checking for program 'arm-rtems5-strip'
/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-strip
find program=['arm-rtems5-strip']
paths=['/home/hongbo/Developer/Embedded/rtems/5/bin']
var='ARM_RTEMS5_STRIP' ->
['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-strip']
-----------------------------------------
Checking for program 'arm-rtems5-ranlib'
/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-ranlib
find program=['arm-rtems5-ranlib']
paths=['/home/hongbo/Developer/Embedded/rtems/5/bin']
var='ARM_RTEMS5_RANLIB' ->
['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-ranlib']
-----------------------------------------
Checking for program 'rtems-ld'
/home/hongbo/Developer/Embedded/rtems/5/bin/rtems-ld
find program=['rtems-ld']
paths=['/home/hongbo/Developer/Embedded/rtems/5/bin'] var='RTEMS_LD' ->
['/home/hongbo/Developer/Embedded/rtems/5/bin/rtems-ld']
-----------------------------------------
Checking for program 'rtems-tld'
/home/hongbo/Developer/Embedded/rtems/5/bin/rtems-tld
find program=['rtems-tld']
paths=['/home/hongbo/Developer/Embedded/rtems/5/bin'] var='RTEMS_TLD' ->
['/home/hongbo/Developer/Embedded/rtems/5/bin/rtems-tld']
-----------------------------------------
Checking for program 'rtems-syms'
/home/hongbo/Developer/Embedded/rtems/5/bin/rtems-syms
find program=['rtems-syms']
paths=['/home/hongbo/Developer/Embedded/rtems/5/bin'] var='RTEMS_SYMS' ->
['/home/hongbo/Developer/Embedded/rtems/5/bin/rtems-syms']
-----------------------------------------
Checking for program 'rtems-bin2c'
/home/hongbo/Developer/Embedded/rtems/5/bin/rtems-bin2c
find program=['rtems-bin2c']
paths=['/home/hongbo/Developer/Embedded/rtems/5/bin'] var='RTEMS_BIN2C' ->
['/home/hongbo/Developer/Embedded/rtems/5/bin/rtems-bin2c']
-----------------------------------------
Checking for program 'tar'
/usr/bin/tar
find program=['tar'] paths=['/home/hongbo/Developer/Embedded/rtems/5/bin',
'/home/hongbo/Developer/Embedded/local/bin', '/opt/wine-devel/bin',
'/home/hongbo/Developer/Android/sdk/platform-tools',
'/home/hongbo/.yarn/bin',
'/home/hongbo/.local/node-v14.17.4-linux-x64//bin',
'/home/hongbo/.local/go/bin', '/home/hongbo/.local/bin',
'/home/hongbo/.cargo/bin', '/usr/lib/postgresql/14/bin', '/usr/local/bin',
'/usr/bin', '/bin', '/usr/local/games', '/usr/games',
'/home/hongbo/.local/go/bin'] var='TAR' -> ['/usr/bin/tar']
-----------------------------------------
Checking for program 'gcc, cc'
/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-gcc
find program=['gcc', 'cc']
paths=['/home/hongbo/Developer/Embedded/rtems/5/bin',
'/home/hongbo/Developer/Embedded/local/bin', '/opt/wine-devel/bin',
'/home/hongbo/Developer/Android/sdk/platform-tools',
'/home/hongbo/.yarn/bin',
'/home/hongbo/.local/node-v14.17.4-linux-x64//bin',
'/home/hongbo/.local/go/bin', '/home/hongbo/.local/bin',
'/home/hongbo/.cargo/bin', '/usr/lib/postgresql/14/bin', '/usr/local/bin',
'/usr/bin', '/bin', '/usr/local/games', '/usr/games',
'/home/hongbo/.local/go/bin'] var='CC' ->
['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-gcc']
['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-gcc', '-dM', '-E',
'-']
out: #define __DBL_MIN_EXP__ (-1021)
#define __HQ_FBIT__ 15
#define __FLT32X_MAX_EXP__ 1024
#define __UINT_LEAST16_MAX__ 0xffff
#define __ARM_SIZEOF_WCHAR_T 4
#define __ATOMIC_ACQUIRE 2
#define __SFRACT_IBIT__ 0
#define __FLT_MIN__ 1.1754943508222875e-38F
#define __GCC_IEC_559_COMPLEX 0
#define __UFRACT_MAX__ 0XFFFFP-16UR
#define __UINT_LEAST8_TYPE__ unsigned char
#define __DQ_FBIT__ 63
#define __INTMAX_C(c) c ## LL
#define __ULFRACT_FBIT__ 32
#define __SACCUM_EPSILON__ 0x1P-7HK
#define __CHAR_BIT__ 8
#define __USQ_IBIT__ 0
#define __UINT8_MAX__ 0xff
#define __ACCUM_FBIT__ 15
#define __WINT_MAX__ 0xffffffffU
#define __FLT32_MIN_EXP__ (-125)
#define __USFRACT_FBIT__ 8
#define __ORDER_LITTLE_ENDIAN__ 1234
#define __SIZE_MAX__ 0xffffffffU
#define __ARM_ARCH_ISA_ARM 1
#define __WCHAR_MAX__ 0xffffffffU
#define __LACCUM_IBIT__ 32
#define __DBL_DENORM_MIN__ ((double)4.9406564584124654e-324L)
#define __GCC_ATOMIC_CHAR_LOCK_FREE 1
#define __GCC_IEC_559 0
#define __FLT32X_DECIMAL_DIG__ 17
#define __FLT_EVAL_METHOD__ 0
#define __LLACCUM_MAX__ 0X7FFFFFFFFFFFFFFFP-31LLK
#define __FLT64_DECIMAL_DIG__ 17
#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 1
#define __FRACT_FBIT__ 15
#define __UINT_FAST64_MAX__ 0xffffffffffffffffULL
#define __SIG_ATOMIC_TYPE__ int
#define __UACCUM_FBIT__ 16
#define __DBL_MIN_10_EXP__ (-307)
#define __FINITE_MATH_ONLY__ 0
#define __ARMEL__ 1
#define __LFRACT_IBIT__ 0
#define __GNUC_PATCHLEVEL__ 0
#define __FLT32_HAS_DENORM__ 1
#define __LFRACT_MAX__ 0X7FFFFFFFP-31LR
#define __UINT_FAST8_MAX__ 0xffffffffU
#define __has_include(STR) __has_include__(STR)
#define __DEC64_MAX_EXP__ 385
#define __INT8_C(c) c
#define __INT_LEAST8_WIDTH__ 8
#define __UINT_LEAST64_MAX__ 0xffffffffffffffffULL
#define __SA_FBIT__ 15
#define __SHRT_MAX__ 0x7fff
#define __LDBL_MAX__ 1.7976931348623157e+308L
#define __FRACT_MAX__ 0X7FFFP-15R
#define __UFRACT_FBIT__ 16
#define __UFRACT_MIN__ 0.0UR
#define __UINT_LEAST8_MAX__ 0xff
#define __GCC_ATOMIC_BOOL_LOCK_FREE 1
#define __UINTMAX_TYPE__ long long unsigned int
#define __LLFRACT_EPSILON__ 0x1P-63LLR
#define __DEC32_EPSILON__ 1E-6DF
#define __FLT_EVAL_METHOD_TS_18661_3__ 0
#define __CHAR_UNSIGNED__ 1
#define __UINT32_MAX__ 0xffffffffU
#define __ULFRACT_MAX__ 0XFFFFFFFFP-32ULR
#define __TA_IBIT__ 64
#define __LDBL_MAX_EXP__ 1024
#define __WINT_MIN__ 0U
#define __INT_LEAST16_WIDTH__ 16
#define __ULLFRACT_MIN__ 0.0ULLR
#define __SCHAR_MAX__ 0x7f
#define __WCHAR_MIN__ 0U
#define __INT64_C(c) c ## LL
#define __DBL_DIG__ 15
#define __GCC_ATOMIC_POINTER_LOCK_FREE 1
#define __LLACCUM_MIN__ (-0X1P31LLK-0X1P31LLK)
#define __SIZEOF_INT__ 4
#define __SIZEOF_POINTER__ 4
#define __USACCUM_IBIT__ 8
#define __USER_LABEL_PREFIX__
#define __STDC_HOSTED__ 1
#define __LDBL_HAS_INFINITY__ 1
#define __LFRACT_MIN__ (-0.5LR-0.5LR)
#define __HA_IBIT__ 8
#define __FLT32_DIG__ 6
#define __TQ_IBIT__ 0
#define __FLT_EPSILON__ 1.1920928955078125e-7F
#define __APCS_32__ 1
#define __SHRT_WIDTH__ 16
#define __USFRACT_IBIT__ 0
#define __LDBL_MIN__ 2.2250738585072014e-308L
#define __STDC_UTF_16__ 1
#define __FRACT_MIN__ (-0.5R-0.5R)
#define __DEC32_MAX__ 9.999999E96DF
#define __DA_IBIT__ 32
#define __ARM_SIZEOF_MINIMAL_ENUM 4
#define __FLT32X_HAS_INFINITY__ 1
#define __INT32_MAX__ 0x7fffffff
#define __UQQ_FBIT__ 8
#define __INT_WIDTH__ 32
#define __SIZEOF_LONG__ 4
#define __UACCUM_MAX__ 0XFFFFFFFFP-16UK
#define __UINT16_C(c) c
#define __PTRDIFF_WIDTH__ 32
#define __DECIMAL_DIG__ 17
#define __LFRACT_EPSILON__ 0x1P-31LR
#define __FLT64_EPSILON__ 2.2204460492503131e-16F64
#define __ULFRACT_MIN__ 0.0ULR
#define __INTMAX_WIDTH__ 64
#define __has_include_next(STR) __has_include_next__(STR)
#define __LDBL_HAS_QUIET_NAN__ 1
#define __ULACCUM_IBIT__ 32
#define __FLT64_MANT_DIG__ 53
#define __UACCUM_EPSILON__ 0x1P-16UK
#define __GNUC__ 7
#define __ULLACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULLK
#define __HQ_IBIT__ 0
#define __FLT_HAS_DENORM__ 1
#define __SIZEOF_LONG_DOUBLE__ 8
#define __BIGGEST_ALIGNMENT__ 8
#define __FLT64_MAX_10_EXP__ 308
#define __GNUC_STDC_INLINE__ 1
#define __DQ_IBIT__ 0
#define __DBL_MAX__ ((double)1.7976931348623157e+308L)
#define __ULFRACT_IBIT__ 0
#define __INT_FAST32_MAX__ 0x7fffffff
#define __DBL_HAS_INFINITY__ 1
#define __ACCUM_IBIT__ 16
#define __DEC32_MIN_EXP__ (-94)
#define __THUMB_INTERWORK__ 1
#define __INTPTR_WIDTH__ 32
#define __LACCUM_MAX__ 0X7FFFFFFFFFFFFFFFP-31LK
#define __FLT32X_HAS_DENORM__ 1
#define __INT_FAST16_TYPE__ int
#define __LDBL_HAS_DENORM__ 1
#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
#define __INT_LEAST32_MAX__ 0x7fffffff
#define __ARM_PCS 1
#define __DEC32_MIN__ 1E-95DF
#define __ACCUM_MAX__ 0X7FFFFFFFP-15K
#define __DBL_MAX_EXP__ 1024
#define __USACCUM_EPSILON__ 0x1P-8UHK
#define __WCHAR_WIDTH__ 32
#define __FLT32_MAX__ 3.4028234663852886e+38F32
#define __DEC128_EPSILON__ 1E-33DL
#define __SFRACT_MAX__ 0X7FP-7HR
#define __FRACT_IBIT__ 0
#define __PTRDIFF_MAX__ 0x7fffffff
#define __UACCUM_MIN__ 0.0UK
#define __UACCUM_IBIT__ 16
#define __FLT32_HAS_QUIET_NAN__ 1
#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL
#define __SIZEOF_SIZE_T__ 4
#define __ULACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULK
#define __SIZEOF_WINT_T__ 4
#define __LONG_LONG_WIDTH__ 64
#define __FLT32_MAX_EXP__ 128
#define __SA_IBIT__ 16
#define __ULLACCUM_MIN__ 0.0ULLK
#define __GXX_ABI_VERSION 1011
#define __UTA_FBIT__ 64
#define __SOFTFP__ 1
#define __FLT_MIN_EXP__ (-125)
#define __USFRACT_MAX__ 0XFFP-8UHR
#define __UFRACT_IBIT__ 0
#define __INT_FAST64_TYPE__ long long int
#define __FLT64_DENORM_MIN__ 4.9406564584124654e-324F64
#define __DBL_MIN__ ((double)2.2250738585072014e-308L)
#define __USE_INIT_FINI__ 1
#define __FLT32X_EPSILON__ 2.2204460492503131e-16F32x
#define __FLT64_MIN_EXP__ (-1021)
#define __LACCUM_MIN__ (-0X1P31LK-0X1P31LK)
#define __ULLACCUM_FBIT__ 32
#define __GXX_TYPEINFO_EQUALITY_INLINE 0
#define __FLT64_MIN_10_EXP__ (-307)
#define __ULLFRACT_EPSILON__ 0x1P-64ULLR
#define __USES_INITFINI__ 1
#define __DEC128_MIN__ 1E-6143DL
#define __REGISTER_PREFIX__
#define __UINT16_MAX__ 0xffff
#define __DBL_HAS_DENORM__ 1
#define __ACCUM_MIN__ (-0X1P15K-0X1P15K)
#define __SQ_IBIT__ 0
#define __FLT32_MIN__ 1.1754943508222875e-38F32
#define __UINT8_TYPE__ unsigned char
#define __UHA_FBIT__ 8
#define __NO_INLINE__ 1
#define __SFRACT_MIN__ (-0.5HR-0.5HR)
#define __UTQ_FBIT__ 128
#define __FLT_MANT_DIG__ 24
#define __LDBL_DECIMAL_DIG__ 17
#define __VERSION__ "7.5.0 20191114 (RTEMS 5, RSB 5.1, Newlib 7947581)"
#define __UINT64_C(c) c ## ULL
#define __ULLFRACT_FBIT__ 64
#define __FRACT_EPSILON__ 0x1P-15R
#define __ULACCUM_MIN__ 0.0ULK
#define __UDA_FBIT__ 32
#define __LLACCUM_EPSILON__ 0x1P-31LLK
#define __GCC_ATOMIC_INT_LOCK_FREE 1
#define __FLT32_MANT_DIG__ 24
#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
#define __USFRACT_MIN__ 0.0UHR
#define __UQQ_IBIT__ 0
#define __SCHAR_WIDTH__ 8
#define __INT32_C(c) c
#define __DEC64_EPSILON__ 1E-15DD
#define __ORDER_PDP_ENDIAN__ 3412
#define __DEC128_MIN_EXP__ (-6142)
#define __UHQ_FBIT__ 16
#define __LLACCUM_FBIT__ 31
#define __FLT32_MAX_10_EXP__ 38
#define __INT_FAST32_TYPE__ int
#define __UINT_LEAST16_TYPE__ short unsigned int
#define __INT16_MAX__ 0x7fff
#define __SIZE_TYPE__ unsigned int
#define __UINT64_MAX__ 0xffffffffffffffffULL
#define __UDQ_FBIT__ 64
#define __INT8_TYPE__ signed char
#define __ELF__ 1
#define __ULFRACT_EPSILON__ 0x1P-32ULR
#define __LLFRACT_FBIT__ 63
#define __rtems__ 1
#define __FLT_RADIX__ 2
#define __INT_LEAST16_TYPE__ short int
#define __LDBL_EPSILON__ 2.2204460492503131e-16L
#define __UINTMAX_C(c) c ## ULL
#define __SACCUM_MAX__ 0X7FFFP-7HK
#define __SIG_ATOMIC_MAX__ 0x7fffffff
#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 1
#define __VFP_FP__ 1
#define __SIZEOF_PTRDIFF_T__ 4
#define __FLT32X_MANT_DIG__ 53
#define __LACCUM_EPSILON__ 0x1P-31LK
#define __FLT32X_MIN_EXP__ (-1021)
#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF
#define __INT_FAST16_MAX__ 0x7fffffff
#define __FLT64_DIG__ 15
#define __UINT_FAST32_MAX__ 0xffffffffU
#define __UINT_LEAST64_TYPE__ long long unsigned int
#define __USACCUM_MAX__ 0XFFFFP-8UHK
#define __SFRACT_EPSILON__ 0x1P-7HR
#define __FLT_HAS_QUIET_NAN__ 1
#define __FLT_MAX_10_EXP__ 38
#define __LONG_MAX__ 0x7fffffffL
#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL
#define __FLT_HAS_INFINITY__ 1
#define __USA_FBIT__ 16
#define __UINT_FAST16_TYPE__ unsigned int
#define __DEC64_MAX__ 9.999999999999999E384DD
#define __ARM_32BIT_STATE 1
#define __INT_FAST32_WIDTH__ 32
#define __CHAR16_TYPE__ short unsigned int
#define __PRAGMA_REDEFINE_EXTNAME 1
#define __SIZE_WIDTH__ 32
#define __INT_LEAST16_MAX__ 0x7fff
#define __DEC64_MANT_DIG__ 16
#define __INT64_MAX__ 0x7fffffffffffffffLL
#define __UINT_LEAST32_MAX__ 0xffffffffU
#define __SACCUM_FBIT__ 7
#define __FLT32_DENORM_MIN__ 1.4012984643248171e-45F32
#define __GCC_ATOMIC_LONG_LOCK_FREE 1
#define __SIG_ATOMIC_WIDTH__ 32
#define __INT_LEAST64_TYPE__ long long int
#define __INT16_TYPE__ short int
#define __INT_LEAST8_TYPE__ signed char
#define __STDC_VERSION__ 201112L
#define __SQ_FBIT__ 31
#define __DEC32_MAX_EXP__ 97
#define __ARM_ARCH_ISA_THUMB 1
#define __INT_FAST8_MAX__ 0x7fffffff
#define __ARM_ARCH 4
#define __INTPTR_MAX__ 0x7fffffff
#define __QQ_FBIT__ 7
#define __UTA_IBIT__ 64
#define __FLT64_HAS_QUIET_NAN__ 1
#define __FLT32_MIN_10_EXP__ (-37)
#define __FLT32X_DIG__ 15
#define __LDBL_MANT_DIG__ 53
#define __SFRACT_FBIT__ 7
#define __SACCUM_MIN__ (-0X1P7HK-0X1P7HK)
#define __DBL_HAS_QUIET_NAN__ 1
#define __FLT64_HAS_INFINITY__ 1
#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)
#define __INTPTR_TYPE__ int
#define __UINT16_TYPE__ short unsigned int
#define __WCHAR_TYPE__ unsigned int
#define __SIZEOF_FLOAT__ 4
#define __USQ_FBIT__ 32
#define __UINTPTR_MAX__ 0xffffffffU
#define __INT_FAST64_WIDTH__ 64
#define __DEC64_MIN_EXP__ (-382)
#define __ULLACCUM_IBIT__ 32
#define __FLT32_DECIMAL_DIG__ 9
#define __INT_FAST64_MAX__ 0x7fffffffffffffffLL
#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
#define __FLT_DIG__ 6
#define __FLT32_HAS_INFINITY__ 1
#define __UINT_FAST64_TYPE__ long long unsigned int
#define __INT_MAX__ 0x7fffffff
#define __LACCUM_FBIT__ 31
#define __USACCUM_MIN__ 0.0UHK
#define __UHA_IBIT__ 8
#define __INT64_TYPE__ long long int
#define __FLT_MAX_EXP__ 128
#define __UTQ_IBIT__ 0
#define __DBL_MANT_DIG__ 53
#define __INT_LEAST64_MAX__ 0x7fffffffffffffffLL
#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 1
#define __DEC64_MIN__ 1E-383DD
#define __WINT_TYPE__ unsigned int
#define __UINT_LEAST32_TYPE__ unsigned int
#define __SIZEOF_SHORT__ 2
#define __ULLFRACT_IBIT__ 0
#define __LDBL_MIN_EXP__ (-1021)
#define __arm__ 1
#define __FLT64_MAX__ 1.7976931348623157e+308F64
#define __UDA_IBIT__ 32
#define __WINT_WIDTH__ 32
#define __INT_LEAST8_MAX__ 0x7f
#define __FLT32X_MAX_10_EXP__ 308
#define __LFRACT_FBIT__ 31
#define __LDBL_MAX_10_EXP__ 308
#define __ATOMIC_RELAXED 0
#define __DBL_EPSILON__ ((double)2.2204460492503131e-16L)
#define __UINT8_C(c) c
#define __FLT64_MAX_EXP__ 1024
#define __INT_LEAST32_TYPE__ int
#define __SIZEOF_WCHAR_T__ 4
#define __UINT64_TYPE__ long long unsigned int
#define __LLFRACT_MAX__ 0X7FFFFFFFFFFFFFFFP-63LLR
#define __TQ_FBIT__ 127
#define __INT_FAST8_TYPE__ int
#define __ULLACCUM_EPSILON__ 0x1P-32ULLK
#define __UHQ_IBIT__ 0
#define __LLACCUM_IBIT__ 32
#define __FLT64_HAS_DENORM__ 1
#define __FLT32_EPSILON__ 1.1920928955078125e-7F32
#define __DBL_DECIMAL_DIG__ 17
#define __STDC_UTF_32__ 1
#define __INT_FAST8_WIDTH__ 32
#define __DEC_EVAL_METHOD__ 2
#define __FLT32X_MAX__ 1.7976931348623157e+308F32x
#define __TA_FBIT__ 63
#define __UDQ_IBIT__ 0
#define __ORDER_BIG_ENDIAN__ 4321
#define __ACCUM_EPSILON__ 0x1P-15K
#define __UINT32_C(c) c ## U
#define __INTMAX_MAX__ 0x7fffffffffffffffLL
#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
#define __FLT_DENORM_MIN__ 1.4012984643248171e-45F
#define __LLFRACT_IBIT__ 0
#define __INT8_MAX__ 0x7f
#define __LONG_WIDTH__ 32
#define __UINT_FAST32_TYPE__ unsigned int
#define __CHAR32_TYPE__ unsigned int
#define __FLT_MAX__ 3.4028234663852886e+38F
#define __USACCUM_FBIT__ 8
#define __INT32_TYPE__ int
#define __SIZEOF_DOUBLE__ 8
#define __FLT_MIN_10_EXP__ (-37)
#define __UFRACT_EPSILON__ 0x1P-16UR
#define __FLT64_MIN__ 2.2250738585072014e-308F64
#define __INT_LEAST32_WIDTH__ 32
#define __INTMAX_TYPE__ long long int
#define __DEC128_MAX_EXP__ 6145
#define __FLT32X_HAS_QUIET_NAN__ 1
#define __ATOMIC_CONSUME 1
#define __GNUC_MINOR__ 5
#define __INT_FAST16_WIDTH__ 32
#define __UINTMAX_MAX__ 0xffffffffffffffffULL
#define __DEC32_MANT_DIG__ 7
#define __FLT32X_DENORM_MIN__ 4.9406564584124654e-324F32x
#define __HA_FBIT__ 7
#define __DBL_MAX_10_EXP__ 308
#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
#define __INT16_C(c) c
#define __STDC__ 1
#define __ARM_ARCH_4T__ 1
#define __PTRDIFF_TYPE__ int
#define __LLFRACT_MIN__ (-0.5LLR-0.5LLR)
#define __ATOMIC_SEQ_CST 5
#define __DA_FBIT__ 31
#define __UINT32_TYPE__ unsigned int
#define __FLT32X_MIN_10_EXP__ (-307)
#define __UINTPTR_TYPE__ unsigned int
#define __USA_IBIT__ 16
#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD
#define __ARM_EABI__ 1
#define __DEC128_MANT_DIG__ 34
#define __LDBL_MIN_10_EXP__ (-307)
#define __SIZEOF_LONG_LONG__ 8
#define __ULACCUM_EPSILON__ 0x1P-32ULK
#define __SACCUM_IBIT__ 8
#define __GCC_ATOMIC_LLONG_LOCK_FREE 1
#define __FLT32X_MIN__ 2.2250738585072014e-308F32x
#define __LDBL_DIG__ 15
#define __FLT_DECIMAL_DIG__ 9
#define __UINT_FAST16_MAX__ 0xffffffffU
#define __GCC_ATOMIC_SHORT_LOCK_FREE 1
#define __INT_LEAST64_WIDTH__ 64
#define __ULLFRACT_MAX__ 0XFFFFFFFFFFFFFFFFP-64ULLR
#define __UINT_FAST8_TYPE__ unsigned int
#define __USFRACT_EPSILON__ 0x1P-8UHR
#define __ULACCUM_FBIT__ 32
#define __QQ_IBIT__ 0
#define __ATOMIC_ACQ_REL 4
#define __ATOMIC_RELEASE 3

-----------------------------------------
Checking for program 'ar'
/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-ar
find program=['ar'] paths=['/home/hongbo/Developer/Embedded/rtems/5/bin',
'/home/hongbo/Developer/Embedded/local/bin', '/opt/wine-devel/bin',
'/home/hongbo/Developer/Android/sdk/platform-tools',
'/home/hongbo/.yarn/bin',
'/home/hongbo/.local/node-v14.17.4-linux-x64//bin',
'/home/hongbo/.local/go/bin', '/home/hongbo/.local/bin',
'/home/hongbo/.cargo/bin', '/usr/lib/postgresql/14/bin', '/usr/local/bin',
'/usr/bin', '/bin', '/usr/local/games', '/usr/games',
'/home/hongbo/.local/go/bin'] var='AR' ->
['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-ar']
-----------------------------------------
Checking for program 'g++, c++'
/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-g++
find program=['g++', 'c++']
paths=['/home/hongbo/Developer/Embedded/rtems/5/bin',
'/home/hongbo/Developer/Embedded/local/bin', '/opt/wine-devel/bin',
'/home/hongbo/Developer/Android/sdk/platform-tools',
'/home/hongbo/.yarn/bin',
'/home/hongbo/.local/node-v14.17.4-linux-x64//bin',
'/home/hongbo/.local/go/bin', '/home/hongbo/.local/bin',
'/home/hongbo/.cargo/bin', '/usr/lib/postgresql/14/bin', '/usr/local/bin',
'/usr/bin', '/bin', '/usr/local/games', '/usr/games',
'/home/hongbo/.local/go/bin'] var='CXX' ->
['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-g++']
['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-g++', '-dM', '-E',
'-']
out: #define __DBL_MIN_EXP__ (-1021)
#define __HQ_FBIT__ 15
#define __FLT32X_MAX_EXP__ 1024
#define __UINT_LEAST16_MAX__ 0xffff
#define __ARM_SIZEOF_WCHAR_T 4
#define __ATOMIC_ACQUIRE 2
#define __SFRACT_IBIT__ 0
#define __FLT_MIN__ 1.1754943508222875e-38F
#define __GCC_IEC_559_COMPLEX 0
#define __UFRACT_MAX__ 0XFFFFP-16UR
#define __UINT_LEAST8_TYPE__ unsigned char
#define __DQ_FBIT__ 63
#define __INTMAX_C(c) c ## LL
#define __ULFRACT_FBIT__ 32
#define __SACCUM_EPSILON__ 0x1P-7HK
#define __CHAR_BIT__ 8
#define __USQ_IBIT__ 0
#define __UINT8_MAX__ 0xff
#define __ACCUM_FBIT__ 15
#define __WINT_MAX__ 0xffffffffU
#define __FLT32_MIN_EXP__ (-125)
#define __USFRACT_FBIT__ 8
#define __ORDER_LITTLE_ENDIAN__ 1234
#define __SIZE_MAX__ 0xffffffffU
#define __ARM_ARCH_ISA_ARM 1
#define __WCHAR_MAX__ 0xffffffffU
#define __LACCUM_IBIT__ 32
#define __DBL_DENORM_MIN__ ((double)4.9406564584124654e-324L)
#define __GCC_ATOMIC_CHAR_LOCK_FREE 1
#define __GCC_IEC_559 0
#define __FLT32X_DECIMAL_DIG__ 17
#define __FLT_EVAL_METHOD__ 0
#define __LLACCUM_MAX__ 0X7FFFFFFFFFFFFFFFP-31LLK
#define __FLT64_DECIMAL_DIG__ 17
#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 1
#define __FRACT_FBIT__ 15
#define __UINT_FAST64_MAX__ 0xffffffffffffffffULL
#define __SIG_ATOMIC_TYPE__ int
#define __UACCUM_FBIT__ 16
#define __DBL_MIN_10_EXP__ (-307)
#define __FINITE_MATH_ONLY__ 0
#define __ARMEL__ 1
#define __LFRACT_IBIT__ 0
#define __GNUC_PATCHLEVEL__ 0
#define __FLT32_HAS_DENORM__ 1
#define __LFRACT_MAX__ 0X7FFFFFFFP-31LR
#define __UINT_FAST8_MAX__ 0xffffffffU
#define __has_include(STR) __has_include__(STR)
#define __DEC64_MAX_EXP__ 385
#define __INT8_C(c) c
#define __INT_LEAST8_WIDTH__ 8
#define __UINT_LEAST64_MAX__ 0xffffffffffffffffULL
#define __SA_FBIT__ 15
#define __SHRT_MAX__ 0x7fff
#define __LDBL_MAX__ 1.7976931348623157e+308L
#define __FRACT_MAX__ 0X7FFFP-15R
#define __UFRACT_FBIT__ 16
#define __UFRACT_MIN__ 0.0UR
#define __UINT_LEAST8_MAX__ 0xff
#define __GCC_ATOMIC_BOOL_LOCK_FREE 1
#define __UINTMAX_TYPE__ long long unsigned int
#define __LLFRACT_EPSILON__ 0x1P-63LLR
#define __DEC32_EPSILON__ 1E-6DF
#define __FLT_EVAL_METHOD_TS_18661_3__ 0
#define __CHAR_UNSIGNED__ 1
#define __UINT32_MAX__ 0xffffffffU
#define __ULFRACT_MAX__ 0XFFFFFFFFP-32ULR
#define __TA_IBIT__ 64
#define __LDBL_MAX_EXP__ 1024
#define __WINT_MIN__ 0U
#define __INT_LEAST16_WIDTH__ 16
#define __ULLFRACT_MIN__ 0.0ULLR
#define __SCHAR_MAX__ 0x7f
#define __WCHAR_MIN__ 0U
#define __INT64_C(c) c ## LL
#define __DBL_DIG__ 15
#define __GCC_ATOMIC_POINTER_LOCK_FREE 1
#define __LLACCUM_MIN__ (-0X1P31LLK-0X1P31LLK)
#define __SIZEOF_INT__ 4
#define __SIZEOF_POINTER__ 4
#define __USACCUM_IBIT__ 8
#define __USER_LABEL_PREFIX__
#define __STDC_HOSTED__ 1
#define __LDBL_HAS_INFINITY__ 1
#define __LFRACT_MIN__ (-0.5LR-0.5LR)
#define __HA_IBIT__ 8
#define __FLT32_DIG__ 6
#define __TQ_IBIT__ 0
#define __FLT_EPSILON__ 1.1920928955078125e-7F
#define __APCS_32__ 1
#define __SHRT_WIDTH__ 16
#define __USFRACT_IBIT__ 0
#define __LDBL_MIN__ 2.2250738585072014e-308L
#define __STDC_UTF_16__ 1
#define __FRACT_MIN__ (-0.5R-0.5R)
#define __DEC32_MAX__ 9.999999E96DF
#define __DA_IBIT__ 32
#define __ARM_SIZEOF_MINIMAL_ENUM 4
#define __FLT32X_HAS_INFINITY__ 1
#define __INT32_MAX__ 0x7fffffff
#define __UQQ_FBIT__ 8
#define __INT_WIDTH__ 32
#define __SIZEOF_LONG__ 4
#define __UACCUM_MAX__ 0XFFFFFFFFP-16UK
#define __UINT16_C(c) c
#define __PTRDIFF_WIDTH__ 32
#define __DECIMAL_DIG__ 17
#define __LFRACT_EPSILON__ 0x1P-31LR
#define __FLT64_EPSILON__ 2.2204460492503131e-16F64
#define __ULFRACT_MIN__ 0.0ULR
#define __INTMAX_WIDTH__ 64
#define __has_include_next(STR) __has_include_next__(STR)
#define __LDBL_HAS_QUIET_NAN__ 1
#define __ULACCUM_IBIT__ 32
#define __FLT64_MANT_DIG__ 53
#define __UACCUM_EPSILON__ 0x1P-16UK
#define __GNUC__ 7
#define __ULLACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULLK
#define __HQ_IBIT__ 0
#define __FLT_HAS_DENORM__ 1
#define __SIZEOF_LONG_DOUBLE__ 8
#define __BIGGEST_ALIGNMENT__ 8
#define __FLT64_MAX_10_EXP__ 308
#define __GNUC_STDC_INLINE__ 1
#define __DQ_IBIT__ 0
#define __DBL_MAX__ ((double)1.7976931348623157e+308L)
#define __ULFRACT_IBIT__ 0
#define __INT_FAST32_MAX__ 0x7fffffff
#define __DBL_HAS_INFINITY__ 1
#define __ACCUM_IBIT__ 16
#define __DEC32_MIN_EXP__ (-94)
#define __THUMB_INTERWORK__ 1
#define __INTPTR_WIDTH__ 32
#define __LACCUM_MAX__ 0X7FFFFFFFFFFFFFFFP-31LK
#define __FLT32X_HAS_DENORM__ 1
#define __INT_FAST16_TYPE__ int
#define __LDBL_HAS_DENORM__ 1
#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
#define __INT_LEAST32_MAX__ 0x7fffffff
#define __ARM_PCS 1
#define __DEC32_MIN__ 1E-95DF
#define __ACCUM_MAX__ 0X7FFFFFFFP-15K
#define __DBL_MAX_EXP__ 1024
#define __USACCUM_EPSILON__ 0x1P-8UHK
#define __WCHAR_WIDTH__ 32
#define __FLT32_MAX__ 3.4028234663852886e+38F32
#define __DEC128_EPSILON__ 1E-33DL
#define __SFRACT_MAX__ 0X7FP-7HR
#define __FRACT_IBIT__ 0
#define __PTRDIFF_MAX__ 0x7fffffff
#define __UACCUM_MIN__ 0.0UK
#define __UACCUM_IBIT__ 16
#define __FLT32_HAS_QUIET_NAN__ 1
#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL
#define __SIZEOF_SIZE_T__ 4
#define __ULACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULK
#define __SIZEOF_WINT_T__ 4
#define __LONG_LONG_WIDTH__ 64
#define __FLT32_MAX_EXP__ 128
#define __SA_IBIT__ 16
#define __ULLACCUM_MIN__ 0.0ULLK
#define __GXX_ABI_VERSION 1011
#define __UTA_FBIT__ 64
#define __SOFTFP__ 1
#define __FLT_MIN_EXP__ (-125)
#define __USFRACT_MAX__ 0XFFP-8UHR
#define __UFRACT_IBIT__ 0
#define __INT_FAST64_TYPE__ long long int
#define __FLT64_DENORM_MIN__ 4.9406564584124654e-324F64
#define __DBL_MIN__ ((double)2.2250738585072014e-308L)
#define __USE_INIT_FINI__ 1
#define __FLT32X_EPSILON__ 2.2204460492503131e-16F32x
#define __FLT64_MIN_EXP__ (-1021)
#define __LACCUM_MIN__ (-0X1P31LK-0X1P31LK)
#define __ULLACCUM_FBIT__ 32
#define __GXX_TYPEINFO_EQUALITY_INLINE 0
#define __FLT64_MIN_10_EXP__ (-307)
#define __ULLFRACT_EPSILON__ 0x1P-64ULLR
#define __USES_INITFINI__ 1
#define __DEC128_MIN__ 1E-6143DL
#define __REGISTER_PREFIX__
#define __UINT16_MAX__ 0xffff
#define __DBL_HAS_DENORM__ 1
#define __ACCUM_MIN__ (-0X1P15K-0X1P15K)
#define __SQ_IBIT__ 0
#define __FLT32_MIN__ 1.1754943508222875e-38F32
#define __UINT8_TYPE__ unsigned char
#define __UHA_FBIT__ 8
#define __NO_INLINE__ 1
#define __SFRACT_MIN__ (-0.5HR-0.5HR)
#define __UTQ_FBIT__ 128
#define __FLT_MANT_DIG__ 24
#define __LDBL_DECIMAL_DIG__ 17
#define __VERSION__ "7.5.0 20191114 (RTEMS 5, RSB 5.1, Newlib 7947581)"
#define __UINT64_C(c) c ## ULL
#define __ULLFRACT_FBIT__ 64
#define __FRACT_EPSILON__ 0x1P-15R
#define __ULACCUM_MIN__ 0.0ULK
#define __UDA_FBIT__ 32
#define __LLACCUM_EPSILON__ 0x1P-31LLK
#define __GCC_ATOMIC_INT_LOCK_FREE 1
#define __FLT32_MANT_DIG__ 24
#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
#define __USFRACT_MIN__ 0.0UHR
#define __UQQ_IBIT__ 0
#define __SCHAR_WIDTH__ 8
#define __INT32_C(c) c
#define __DEC64_EPSILON__ 1E-15DD
#define __ORDER_PDP_ENDIAN__ 3412
#define __DEC128_MIN_EXP__ (-6142)
#define __UHQ_FBIT__ 16
#define __LLACCUM_FBIT__ 31
#define __FLT32_MAX_10_EXP__ 38
#define __INT_FAST32_TYPE__ int
#define __UINT_LEAST16_TYPE__ short unsigned int
#define __INT16_MAX__ 0x7fff
#define __SIZE_TYPE__ unsigned int
#define __UINT64_MAX__ 0xffffffffffffffffULL
#define __UDQ_FBIT__ 64
#define __INT8_TYPE__ signed char
#define __ELF__ 1
#define __ULFRACT_EPSILON__ 0x1P-32ULR
#define __LLFRACT_FBIT__ 63
#define __rtems__ 1
#define __FLT_RADIX__ 2
#define __INT_LEAST16_TYPE__ short int
#define __LDBL_EPSILON__ 2.2204460492503131e-16L
#define __UINTMAX_C(c) c ## ULL
#define __SACCUM_MAX__ 0X7FFFP-7HK
#define __SIG_ATOMIC_MAX__ 0x7fffffff
#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 1
#define __VFP_FP__ 1
#define __SIZEOF_PTRDIFF_T__ 4
#define __FLT32X_MANT_DIG__ 53
#define __LACCUM_EPSILON__ 0x1P-31LK
#define __FLT32X_MIN_EXP__ (-1021)
#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF
#define __INT_FAST16_MAX__ 0x7fffffff
#define __FLT64_DIG__ 15
#define __UINT_FAST32_MAX__ 0xffffffffU
#define __UINT_LEAST64_TYPE__ long long unsigned int
#define __USACCUM_MAX__ 0XFFFFP-8UHK
#define __SFRACT_EPSILON__ 0x1P-7HR
#define __FLT_HAS_QUIET_NAN__ 1
#define __FLT_MAX_10_EXP__ 38
#define __LONG_MAX__ 0x7fffffffL
#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL
#define __FLT_HAS_INFINITY__ 1
#define __USA_FBIT__ 16
#define __UINT_FAST16_TYPE__ unsigned int
#define __DEC64_MAX__ 9.999999999999999E384DD
#define __ARM_32BIT_STATE 1
#define __INT_FAST32_WIDTH__ 32
#define __CHAR16_TYPE__ short unsigned int
#define __PRAGMA_REDEFINE_EXTNAME 1
#define __SIZE_WIDTH__ 32
#define __INT_LEAST16_MAX__ 0x7fff
#define __DEC64_MANT_DIG__ 16
#define __INT64_MAX__ 0x7fffffffffffffffLL
#define __UINT_LEAST32_MAX__ 0xffffffffU
#define __SACCUM_FBIT__ 7
#define __FLT32_DENORM_MIN__ 1.4012984643248171e-45F32
#define __GCC_ATOMIC_LONG_LOCK_FREE 1
#define __SIG_ATOMIC_WIDTH__ 32
#define __INT_LEAST64_TYPE__ long long int
#define __INT16_TYPE__ short int
#define __INT_LEAST8_TYPE__ signed char
#define __STDC_VERSION__ 201112L
#define __SQ_FBIT__ 31
#define __DEC32_MAX_EXP__ 97
#define __ARM_ARCH_ISA_THUMB 1
#define __INT_FAST8_MAX__ 0x7fffffff
#define __ARM_ARCH 4
#define __INTPTR_MAX__ 0x7fffffff
#define __QQ_FBIT__ 7
#define __UTA_IBIT__ 64
#define __FLT64_HAS_QUIET_NAN__ 1
#define __FLT32_MIN_10_EXP__ (-37)
#define __FLT32X_DIG__ 15
#define __LDBL_MANT_DIG__ 53
#define __SFRACT_FBIT__ 7
#define __SACCUM_MIN__ (-0X1P7HK-0X1P7HK)
#define __DBL_HAS_QUIET_NAN__ 1
#define __FLT64_HAS_INFINITY__ 1
#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)
#define __INTPTR_TYPE__ int
#define __UINT16_TYPE__ short unsigned int
#define __WCHAR_TYPE__ unsigned int
#define __SIZEOF_FLOAT__ 4
#define __USQ_FBIT__ 32
#define __UINTPTR_MAX__ 0xffffffffU
#define __INT_FAST64_WIDTH__ 64
#define __DEC64_MIN_EXP__ (-382)
#define __ULLACCUM_IBIT__ 32
#define __FLT32_DECIMAL_DIG__ 9
#define __INT_FAST64_MAX__ 0x7fffffffffffffffLL
#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
#define __FLT_DIG__ 6
#define __FLT32_HAS_INFINITY__ 1
#define __UINT_FAST64_TYPE__ long long unsigned int
#define __INT_MAX__ 0x7fffffff
#define __LACCUM_FBIT__ 31
#define __USACCUM_MIN__ 0.0UHK
#define __UHA_IBIT__ 8
#define __INT64_TYPE__ long long int
#define __FLT_MAX_EXP__ 128
#define __UTQ_IBIT__ 0
#define __DBL_MANT_DIG__ 53
#define __INT_LEAST64_MAX__ 0x7fffffffffffffffLL
#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 1
#define __DEC64_MIN__ 1E-383DD
#define __WINT_TYPE__ unsigned int
#define __UINT_LEAST32_TYPE__ unsigned int
#define __SIZEOF_SHORT__ 2
#define __ULLFRACT_IBIT__ 0
#define __LDBL_MIN_EXP__ (-1021)
#define __arm__ 1
#define __FLT64_MAX__ 1.7976931348623157e+308F64
#define __UDA_IBIT__ 32
#define __WINT_WIDTH__ 32
#define __INT_LEAST8_MAX__ 0x7f
#define __FLT32X_MAX_10_EXP__ 308
#define __LFRACT_FBIT__ 31
#define __LDBL_MAX_10_EXP__ 308
#define __ATOMIC_RELAXED 0
#define __DBL_EPSILON__ ((double)2.2204460492503131e-16L)
#define __UINT8_C(c) c
#define __FLT64_MAX_EXP__ 1024
#define __INT_LEAST32_TYPE__ int
#define __SIZEOF_WCHAR_T__ 4
#define __UINT64_TYPE__ long long unsigned int
#define __LLFRACT_MAX__ 0X7FFFFFFFFFFFFFFFP-63LLR
#define __TQ_FBIT__ 127
#define __INT_FAST8_TYPE__ int
#define __ULLACCUM_EPSILON__ 0x1P-32ULLK
#define __UHQ_IBIT__ 0
#define __LLACCUM_IBIT__ 32
#define __FLT64_HAS_DENORM__ 1
#define __FLT32_EPSILON__ 1.1920928955078125e-7F32
#define __DBL_DECIMAL_DIG__ 17
#define __STDC_UTF_32__ 1
#define __INT_FAST8_WIDTH__ 32
#define __DEC_EVAL_METHOD__ 2
#define __FLT32X_MAX__ 1.7976931348623157e+308F32x
#define __TA_FBIT__ 63
#define __UDQ_IBIT__ 0
#define __ORDER_BIG_ENDIAN__ 4321
#define __ACCUM_EPSILON__ 0x1P-15K
#define __UINT32_C(c) c ## U
#define __INTMAX_MAX__ 0x7fffffffffffffffLL
#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
#define __FLT_DENORM_MIN__ 1.4012984643248171e-45F
#define __LLFRACT_IBIT__ 0
#define __INT8_MAX__ 0x7f
#define __LONG_WIDTH__ 32
#define __UINT_FAST32_TYPE__ unsigned int
#define __CHAR32_TYPE__ unsigned int
#define __FLT_MAX__ 3.4028234663852886e+38F
#define __USACCUM_FBIT__ 8
#define __INT32_TYPE__ int
#define __SIZEOF_DOUBLE__ 8
#define __FLT_MIN_10_EXP__ (-37)
#define __UFRACT_EPSILON__ 0x1P-16UR
#define __FLT64_MIN__ 2.2250738585072014e-308F64
#define __INT_LEAST32_WIDTH__ 32
#define __INTMAX_TYPE__ long long int
#define __DEC128_MAX_EXP__ 6145
#define __FLT32X_HAS_QUIET_NAN__ 1
#define __ATOMIC_CONSUME 1
#define __GNUC_MINOR__ 5
#define __INT_FAST16_WIDTH__ 32
#define __UINTMAX_MAX__ 0xffffffffffffffffULL
#define __DEC32_MANT_DIG__ 7
#define __FLT32X_DENORM_MIN__ 4.9406564584124654e-324F32x
#define __HA_FBIT__ 7
#define __DBL_MAX_10_EXP__ 308
#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
#define __INT16_C(c) c
#define __STDC__ 1
#define __ARM_ARCH_4T__ 1
#define __PTRDIFF_TYPE__ int
#define __LLFRACT_MIN__ (-0.5LLR-0.5LLR)
#define __ATOMIC_SEQ_CST 5
#define __DA_FBIT__ 31
#define __UINT32_TYPE__ unsigned int
#define __FLT32X_MIN_10_EXP__ (-307)
#define __UINTPTR_TYPE__ unsigned int
#define __USA_IBIT__ 16
#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD
#define __ARM_EABI__ 1
#define __DEC128_MANT_DIG__ 34
#define __LDBL_MIN_10_EXP__ (-307)
#define __SIZEOF_LONG_LONG__ 8
#define __ULACCUM_EPSILON__ 0x1P-32ULK
#define __SACCUM_IBIT__ 8
#define __GCC_ATOMIC_LLONG_LOCK_FREE 1
#define __FLT32X_MIN__ 2.2250738585072014e-308F32x
#define __LDBL_DIG__ 15
#define __FLT_DECIMAL_DIG__ 9
#define __UINT_FAST16_MAX__ 0xffffffffU
#define __GCC_ATOMIC_SHORT_LOCK_FREE 1
#define __INT_LEAST64_WIDTH__ 64
#define __ULLFRACT_MAX__ 0XFFFFFFFFFFFFFFFFP-64ULLR
#define __UINT_FAST8_TYPE__ unsigned int
#define __USFRACT_EPSILON__ 0x1P-8UHR
#define __ULACCUM_FBIT__ 32
#define __QQ_IBIT__ 0
#define __ATOMIC_ACQ_REL 4
#define __ATOMIC_RELEASE 3

-----------------------------------------
Checking for program 'ar'
/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-ar
find program=['ar'] paths=['/home/hongbo/Developer/Embedded/rtems/5/bin',
'/home/hongbo/Developer/Embedded/local/bin', '/opt/wine-devel/bin',
'/home/hongbo/Developer/Android/sdk/platform-tools',
'/home/hongbo/.yarn/bin',
'/home/hongbo/.local/node-v14.17.4-linux-x64//bin',
'/home/hongbo/.local/go/bin', '/home/hongbo/.local/bin',
'/home/hongbo/.cargo/bin', '/usr/lib/postgresql/14/bin', '/usr/local/bin',
'/usr/bin', '/bin', '/usr/local/games', '/usr/games',
'/home/hongbo/.local/go/bin'] var='AR' ->
['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-ar']
-----------------------------------------
Checking for program 'gas, gcc'
/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-gcc
find program=['gas', 'gcc']
paths=['/home/hongbo/Developer/Embedded/rtems/5/bin',
'/home/hongbo/Developer/Embedded/local/bin', '/opt/wine-devel/bin',
'/home/hongbo/Developer/Android/sdk/platform-tools',
'/home/hongbo/.yarn/bin',
'/home/hongbo/.local/node-v14.17.4-linux-x64//bin',
'/home/hongbo/.local/go/bin', '/home/hongbo/.local/bin',
'/home/hongbo/.cargo/bin', '/usr/lib/postgresql/14/bin', '/usr/local/bin',
'/usr/bin', '/bin', '/usr/local/games', '/usr/games',
'/home/hongbo/.local/go/bin'] var='AS' ->
['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-gcc']
-----------------------------------------
Checking for program 'ar'
/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-ar
find program=['ar'] paths=['/home/hongbo/Developer/Embedded/rtems/5/bin',
'/home/hongbo/Developer/Embedded/local/bin', '/opt/wine-devel/bin',
'/home/hongbo/Developer/Android/sdk/platform-tools',
'/home/hongbo/.yarn/bin',
'/home/hongbo/.local/node-v14.17.4-linux-x64//bin',
'/home/hongbo/.local/go/bin', '/home/hongbo/.local/bin',
'/home/hongbo/.cargo/bin', '/usr/lib/postgresql/14/bin', '/usr/local/bin',
'/usr/bin', '/bin', '/usr/local/games', '/usr/games',
'/home/hongbo/.local/go/bin'] var='AR' ->
['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-ar']
-----------------------------------------
Checking for c flags '-MMD'
==>
int main() { return 0; }
<==
[1/1] Compiling
[32mbuild/.conf_check_509462851c9724c0a8dfb70e8a94563b/test.c [0m

['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-gcc', '-MMD',
'../test.c', '-c',
'-o/home/hongbo/Developer/Embedded/rtems/app/hello/build/.conf_check_509462851c9724c0a8dfb70e8a94563b/testbuild/test.c.1.o']
yes
-----------------------------------------
Checking for cxx flags '-MMD'
==>
int main() { return 0; }
<==
[1/1] Compiling
[32mbuild/.conf_check_a483f89cb2b8760c1662d80180dd6fd4/test.cpp [0m

['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-g++', '-MMD',
'../test.cpp', '-c',
'-o/home/hongbo/Developer/Embedded/rtems/app/hello/build/.conf_check_a483f89cb2b8760c1662d80180dd6fd4/testbuild/test.cpp.1.o']
yes
['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-gcc', '--version']
out: arm-rtems5-gcc (GCC) 7.5.0 20191114 (RTEMS 5, RSB 5.1, Newlib 7947581)
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


-----------------------------------------
Compiler version (arm-rtems5-gcc)
7.5.0 20191114 (RTEMS 5, RSB 5.1, Newlib 7947581)
Opening and load pkgconfig:
/home/hongbo/Developer/Embedded/rtems/5/lib/pkgconfig/arm-rtems5-tms570lc4357_launchxl.pc
-----------------------------------------
CFLAGS ->
   -qrtems -B/home/hongbo/Developer/Embedded/rtems/5/arm-rtems5/lib/
-B/home/hongbo/Developer/Embedded/rtems/5/arm-rtems5/tms570lc4357_launchxl/lib/
--specs bsp_specs -march=armv7-r -mthumb -mbig-endian -mfpu=vfpv3-d16
-mfloat-abi=hard -Og -ggdb -ffunction-sections -fdata-sections -Wall
-Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes
-Wnested-externs
LDFLAGS ->
pkconfig warning: Label not found: LDFLAGS

LIB ->
pkconfig warning: Label not found: LIB

-------------------------------------------
Checking for a valid RTEMS BSP installation
==>
#include <rtems.h>
void Init(rtems_task_argument arg) { (void)arg; }
#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
#define CONFIGURE_MAXIMUM_TASKS 1
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
#define CONFIGURE_INIT
#include <rtems/confdefs.h>
<==
[1/2] Compiling
[32mbuild/.conf_check_261484d99ea5da27480d47dee9a30c04/test.c [0m

['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-gcc', '-qrtems',
'-B/home/hongbo/Developer/Embedded/rtems/5/arm-rtems5/lib/',
'-B/home/hongbo/Developer/Embedded/rtems/5/arm-rtems5/tms570lc4357_launchxl/lib/',
'--specs', 'bsp_specs', '-march=armv7-r', '-mthumb', '-mbig-endian',
'-mfpu=vfpv3-d16', '-mfloat-abi=hard', '-ffunction-sections',
'-fdata-sections', '-MMD', '../test.c', '-c',
'-o/home/hongbo/Developer/Embedded/rtems/app/hello/build/.conf_check_261484d99ea5da27480d47dee9a30c04/testbuild/test.c.1.o']
[2/2] Linking
[33mbuild/.conf_check_261484d99ea5da27480d47dee9a30c04/testbuild/testprog
[0m

['/home/hongbo/Developer/Embedded/rtems/5/bin/arm-rtems5-gcc', '-qrtems',
'-B/home/hongbo/Developer/Embedded/rtems/5/arm-rtems5/lib/',
'-B/home/hongbo/Developer/Embedded/rtems/5/arm-rtems5/tms570lc4357_launchxl/lib/',
'--specs', 'bsp_specs', '-march=armv7-r', '-mthumb', '-mbig-endian',
'-mfpu=vfpv3-d16', '-mfloat-abi=hard', '-ffunction-sections',
'-fdata-sections', '-MMD', 'test.c.1.o',
'-o/home/hongbo/Developer/Embedded/rtems/app/hello/build/.conf_check_261484d99ea5da27480d47dee9a30c04/testbuild/testprog',
'-Wl,-Bstatic', '-Wl,-Bdynamic']
err:
/home/hongbo/Developer/Embedded/rtems/5/lib/gcc/arm-rtems5/7.5.0/../../../../arm-rtems5/bin/ld:
/home/hongbo/Developer/Embedded/rtems/5/arm-rtems5/tms570lc4357_launchxl/lib/librtemsbsp.a(HL_sci.o):
in function `sciSetBaudrate':
/home/hongbo/Developer/Embedded/rtems/build/tms570lc4357/arm-rtems5/c/tms570lc4357_launchxl/lib/libbsp/arm/tms570/../../../../../../../../../rtems-master/c/src/lib/libbsp/arm/tms570/../../../../../../bsps/arm/tms570/start/tms570lc4357/source/HL_sci.c:284:
undefined reference to `floor'
collect2: error: ld returned 1 exit status

from /home/hongbo/Developer/Embedded/rtems/app/hello: Test does not build:
Traceback (most recent call last):
  File
"/home/hongbo/Developer/Embedded/rtems/app/hello/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Configure.py",
line 333, in run_build
    bld.compile()
  File
"/home/hongbo/Developer/Embedded/rtems/app/hello/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Build.py",
line 176, in compile
    raise Errors.BuildError(self.producer.error)
waflib.Errors.BuildError: Build failed
 -> task in 'testprog' failed with exit status 1 (run with -v to display
more information)

no
from /home/hongbo/Developer/Embedded/rtems/app/hello: The configuration
failed
On Fri, Jul 22, 2022 at 10:09 PM DAVE ERICKSON <daveerickson at shaw.ca> wrote:

> Hi Y.HB
>
> LDFLAGS sets both the library kind to include in the archive build but it
> also uses the -L flags to know where to look for it. The -lm can mean the
> libm.a. libm.so libm.la so it searches the LD_LIBRARY_PATH environment
> variable to find one that fits. If you want expressly to include the libm.a
> you should specify it instead of -lm. The first thing I recommend is find
> the symbols inside the Makefile configured for the .  Look for the LDFLAGS
> and then your LD_LIBRARY_PATH to see if it matches where that
> arm-rtems5/lib/libm.a is.
>
> You can even use the flag argument:  arm-rtems5/lib/libm.a or
> ./arm-rtems5/lib/libm.a to express the precise library and location to use.
>
> This is one important distinction that many people confuse about how
> automake and autoconf work: There is no "internal logic" in the autotools
> way of creating recipes for Makefiles. m4 is used for pattern processing.
> You must express what you want it to make, it won't go looking anywhere
> else than what is specified.
>
> It's not cmake, scons, or raw make. GNU Autotools creates recipe files,
> like config.status, that just hold environmental variables.
>
> DaemonDave on github.
>
> ------------------------------
> *From: *"Y. HB" <sprhawk at gmail.com>
> *To: *"rtems-users at rtems.org" <users at rtems.org>
> *Sent: *Friday, July 22, 2022 12:11:38 AM
> *Subject: *Re: How can I add LDFLAGS for bsp build?
>
> I added -lm in LDFLAGS in my custom bsps/arm/tms570/config/xxx.cfg
>
> the flag is added to compiling arguments, but it still reported undefined
> reference to 'floor', but I see there is floor symbols in the
> arm-rtems5/lib/libm.a
>
> Why is it?
>
> Thanks
>
> On Fri, Jul 22, 2022 at 1:43 PM Y. HB <sprhawk at gmail.com> wrote:
>
>> Hello
>>
>> I'm working on a custom tms570 bsp upon RTEMS 5.1, but it depends on math
>> lib (-lm), how can I add this flag to the bsp build?
>>
>> Shall I add LDFLAGS="-lm" during configure or shall I change some
>> variables in c/src/lib/libbsp/arm/xxxx/Makefile.am?
>>
>> Thanks
>>
>
> _______________________________________________
> users mailing list
> users at rtems.org
> http://lists.rtems.org/mailman/listinfo/users
>
>
>
On Fri, Jul 22, 2022 at 10:43 PM Joel Sherrill <joel at rtems.org> wrote:

> This is an application matter and it all depends on what build system you
> are using.
>
> If your build system is make, then something like this will probably work.
>
> LDFLAGS += -lm
>
> You may also want to ensure that the CFLAGS has the desired optimization,
> debug, and warning levels selected:
>
> CFLAGS += -Og -g -Wall
> CXXFLAGS +=  -Og -g -Wall
>
> If using waf, cmake, etc, etc, you ultimately want to produce the same
> invocations of gcc but the mechanics are different.
>
> --joel
>
> On Fri, Jul 22, 2022 at 9:09 AM DAVE ERICKSON <daveerickson at shaw.ca>
> wrote:
>
>> Hi Y.HB
>>
>> LDFLAGS sets both the library kind to include in the archive build but it
>> also uses the -L flags to know where to look for it. The -lm can mean the
>> libm.a. libm.so libm.la so it searches the LD_LIBRARY_PATH environment
>> variable to find one that fits. If you want expressly to include the libm.a
>> you should specify it instead of -lm. The first thing I recommend is find
>> the symbols inside the Makefile configured for the .  Look for the LDFLAGS
>> and then your LD_LIBRARY_PATH to see if it matches where that
>> arm-rtems5/lib/libm.a is.
>>
>> You can even use the flag argument:  arm-rtems5/lib/libm.a or
>> ./arm-rtems5/lib/libm.a to express the precise library and location to use.
>>
>> This is one important distinction that many people confuse about how
>> automake and autoconf work: There is no "internal logic" in the autotools
>> way of creating recipes for Makefiles. m4 is used for pattern processing.
>> You must express what you want it to make, it won't go looking anywhere
>> else than what is specified.
>>
>> It's not cmake, scons, or raw make. GNU Autotools creates recipe files,
>> like config.status, that just hold environmental variables.
>>
>> DaemonDave on github.
>>
>> ------------------------------
>> *From: *"Y. HB" <sprhawk at gmail.com>
>> *To: *"rtems-users at rtems.org" <users at rtems.org>
>> *Sent: *Friday, July 22, 2022 12:11:38 AM
>> *Subject: *Re: How can I add LDFLAGS for bsp build?
>>
>> I added -lm in LDFLAGS in my custom bsps/arm/tms570/config/xxx.cfg
>>
>> the flag is added to compiling arguments, but it still reported undefined
>> reference to 'floor', but I see there is floor symbols in the
>> arm-rtems5/lib/libm.a
>>
>> Why is it?
>>
>> Thanks
>>
>> On Fri, Jul 22, 2022 at 1:43 PM Y. HB <sprhawk at gmail.com> wrote:
>>
>>> Hello
>>>
>>> I'm working on a custom tms570 bsp upon RTEMS 5.1, but it depends on
>>> math lib (-lm), how can I add this flag to the bsp build?
>>>
>>> Shall I add LDFLAGS="-lm" during configure or shall I change some
>>> variables in c/src/lib/libbsp/arm/xxxx/Makefile.am?
>>>
>>> Thanks
>>>
>>
>> _______________________________________________
>> users mailing list
>> users at rtems.org
>> http://lists.rtems.org/mailman/listinfo/users
>>
>> _______________________________________________
>> users mailing list
>> users at rtems.org
>> http://lists.rtems.org/mailman/listinfo/users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20220725/532cb2d3/attachment-0001.htm>


More information about the users mailing list