]> granicus.if.org Git - strace/commitdiff
process.c: introduce XLAT_UOFF macro
authorDmitry V. Levin <ldv@altlinux.org>
Thu, 11 Dec 2014 19:25:02 +0000 (19:25 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Thu, 11 Dec 2014 19:25:02 +0000 (19:25 +0000)
Introduce XLAT_UOFF macro and use it to automatically transform
struct_user_offsets array into a more readable and compact form.

for n in $(sed -n 's/^[[:space:]]*{[[:space:]]*uoff(\([a-z_0-9]\+\)),.*/\1/p' process.c |sort -u); do
sed -i 's/^\([[:space:]]*\){[[:space:]]*uoff('"$n"'),[[:space:]]*"offsetof(struct user,[[:space:]]*'"$n"')"[[:space:]]*},$/\1XLAT_UOFF('"$n"'),/' process.c
done

* process.c (XLAT_UOFF): New macro.
(struct_user_offsets): Use it.

process.c

index 817cf9792909ebfdb1054ed461453a27945d01c2..892d6fe9087c71b5a9007976ce46cdf176fc3e1e 100644 (file)
--- a/process.c
+++ b/process.c
@@ -81,6 +81,7 @@
 #include "xlat/nt_descriptor_types.h"
 
 #define uoff(member)   offsetof(struct user, member)
+#define XLAT_UOFF(member)      { uoff(member), "offsetof(struct user, " #member ")" }
 
 const struct xlat struct_user_offsets[] = {
 #if defined(S390) || defined(S390X)
@@ -627,8 +628,8 @@ const struct xlat struct_user_offsets[] = {
        { 588,                  "TR7(U)"                                },
        /* This entry is in case pt_regs contains dregs (depends on
           the kernel build options). */
-       { uoff(regs),           "offsetof(struct user, regs)"           },
-       { uoff(fpu),            "offsetof(struct user, fpu)"            },
+       XLAT_UOFF(regs),
+       XLAT_UOFF(fpu),
 #elif defined(ARM)
        { uoff(regs.ARM_r0),    "r0"                                    },
        { uoff(regs.ARM_r1),    "r1"                                    },
@@ -1040,106 +1041,106 @@ const struct xlat struct_user_offsets[] = {
 
        /* Other fields in "struct user" */
 #if defined(S390) || defined(S390X)
-       { uoff(u_tsize),        "offsetof(struct user, u_tsize)"        },
-       { uoff(u_dsize),        "offsetof(struct user, u_dsize)"        },
-       { uoff(u_ssize),        "offsetof(struct user, u_ssize)"        },
-       { uoff(start_code),     "offsetof(struct user, start_code)"     },
+       XLAT_UOFF(u_tsize),
+       XLAT_UOFF(u_dsize),
+       XLAT_UOFF(u_ssize),
+       XLAT_UOFF(start_code),
        /* S390[X] has no start_data */
-       { uoff(start_stack),    "offsetof(struct user, start_stack)"    },
-       { uoff(signal),         "offsetof(struct user, signal)"         },
-       { uoff(u_ar0),          "offsetof(struct user, u_ar0)"          },
-       { uoff(magic),          "offsetof(struct user, magic)"          },
-       { uoff(u_comm),         "offsetof(struct user, u_comm)"         },
+       XLAT_UOFF(start_stack),
+       XLAT_UOFF(signal),
+       XLAT_UOFF(u_ar0),
+       XLAT_UOFF(magic),
+       XLAT_UOFF(u_comm),
        { sizeof(struct user),  "sizeof(struct user)"                   },
 #elif defined(POWERPC)
        { sizeof(struct user),  "sizeof(struct user)"                   },
 #elif defined(I386) || defined(X86_64) || defined(X32)
-       { uoff(u_fpvalid),      "offsetof(struct user, u_fpvalid)"      },
-       { uoff(i387),           "offsetof(struct user, i387)"           },
-       { uoff(u_tsize),        "offsetof(struct user, u_tsize)"        },
-       { uoff(u_dsize),        "offsetof(struct user, u_dsize)"        },
-       { uoff(u_ssize),        "offsetof(struct user, u_ssize)"        },
-       { uoff(start_code),     "offsetof(struct user, start_code)"     },
-       { uoff(start_stack),    "offsetof(struct user, start_stack)"    },
-       { uoff(signal),         "offsetof(struct user, signal)"         },
-       { uoff(reserved),       "offsetof(struct user, reserved)"       },
-       { uoff(u_ar0),          "offsetof(struct user, u_ar0)"          },
-       { uoff(u_fpstate),      "offsetof(struct user, u_fpstate)"      },
-       { uoff(magic),          "offsetof(struct user, magic)"          },
-       { uoff(u_comm),         "offsetof(struct user, u_comm)"         },
-       { uoff(u_debugreg),     "offsetof(struct user, u_debugreg)"     },
+       XLAT_UOFF(u_fpvalid),
+       XLAT_UOFF(i387),
+       XLAT_UOFF(u_tsize),
+       XLAT_UOFF(u_dsize),
+       XLAT_UOFF(u_ssize),
+       XLAT_UOFF(start_code),
+       XLAT_UOFF(start_stack),
+       XLAT_UOFF(signal),
+       XLAT_UOFF(reserved),
+       XLAT_UOFF(u_ar0),
+       XLAT_UOFF(u_fpstate),
+       XLAT_UOFF(magic),
+       XLAT_UOFF(u_comm),
+       XLAT_UOFF(u_debugreg),
        { sizeof(struct user),  "sizeof(struct user)"                   },
 #elif defined(IA64)
        { sizeof(struct user),  "sizeof(struct user)"                   },
 #elif defined(ARM)
-       { uoff(u_fpvalid),      "offsetof(struct user, u_fpvalid)"      },
-       { uoff(u_tsize),        "offsetof(struct user, u_tsize)"        },
-       { uoff(u_dsize),        "offsetof(struct user, u_dsize)"        },
-       { uoff(u_ssize),        "offsetof(struct user, u_ssize)"        },
-       { uoff(start_code),     "offsetof(struct user, start_code)"     },
-       { uoff(start_stack),    "offsetof(struct user, start_stack)"    },
-       { uoff(signal),         "offsetof(struct user, signal)"         },
-       { uoff(reserved),       "offsetof(struct user, reserved)"       },
-       { uoff(u_ar0),          "offsetof(struct user, u_ar0)"          },
-       { uoff(magic),          "offsetof(struct user, magic)"          },
-       { uoff(u_comm),         "offsetof(struct user, u_comm)"         },
+       XLAT_UOFF(u_fpvalid),
+       XLAT_UOFF(u_tsize),
+       XLAT_UOFF(u_dsize),
+       XLAT_UOFF(u_ssize),
+       XLAT_UOFF(start_code),
+       XLAT_UOFF(start_stack),
+       XLAT_UOFF(signal),
+       XLAT_UOFF(reserved),
+       XLAT_UOFF(u_ar0),
+       XLAT_UOFF(magic),
+       XLAT_UOFF(u_comm),
        { sizeof(struct user),  "sizeof(struct user)"                   },
 #elif defined(AARCH64)
        /* nothing */
 #elif defined(M68K)
-       { uoff(u_fpvalid),      "offsetof(struct user, u_fpvalid)"      },
-       { uoff(m68kfp),         "offsetof(struct user, m68kfp)"         },
-       { uoff(u_tsize),        "offsetof(struct user, u_tsize)"        },
-       { uoff(u_dsize),        "offsetof(struct user, u_dsize)"        },
-       { uoff(u_ssize),        "offsetof(struct user, u_ssize)"        },
-       { uoff(start_code),     "offsetof(struct user, start_code)"     },
-       { uoff(start_stack),    "offsetof(struct user, start_stack)"    },
-       { uoff(signal),         "offsetof(struct user, signal)"         },
-       { uoff(reserved),       "offsetof(struct user, reserved)"       },
-       { uoff(u_ar0),          "offsetof(struct user, u_ar0)"          },
-       { uoff(u_fpstate),      "offsetof(struct user, u_fpstate)"      },
-       { uoff(magic),          "offsetof(struct user, magic)"          },
-       { uoff(u_comm),         "offsetof(struct user, u_comm)"         },
+       XLAT_UOFF(u_fpvalid),
+       XLAT_UOFF(m68kfp),
+       XLAT_UOFF(u_tsize),
+       XLAT_UOFF(u_dsize),
+       XLAT_UOFF(u_ssize),
+       XLAT_UOFF(start_code),
+       XLAT_UOFF(start_stack),
+       XLAT_UOFF(signal),
+       XLAT_UOFF(reserved),
+       XLAT_UOFF(u_ar0),
+       XLAT_UOFF(u_fpstate),
+       XLAT_UOFF(magic),
+       XLAT_UOFF(u_comm),
        { sizeof(struct user),  "sizeof(struct user)"                   },
 #elif defined(MIPS) || defined(LINUX_MIPSN32)
-       { uoff(u_tsize),        "offsetof(struct user, u_tsize)"        },
-       { uoff(u_dsize),        "offsetof(struct user, u_dsize)"        },
-       { uoff(u_ssize),        "offsetof(struct user, u_ssize)"        },
-       { uoff(start_code),     "offsetof(struct user, start_code)"     },
-       { uoff(start_data),     "offsetof(struct user, start_data)"     },
-       { uoff(start_stack),    "offsetof(struct user, start_stack)"    },
-       { uoff(signal),         "offsetof(struct user, signal)"         },
-       { uoff(u_ar0),          "offsetof(struct user, u_ar0)"          },
-       { uoff(magic),          "offsetof(struct user, magic)"          },
-       { uoff(u_comm),         "offsetof(struct user, u_comm)"         },
+       XLAT_UOFF(u_tsize),
+       XLAT_UOFF(u_dsize),
+       XLAT_UOFF(u_ssize),
+       XLAT_UOFF(start_code),
+       XLAT_UOFF(start_data),
+       XLAT_UOFF(start_stack),
+       XLAT_UOFF(signal),
+       XLAT_UOFF(u_ar0),
+       XLAT_UOFF(magic),
+       XLAT_UOFF(u_comm),
        { sizeof(struct user),  "sizeof(struct user)"                   },
 #elif defined(ALPHA)
        { sizeof(struct user),  "sizeof(struct user)"                   },
 #elif defined(SPARC)
        { sizeof(struct user),  "sizeof(struct user)"                   },
 #elif defined(SPARC64)
-       { uoff(u_tsize),        "offsetof(struct user, u_tsize)"        },
-       { uoff(u_dsize),        "offsetof(struct user, u_dsize)"        },
-       { uoff(u_ssize),        "offsetof(struct user, u_ssize)"        },
-       { uoff(signal),         "offsetof(struct user, signal)"         },
-       { uoff(magic),          "offsetof(struct user, magic)"          },
-       { uoff(u_comm),         "offsetof(struct user, u_comm)"         },
+       XLAT_UOFF(u_tsize),
+       XLAT_UOFF(u_dsize),
+       XLAT_UOFF(u_ssize),
+       XLAT_UOFF(signal),
+       XLAT_UOFF(magic),
+       XLAT_UOFF(u_comm),
        { sizeof(struct user),  "sizeof(struct user)"                   },
 #elif defined(HPPA)
        /* nothing */
 #elif defined(SH) || defined(SH64)
-       { uoff(u_fpvalid),      "offsetof(struct user, u_fpvalid)"      },
-       { uoff(u_tsize),        "offsetof(struct user, u_tsize)"        },
-       { uoff(u_dsize),        "offsetof(struct user, u_dsize)"        },
-       { uoff(u_ssize),        "offsetof(struct user, u_ssize)"        },
-       { uoff(start_code),     "offsetof(struct user, start_code)"     },
-       { uoff(start_data),     "offsetof(struct user, start_data)"     },
-       { uoff(start_stack),    "offsetof(struct user, start_stack)"    },
-       { uoff(signal),         "offsetof(struct user, signal)"         },
-       { uoff(u_ar0),          "offsetof(struct user, u_ar0)"          },
-       { uoff(u_fpstate),      "offsetof(struct user, u_fpstate)"      },
-       { uoff(magic),          "offsetof(struct user, magic)"          },
-       { uoff(u_comm),         "offsetof(struct user, u_comm)"         },
+       XLAT_UOFF(u_fpvalid),
+       XLAT_UOFF(u_tsize),
+       XLAT_UOFF(u_dsize),
+       XLAT_UOFF(u_ssize),
+       XLAT_UOFF(start_code),
+       XLAT_UOFF(start_data),
+       XLAT_UOFF(start_stack),
+       XLAT_UOFF(signal),
+       XLAT_UOFF(u_ar0),
+       XLAT_UOFF(u_fpstate),
+       XLAT_UOFF(magic),
+       XLAT_UOFF(u_comm),
        { sizeof(struct user),  "sizeof(struct user)"                   },
 #elif defined(CRISV10) || defined(CRISV32)
        { sizeof(struct user),  "sizeof(struct user)"                   },
@@ -1148,26 +1149,26 @@ const struct xlat struct_user_offsets[] = {
 #elif defined(MICROBLAZE)
        { sizeof(struct user),  "sizeof(struct user)"                   },
 #elif defined(AVR32)
-       { uoff(u_tsize),        "offsetof(struct user, u_tsize)"        },
-       { uoff(u_dsize),        "offsetof(struct user, u_dsize)"        },
-       { uoff(u_ssize),        "offsetof(struct user, u_ssize)"        },
-       { uoff(start_code),     "offsetof(struct user, start_code)"     },
-       { uoff(start_data),     "offsetof(struct user, start_data)"     },
-       { uoff(start_stack),    "offsetof(struct user, start_stack)"    },
-       { uoff(signal),         "offsetof(struct user, signal)"         },
-       { uoff(u_ar0),          "offsetof(struct user, u_ar0)"          },
-       { uoff(magic),          "offsetof(struct user, magic)"          },
-       { uoff(u_comm),         "offsetof(struct user, u_comm)"         },
+       XLAT_UOFF(u_tsize),
+       XLAT_UOFF(u_dsize),
+       XLAT_UOFF(u_ssize),
+       XLAT_UOFF(start_code),
+       XLAT_UOFF(start_data),
+       XLAT_UOFF(start_stack),
+       XLAT_UOFF(signal),
+       XLAT_UOFF(u_ar0),
+       XLAT_UOFF(magic),
+       XLAT_UOFF(u_comm),
        { sizeof(struct user),  "sizeof(struct user)"                   },
 #elif defined(BFIN)
-       { uoff(u_tsize),        "offsetof(struct user, u_tsize)"        },
-       { uoff(u_dsize),        "offsetof(struct user, u_dsize)"        },
-       { uoff(u_ssize),        "offsetof(struct user, u_ssize)"        },
-       { uoff(start_code),     "offsetof(struct user, start_code)"     },
-       { uoff(signal),         "offsetof(struct user, signal)"         },
-       { uoff(u_ar0),          "offsetof(struct user, u_ar0)"          },
-       { uoff(magic),          "offsetof(struct user, magic)"          },
-       { uoff(u_comm),         "offsetof(struct user, u_comm)"         },
+       XLAT_UOFF(u_tsize),
+       XLAT_UOFF(u_dsize),
+       XLAT_UOFF(u_ssize),
+       XLAT_UOFF(start_code),
+       XLAT_UOFF(signal),
+       XLAT_UOFF(u_ar0),
+       XLAT_UOFF(magic),
+       XLAT_UOFF(u_comm),
        { sizeof(struct user),  "sizeof(struct user)"                   },
 #elif defined(OR1K)
        /* nothing */