How can I add LDFLAGS for bsp build?

Y. HB sprhawk at gmail.com
Mon Jul 25 14:19:47 UTC 2022


I think the problem here is , during waf configure process, it first checks
installed rtems bsp, but the CFLAGS provided doesn't have -lm flag. but I
try to manually edit
RTEMS_TOOLCHAIN/lib/pkgconfig/arm-rtems5-tms570lc4357_launchxl.pc, but the
configure still doesn't have the CFLAGS loaded from this pkgconfig ( during
waf configure, it haved loaded it )

On Mon, Jul 25, 2022 at 10:12 PM Y. HB <sprhawk at gmail.com> wrote:

> Hi Dave,
>
> I believe the build system will find the libm.a in rtems toolchain, which
> I used arm-rtems-5,
> There are a number of libm.a inside the toolchain, specific to soft / hard
> VFP features
>
> here is the configure command line to build the rtems bsp:
>
> ../../rtems-master/configure  --prefix=$RTEMS_ROOT/5 --target=arm-rtems5
> --enable-rtemsbsp=tms570lc4357_launchxl --enable-posix --disable-networking
> --enable-rtems-debug --enable-maintainer-mode --enable-rdbg
> --enable-rtems-inlines --disable-multiprocessing --enable-cxx
> --enable-itron --disable-ada --disable-expada --disable-multilib
> --disable-docs TMS570_USE_HWINIT_STARTUP=1 ARM_TMS570LC4357=1
>
> Remember that I have added LIBS = -lm inside my tms570lc4357.inc config
> file
>
> On Mon, Jul 25, 2022 at 10:05 PM DAVE ERICKSON <daveerickson at shaw.ca>
> wrote:
>
>> Hi Hongbo (Is that right?);
>>
>>
>> I have no experience with waf so I can't help there...over to joel...
>>
>> What I want to see is the output from the exact same shell (terminal,
>> BASH) that you are compiling with and may have environmental variables set,
>> is the computer's reply to you executing the
>>
>> which libm.*
>>
>> command. that will give you the list of libm.a, libm.so, libm.la files
>> that the bash shell / or c shell can find.
>>
>> It is important that it come from the identical shell because some of the
>> programs you are using may have set global scope environmental variables in
>> that shell that are trampling on other setup in makefiles variables.
>>
>> you can also use command:
>>
>> locate libm.*
>>
>> and then list all the contents here that would help rule out
>> environmental setup as the cause of the failed build.
>>
>> If you do either of these two things I can diagnose where the problem is.
>>
>> Also, after you have done that, try this command in that same shell:
>>
>>
>> sudo updatedb
>>
>>
>> that updates the /var/lib/plocate/plocate.db database used to locate
>> files. On most systems that is what is searching for files you want on
>> behalf of ggc, ar, ld, and so on.  Then try compiling again.
>>
>>
>> Dave
>>
>>>
>>>
>>> Cheers!
>>>
>>> Daemondave on github
>>>
>>> Check out my new book  Untrapped Value on LeanPub:
>>> https://leanpub.com/untrappedvalue
>>>
>>
>> ------------------------------
>> *From: *"Y. HB" <sprhawk at gmail.com>
>> *To: *"joel" <joel at rtems.org>
>> *Cc: *"DAVE ERICKSON" <daveerickson at shaw.ca>, "rtems-users at rtems.org" <
>> users at rtems.org>
>> *Sent: *Sunday, July 24, 2022 9:35:37 PM
>> *Subject: *Re: How can I add LDFLAGS for bsp build?
>>
>> 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/6ece0951/attachment-0001.htm>


More information about the users mailing list