Am 01.11.23 um 07:11 schrieb Helge Kreutzmann:
Hallo Mitübersetzer,
ich habe kürzlich die Übersetzung der Handbuchseite aus
Abschnitt 2 aktualisiert.
Es sind insgesamt 709 Zeichenketten, pro Teil zwischen 50-80
Zeichenketten. Im (großen) Mittelteil ist es im wesentlichen eine
große Tabelle, wo nur wenige, kurze Zeichenketten echt zu übersetzen
waren. Daher sind diese Teile etwas größer gewählt.
Für konstruktives Korrekturlesen wäre ich sehr dankbar.
Viele Grüße
Helge
Hallo Helge & Christoph,
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-39 fedora-rawhide
#: mageia-cauldron opensuse-tumbleweed
msgid ""
"Roughly speaking, the code belonging to the system call with number
__NR_xxx "
"defined in I</usr/include/asm/unistd.h> can be found in the Linux kernel "
"source in the routine I<sys_xxx>(). There are many exceptions, however, "
"mostly because older system calls were superseded by newer ones, and this "
"has been treated somewhat unsystematically. On platforms with
proprietary "
"operating-system emulation, such as sparc, sparc64, and alpha, there are "
"many additional system calls; mips64 also contains a full set of 32-bit "
"system calls."
msgstr ""
"Grob gesagt kann der Code, der zu dem Systemaufruf mit der in
I</usr/include/"
"asm/unistd.h> definierten Nummer __NR_xxx gehört in den
Linux-Kernelquellen "
"in der Routine I<sys_xxx>() gefunden werden. Allerdings gibt es viele "
"Ausnahmen, da hauptsächlich ältere Systemaufrufe durch neuere ersetzt
wurden "
"und dabei nicht immer systematisch vorgegangen wurde. Auf Plattformen mit "
"proprietären Betriebssystem-Emulationenen, wie Sparc, Sparc64 und Alpha, "
"gibt es viele zusätzliche Systemaufrufe; Mips64 enthält auch einen "
"kompletten Satz an 32-bit-Systemaufrufen."
s/Emulationenen/Emulationen/
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-39 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Over time, changes to the interfaces of some system calls have been "
"necessary. One reason for such changes was the need to increase the
size of "
"structures or scalar values passed to the system call. Because of these "
"changes, certain architectures (notably, longstanding 32-bit
architectures "
"such as i386) now have various groups of related system calls (e.g., "
"B<truncate>(2) and B<truncate64>(2)) which perform similar tasks, but "
"which vary in details such as the size of their arguments. (As noted "
"earlier, applications are generally unaware of this: the glibc wrapper "
"functions do some work to ensure that the right system call is invoked,
and "
"that ABI compatibility is preserved for old binaries.) Examples of
systems "
"calls that exist in multiple versions are the following:"
msgstr ""
"Im Laufe der Zeit wurden Änderungen an den Schnittstellen der
Systemaufrufe "
"notwendig. Ein Grund für solche Änderungen war die Notwendigkeit, die
Größe "
"von Strukturen oder skalaren Werten, die an den Systemaufruf übergeben "
"werden, zu erhöhen. Aufgrund dieser Änderungen haben jetzt bestimmte "
"Architekturen (insbesondere die langexistierenden 32-bit-Architekturen
wie "
"I386) verschiedene Gruppen von zusammengehörigen Systemaufrufen (z.B. "
"B<truncate>(2) und B<truncate64>(2)), die ähnliche Aufgaben erledigen,
aber "
"sich in Details wie die Größe ihres Arguments unterscheiden. (Wie
weiter "
"oben angemerkt, bekommen das Anwendungen im Allgemeinen nicht mit: Die
Glibc-"
"Wrapperfunktion haben Vorkehrungen um sicherzustellen, dass der richtige "
"Systemaufruf aufgerufen wird und dass die ABI-Kompatibilität für ältere "
"Programme gewährt wird). Folgende Systemaufrufe sind Beispiele, die in "
"verschiedenen Versionen existieren:"
s/an den Schnittstellen/an einigen Schnittstellen/ -> "some" im Original
"Details wie die Größe ihres Arguments" -> Einzahl/Mehrzahl hat
Christoph ja schon angemerkt; ich würde noch "die Größe" durch "der
Größe" ersetzen (?).
msgid ""
"The B<select>(2) and B<mmap>(2) system calls use five or more
arguments, "
"which caused problems in the way argument passing on the i386 used to
be set "
"up. Thus, while other architectures have I<sys_select>() and "
"I<sys_mmap>() corresponding to I<__NR_select> and I<__NR_mmap>, on
i386 one "
"finds I<old_select>() and I<old_mmap>() (routines that use a pointer
to an "
"argument block) instead. These days passing five arguments is not a
problem "
"any more, and there is a I<__NR__newselect> that corresponds directly to "
"I<sys_select>() and similarly I<__NR_mmap2>. s390x is the only 64-bit "
"architecture that has I<old_mmap>()."
msgstr ""
"Die Systemaufrufe B<select>(2) und B<mmap>(2) verwenden fünf oder mehr "
"Argumente, was zu Problemen mit der Art, wie die Argumentenübergabe auf
I386 "
"eingerichtet war, führte. Während andere Architekturen über
I<sys_select>() "
"und I<sys_mmap>() entsprechend zu I<__NR_select> und I<__NR_mmap>
verfügen, "
"kann auf I386 stattdessen I<old_select>() und I<old_mmap>() (Routinen,
die "
"einen Zeiger auf ein Argumentenblock verwenden) gefunden werden.
Heutzutage "
"ist die Übergabe von fünf oder mehr Argumenten kein Problem mehr und es
gibt "
"ein I<__NR__newselect>, das direkt I<sys_select>() entspricht und ähnlich "
"I<__NR_mmap2>. S390x ist die einzige 64-bit-Architektur, die über "
"I<old_mmap>() verfügt."
s/auf ein Argumentenblock/auf einen Argumentenblock/
#. type: Plain text
#: opensuse-leap-15-6
msgid ""
"Often the glibc wrapper function is quite thin, doing little work other
than "
"copying arguments to the right registers before invoking the system call, "
"and then setting I<errno> appropriately after the system call has
returned. "
"(These are the same steps that are performed by B<syscall>(2), which
can be "
"used to invoke system calls for which no wrapper function is provided.) "
"Note: system calls indicate a failure by returning a negative error
number "
"to the caller; when this happens, the wrapper function negates the
returned "
"error number (to make it positive), copies it to I<errno>, and returns
-1 to "
"the caller of the wrapper."
msgstr ""
"Oft ist die Glibc-Wrapper-Funktion recht dünn und sie macht kaum mehr,
als "
"die Argumente in die richtigen Register zu kopieren, bevor sie den "
"Systemaufruf aufruft, und anschließend I<errno> entsprechend zu setzen, "
"nachdem der Systemaufruf zurückkehrte. (Dies sind die gleichen
Schritte, die "
"auch B<syscall>(2) durchführt, welches dazu verwandt werden kann, "
"Systemaufrufe aufzurufen, für die keine Wrapper-Funktion bereitgestellt "
"wird.) Hinweis: Systemaufrufe zeigen einen Fehlschlag an, indem sie eine "
"negative Fehlernummer an den Aufrufenden. Wenn dies passiert negiert
die "
"Wrapper-Funktion die zurückgelieferte Fehlernummer (damit sie positiv
wird), "
"kopiert sie nach I<errno> und liefert -1 an den Aufrufenden des Wrappers."
s/Fehlernummer an den Aufrufenden/Fehlernummer an den Aufrufenden zurück
gibt/
Freundliche Grüße
Hermann-Josef