-fno-common became the default, and and kmesg was relying on common symbols being merged.
Unified · Split
| @@ -32,6 +32,7 @@ typedef struct Rgrp Rgrp; · 31 unmodified lines | ||
| 32 | 32 | typedef struct RWlock RWlock; |
| 33 | 33 | typedef struct Waitq Waitq; |
| 34 | 34 | typedef struct Walkqid Walkqid; |
| 35 | +typedef struct Kmesg Kmesg; | |
| 35 | 36 | typedef int Devgen(Chan*, char*, Dirtab*, int, int, Dir*); |
| 36 | 37 | |
| 37 | 38 | #include "fcall.h" |
| @@ -477,8 +478,10 @@ extern void _setproc(Proc*); · 439 unmodified lines | ||
| 477 | 478 | * Log console output so it can be retrieved via /dev/kmesg. |
| 478 | 479 | * This is good for catching boot-time messages after the fact. |
| 479 | 480 | */ |
| 480 | −struct { | |
| 481 | +struct Kmesg { | |
| 481 | 482 | Lock lk; |
| 482 | 483 | uint n; |
| 483 | 484 | char buf[16384]; |
| 484 | −} kmesg; | |
| 485 | +}; | |
| 486 | + | |
| 487 | +extern Kmesg kmesg; | |
| @@ -13,6 +13,7 @@ · 12 unmodified lines | ||
| 13 | 13 | |
| 14 | 14 | void (*screenputs)(char*, int) = 0; |
| 15 | 15 | |
| 16 | +Kmesg kmesg; /* console messages */ | |
| 16 | 17 | Queue* kbdq; /* unprocessed console input */ |
| 17 | 18 | Queue* lineq; /* processed console input */ |
| 18 | 19 | Queue* kprintoq; /* console output, for /dev/kprint */ |