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:
Peter Wemm 2005-06-14 02:43:45 +00:00
parent 18e370c342
commit e55b30b469
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=147358
2 changed files with 4 additions and 4 deletions

View File

@ -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)
{
}

View File

@ -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)
{
}