From e057a1b5930ec538c2b8abbba700a436ef2c81d5 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Wed, 21 Sep 2011 13:27:50 -0700 Subject: [PATCH] Link libresolv.so with ld.so for __stack_chk_guard. --- ChangeLog | 7 +++++++ resolv/Makefile | 8 +++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 3aa91f5..693745f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2011-09-21 Chung-Lin Tang + Maxim Kuvyrkov + Joseph Myers + + * resolv/Makefile (LDLIBS-resolv.so): Link in $(elfobjdir)/ld.so + if needed for __stack_chk_guard. + 2011-09-19 Roland McGrath * sysdeps/posix/spawni.c (script_execute): Always define it. diff --git a/resolv/Makefile b/resolv/Makefile index ec3788f..b4287de 100644 --- a/resolv/Makefile +++ b/resolv/Makefile @@ -1,4 +1,5 @@ -# Copyright (C) 1994-2001,2003,2004,2007,2008 Free Software Foundation, Inc. +# Copyright (C) 1994-2001,2003,2004,2007,2008,2011 +# Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -88,6 +89,11 @@ CFLAGS-res_hconf.c = -fexceptions # This ensures they will load libc.so for needed symbols if loaded by # a statically-linked program that hasn't already loaded it. $(objpfx)libresolv.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a +# Some hosts need '__stack_chk_guard', so pull in the definition from +# ld.so if required. +ifeq (yesyes,$(have-ssp)$(elf)) +LDLIBS-resolv.so += $(as-needed) $(elfobjdir)/ld.so $(no-as-needed) +endif # The DNS NSS modules needs the resolver. $(objpfx)libnss_dns.so: $(objpfx)libresolv.so $(common-objpfx)libc.so \ -- 2.7.4