#!/usr/bin/perl
#
-# Copyright (c) 2006-2012 Apple Inc. All rights reserved.
+# Copyright (c) 2006-2014 Apple Inc. All rights reserved.
#
# @APPLE_OSREFERENCE_LICENSE_HEADER_START@
#
# size in bytes of known types (only used for i386)
my %TypeBytes = (
'au_asid_t' => 4,
- 'associd_t' => 4,
+ 'sae_associd_t' => 4,
'caddr_t' => 4,
- 'connid_t' => 4,
+ 'sae_connid_t' => 4,
'gid_t' => 4,
'id_t' => 4,
'idtype_t' => 4,
# Moving towards storing all data in this hash, then we always know
# if data is aliased or not, or promoted or not.
my %Symbols = (
- "quota" => {
- c_sym => "quota",
- syscall => "quota",
- asm_sym => "_quota",
- is_private => undef,
- is_custom => undef,
- nargs => 4,
- bytes => 0,
- aliases => {},
- },
- "setquota" => {
- c_sym => "setquota",
- syscall => "setquota",
- asm_sym => "_setquota",
- is_private => undef,
- is_custom => undef,
- nargs => 2,
- bytes => 0,
- aliases => {},
- },
"syscall" => {
c_sym => "syscall",
syscall => "syscall",
accept access aio_suspend
close connect connectx
disconnectx
- fcntl fdatasync fpathconf fstat fsync
+ faccessat fcntl fdatasync fpathconf fstat fstatat fsync
getlogin
ioctl
- link lseek lstat
+ link linkat lseek lstat
msgrcv msgsnd msync
- open
- pathconf peeloff poll posix_spawn pread pwrite
- read readv recvfrom recvmsg rename
+ open openat
+ pathconf peeloff poll posix_spawn pread pselect pwrite
+ read readv recvfrom recvmsg rename renameat
+ rename_ext
__semwait_signal __sigwait
- select sem_wait semop sendmsg sendto sigsuspend stat symlink sync
- unlink
+ select sem_wait semop sendmsg sendto sigsuspend stat symlink symlinkat sync
+ unlink unlinkat
wait4 waitid write writev
/;
if (!$$sym{is_private}) {
foreach my $subarch (@Architectures) {
(my $arch = $subarch) =~ s/arm(v.*)/arm/;
+ $arch =~ s/x86_64(.*)/x86_64/;
$$sym{aliases}{$arch} = [] unless $$sym{aliases}{$arch};
push(@{$$sym{aliases}{$arch}}, $$sym{asm_sym});
}
my @a = ();
for my $arch (@Architectures) {
(my $new_arch = $arch) =~ s/arm(v.*)/arm/g;
+ $new_arch =~ s/x86_64(.*)/x86_64/g;
push(@a, $new_arch) unless grep { $_ eq $new_arch } @a;
}
my @conditions;
for my $subarch (@Architectures) {
(my $arch = $subarch) =~ s/arm(v.*)/arm/;
+ $arch =~ s/x86_64(.*)/x86_64/;
push(@conditions, "defined(__${arch}__)") unless grep { $_ eq $arch } @{$$symbol{except}};
}
foreach my $subarch (@Architectures) {
(my $arch = $subarch) =~ s/arm(v.*)/arm/;
+ $arch =~ s/x86_64(.*)/x86_64/;
next unless scalar($$symbol{aliases}{$arch});