When doing a cross compiling it is common to use EXTRA_CFLAGS with
--sysroot option to point to alternate root filesystem. This already
works as expected for objects and executables, it just doesn't work
correctly for shared libraries.

When a shared library is linked using CC this flag needs to
be passed in order for libraries to be found.

Signed-off-by: Stephen Hemminger <step...@networkplumber.org>
---
 mk/rte.shared.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mk/rte.shared.mk b/mk/rte.shared.mk
index 2b501ddb8480..a0620a3eb233 100644
--- a/mk/rte.shared.mk
+++ b/mk/rte.shared.mk
@@ -31,7 +31,7 @@ exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
 
 ifeq ($(LINK_USING_CC),1)
 override EXTRA_LDFLAGS := $(call linkerprefix,$(EXTRA_LDFLAGS))
-O_TO_SO = $(CC) $(call linkerprefix,$(LDFLAGS)) $(LDFLAGS_$(@)) 
$(EXTRA_LDFLAGS) \
+O_TO_SO = $(CC) $(EXTRA_CFLAGS) $(call linkerprefix,$(LDFLAGS)) 
$(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \
        -shared -o $@ $(OBJS-y) $(call linkerprefix,$(LDLIBS))
 else
 O_TO_SO = $(LD) $(LDFLAGS) $(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \
-- 
2.20.1

Reply via email to