summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/ppp/pppd
diff options
context:
space:
mode:
Diffstat (limited to 'mdk-stage1/ppp/pppd')
-rw-r--r--mdk-stage1/ppp/pppd/Makefile26
-rw-r--r--mdk-stage1/ppp/pppd/sys-linux.c2
-rw-r--r--mdk-stage1/ppp/pppd/utils.c2
3 files changed, 10 insertions, 20 deletions
diff --git a/mdk-stage1/ppp/pppd/Makefile b/mdk-stage1/ppp/pppd/Makefile
index ad2bdae90..682ad08c1 100644
--- a/mdk-stage1/ppp/pppd/Makefile
+++ b/mdk-stage1/ppp/pppd/Makefile
@@ -20,40 +20,30 @@ include $(top_dir)/Makefile.common
TARGETS = pppd
-ifeq (DIETLIBC, $(L))
-TARGETS += pppd-DIET
-endif
-
BINTARGET = ../pppd-bin
all: $(TARGETS)
clean:
- rm -f *.o *.a $(BINTARGET) pppd pppd-DIET
+ rm -f *.o *.a $(BINTARGET) pppd
-FLAGS = -Wall -Werror -Os -fomit-frame-pointer -DDO_BSD_COMPRESS=0 -D_linux_=1 -DHAVE_MMAP -DNO_DRAND48
+FLAGS = -Wall -Werror -Os -fomit-frame-pointer -DDO_BSD_COMPRESS=0 -D_linux_=1 -DHAVE_MMAP -DNO_DRAND48 -D_BSD_SOURCE -D_GNU_SOURCE
INCS = -I../include -I.
+ifeq (GLIBC, $(L))
+LIBS = -static -lcrypt
+endif
+
OBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o auth.o options.o demand.o utils.o sys-linux.o ipxcp.o multilink.o tdb.o tty.o
-OBJS-DIET = $(subst .o,-DIET.o,$(OBJS))
pppd: $(OBJS)
- gcc -static -o $@ $^ -lcrypt
- $(STRIPCMD) $@
- cp -f $@ $(BINTARGET)
-
-pppd-DIET: $(OBJS-DIET)
- gcc $(DIETLIBC_LDFLAGS_STAGE1) -o $@ $^ $(DIETLIBC_LIBC)
+ $(DIET) gcc -o $@ $^ $(LIBS)
$(STRIPCMD) $@
cp -f $@ $(BINTARGET)
$(OBJS): %.o: %.c
- gcc $(FLAGS) $(INCS) $(GLIBC_INCLUDES) -c $< -o $@
-
-$(OBJS-DIET): %-DIET.o: %.c
- gcc $(FLAGS) $(INCS) $(DIETLIBC_INCLUDES) -c $< -o $@
-
+ $(DIET) gcc $(FLAGS) $(INCS) $(INCLUDES) -c $< -o $@
diff --git a/mdk-stage1/ppp/pppd/sys-linux.c b/mdk-stage1/ppp/pppd/sys-linux.c
index d341bb3de..3ab92dfba 100644
--- a/mdk-stage1/ppp/pppd/sys-linux.c
+++ b/mdk-stage1/ppp/pppd/sys-linux.c
@@ -51,7 +51,7 @@
#define MAX_ADDR_LEN 7
#endif
-#if __GLIBC__ >= 2
+#if (defined(__GLIBC__) && __GLIBC__ >= 2) || defined(__dietlibc__)
#include <asm/types.h> /* glibc 2 conflicts with linux/types.h */
#include <net/if.h>
#include <net/if_arp.h>
diff --git a/mdk-stage1/ppp/pppd/utils.c b/mdk-stage1/ppp/pppd/utils.c
index 9c987cfcd..5861d8980 100644
--- a/mdk-stage1/ppp/pppd/utils.c
+++ b/mdk-stage1/ppp/pppd/utils.c
@@ -254,7 +254,7 @@ vslprintf(buf, buflen, fmt, args)
break;
case 'r':
f = va_arg(args, char *);
-#ifndef __powerpc__
+#if !defined(__powerpc__) && !defined(__x86_64__)
n = vslprintf(buf, buflen + 1, f, va_arg(args, va_list));
#else
/* On the powerpc, a va_list is an array of 1 structure */