From cf191d929dc5b33c3bd103c77c7820ce50c42a9d Mon Sep 17 00:00:00 2001
From: jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Mon, 11 Apr 2011 16:06:46 +0000
Subject: [PATCH] [buildroot] rules.mk: properly populate $(LIBGCC_S) for
 external toolchains

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26593 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 rules.mk | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/rules.mk b/rules.mk
index a3516a57a..7be2d6195 100644
--- a/rules.mk
+++ b/rules.mk
@@ -110,7 +110,12 @@ TARGET_PATH:=$(STAGING_DIR_HOST)/bin:$(PATH)
 TARGET_CFLAGS:=$(TARGET_OPTIMIZATION)$(if $(CONFIG_DEBUG), -g3)
 TARGET_CPPFLAGS:=-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include
 TARGET_LDFLAGS:=-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib
+ifneq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
+LIBGCC_S_PATH=$(realpath $(wildcard $(call qstrip,$(CONFIG_LIBGCC_ROOT_DIR))/$(call qstrip,$(CONFIG_LIBGCC_FILE_SPEC))))
+LIBGCC_S=$(if $(LIBGCC_S_PATH),-L$(dir $(LIBGCC_S_PATH)) -lgcc_s)
+else
 LIBGCC_S=$(if $(wildcard $(TOOLCHAIN_DIR)/lib/libgcc_s.so),-L$(TOOLCHAIN_DIR)/lib -lgcc_s,$(wildcard $(TOOLCHAIN_DIR)/lib/gcc/*/*/libgcc.a))
+endif
 ifdef CONFIG_USE_UCLIBC
 LIBRPC=-lrpc
 endif
-- 
2.20.1