aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2012-04-22 20:07:23 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2012-04-22 20:07:23 +0000
commitf04e40afc115bcf2143f541baa9e4cccef19922a (patch)
tree727c68d58637cfdca680a6ec562c70daced9b676
parentdf32732fa8f155d91b88a998e853ca63621ab3a9 (diff)
downloadgcc-f04e40afc115bcf2143f541baa9e4cccef19922a.zip
gcc-f04e40afc115bcf2143f541baa9e4cccef19922a.tar.gz
gcc-f04e40afc115bcf2143f541baa9e4cccef19922a.tar.bz2
mksysinfo: More fixes to emulate master Go library.
From-SVN: r186685
-rw-r--r--libgo/config.h.in3
-rwxr-xr-xlibgo/configure2
-rw-r--r--libgo/configure.ac2
-rw-r--r--libgo/go/os/stat.go4
-rw-r--r--libgo/go/os/stat_solaris.go4
-rw-r--r--libgo/go/syscall/libcall_linux.go2
-rw-r--r--libgo/go/syscall/socket.go2
-rwxr-xr-xlibgo/mksysinfo.sh24
8 files changed, 30 insertions, 13 deletions
diff --git a/libgo/config.h.in b/libgo/config.h.in
index 2aea3a4..91b91bf 100644
--- a/libgo/config.h.in
+++ b/libgo/config.h.in
@@ -48,6 +48,9 @@
/* Define to 1 if you have the <linux/filter.h> header file. */
#undef HAVE_LINUX_FILTER_H
+/* Define to 1 if you have the <linux/fs.h> header file. */
+#undef HAVE_LINUX_FS_H
+
/* Define to 1 if you have the <linux/if_addr.h> header file. */
#undef HAVE_LINUX_IF_ADDR_H
diff --git a/libgo/configure b/libgo/configure
index ae9dd8f..24b05b9 100755
--- a/libgo/configure
+++ b/libgo/configure
@@ -14508,7 +14508,7 @@ no)
;;
esac
-for ac_header in sys/file.h sys/mman.h syscall.h sys/epoll.h sys/inotify.h sys/ptrace.h sys/syscall.h sys/user.h sys/utsname.h sys/select.h sys/socket.h net/if.h net/if_arp.h net/route.h netpacket/packet.h sys/prctl.h sys/mount.h sys/vfs.h sys/statfs.h sys/timex.h sys/sysinfo.h utime.h linux/ether.h linux/reboot.h netinet/in_syst.h netinet/ip.h netinet/ip_mroute.h netinet/if_ether.h
+for ac_header in sys/file.h sys/mman.h syscall.h sys/epoll.h sys/inotify.h sys/ptrace.h sys/syscall.h sys/user.h sys/utsname.h sys/select.h sys/socket.h net/if.h net/if_arp.h net/route.h netpacket/packet.h sys/prctl.h sys/mount.h sys/vfs.h sys/statfs.h sys/timex.h sys/sysinfo.h utime.h linux/ether.h linux/fs.h linux/reboot.h netinet/in_syst.h netinet/ip.h netinet/ip_mroute.h netinet/if_ether.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
diff --git a/libgo/configure.ac b/libgo/configure.ac
index c6ce247..7da7619 100644
--- a/libgo/configure.ac
+++ b/libgo/configure.ac
@@ -453,7 +453,7 @@ no)
;;
esac
-AC_CHECK_HEADERS(sys/file.h sys/mman.h syscall.h sys/epoll.h sys/inotify.h sys/ptrace.h sys/syscall.h sys/user.h sys/utsname.h sys/select.h sys/socket.h net/if.h net/if_arp.h net/route.h netpacket/packet.h sys/prctl.h sys/mount.h sys/vfs.h sys/statfs.h sys/timex.h sys/sysinfo.h utime.h linux/ether.h linux/reboot.h netinet/in_syst.h netinet/ip.h netinet/ip_mroute.h netinet/if_ether.h)
+AC_CHECK_HEADERS(sys/file.h sys/mman.h syscall.h sys/epoll.h sys/inotify.h sys/ptrace.h sys/syscall.h sys/user.h sys/utsname.h sys/select.h sys/socket.h net/if.h net/if_arp.h net/route.h netpacket/packet.h sys/prctl.h sys/mount.h sys/vfs.h sys/statfs.h sys/timex.h sys/sysinfo.h utime.h linux/ether.h linux/fs.h linux/reboot.h netinet/in_syst.h netinet/ip.h netinet/ip_mroute.h netinet/if_ether.h)
AC_CHECK_HEADERS([linux/filter.h linux/if_addr.h linux/if_ether.h linux/if_tun.h linux/netlink.h linux/rtnetlink.h], [], [],
[#ifdef HAVE_SYS_SOCKET_H
diff --git a/libgo/go/os/stat.go b/libgo/go/os/stat.go
index 7890072..01afa39 100644
--- a/libgo/go/os/stat.go
+++ b/libgo/go/os/stat.go
@@ -19,7 +19,7 @@ func fileInfoFromStat(st *syscall.Stat_t, name string) FileInfo {
fs := &fileStat{
name: basename(name),
size: int64(st.Size),
- modTime: timespecToTime(st.Mtime),
+ modTime: timespecToTime(st.Mtim),
sys: st,
}
fs.mode = FileMode(st.Mode & 0777)
@@ -52,5 +52,5 @@ func timespecToTime(ts syscall.Timespec) time.Time {
// For testing.
func atime(fi FileInfo) time.Time {
- return timespecToTime(fi.Sys().(*syscall.Stat_t).Atime)
+ return timespecToTime(fi.Sys().(*syscall.Stat_t).Atim)
}
diff --git a/libgo/go/os/stat_solaris.go b/libgo/go/os/stat_solaris.go
index 93b698c..51a2f71e 100644
--- a/libgo/go/os/stat_solaris.go
+++ b/libgo/go/os/stat_solaris.go
@@ -19,7 +19,7 @@ func fileInfoFromStat(st *syscall.Stat_t, name string) FileInfo {
fs := &fileStat{
name: basename(name),
size: int64(st.Size),
- modTime: timestrucToTime(st.Mtime),
+ modTime: timestrucToTime(st.Mtim),
sys: st,
}
fs.mode = FileMode(st.Mode & 0777)
@@ -52,5 +52,5 @@ func timestrucToTime(ts syscall.Timestruc) time.Time {
// For testing.
func atime(fi FileInfo) time.Time {
- return timestrucToTime(fi.(*fileStat).Sys().(*syscall.Stat_t).Atime)
+ return timestrucToTime(fi.(*fileStat).Sys().(*syscall.Stat_t).Atim)
}
diff --git a/libgo/go/syscall/libcall_linux.go b/libgo/go/syscall/libcall_linux.go
index b91018a..7c9f05e 100644
--- a/libgo/go/syscall/libcall_linux.go
+++ b/libgo/go/syscall/libcall_linux.go
@@ -335,7 +335,7 @@ func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n i
//sys Tee(rfd int, wfd int, len int, flags int) (n int64, err error)
//tee(rfd int, wfd int, len Size_t, flags uint) Ssize_t
-func Tgkill(tgid, tid int, sig Signal) error {
+func Tgkill(tgid int, tid int, sig Signal) error {
r1, _, errno := Syscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))
if r1 < 0 {
return errno
diff --git a/libgo/go/syscall/socket.go b/libgo/go/syscall/socket.go
index 6d36e39..9737590 100644
--- a/libgo/go/syscall/socket.go
+++ b/libgo/go/syscall/socket.go
@@ -22,7 +22,7 @@ type Sockaddr interface {
type RawSockaddrAny struct {
Addr RawSockaddr
- Pad [12]int8
+ Pad [96]int8
}
const SizeofSockaddrAny = 0x1c
diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
index ed57ee1..487965b 100755
--- a/libgo/mksysinfo.sh
+++ b/libgo/mksysinfo.sh
@@ -151,6 +151,9 @@ cat > sysinfo.c <<EOF
#if defined(HAVE_LINUX_ETHER_H)
#include <linux/ether.h>
#endif
+#if defined(HAVE_LINUX_FS_H)
+#include <linux/fs.h>
+#endif
#if defined(HAVE_LINUX_REBOOT_H)
#include <linux/reboot.h>
#endif
@@ -271,6 +274,10 @@ done
grep '^const __PC' gen-sysinfo.go |
sed -e 's/^\(const \)__\(PC[^= ]*\)\(.*\)$/\1\2 = __\2/' >> ${OUT}
+# The PATH_MAX constant.
+grep '^const _PATH_MAX ' gen-sysinfo.go |
+ echo 'const PathMax = _PATH_MAX' >> ${OUT}
+
# epoll constants.
grep '^const _EPOLL' gen-sysinfo.go |
sed -e 's/^\(const \)_\(EPOLL[^= ]*\)\(.*\)$/\1\2 = _\2/' >> ${OUT}
@@ -470,9 +477,9 @@ fi | sed -e 's/type _stat64/type Stat_t/' \
-e 's/st_size/Size/' \
-e 's/st_blksize/Blksize/' \
-e 's/st_blocks/Blocks/' \
- -e 's/st_atim/Atime/' \
- -e 's/st_mtim/Mtime/' \
- -e 's/st_ctim/Ctime/' \
+ -e 's/st_atim/Atim/' \
+ -e 's/st_mtim/Mtim/' \
+ -e 's/st_ctim/Ctim/' \
-e 's/\([^a-zA-Z0-9_]\)_timeval\([^a-zA-Z0-9_]\)/\1Timeval\2/g' \
-e 's/\([^a-zA-Z0-9_]\)_timespec_t\([^a-zA-Z0-9_]\)/\1Timespec\2/g' \
-e 's/\([^a-zA-Z0-9_]\)_timespec\([^a-zA-Z0-9_]\)/\1Timespec\2/g' \
@@ -791,6 +798,7 @@ grep '^type _in_pktinfo ' gen-sysinfo.go | \
-e 's/ipi_ifindex/Ifindex/' \
-e 's/ipi_spec_dst/Spec_dst/' \
-e 's/ipi_addr/Addr/' \
+ -e 's/_in_addr/[4]byte/g' \
>> ${OUT}
# The in6_pktinfo struct.
@@ -826,7 +834,7 @@ for n in IGNBRK BRKINT IGNPAR PARMRK INPCK ISTRIP INLCR IGNCR ICRNL IUCLC \
TCSAFLUSH TCIFLUSH TCOFLUSH TCIOFLUSH TCOOFF TCOON TCIOFF TCION B0 B50 \
B75 B110 B134 B150 B200 B300 B600 B1200 B1800 B2400 B4800 B9600 B19200 \
B38400 B57600 B115200 B230400 B460800 B500000 B576000 B921600 B1000000 \
- B1152000 B1500000 B2000000 B2500000 B3000000 B4000000; do
+ B1152000 B1500000 B2000000 B2500000 B3000000 B3500000 B4000000; do
grep "^const _$n " gen-sysinfo.go | \
sed -e 's/^\(const \)_\([^=]*\)\(.*\)$/\1\2 = _\2/' >> ${OUT}
@@ -910,6 +918,8 @@ grep '^type _rlimit ' gen-sysinfo.go | \
# The RLIMIT constants.
grep '^const _RLIMIT_' gen-sysinfo.go |
sed -e 's/^\(const \)_\(RLIMIT_[^= ]*\)\(.*\)$/\1\2 = _\2/' >> ${OUT}
+grep '^const _RLIM_' gen-sysinfo.go |
+ sed -e 's/^\(const \)_\(RLIM_[^= ]*\)\(.*\)$/\1\2 = _\2/' >> ${OUT}
# The sysinfo struct.
grep '^type _sysinfo ' gen-sysinfo.go | \
@@ -990,6 +1000,7 @@ grep '^type _nlmsgerr ' gen-sysinfo.go | \
sed -e 's/_nlmsgerr/NlMsgerr/' \
-e 's/error/Error/' \
-e 's/msg/Msg/' \
+ -e 's/_nlmsghdr/NlMsghdr/' \
>> ${OUT}
# The GNU/Linux rtnexthop struct.
@@ -1004,6 +1015,8 @@ grep '^type _rtnexthop ' gen-sysinfo.go | \
# The GNU/Linux netlink flags.
grep '^const _NETLINK_' gen-sysinfo.go | \
sed -e 's/^\(const \)_\(NETLINK_[^= ]*\)\(.*\)$/\1\2 = _\2/' >> ${OUT}
+grep '^const _NLA_' gen-sysinfo.go | \
+ sed -e 's/^\(const \)_\(NLA_[^= ]*\)\(.*\)$/\1\2 = _\2/' >> ${OUT}
# The GNU/Linux packet socket flags.
grep '^const _PACKET_' gen-sysinfo.go | \
@@ -1018,6 +1031,7 @@ grep '^type _inotify_event ' gen-sysinfo.go | \
-e 's/len/Len/' \
-e 's/name/Name/' \
-e 's/\[\]/[0]/' \
+ -e 's/\[0\]byte/[0]int8/' \
>> ${OUT}
# The Solaris 11 Update 1 _zone_net_addr_t struct.
@@ -1028,7 +1042,7 @@ grep '^type _zone_net_addr_t ' gen-sysinfo.go | \
# Struct sizes.
set cmsghdr Cmsghdr ip_mreq IPMreq ip_mreqn IPMreqn ipv6_mreq IPv6Mreq \
ifaddrmsg IfAddrmsg ifinfomsg IfInfomsg in_pktinfo Inet4Pktinfo \
- in6_pktinfo Inet6PktInfo inotify_event InotifyEvent linger Linger \
+ in6_pktinfo Inet6Pktinfo inotify_event InotifyEvent linger Linger \
msghdr Msghdr nlattr NlAttr nlmsgerr NlMsgerr nlmsghdr NlMsghdr \
rtattr RtAttr rtgenmsg RtGenmsg rtmsg RtMsg rtnexthop RtNexthop \
sock_filter SockFilter sock_fprog SockFprog ucred Ucred