2002-12-01 15:06:53

by Bob Tracy

[permalink] [raw]
Subject: [PATCH] aic7xxx/aicasm ld failure

Dunno what the officially blessed compiler is these days, or whether
that even makes a difference. The problem is that the order in which
object modules and libraries are specified on the linker command line
is significant. The following patchlet (against 2.5.48-2.5.50) moves
"-ldb" out of AICASM_CFLAGS and into a separate LIBS variable to avoid
an undefined __db185_open symbol.


--- linux/drivers/scsi/aic7xxx/aicasm/Makefile.orig 2002-11-12 15:30:39.000000000 -0600
+++ linux/drivers/scsi/aic7xxx/aicasm/Makefile 2002-11-18 14:57:47.000000000 -0600
@@ -7,11 +7,12 @@
GENHDRS= y.tab.h aicdb.h

SRCS= ${GENSRCS} ${CSRCS}
+LIBS= -ldb

# Cleaned up by make clean
clean-files := $(GENSRCS) $(GENHDRS) y.output $(PROG)
# Override default kernel CFLAGS. This is a userland app.
-AICASM_CFLAGS:= -I/usr/include -I. -ldb
+AICASM_CFLAGS:= -I/usr/include -I.
YFLAGS= -d

NOMAN= noman
@@ -29,7 +30,7 @@
endif

$(PROG): $(SRCS) $(GENHDRS)
- $(AICASM_CC) $(AICASM_CFLAGS) $(SRCS) -o $(PROG)
+ $(AICASM_CC) $(AICASM_CFLAGS) $(SRCS) -o $(PROG) $(LIBS)

aicdb.h:
@if [ -e "/usr/include/db3/db_185.h" ]; then \

--
-----------------------------------------------------------------------
Bob Tracy WTO + WIPO = DMCA? http://www.anti-dmca.org
[email protected]
-----------------------------------------------------------------------