9.10.17 section ("section-name")

By default, the compiler places the objects it generates in sections such as .data and .bss. The section attribute allows you to override this behavior by specifying that a variable (or function) lives in a particular section.

struct a { int i[32]; };

struct a buf __attribute__((section("userdata"))) = {{0}};