Update kernel headers and add syscall "perf_event_open"

Change-Id: I43f12b727881df002a8524f2738586c043833bae
diff --git a/libc/SYSCALLS.TXT b/libc/SYSCALLS.TXT
index b9bd9e7..14b990d 100644
--- a/libc/SYSCALLS.TXT
+++ b/libc/SYSCALLS.TXT
@@ -264,6 +264,7 @@
 int     klogctl:syslog(int, char *, int)   103
 int     sysinfo(struct sysinfo *)  116
 int     personality(unsigned long)  136
+long    perf_event_open(struct perf_event_attr *attr_uptr, pid_t pid, int cpu, int group_fd, unsigned long flags) 364
 
 # futex
 int	futex(void *, int, int, void *, void *, int) 240
diff --git a/libc/arch-arm/syscalls.mk b/libc/arch-arm/syscalls.mk
index b19fb68..61a37d5 100644
--- a/libc/arch-arm/syscalls.mk
+++ b/libc/arch-arm/syscalls.mk
@@ -183,6 +183,7 @@
 syscall_src += arch-arm/syscalls/klogctl.S
 syscall_src += arch-arm/syscalls/sysinfo.S
 syscall_src += arch-arm/syscalls/personality.S
+syscall_src += arch-arm/syscalls/perf_event_open.S
 syscall_src += arch-arm/syscalls/futex.S
 syscall_src += arch-arm/syscalls/epoll_create.S
 syscall_src += arch-arm/syscalls/epoll_ctl.S
diff --git a/libc/arch-arm/syscalls/perf_event_open.S b/libc/arch-arm/syscalls/perf_event_open.S
new file mode 100644
index 0000000..39710a5
--- /dev/null
+++ b/libc/arch-arm/syscalls/perf_event_open.S
@@ -0,0 +1,16 @@
+/* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
+#include <sys/linux-syscalls.h>
+
+ENTRY(perf_event_open)
+    mov     ip, sp
+    .save   {r4, r5, r6, r7}
+    stmfd   sp!, {r4, r5, r6, r7}
+    ldmfd   ip, {r4, r5, r6}
+    ldr     r7, =__NR_perf_event_open
+    swi     #0
+    ldmfd   sp!, {r4, r5, r6, r7}
+    movs    r0, r0
+    bxpl    lr
+    b       __set_syscall_errno
+END(perf_event_open)
diff --git a/libc/arch-x86/syscalls.mk b/libc/arch-x86/syscalls.mk
index d2ceb42..d7362f2 100644
--- a/libc/arch-x86/syscalls.mk
+++ b/libc/arch-x86/syscalls.mk
@@ -187,6 +187,7 @@
 syscall_src += arch-x86/syscalls/klogctl.S
 syscall_src += arch-x86/syscalls/sysinfo.S
 syscall_src += arch-x86/syscalls/personality.S
+syscall_src += arch-x86/syscalls/perf_event_open.S
 syscall_src += arch-x86/syscalls/futex.S
 syscall_src += arch-x86/syscalls/epoll_create.S
 syscall_src += arch-x86/syscalls/epoll_ctl.S
diff --git a/libc/arch-x86/syscalls/perf_event_open.S b/libc/arch-x86/syscalls/perf_event_open.S
new file mode 100644
index 0000000..5c15c5f
--- /dev/null
+++ b/libc/arch-x86/syscalls/perf_event_open.S
@@ -0,0 +1,35 @@
+/* autogenerated by gensyscalls.py */
+#include <sys/linux-syscalls.h>
+
+    .text
+    .type perf_event_open, @function
+    .globl perf_event_open
+    .align 4
+
+perf_event_open:
+    pushl   %ebx
+    pushl   %ecx
+    pushl   %edx
+    pushl   %esi
+    pushl   %edi
+    mov     24(%esp), %ebx
+    mov     28(%esp), %ecx
+    mov     32(%esp), %edx
+    mov     36(%esp), %esi
+    mov     40(%esp), %edi
+    movl    $__NR_perf_event_open, %eax
+    int     $0x80
+    cmpl    $-129, %eax
+    jb      1f
+    negl    %eax
+    pushl   %eax
+    call    __set_errno
+    addl    $4, %esp
+    orl     $-1, %eax
+1:
+    popl    %edi
+    popl    %esi
+    popl    %edx
+    popl    %ecx
+    popl    %ebx
+    ret
diff --git a/libc/include/sys/linux-syscalls.h b/libc/include/sys/linux-syscalls.h
index 9f23054..c2c609d 100644
--- a/libc/include/sys/linux-syscalls.h
+++ b/libc/include/sys/linux-syscalls.h
@@ -146,6 +146,7 @@
 #define __NR_syslog                       (__NR_SYSCALL_BASE + 103)
 #define __NR_sysinfo                      (__NR_SYSCALL_BASE + 116)
 #define __NR_personality                  (__NR_SYSCALL_BASE + 136)
+#define __NR_perf_event_open              (__NR_SYSCALL_BASE + 364)
 #define __NR_futex                        (__NR_SYSCALL_BASE + 240)
 #define __NR_poll                         (__NR_SYSCALL_BASE + 168)
 
