diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2011-12-11 08:28:21 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2011-12-11 08:32:22 -0800 |
commit | 8f77ec14b3aa1f5fd0e477a88a427d17e8044148 (patch) | |
tree | f0a865c6ecc8e51a110fd231115f3d0afd6ac7c8 | |
parent | 0b2126ef1a525863dadcb7b0cb6c2ac763c23784 (diff) | |
download | gcc-hjl/x32/gcc-4_6-branch+ada+java+go.tar.gz |
Properly handle system call numbers in lingohjl/x32/gcc-4_6-branch+ada+java+go
2011-12-09 H.J. Lu <hongjiu.lu@intel.com>
* mksysinfo.sh: Handle system call numbers "(0x40000000 | (234))".
-rw-r--r-- | libgo/ChangeLog.x32 | 3 | ||||
-rwxr-xr-x | libgo/mksysinfo.sh | 16 |
2 files changed, 19 insertions, 0 deletions
diff --git a/libgo/ChangeLog.x32 b/libgo/ChangeLog.x32 new file mode 100644 index 00000000000..62baff814d3 --- /dev/null +++ b/libgo/ChangeLog.x32 @@ -0,0 +1,3 @@ +2011-12-09 H.J. Lu <hongjiu.lu@intel.com> + + * mksysinfo.sh: Handle system call numbers "(0x40000000 | (234))". diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh index e29febfa619..17661361b38 100755 --- a/libgo/mksysinfo.sh +++ b/libgo/mksysinfo.sh @@ -118,6 +118,22 @@ grep '^const _SYS_' gen-sysinfo.go | \ echo "const $sup = _$sys" >> ${OUT} done +# Handle system call numbers like "(0x40000000 | (234))" +if grep '^// unknowndefine SYS_[a-z]' gen-sysinfo.go >/dev/null 2>&1; then + rm -f unknown-syscalls.c + echo "#include \"sysinfo.c\"" > unknown-syscalls.c + grep '^// unknowndefine SYS_[a-z]' gen-sysinfo.go | \ + grep __NR_ | \ + awk '{ print $3 }' | \ + while read sys; do + sup=`echo $sys | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ` + echo "const $sup = $sys" + done >> unknown-syscalls.c + ${CC} -E unknown-syscalls.c | \ + grep "^const SYS_.*=" | \ + grep -v __NR_ >> ${OUT} +fi + # Stat constants. grep '^const _S_' gen-sysinfo.go | \ sed -e 's/^\(const \)_\(S_[^= ]*\)\(.*\)$/\1\2 = _\2/' >> ${OUT} |