https://de.wikipedia.org/wiki/Mehrheitstext -> Beide Textformen haben erheblich an Bedeutung eingebüßt, nachdem zuerst Mitte des 19. Jahrhunderts mit dem Codex Sinaiticus aus dem 4. Jahrhundert und im 20. Jahrhundert mit den bedeutenden Papyrusfunden aus dem 3. und 2. Jahrhundert (vor allem P {\displaystyle {\mathfrak {P}}} {\mathfrak {P}}45, P {\displaystyle {\mathfrak {P}}} {\mathfrak {P}}75 und P {\displaystyle {\mathfrak {P}}} {\mathfrak {P}}66) wesentlich ältere Handschriften gefunden wurden. Diese gehören zum alexandrinischen Texttyp. Unter manchen konservativen, „bibeltreuen“ Christen werden Bibelausgaben auf der Grundlage dieser Texttradition abgelehnt und der Mehrheitstext oder der Textus receptus als verbindlich favorisiert (so z.B. von Rudolf Ebertshäuser). Insbesondere wissenschaftliche Ausgaben wie das Novum Testamentum Graece werden wegen ihrer Methode der eklektischen, d.h. für jede Textstelle einzeln aus allen Handschriften bewertenden Textauswahl kritisiert.
https://de.wikipedia.org/wiki/Kategorien_der_Handschriften_des_Neuen_Testaments
http://www.aomin.org/aoblog/2008/05/03/an-introduction-to-textual-criticism-part-10-traditional-text-positions-byzantine-priority/
https://de.wikipedia.org/wiki/Codex_Vaticanus_Graecus_1209 Vermutlich im 10. Jahrhundert wurde die sehr verblichene Schrift von einem Mönch säuberlich nachgezogen. Dabei wurden auch die fehlenden Teile in Minuskelschrift hinzugefügt.
Linux kernel compilation
bool var_name __read_mostly;
In .h file: asmlinkage __cold void do_something(void)
. In .c file: asmlinkage __visible void do_something(void)
.
__visible
expands to __attribute__((externally_visible))
.
__cold
: the function is rarely used, the compiler should try to reduce the function's size.
notrace
expands to __attribute__((no_instrument_function))
.
__init
:
include/linux/init.h (After the kernel initialization process has finished, the functions marked with
__init
are discarded by a call to
free_initmem
(in
arch/x86/mm/init.c).
__init
expands to
__section(.init.text) __cold notrace
__percpu
void (*__initdata late_time_init)(void);
for_each_subsystem(ss, i) { }
x86_init
(for example x86_init.oem.arch_setup()
.
static int foo_bar(void) { }
, then early_initcall(foo_bar)
.
`MODULE_AUTHOR("Joe Doe <jd@jd.jd
MODULE_AUTHOR("Joe Doe <jd@jd.jd> and Sue Me <s@ue.me>")
/ MODULE_DESCRIPTION("Fobb the Xynthopossum")
/ MODULE_LICENSE("GPL")
/ MODULE_VERSION(...)
early_param("keep_bootcom", keep_bootcon_setup)
extern __printf(2, 3) int krumly_fown(struct clurr a, const char name, ...)
struct xyz __attribute__((16));
BUILD_BUG_ON(sizeof foobar != 4096)
__attribute__((regparm(0))
static void __attribute__((section(".inittext"))) xyz(int a) {...}
means that this code will be in the .inittext
section. Code in .inittext
can be used to signal error during initialization.
static __always_inline void* __inline_memcpy(...)
fastcall
calling convention: get parameters from ax
, dx
and cx
registers.
struct xyz {...} ____cacheline_internodealigned_in_smp
__visible unsigned int __irq_entry do_IRQ(...)
struct xyz {
u16 abc,
u16 def,
unsigned ist : 3, zero0 : 5, type : 5, dpl :2, p : 1;
u16 ghi
} __attribute__((packed))
bzimage
= gzip(vmlinux
+ header
+ kernel setup code
).