about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--malloc/mtrace.pl15
-rw-r--r--nscd/Makefile1
3 files changed, 16 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index d360290b1d..f45ef42623 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2004-10-04  Ulrich Drepper  <drepper@redhat.com>
+
+	* malloc/mtrace.pl: Avoid calling location unless it is needed for
+	output.  Patch by Edward Bishop <binutils@gmail.com>.
+
+	* nscd/Makefile (CFLAGS-gai.c): Add -fpie.
+
 2004-10-04  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c
diff --git a/malloc/mtrace.pl b/malloc/mtrace.pl
index 2d12929432..1640fa652d 100644
--- a/malloc/mtrace.pl
+++ b/malloc/mtrace.pl
@@ -165,17 +165,18 @@ while (<DATA>) {
 	if ($cols[$n] eq "+") {
 	    if (defined $allocated{$allocaddr}) {
 		printf ("+ %#0@XXX@x Alloc %d duplicate: %s %s\n",
-			hex($allocaddr), $nr, $wherewas{$allocaddr}, $where);
+			hex($allocaddr), $nr, &location($addrwas{$allocaddr}),
+			$where);
 	    } else {
 		$allocated{$allocaddr}=$howmuch;
-		$wherewas{$allocaddr}=&location($where);
+		$addrwas{$allocaddr}=$where;
 	    }
 	    last SWITCH;
 	}
 	if ($cols[$n] eq "-") {
 	    if (defined $allocated{$allocaddr}) {
 		undef $allocated{$allocaddr};
-		undef $wherewas{$allocaddr};
+		undef $addrwas{$allocaddr};
 	    } else {
 		printf ("- %#0@XXX@x Free %d was never alloc'd %s\n",
 			hex($allocaddr), $nr, &location($where));
@@ -185,7 +186,7 @@ while (<DATA>) {
 	if ($cols[$n] eq "<") {
 	    if (defined $allocated{$allocaddr}) {
 		undef $allocated{$allocaddr};
-		undef $wherewas{$allocaddr};
+		undef $addrwas{$allocaddr};
 	    } else {
 		printf ("- %#0@XXX@x Realloc %d was never alloc'd %s\n",
 			hex($allocaddr), $nr, &location($where));
@@ -196,10 +197,10 @@ while (<DATA>) {
 	    if (defined $allocated{$allocaddr}) {
 		printf ("+ %#0@XXX@x Realloc %d duplicate: %#010x %s %s\n",
 			hex($allocaddr), $nr, $allocated{$allocaddr},
-			$wherewas{$allocaddr}, &location($where));
+			&location($addrwas{$allocaddr}), &location($where));
 	    } else {
 		$allocated{$allocaddr}=$howmuch;
-		$wherewas{$allocaddr}=&location($where);
+		$addrwas{$allocaddr}=$where;
 	    }
 	    last SWITCH;
 	}
@@ -227,7 +228,7 @@ if ($#addrs >= 0) {
 		$anything=1;
 	    }
 	    printf ("%#0@XXX@x %#8x  at %s\n", hex($addr), $allocated{$addr},
-		    $wherewas{$addr});
+		    &location($addrwas{$addr}));
 	}
     }
 }
diff --git a/nscd/Makefile b/nscd/Makefile
index 34186241ec..16d67bd1d4 100644
--- a/nscd/Makefile
+++ b/nscd/Makefile
@@ -92,6 +92,7 @@ CFLAGS-nscd_setup_thread.c += -fpie
 CFLAGS-aicache.c += -fpie
 CFLAGS-selinux.c += -fpie
 CFLAGS-initgrcache.c += -fpie
+CFLAGS-gai.c += -fpie
 
 $(objpfx)nscd: $(addprefix $(objpfx),$(nscd-modules:=.o))
 	$(LINK.o) -pie -Wl,-O1 \