#!/bin/sh # Copyright (C) 2023 Free Software Foundation, Inc. # # This file is part of GDB. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Used to generate linux-defaults.xml.in, like so: # $ ./update-linux-defaults.sh ~/strace.git if [ $# -lt 1 ]; then echo "dir argument needed" exit 1 fi d="$1" shift if [ ! -d "$d" ]; then echo "cannot find $d" exit 1 fi pre () { year=$(date +%Y) cat < EOF echo '' } post () { echo '' } generate () { pre grep -rn -E "T[A-Z][,|]" "$d/src/linux/" \ | sed -e 's/\(T[A-Z][,|].*\)/\x03&/' -e 's/.*\x03//' \ -e 's/,[ \t]*SEN[ \t]*(/, SEN(/g' \ | grep ", SEN(" \ | sed -e 's/\(.*\"\).*/\1/g' \ -e 's/#64\"/\"/g' \ | awk '{print $3 " " $1}' \ | sort -u \ | sed -e 's/|/,/g' \ -e 's/TD,/descriptor,/g' \ -e 's/TF,/file,/g' \ -e 's/TI,/ipc,/g' \ -e 's/TM,/memory,/g' \ -e 's/TN,/network,/g' \ -e 's/TP,/process,/g' \ -e 's/TS,/signal,/g' \ -e 's/[A-Z]\+,//g' \ | grep -v '" $' \ | sed 's/,$//g' \ | awk "{printf \" \n\", \$1, \$2}" post } f=linux-defaults.xml.in echo "Generating $f" generate > "$f"