Fix syscons on amd64. The SC_PIXEL_MODE commit from May 29th added a new
function pointer to the vga render dispatch table and initialized it with vga_nop. The problem is that vga_nop() is a varargs function, and the table declares a non-varargs function pointer. On amd64 (and I think ppc), mixing varargs and non-varargs function pointers is fatal. Change vga_nop() and gfb_nop() from varargs to non-varargs do-nothing functions. This stops the stack corruption that only happened on amd64. Approved by: re (scottl)
This commit is contained in:
parent
18e370c342
commit
e55b30b469
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=147358
@ -62,7 +62,7 @@ static vr_draw_mouse_t gfb_mouse;
|
||||
#define gfb_mouse (vr_draw_mouse_t *)gfb_nop
|
||||
#endif
|
||||
|
||||
static void gfb_nop(scr_stat *scp, ...);
|
||||
static void gfb_nop(scr_stat *scp);
|
||||
|
||||
sc_rndr_sw_t txtrndrsw = {
|
||||
(vr_init_t *)gfb_nop,
|
||||
@ -113,7 +113,7 @@ static u_char mouse_pointer[16] = {
|
||||
#endif
|
||||
|
||||
static void
|
||||
gfb_nop(scr_stat *scp, ...)
|
||||
gfb_nop(scr_stat *scp)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -92,7 +92,7 @@ static vr_draw_mouse_t vga_pxlmouse_planar;
|
||||
static vr_draw_border_t vga_grborder;
|
||||
#endif
|
||||
|
||||
static void vga_nop(scr_stat *scp, ...);
|
||||
static void vga_nop(scr_stat *scp);
|
||||
|
||||
static sc_rndr_sw_t txtrndrsw = {
|
||||
(vr_init_t *)vga_nop,
|
||||
@ -219,7 +219,7 @@ static uint16_t mouse_buf16[256];
|
||||
#endif
|
||||
|
||||
static void
|
||||
vga_nop(scr_stat *scp, ...)
|
||||
vga_nop(scr_stat *scp)
|
||||
{
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user