1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-28 20:25:38 +03:00

[PATCH] fix asmlinkage

This patch fixes the reintroduced bug with the
sig_handler(), if we link against a -mregparm=3 compiled
klibc on i386.
It also fixes some compiler warnings about redefined
asmlinkage on some systems.
Also some (broken?) compilers on distros throw out warnings
if asmlinkage is before "static void". This fixes it, too.
This commit is contained in:
mbuesch@freenet.de 2004-10-13 22:38:15 -07:00 committed by Greg KH
parent dc117daa28
commit e5a5b54ab6
4 changed files with 12 additions and 3 deletions

View File

@ -112,7 +112,7 @@ OPTIMIZATION := ${shell if $(CC) -Os -S -o /dev/null -xc /dev/null >/dev/null 2>
# add -Wredundant-decls when libsysfs gets cleaned up
WARNINGS := -Wall
CFLAGS := -pipe -Dasmlinkage=
CFLAGS := -pipe
# set up the proper tdb spinlock code if we can
ifeq ($(strip $(ARCH)),i386)

2
udev.c
View File

@ -58,7 +58,7 @@ void log_message(int level, const char *format, ...)
}
#endif
asmlinkage static void sig_handler(int signum)
static void asmlinkage sig_handler(int signum)
{
switch (signum) {
case SIGALRM:

View File

@ -65,6 +65,15 @@ do { \
pos = pos + len + strspn(pos, separator), len = strcspn(pos, separator)) \
if (len > 0)
#ifdef asmlinkage
# undef asmlinkage
#endif
#ifdef __i386__
# define asmlinkage __attribute__((regparm(0)))
#endif
#ifndef asmlinkage
# define asmlinkage /* nothing */
#endif
extern char *get_action(void);
extern char *get_devpath(void);

View File

@ -309,7 +309,7 @@ skip:
return;
}
asmlinkage static void sig_handler(int signum)
static void asmlinkage sig_handler(int signum)
{
int rc;