public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* [Linux-ia64] [PATCH] Fix for kernel DRM build
@ 2001-01-09 22:32 Uros Prestor
  2001-01-09 22:46 ` David Mosberger
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Uros Prestor @ 2001-01-09 22:32 UTC (permalink / raw)
  To: linux-ia64

[-- Attachment #1: Type: text/plain, Size: 856 bytes --]

When building the latest 2.4.0-010109 kernel with DRI support enabled,
I got the following link-time error:

     ld: drivers/char/drm/drm.o: linking 64-bit files with 32-bit
     files
     ld: drivers/char/drm/drm.o: linking constant-gp files with
     non-constant-gp files

It turns out that drm.o was built as follows:

     rm -f drmlib.a
     ar  rcs drmlib.a init.o memory.o proc.o auth.o context.o
     drawable.o bufs.o lists.o lock.o ioctl.o fops.o vm.o dma.o
     ctxbitmap.o
     rm -f drm.o
     ld  -r -o drm.o drmlib.a

Looks like the ar output confuses the linker.  I don't even know if this
is supposed to work with the current toolchain.  In any case, if you
remove the ar step and use ld -r directly the problem disappears.  The
enclosed patch fixes the DRI Makefile to remove the ar step.

Uros.

--
Uros Prestor
uros@turbolinux.com



[-- Attachment #2: linux-2.4.0-ia64-drm-build.patch --]
[-- Type: text/plain, Size: 931 bytes --]

diff -ruN linux-2.4.0-010109/drivers/char/drm/Makefile linux-2.4.0-010109.drm/drivers/char/drm/Makefile
--- linux-2.4.0-010109/drivers/char/drm/Makefile	Thu Jan  4 13:07:01 2001
+++ linux-2.4.0-010109.drm/drivers/char/drm/Makefile	Tue Jan  9 13:43:21 2001
@@ -63,9 +63,9 @@
 lib-objs-mod := $(patsubst %.o,%-mod.o,$(lib-objs))
 
 ifdef MAKING_MODULES
-  lib = drmlib-mod.a
+  lib = drmlib-mod.o
 else
-  obj-y += drmlib.a
+  obj-y += drmlib.o
 endif
 
 include $(TOPDIR)/Rules.make
@@ -73,13 +73,11 @@
 $(patsubst %.o,%.c,$(lib-objs-mod)): 
 	@ln -sf $(subst -mod,,$@) $@
 
-drmlib-mod.a: $(lib-objs-mod)
-	rm -f $@
-	$(AR) $(EXTRA_ARFLAGS) rcs $@ $(lib-objs-mod)
+drmlib-mod.o: $(lib-objs-mod)
+	$(LD) -r -o $@ $(lib-objs-mod)
 
-drmlib.a: $(lib-objs)
-	rm -f $@
-	$(AR) $(EXTRA_ARFLAGS) rcs $@ $(lib-objs)
+drmlib.o: $(lib-objs)
+	$(LD) -r -o $@ $(lib-objs)
 
 gamma.o: $(gamma-objs) $(lib)
 	$(LD) -r -o $@ $(gamma-objs) $(lib)

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2001-01-16  2:02 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-01-09 22:32 [Linux-ia64] [PATCH] Fix for kernel DRM build Uros Prestor
2001-01-09 22:46 ` David Mosberger
2001-01-10  1:35 ` H . J . Lu
2001-01-16  0:42 ` Jim Wilson
2001-01-16  1:13 ` H . J . Lu
2001-01-16  2:02 ` Jim Wilson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox