Grouping global or static variables together into a
struct allows the compiler to refer to them through a single
base pointer.
Instead of having multiple variables kept at multiple locations within the binary, this turns them into a single “large” variable accessed through one known offset.
http://www.arm.com/support/faqdev/1490.html (external link)
http://www.arm.com/pdfs/DAI0036B_c_globaldata.pdf (external link)