emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SuperH port


From: Dan Nicolaescu
Subject: Re: SuperH port
Date: Wed, 8 Oct 2008 07:31:56 -0700 (PDT)

Ulrich Mueller <address@hidden> writes:

  > Hello,
  > 
  > please find below a patch that ports Emacs to SuperH running GNU/Linux.
  > (Thanks to the Gentoo SuperH architecture team, especially Raúl Porcel
  > for his help with testing.)
  > 
  > I've also restored the two alternatives in configure.in for
  > shle-*-netbsd and sh-*-openbsd which were deleted in the recent
  > "desupport old platforms" campaign.

Given this from your patch:

  > +  Status of SuperH support on NetBSD and OpenBSD is unknown.
  > +

Please do not wily nilly add them back, removing stuff is not something
we take lightly, so we should not be adding back things that are not
known to work, nor were requested by actual users.

  > +  ## SuperH (little endian) Linux-based GNU system
  > +  sh[34]-*-linux-gnu* )
  > +    machine=sh3el opsys=gnu-linux
  > +  ;;
  > +
  > +  ## SuperH (big endian) Linux-based GNU system
  > +  sh[34]eb-*-linux-gnu* )
  > +    machine=sh3eb opsys=gnu-linux
  > +  ;;

Were both endian versions tested?
Why have two files, only a single macro should be different between
them, and it can be conditionally defined.

Simply adding the file back is not OK, work has been done to clean up
and simplify these files.

  > +/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
  > +   is the most significant byte.  */
  > +
  > +#undef WORDS_BIG_ENDIAN

This should be conditionally defined.


  > +
  > +/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
  > + * group of arguments and treat it as an array of the arguments.  */
  > +
  > +#define NO_ARG_ARRAY
  > +
  > +/* Now define a symbol for the cpu type, if your compiler
  > +   does not define it automatically.  */
  > +
  > +/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
  > +   the 24-bit bit field into an int.  In other words, if bit fields
  > +   are always unsigned.
  > +
  > +   This flag only matters if you use USE_LISP_UNION_TYPE.  */
  > +
  > +#define EXPLICIT_SIGN_EXTEND

Is this needed?  Please test without it.


  > +/* Data type of load average, as read out of kmem.  */
  > +
  > +#define LOAD_AVE_TYPE long
  > +
  > +/* Convert that into an integer that is 100 for a load average of 1.0  */
  > +
  > +#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)

These are not needed for GNU/Linux, remove them.

  > +/* Define CANNOT_DUMP on machines where unexec does not work.
  > +   Then the function dump-emacs will not be defined
  > +   and temacs will do (load "loadup") automatically unless told otherwise. 
 */
  > +
  > +#undef CANNOT_DUMP

Not needed.

  > +/* Define VIRT_ADDR_VARIES if the virtual addresses of
  > +   pure and impure space as loaded can vary, and even their
  > +   relative order cannot be relied on.
  > +
  > +   Otherwise Emacs assumes that text space precedes data space,
  > +   numerically.  */
  > +
  > +#define VIRT_ADDR_VARIES

Is this needed?  Please test without it.



  > +/* Define HAVE_ALLOCA to say that the system provides a properly
  > +   working alloca function and it should be used.
  > +   Undefine it if an assembler-language alloca
  > +   in the file alloca.s should be used.  */
  > +
  > +#define HAVE_ALLOCA


Remove.

  > +/* Define NO_REMAP if memory segmentation makes it not work well
  > +   to change the boundary between the text section and data section
  > +   when Emacs is dumped.  If you define this, the preloaded Lisp
  > +   code will not be sharable; but that's better than failing completely.  
*/
  > +
  > +#define NO_REMAP

This is not needed.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]