ATTRIBUTE_SENTINEL;
extern int printxval_searchn(const struct xlat *xlat, size_t xlat_size,
uint64_t val, const char *dflt);
+/**
+ * Wrapper around printxval_searchn that passes ARRAY_SIZE - 1
+ * as the array size, as all arrays are XLAT_END-terminated and
+ * printxval_searchn expects a size without the terminating record.
+ */
#define printxval_search(xlat__, val__, dflt__) \
- printxval_searchn(xlat__, ARRAY_SIZE(xlat__), val__, dflt__)
+ printxval_searchn(xlat__, ARRAY_SIZE(xlat__) - 1, val__, dflt__)
extern int sprintxval(char *buf, size_t size, const struct xlat *,
unsigned int val, const char *dflt);
extern int printargs(struct tcb *);
{ 0xf995e849, "HPFS_SUPER_MAGIC" },
{ 0xfe534d42, "SMB2_MAGIC_NUMBER" },
{ 0xff534d42, "CIFS_MAGIC_NUMBER" },
-#unterminated
echo "/* Generated by $0 from $1; do not edit. */"
- local unconditional= unterminated= line
+ local unconditional= line
# 1st pass: output directives.
while read line; do
LC_COLLATE=C
'#unconditional')
unconditional=1
;;
- '#unterminated')
- unterminated=1
- ;;
'#val_type '*)
# to be processed during 2nd pass
;;
'#unconditional')
unconditional=1
;;
- '#unterminated')
- # processed during 1st pass
- ;;
'#val_type '*)
val_type="${line#\#val_type }"
;;
;;
esac
done < "${input}"
- if [ -n "${unterminated}" ]; then
- echo " /* this array should remain not NULL-terminated */"
- else
- echo " XLAT_END"
- fi
+ echo ' XLAT_END'
cat <<-EOF
};
HW_BREAKPOINT_W 2
HW_BREAKPOINT_RW HW_BREAKPOINT_R | HW_BREAKPOINT_W
HW_BREAKPOINT_X 4
-#unterminated
PERF_COUNT_HW_CACHE_ITLB 4
PERF_COUNT_HW_CACHE_BPU 5
PERF_COUNT_HW_CACHE_NODE 6
-#unterminated
PERF_COUNT_HW_CACHE_OP_READ 0
PERF_COUNT_HW_CACHE_OP_WRITE 1
PERF_COUNT_HW_CACHE_OP_PREFETCH 2
-#unterminated
PERF_COUNT_HW_CACHE_RESULT_ACCESS 0
PERF_COUNT_HW_CACHE_RESULT_MISS 1
-#unterminated
PERF_COUNT_HW_STALLED_CYCLES_FRONTEND 7
PERF_COUNT_HW_STALLED_CYCLES_BACKEND 8
PERF_COUNT_HW_REF_CPU_CYCLES 9
-#unterminated
PERF_COUNT_SW_EMULATION_FAULTS 8
PERF_COUNT_SW_DUMMY 9
PERF_COUNT_SW_BPF_OUTPUT 10
-#unterminated
PERF_TYPE_HW_CACHE 3
PERF_TYPE_RAW 4
PERF_TYPE_BREAKPOINT 5
-#unterminated