diff --git a/libc/kernel/arch-arm/asm/unistd.h b/libc/kernel/arch-arm/asm/unistd.h
index e5b89f2..9423754 100644
--- a/libc/kernel/arch-arm/asm/unistd.h
+++ b/libc/kernel/arch-arm/asm/unistd.h
@@ -387,29 +387,30 @@
 #define __NR_get_mempolicy (__NR_SYSCALL_BASE+320)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define __NR_set_mempolicy (__NR_SYSCALL_BASE+321)
+#define __NR_perf_event_open (__NR_SYSCALL_BASE+364)
 #define __ARM_NR_BASE (__NR_SYSCALL_BASE+0x0f0000)
 #define __ARM_NR_breakpoint (__ARM_NR_BASE+1)
-#define __ARM_NR_cacheflush (__ARM_NR_BASE+2)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define __ARM_NR_cacheflush (__ARM_NR_BASE+2)
 #define __ARM_NR_usr26 (__ARM_NR_BASE+3)
 #define __ARM_NR_usr32 (__ARM_NR_BASE+4)
 #define __ARM_NR_set_tls (__ARM_NR_BASE+5)
-#if defined(__ARM_EABI__) && !defined(__KERNEL__)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#if defined(__ARM_EABI__) && !defined(__KERNEL__)
 #undef __NR_time
 #undef __NR_umount
 #undef __NR_stime
-#undef __NR_alarm
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#undef __NR_alarm
 #undef __NR_utime
 #undef __NR_getrlimit
 #undef __NR_select
-#undef __NR_readdir
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#undef __NR_readdir
 #undef __NR_mmap
 #undef __NR_socketcall
 #undef __NR_syscall
-#undef __NR_ipc
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#undef __NR_ipc
 #endif
 #endif
diff --git a/libc/kernel/arch-x86/asm/unistd_32.h b/libc/kernel/arch-x86/asm/unistd_32.h
index b8ade84..4536585 100644
--- a/libc/kernel/arch-x86/asm/unistd_32.h
+++ b/libc/kernel/arch-x86/asm/unistd_32.h
@@ -421,4 +421,5 @@
 #define __NR_eventfd 323
 #define __NR_fallocate 324
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define __NR_perf_event_open 364
 #endif
diff --git a/libc/kernel/common/linux/magic.h b/libc/kernel/common/linux/magic.h
index 76f334c..a878ceb 100644
--- a/libc/kernel/common/linux/magic.h
+++ b/libc/kernel/common/linux/magic.h
@@ -24,40 +24,41 @@
 #define AFS_SUPER_MAGIC 0x5346414F
 #define AUTOFS_SUPER_MAGIC 0x0187
 #define CODA_SUPER_MAGIC 0x73757245
-#define EFS_SUPER_MAGIC 0x414A53
+#define DEBUGFS_MAGIC 0x64626720
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define EFS_SUPER_MAGIC 0x414A53
 #define EXT2_SUPER_MAGIC 0xEF53
 #define EXT3_SUPER_MAGIC 0xEF53
 #define EXT4_SUPER_MAGIC 0xEF53
-#define HPFS_SUPER_MAGIC 0xf995e849
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define HPFS_SUPER_MAGIC 0xf995e849
 #define ISOFS_SUPER_MAGIC 0x9660
 #define JFFS2_SUPER_MAGIC 0x72b6
 #define ANON_INODE_FS_MAGIC 0x09041934
-#define MINIX_SUPER_MAGIC 0x137F  
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define MINIX_SUPER_MAGIC 0x137F  
 #define MINIX_SUPER_MAGIC2 0x138F  
 #define MINIX2_SUPER_MAGIC 0x2468  
 #define MINIX2_SUPER_MAGIC2 0x2478  
-#define MINIX3_SUPER_MAGIC 0x4d5a  
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define MINIX3_SUPER_MAGIC 0x4d5a  
 #define MSDOS_SUPER_MAGIC 0x4d44  
 #define NCP_SUPER_MAGIC 0x564c  
 #define NFS_SUPER_MAGIC 0x6969
-#define OPENPROM_SUPER_MAGIC 0x9fa1
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define OPENPROM_SUPER_MAGIC 0x9fa1
 #define PROC_SUPER_MAGIC 0x9fa0
 #define QNX4_SUPER_MAGIC 0x002f  
 #define REISERFS_SUPER_MAGIC 0x52654973  
-#define REISERFS_SUPER_MAGIC_STRING "ReIsErFs"
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define REISERFS_SUPER_MAGIC_STRING "ReIsErFs"
 #define REISER2FS_SUPER_MAGIC_STRING "ReIsEr2Fs"
 #define REISER2FS_JR_SUPER_MAGIC_STRING "ReIsEr3Fs"
 #define SMB_SUPER_MAGIC 0x517B
-#define USBDEVICE_SUPER_MAGIC 0x9fa2
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define USBDEVICE_SUPER_MAGIC 0x9fa2
 #define CGROUP_SUPER_MAGIC 0x27e0eb
 #define FUTEXFS_SUPER_MAGIC 0xBAD1DEA
 #define INOTIFYFS_SUPER_MAGIC 0x2BAD1DEA
-#endif
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#endif