Summary: | [PATCH] Linux/sparc64 (64bit userland) fixes for xorg-x11 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Jeremy Huddleston <eradicator> | ||||||||
Component: | Driver/other | Assignee: | Adam Jackson <ajax> | ||||||||
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||||||
Severity: | normal | ||||||||||
Priority: | high | CC: | alan.coopersmith, erik.andren, roland.mainz | ||||||||
Version: | 6.8.2 | Keywords: | patch | ||||||||
Hardware: | SPARC | ||||||||||
OS: | Linux (All) | ||||||||||
Whiteboard: | |||||||||||
i915 platform: | i915 features: | ||||||||||
Bug Depends on: | 3686 | ||||||||||
Bug Blocks: | |||||||||||
Attachments: |
|
Description
Jeremy Huddleston
2005-03-19 13:14:20 UTC
Created attachment 2153 [details] [review] VISmoveImageCPP.s preprocessed assembly Oh, and for completeness, doing gcc -c -x assembler -Wa,-Av9a VISmoveImageCPP.s does give the errors as well... Created attachment 2155 [details] [review] asfix.patch I'm using this patch in conjunction with the following in host.def as a shot at a workaround: #define AsCmd sparc64-unknown-linux-gnu-as I haven't tested it yet (It's compiling right now). CC:'ing Alan Coopersmith who may be familar with this kind of hardware to take a look at the patch... Sorry, I don't know SPARC assembly language. Ok, well I'll just use this bug as a tracker for linux/sparc64 issues/patches for the time being. Another issue I found was the following: /usr/tmp/portage/xorg-x11-6.8.2-r1/work/xc/programs/Xserver/hw/xfree86/xf86cfg $ make rm -f xorgcfg sparc64-unknown-linux-gnu-gcc -o xorgcfg -mcpu=ultrasparc -mtune=ultrasparc -O2 -pipe -fno-strict-aliasing -ansi -pedantic -Wno-return-type -w -L../../../../../exports/lib accessx.o cards.o config.o card-cfg.o expert.ohelp.o interface.o keyboard-cfg.o libc_wrapper.o loader.o loadmod.o monitor-cfg.o mouse-cfg.o options.o screen-cfg.o screen.o startx.o strlcat.o strlcpy.o stubs.o text-mode.o vidmode.o xf86config.o -lxkbui -lxkbfile -lxf86config -lXxf86misc -lXxf86vm -lXaw -lXmu -lXt -lSM -lICE -lXext -lX11 -lXt -lSM -lICE -lXpm -lXp -L../loader -lxloader -L../dummylib -ldummy -rdynamic -ldl -lXext -lX11 -lncurses -lm -Wl,-rpath-link,../../../../../exports/lib ../loader/libxloader.a(loader.o)(.data+0x240): undefined reference to `.rem' ../loader/libxloader.a(loader.o)(.data+0x250): undefined reference to `.urem' ../loader/libxloader.a(loader.o)(.data+0x260): undefined reference to `.mul' ../loader/libxloader.a(loader.o)(.data+0x270): undefined reference to `.umul' ../loader/libxloader.a(loader.o)(.data+0x280): undefined reference to `.div' ../loader/libxloader.a(loader.o)(.data+0x290): undefined reference to `.udiv' collect2: ld returned 1 exit status make: *** [xorgcfg] Error 1 Those functions should be defined by the DEFFUNCDOT macro section in xc/programs/Xserver/hw/xfree86/loader/loader.c They're defined, and that's the problem. They're in the 32bit glibc, but not the 64bit glibc. I'm adding !defined(__arch64__)s around the code that uses them in loader.c since they're not needed on sparc64. I'll post a final patch including that and other 64bit hicups I run into after testing it out. Created attachment 2218 [details] [review] xorg-sparc64.patch This patch fixes the sparc64 assembly files so that they include the proper .register pseudoops on sparc64 as well as a few other linux sparc64 related fixes. So this patch is fairly trivial... it would be nice to get it applied or commented on. i need to split this patch, the Mesa changes need to be fed to Mesa first. Ping and adding patch keyword. Sorry about the phenomenal bug spam, guys. Adding xorg-team@ to the QA contact so bugs don't get lost in future. afaict these are all applied now. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.