Posting this on behalf of a customer:
ARM Optimizing C / C ++ Compiler v20.2.0.LTS User's Guide "5.11.24 The pack Pragma" was referred to and defined as follows in R5F.
■Definition
・test.h
define XXX 16
#pragma pack (8)
typedef struct test_tg {
Uint16 aaa;
int16 bbb;
float32 ccc;
float32 ddd[XXX];
int16 eee;
int16 fff;
} TEST_PACK;
#pragma pack ()
・test.c
volatile TEST_PACK test __attribute__((section("TEST_SECTION")));
The build passes with this definition (no error, no warning), but when I check the map file, it seems that it is not aligned with 8 bytes.
I think there are settings that are required in addition to the definition?
■map file
70080088 test <-The size is 0x4C (76). The #pragma pack, assumed to be 0x50 (80)
700800d4 dmy0