1
0
mirror of https://github.com/golang/go synced 2024-11-18 14:04:45 -07:00

syscall: mkerrors.sh: don't define _FILE_OFFSET_BITS if __LP64__

If __LP64__ is defined then the type "long" is 64-bits, and there is
no need to explicitly request _FILE_OFFSET_BITS == 64.  This changes
the definitions of F_GETLK, F_SETLK, and F_SETLKW on PPC to the values
that the kernel requires.  The values used in C when _FILE_OFFSET_BITS
== 64 are corrected by the glibc fcntl function before making the
system call.

With this change, regenerate ppc64le files on Ubuntu trusty.

Change-Id: I8dddbd8a6bae877efff818f5c5dd06291ade3238
Reviewed-on: https://go-review.googlesource.com/9962
Reviewed-by: Minux Ma <minux@golang.org>
This commit is contained in:
Ian Lance Taylor 2015-05-11 20:49:32 -07:00
parent a4f4a46c28
commit 08ba7dbdfd
3 changed files with 5 additions and 3 deletions

View File

@ -87,7 +87,9 @@ includes_FreeBSD='
includes_Linux=' includes_Linux='
#define _LARGEFILE_SOURCE #define _LARGEFILE_SOURCE
#define _LARGEFILE64_SOURCE #define _LARGEFILE64_SOURCE
#ifndef __LP64__
#define _FILE_OFFSET_BITS 64 #define _FILE_OFFSET_BITS 64
#endif
#define _GNU_SOURCE #define _GNU_SOURCE
#include <bits/sockaddr.h> #include <bits/sockaddr.h>

View File

@ -366,9 +366,9 @@ const (
F_SETFD = 0x2 F_SETFD = 0x2
F_SETFL = 0x4 F_SETFL = 0x4
F_SETLEASE = 0x400 F_SETLEASE = 0x400
F_SETLK = 0xd F_SETLK = 0x6
F_SETLK64 = 0xd F_SETLK64 = 0xd
F_SETLKW = 0xe F_SETLKW = 0x7
F_SETLKW64 = 0xe F_SETLKW64 = 0xe
F_SETOWN = 0x8 F_SETOWN = 0x8
F_SETOWN_EX = 0xf F_SETOWN_EX = 0xf

View File

@ -549,7 +549,7 @@ type Sysinfo_t struct {
Totalhigh uint64 Totalhigh uint64
Freehigh uint64 Freehigh uint64
Unit uint32 Unit uint32
X_f [0]byte X_f [0]uint8
Pad_cgo_1 [4]byte Pad_cgo_1 [4]byte
} }