I've been trying to rebuild TIDL-RT inside the ti-processor-sdk-rtos-j721e-evm-08_05_00_11 SDK, and I have found what looks to be a major error in a header in a PDK driver which causes compilation to fail.
/opt/ti-processor-sdk-rtos-j721e-evm-08_05_00_11/pdk_jacinto_08_05_00_36/packages/ti/drv/sciclient/soc/sysfw/include/tisci/tisci_protocol.h:98:16: error: flexible array member ‘tisci_header::payload’ not at end of ‘struct tisci_msg_rm_proxy_cfg_req’
98 | uint8_t payload[];
| ^~~~~~~
In file included from /opt/ti-processor-sdk-rtos-j721e-evm-08_05_00_11/pdk_jacinto_08_05_00_36/packages/ti/drv/sciclient/sciclient.h:375,
from /opt/ti-processor-sdk-rtos-j721e-evm-08_05_00_11/pdk_jacinto_08_05_00_36/packages/ti/drv/udma/udma.h:101,
from /opt/ti-processor-sdk-rtos-j721e-evm-08_05_00_11/tidl_j721e_08_05_00_16/ti_dl/test/src/pc_linux/../tidl_tb_utils.c:91:
/opt/ti-processor-sdk-rtos-j721e-evm-08_05_00_11/pdk_jacinto_08_05_00_36/packages/ti/drv/sciclient/soc/sysfw/include/tisci/rm/tisci_rm_proxy.h:83:25: note: next member ‘uint32_t tisci_msg_rm_proxy_cfg_req::valid_params’ declared here
83 | uint32_t valid_params;
| ^~~~~~~~~~~~
/opt/ti-processor-sdk-rtos-j721e-evm-08_05_00_11/pdk_jacinto_08_05_00_36/packages/ti/drv/sciclient/soc/sysfw/include/tisci/rm/tisci_rm_proxy.h:81:8: note: in the definition of ‘struct tisci_msg_rm_proxy_cfg_req’
81 | struct tisci_msg_rm_proxy_cfg_req {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/ti-processor-sdk-rtos-j721e-evm-08_05_00_11/tidl_j721e_08_05_00_16/ti_dl/test/src/pc_linux/../tidl_tb_utils.c:91:
This is caused by a variable length struct tisci_header (final member is an array with undefined size) - which is by itself legal - being used as a non-final member in other containing structs - which is not. The compiler has no way to know the size or offset of any members in the containing structs that are after the tisci_header member.
This is a compilation error, so it implies the delivered binaries in the SDK were not built from the source provided in the SDK.