[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: configure.in support for FreeBSD ia64/sparc64/powerpc
From: |
Ulrich Mueller |
Subject: |
Re: configure.in support for FreeBSD ia64/sparc64/powerpc |
Date: |
Fri, 19 Dec 2008 14:51:21 +0100 |
>>>>> On Mon, 6 Nov 2006, Giorgos Keramidas wrote:
>On 2006-11-03 22:28, Chong Yidong <address@hidden> wrote:
>>Giorgos Keramidas <address@hidden> writes:
>>> The following change makes Emacs buildable on FreeBSD running on
>>> sparc64, ia64 and powerpc too. It has been tested for some time
>>> as a local patch in the editors/emacs-devel port of FreeBSD, so it
>>> would be nice if it became part of Emacs 22. We won't have to
>>> maintain local diffs for this part then:
>>>
>>> --- a/src/alloc.c Fri Oct 27 15:45:51 2006 +0000
>>> +++ b/src/alloc.c Sat Oct 28 01:49:45 2006 +0300
>>> @@ -4560,7 +4560,11 @@ mark_stack ()
>>> needed on ia64 too. See mach_dep.c, where it also says inline
>>> assembler doesn't work with relevant proprietary compilers.
>>> */
>>> #ifdef sparc
>>> +#ifdef __sparc64__
>>> + asm ("flushw");
>>> +#else
>>> asm ("ta 3");
>>> +#endif
>>> #endif
>>
>> Is this change correct for non-FreeBSD sparc64 systems too?
>> (I don't know anything about this part of the code.)
> Sorry for taking so long to follow up about this. I tried looking
> at the sparc v9 specification for hints about why this change is
> needed on 64-bit SPARC platforms, but I couldn't come up with
> anything in a reasonable amount of time. I am not that proficient
> with SPARC64 assembly, but I will ask our FreeBSD/sparc64 people for
> details.
> I'll follow up again when I get a reply from the people who know more
> about sparc64 assembly :)
Following up to this message from two years ago. ;-)
Gentoo also maintains the above as local patch, both for FreeBSD and
GNU/Linux. Our Sparc team says that the patch is sane, and without it
Emacs cannot be built on Sparc/FreeBSD. See Gentoo Bug 159584 for
further details: <http://bugs.gentoo.org/159584>
Below is a slightly updated patch that will apply to the currect CVS
trunk. It would be nice if it could make it into Emacs 23.
Ulrich
--- emacs-orig/src/alloc.c
+++ emacs/src/alloc.c
@@ -4573,7 +4573,11 @@
needed on ia64 too. See mach_dep.c, where it also says inline
assembler doesn't work with relevant proprietary compilers. */
#ifdef __sparc__
+#ifdef __sparc64__
+ asm ("flushw");
+#else
asm ("ta 3");
+#endif
#endif
/* Save registers that we need to see on the stack. We need to see
- Re: configure.in support for FreeBSD ia64/sparc64/powerpc,
Ulrich Mueller <=
- Re: configure.in support for FreeBSD ia64/sparc64/powerpc, Dan Nicolaescu, 2008/12/19
- Re: configure.in support for FreeBSD ia64/sparc64/powerpc, Ulrich Mueller, 2008/12/19
- Re: configure.in support for FreeBSD ia64/sparc64/powerpc, Giorgos Keramidas, 2008/12/19
- Re: configure.in support for FreeBSD ia64/sparc64/powerpc, Ulrich Mueller, 2008/12/21
- Re: configure.in support for FreeBSD ia64/sparc64/powerpc, Ulrich Mueller, 2008/12/29
- Re: configure.in support for FreeBSD ia64/sparc64/powerpc, Dan Nicolaescu, 2008/12/29
- Re: configure.in support for FreeBSD ia64/sparc64/powerpc, Ulrich Mueller, 2008/12/29
- Re: configure.in support for FreeBSD ia64/sparc64/powerpc, Dan Nicolaescu, 2008/12/29
- Re: configure.in support for FreeBSD ia64/sparc64/powerpc, Ulrich Mueller, 2008/12/29
- Re: configure.in support for FreeBSD ia64/sparc64/powerpc, Giorgos Keramidas, 2008/12/29