diff --git a/progs/include/bpf_helpers.h b/progs/include/bpf_helpers.h
index abd19c6..97cb012 100644
--- a/progs/include/bpf_helpers.h
+++ b/progs/include/bpf_helpers.h
@@ -12,7 +12,7 @@
  *                                                                            *
  * THIS WILL LIKELY RESULT IN BRICKED DEVICES AT SOME ARBITRARY FUTURE TIME   *
  *                                                                            *
- * THAT GOES ESPECIALLY FOR THE 'SEC' 'LICENSE' AND 'CRITICAL' MACRO DEFINES  *
+ * THAT GOES ESPECIALLY FOR THE 'SECTION' 'LICENSE' AND 'CRITICAL' MACROS     *
  *                                                                            *
  * We strongly suggest that if you need changes to bpfloader functionality    *
  * you get your changes reviewed and accepted into aosp/master.               *
@@ -20,7 +20,7 @@
  ******************************************************************************/
 
 /* place things in different elf sections */
-#define SEC(NAME) __attribute__((section(NAME), used))
+#define SECTION(NAME) __attribute__((section(NAME), used))
 
 /* Must be present in every program, example usage:
  *   LICENSE("GPL"); or LICENSE("Apache 2.0");
@@ -41,18 +41,18 @@
  * If missing, bpfloader_{min/max}_ver default to 0/0x10000 ie. [v0.0, v1.0),
  * while size_of_bpf_{map/prog}_def default to 32/20 which are the v0.0 sizes.
  */
-#define LICENSE(NAME)                                                                       \
-    unsigned int _bpfloader_min_ver SEC("bpfloader_min_ver") = DEFAULT_BPFLOADER_MIN_VER;   \
-    unsigned int _bpfloader_max_ver SEC("bpfloader_max_ver") = DEFAULT_BPFLOADER_MAX_VER;   \
-    size_t _size_of_bpf_map_def SEC("size_of_bpf_map_def") = sizeof(struct bpf_map_def);    \
-    size_t _size_of_bpf_prog_def SEC("size_of_bpf_prog_def") = sizeof(struct bpf_prog_def); \
-    char _license[] SEC("license") = (NAME)
+#define LICENSE(NAME)                                                                           \
+    unsigned int _bpfloader_min_ver SECTION("bpfloader_min_ver") = DEFAULT_BPFLOADER_MIN_VER;   \
+    unsigned int _bpfloader_max_ver SECTION("bpfloader_max_ver") = DEFAULT_BPFLOADER_MAX_VER;   \
+    size_t _size_of_bpf_map_def SECTION("size_of_bpf_map_def") = sizeof(struct bpf_map_def);    \
+    size_t _size_of_bpf_prog_def SECTION("size_of_bpf_prog_def") = sizeof(struct bpf_prog_def); \
+    char _license[] SECTION("license") = (NAME)
 
 /* flag the resulting bpf .o file as critical to system functionality,
  * loading all kernel version appropriate programs in it must succeed
  * for bpfloader success
  */
-#define CRITICAL(REASON) char _critical[] SEC("critical") = (REASON)
+#define CRITICAL(REASON) char _critical[] SECTION("critical") = (REASON)
 
 /*
  * Helper functions called from eBPF programs written in C. These are
@@ -103,7 +103,7 @@
 
 /* type safe macro to declare a map and related accessor functions */
 #define DEFINE_BPF_MAP_UGM(the_map, TYPE, TypeOfKey, TypeOfValue, num_entries, usr, grp, md)     \
-    const struct bpf_map_def SEC("maps") the_map = {                                             \
+    const struct bpf_map_def SECTION("maps") the_map = {                                         \
             .type = BPF_MAP_TYPE_##TYPE,                                                         \
             .key_size = sizeof(TypeOfKey),                                                       \
             .value_size = sizeof(TypeOfValue),                                                   \
@@ -155,7 +155,7 @@
 
 #define DEFINE_BPF_PROG_KVER_RANGE_OPT(SECTION_NAME, prog_uid, prog_gid, the_prog, min_kv, max_kv, \
                                        opt)                                                        \
-    const struct bpf_prog_def SEC("progs") the_prog##_def = {                                      \
+    const struct bpf_prog_def SECTION("progs") the_prog##_def = {                                  \
             .uid = (prog_uid),                                                                     \
             .gid = (prog_gid),                                                                     \
             .min_kver = (min_kv),                                                                  \
@@ -164,7 +164,7 @@
             .bpfloader_min_ver = DEFAULT_BPFLOADER_MIN_VER,                                        \
             .bpfloader_max_ver = DEFAULT_BPFLOADER_MAX_VER,                                        \
     };                                                                                             \
-    SEC(SECTION_NAME)                                                                              \
+    SECTION(SECTION_NAME)                                                                          \
     int the_prog
 
 // Programs (here used in the sense of functions/sections) marked optional are allowed to fail
diff --git a/progs/include/bpf_map_def.h b/progs/include/bpf_map_def.h
index 647c813..02b2096 100644
--- a/progs/include/bpf_map_def.h
+++ b/progs/include/bpf_map_def.h
@@ -116,10 +116,10 @@
  * uses this structure from eBPF object to create maps at boot time.
  *
  * The eBPF C program should define structure in the maps section using
- * SEC("maps") otherwise it will be ignored by the eBPF loader.
+ * SECTION("maps") otherwise it will be ignored by the eBPF loader.
  *
  * For example:
- *   const struct bpf_map_def SEC("maps") mymap { .type=... , .key_size=... }
+ *   const struct bpf_map_def SECTION("maps") mymap { .type=... , .key_size=... }
  *
  * See 'bpf_helpers.h' for helpful macros for eBPF program use.
  */
diff --git a/progs/include/test/mock_bpf_helpers.h b/progs/include/test/mock_bpf_helpers.h
index ffe8951..e6ffaa9 100644
--- a/progs/include/test/mock_bpf_helpers.h
+++ b/progs/include/test/mock_bpf_helpers.h
@@ -86,7 +86,7 @@
 #endif
 
 /* place things in different elf sections */
-#define SEC(NAME) __attribute__((section(NAME), used))
+#define SECTION(NAME) __attribute__((section(NAME), used))
 
 /* Example use: LICENSE("GPL"); or LICENSE("Apache 2.0"); */
-#define LICENSE(NAME) char _license[] SEC("license") = (NAME)
+#define LICENSE(NAME) char _license[] SECTION("license") = (NAME)
