[Build Fix]Am65xx
authorVivek Dhande <a0132295@ti.com>
Tue, 19 Oct 2021 17:49:55 +0000 (23:19 +0530)
committerVivek Dhande <a0132295@ti.com>
Tue, 19 Oct 2021 17:57:58 +0000 (23:27 +0530)
Signed-off-by: Vivek Dhande <a0132295@ti.com>
packages/ti/build/makerules/rules_ti_cgt_arm.mk
packages/ti/diag/sdr/test/sdtf-test/src/sdtf_ecc.c
packages/ti/diag/sdr/test/sdtf-test/src/sdtf_init.c
packages/ti/diag/sdr/test/sdtf-test/src/sdtf_profile.h
packages/ti/drv/pcie/example/sample/src/pcie_sample.c

index b55f58c029d0a5fa2b6b1da42ea7b61122c05cb1..4256c94aa32d7c64b12d6b7caa50291a2b70a196 100644 (file)
@@ -87,6 +87,10 @@ LNKFLAGS_INTERNAL_COMMON +=
 
 SUPRESS_WARNINGS_FLAG = -Wno-extra -Wno-exceptions -ferror-limit=100 -Wno-parentheses-equality -Wno-unused-command-line-argument -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -Wno-inconsistent-missing-override -Wno-address-of-packed-member -Wno-self-assign -Wno-ignored-attributes -Wno-bitfield-constant-conversion -Wno-unused-const-variable -Wno-unused-variable -Wno-format-security -Wno-excess-initializers -Wno-sometimes-uninitialized -Wno-empty-body -Wno-extern-initializer -Wno-absolute-value -Wno-missing-braces -Wno-ti-macros -Wno-pointer-sign -Wno-macro-redefined -Wno-main-return-type
 
+ifeq ($(CPLUSPLUS_BUILD), yes)
+  SUPRESS_WARNINGS_FLAG += -Wno-c99-designator -Wno-extern-c-compat
+endif
+
 # Internal CFLAGS - normally doesn't change
 ifeq ($(CGT_ISA),$(filter $(CGT_ISA), M4 R5 M3))
   CFLAGS_INTERNAL = -c -Wall -Werror $(SUPRESS_WARNINGS_FLAG) -$(RTSLIB_ENDIAN) -eo.$(OBJEXT) -ea.$(ASMEXT) -g -mfloat-abi=hard
@@ -214,7 +218,7 @@ endif
 # Decide the compile mode
 COMPILEMODE = -x c
 ifeq ($(CPLUSPLUS_BUILD), yes)
-  COMPILEMODE = -fg
+  COMPILEMODE = -x c++
 endif
 
 # Object file creation
@@ -265,6 +269,8 @@ LNKFLAGS_INTERNAL_COMMON += -Xlinker -q -Xlinker -u -Xlinker _c_int00 -Xlinker -
 LNKFLAGS_INTERNAL_COMMON += -Xlinker --diag_suppress=10063-D 
 # Supress warning for "no matching section"
 LNKFLAGS_INTERNAL_COMMON += -Xlinker --diag_suppress=10068-D
+# Supress warning for " LOAD placement ignored for "":  object is uninitialized"
+LNKFLAGS_INTERNAL_COMMON += -Xlinker --diag_suppress=10083-D
 
 ifeq ($(BOARD),$(filter $(BOARD), qtJ7))
   LNKFLAGS_INTERNAL_COMMON += -Xlinker -cr -Xlinker --ram_model
index 570f9734b28f86ee79b0317e9d5f5bd45d58f61b..09963d795bcbc35b9fc92953513eb560ab3718a0 100644 (file)
 void SDTF_readVIMRAM(uint32_t offset);
 int32_t SDTF_ECC_waitDEDTrigger(uint64_t timeCount);
 
-void SDTF_ECC_dummyFunction(void);
-
-
-#pragma CODE_SECTION (SDTF_ECC_dummyFunction, ".sdtf_ecc_testcodesection");
+__attribute__((section(".sdtf_ecc_testcodesection"))) void SDTF_ECC_dummyFunction(void);
 
 void SDTF_ECC_dummyFunction(void)
 {
index 3e3f6ac64a7eb26bde967d7535eede68ec58cb6b..dd36c93ff20ecf4fb6d70dc9f9d16cd16d82d103 100644 (file)
@@ -36,6 +36,7 @@
  */\r
 \r
 #include <stdint.h>\r
+#include <string.h>\r
 #include <sdr_common.h>\r
 #include <sdr_esm.h>\r
 #include <sdr_ccm.h>\r
@@ -623,12 +624,7 @@ void SDR_CCM_applicationCallbackFunction(SDR_CCM_MonitorType monitorType,
 /* Note the following DED vector handler need to be declared with the attribute of interrupt\r
  * so that the appropriate return is implemented correctly\r
  */\r
-#ifdef __cplusplus\r
-#pragma CODE_STATE (32)\r
-#else\r
-#pragma CODE_STATE (SDTF_VIMDEDInterruptHandler,32)\r
-#endif  /* #ifdef __cplusplus */\r
-__attribute__((interrupt))     void SDTF_VIMDEDInterruptHandler(void);\r
+__attribute__((interrupt)) __attribute__((target("arm"))) void SDTF_VIMDEDInterruptHandler(void);\r
 /*********************************************************************\r
 * @fn      SDTF_VIMDEDInterruptHandler\r
 *\r
index 4fd4d0af19e75ce86f587c9c00916443ad3a0f2e..2632a46adef01b522df86aa2710eb7edc940d134 100644 (file)
@@ -85,6 +85,6 @@ void SDTF_profileEnd(uint32_t profileNumber);
 uint32_t SDTF_profileDelta(uint32_t profileNumber);\r
 \r
 extern void SDTF_profileTimerInit(void);\r
-extern inline uint32_t SDTF_profileTimerRead(void);\r
+extern uint32_t SDTF_profileTimerRead(void);\r
 \r
 #endif /* _INCLUDE_SDTF_PROFILE_H_ */\r
index a1008f986478ac18bf106cb97b3227ff1a00210b..6a7c74b7a963fee7ea735099e6430a4d36d6ccd4 100644 (file)
@@ -152,9 +152,9 @@ typedef struct dstBuf_s {
 /* Cache coherence: Align must be a multiple of cache line size (L2=128 bytes, L1=64 bytes) to operate with cache enabled. */
 /* Aligning to 256 bytes because the PCIe inbound offset register masks the last 8bits of the buffer address  */
 #ifdef SOC_J721E
-__attribute((section(".far:dstBufSec"))) __attribute__((aligned(4096))) dstBuf_t dstBuf
+__attribute((section(".far:dstBufSec"))) __attribute__((aligned(4096))) dstBuf_t dstBuf;
 #else
-__attribute((section(".dstBufSec"))) __attribute__((aligned(256))) dstBuf_t dstBuf
+__attribute((section(".dstBufSec"))) __attribute__((aligned(256))) dstBuf_t dstBuf;
 #endif
 #endif
 #if defined(BUILD_MPU) || defined(__ARM_ARCH_7A__)
@@ -167,7 +167,7 @@ __attribute__((aligned(256), section(".bss:dstBufSec"))) /* GCC way of aligning
 #if defined(SOC_J721E) && defined(BUILD_MPU)
 __attribute__((aligned(0x01000))) /* GCC way of aligning */
 #endif
-; /* for dstBuf */
+dstBuf_t dstBuf; /* for dstBuf */
 
 #define PCIE_EXAMPLE_BUF_EMPTY 0
 #define PCIE_EXAMPLE_BUF_FULL  1