]> git.neil.brown.name Git - portmap.git/commitdiff
Compile portmap with -pie
authorNeil Brown <neilb@notabene.brown>
Fri, 20 Apr 2007 02:42:30 +0000 (12:42 +1000)
committerNeil Brown <neilb@notabene.brown>
Fri, 20 Apr 2007 02:42:30 +0000 (12:42 +1000)
This is from SuSE/Fedora.  I think it makes address space
randomisation work.
I don't know what 'visibility "hidden"' is all about..

Makefile
pmap_check.c
pmap_check.h

index 90e882a5c5fac9bad49cf656ceb02019cdb0895e..f4debe1b5f9564889db17b937e03d402cf5d9b53 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -99,13 +99,14 @@ SHELL       = /bin/sh
 COPT   = $(CONST) $(HOSTS_ACCESS) $(CHECK_PORT) \
        $(SYS) -DFACILITY=$(FACILITY) $(ULONG) $(ZOMBIES) $(SA_LEN) \
        $(LOOPBACK) $(SETPGRP)
-CFLAGS = $(COPT) -O $(NSARCHS) -Wall -Wstrict-prototypes
+CFLAGS = $(COPT) -O $(NSARCHS) -Wall -Wstrict-prototypes \
+       -fpie
 OBJECTS        = portmap.o pmap_check.o from_local.o
 
 all:   portmap pmap_dump pmap_set
 
 portmap: $(OBJECTS)
-       $(CC) $(CFLAGS) -o $@ $(OBJECTS) $(WRAP_LIB) $(LIBS)
+       $(CC) $(CFLAGS) -pie -o $@ $(OBJECTS) $(WRAP_LIB) $(LIBS)
 
 pmap_dump: pmap_dump.c
        $(CC) $(CFLAGS) -o $@ $? $(LIBS)
index 2b8914e04a5c69832ed243086567fdbe1e7bbb39..1fed2e1e30781ffb709acdbb3c7bebad0550aa10 100644 (file)
@@ -67,9 +67,9 @@ sccsid[] = "@(#) pmap_check.c 1.8 96/07/07 10:49:10";
 static void logit(int severity, struct sockaddr_in *addr,
                  u_long procnum, u_long prognum, char *text);
 static void toggle_verboselog(int sig);
-int     verboselog = 0;
-int     allow_severity = LOG_INFO;
-int     deny_severity = LOG_WARNING;
+int     verboselog __attribute ((visibility ("hidden"))) = 0;
+int     allow_severity __attribute ((visibility ("hidden"))) = LOG_INFO;
+int     deny_severity __attribute ((visibility ("hidden"))) = LOG_WARNING;
 
 /* A handful of macros for "readability". */
 
index 3a00b217a23eedec3c464c658440b3a7f529f705..ba18f3378a85f31e61f31021902f83b06e988ed3 100644 (file)
@@ -18,9 +18,9 @@ extern int check_privileged_port(struct sockaddr_in *addr,
                                 u_long  prog, u_long  port);
 extern int check_callit(struct sockaddr_in *addr, u_long  proc,
                        u_long  prog, u_long  aproc);
-extern int verboselog;
-extern int allow_severity;
-extern int deny_severity;
+extern int verboselog __attribute__ ((visibility ("hidden")));
+extern int allow_severity __attribute__ ((visibility ("hidden")));
+extern int deny_severity __attribute__ ((visibility ("hidden")));
 
 #ifdef LOOPBACK_SETUNSET
 #define CHECK_SETUNSET check_setunset