/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include <errno.h> // For EPERM #include <sys/syscall.h> // For syscall() #include <unistd.h>
// Bionic introduced support for getgrgid_r() and getgrnam_r() only in version // 24 (that is Android Nougat / 7.0). Since GeckoView is built with version 21, // those functions aren't defined, but nix needs them and minidump-writer // relies on nix. These functions should never be called in practice hence we // implement them only to satisfy nix linking requirements but we crash if we // accidentally enter them.
int getgrgid_r(gid_t gid, struct group* grp, char* buf, size_t buflen, struct group** result) {
MOZ_CRASH("getgrgid_r() is not available"); return EPERM;
}
int getgrnam_r(constchar* name, struct group* grp, char* buf, size_t buflen, struct group** result) {
MOZ_CRASH("getgrnam_r() is not available"); return EPERM;
}
// Bionic introduced support for process_vm_readv() and process_vm_writev() only // in version 23 (that is Android Marshmallow / 6.0). Since GeckoView is built // on version 21, those functions aren't defined, but nix needs them and // minidump-writer actually calls them.
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.