Please apply this patch to udev-lfs

Add -Wl,--no-undefined for linker to detect missing symbols in libudev.so. Replace 'nm /lib/libc.so.6' with 'objdump -T /lib/libc.so.6' since the former doesn't work if library has been stripped.

Adding -Wl,--no-undefined already showed me few undefined references which should be fixed now.
Index: Makefile.lfs
===================================================================
--- Makefile.lfs	(revision 10213)
+++ Makefile.lfs	(working copy)
@@ -28,7 +28,7 @@
 
 OPTIONS2 := $(OPTIONS) -fvisibility=hidden
 
-LDFLAGS   = -pthread -lrt -Wl,--as-needed -Wl,--gc-sections
+LDFLAGS   = -pthread -lrt -Wl,--as-needed -Wl,--gc-sections -Wl,--no-undefined
 LDFLAGS2 := $(LDFLAGS) -lblkid -lkmod 
 
 DEF = -include cfg.h                    \
@@ -82,7 +82,9 @@
               sd-daemon.c   \
               time-util.c   \
               fileio.c      \
-              strxcpyx.c
+              strxcpyx.c    \
+              env-util.c    \
+              utf8.c
 
 COMMON_OBJS := $(addprefix build/, $(COMMON_SRCS:.c=.o))
 
@@ -149,7 +151,7 @@
        -e 's|@includedir@|/usr/include|g'  \
         < $< > $@
 
-SECURE = $(shell if nm /lib/libc.so.6 | grep -q " secure_getenv"; \
+SECURE = $(shell if objdump -T /lib/libc.so.6 | grep -q " secure_getenv"; \
 then echo yes; fi)
 
 ifeq "$(SECURE)" "yes"
@@ -205,6 +207,7 @@
       -Wl,--no-whole-archive -ldl -lrt -O2  \
       -Wl,--as-needed                       \
       -Wl,--gc-sections                     \
+      -Wl,--no-undefined                    \
       -Wl,-soname,$(LIBUDEV_LINK_NAME)      \
       -o build/$(LIBUDEV_REAL_NAME)
 
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to