Bug 138772 - emulators/qemu should build on SPARC
Summary: emulators/qemu should build on SPARC
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Juergen Lock
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-12 20:40 UTC by Nathaniel Filardo
Modified: 2014-08-19 14:11 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nathaniel Filardo 2009-09-12 20:40:04 UTC
emulators/qemu excludes sparc64 via ONLY_FOR_ARCH but there's relatively little that seems to need to change to fix that.

Fix: 

Relaxen and watchen das blinkenlights for libmath; this hack for i386 and x68_64 is unneded on sparc64.

dyngen-exec.h needs to be told that we define {u,}int64_t already

cpu-exec.c needed to include sys/ucontext.h on FreeBSD too, not just Linux

cpu-exec.c:cpu_signal_handler needed to be told in the right spot :
#elif defined(__FreeBSD__)
    ucontext_t *uc = puc;
    void *sigmask = &uc->sigmask;
    unsigned long pc = uc->uc_mcontext.mc_tpc;

How much of this should be worked around in ports vs. how much should go upstream I am not sure.  I'm also not sufficiently familiar with the workings of ports to propose a patch, sorry. :)
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2009-09-12 20:40:14 UTC
Responsible Changed
From-To: freebsd-ports-bugs->nox

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Juergen Lock 2009-09-13 21:18:42 UTC
I agree with $Subject, but you'll have to help me there as I don't have
a sparc box to play with...  First, this should probably be done with a
git snapshot so that merging the fixes upstream will be easier, and also
there may be bugfixes done since 0.10.6 that might be useful to you.
The latest git snapshot I made a port update for is
	http://people.freebsd.org/~nox/qemu/qemu-devel-20090829.patch
- apply this to a copy of the current /usr/ports/emulators/qemu-devel
dir, remove files/patch-fbsd and files/patch-libmath* (we can take
care of applying these conditionally later), do a `make patch' and
back up the work/ dir that creates, then you are ready to apply the
remaining fixes you mentioned below work/ and anything else you find
necessary to get `make' to build a properly working port.  After that
you can do like `diff -urp work-backup work >sparc64.diff' to extract
your fixes and then send them to me.  Oh and if you patched something
later but `make' won't build again you need to `rm work/.build_done.*' .
More info is here:
	http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/

 Thanx! :)
	Juergen
Comment 3 dfilter service freebsd_committer freebsd_triage 2011-06-11 17:22:56 UTC
nox         2011-06-11 16:22:34 UTC

  FreeBSD ports repository

  Modified files:
    emulators/qemu-devel Makefile distinfo pkg-plist 
  Log:
  - Update to 0.14.1 .
  - Change ALL_TARGETS knob to only affect the bsd-user targets that
    are still incomplete.  (they would be for emulating a single
    process instead of an entire OS; default off i.e. don't build
    them.)
  - Fix ADD_AUDIO knob to also emulate hda sound hardware.
  - Change CONFLICTS to CONFLICTS_INSTALL in case people that already
    have emulators/qemu installed want to test this version from below
    the work/ dir.
  - Prepare Makefile for sparc64 host build in case someone wants to
    debug the runtime problems there. [1]  (Add sparc64 to ONLY_FOR_ARCHS
    then.)
  
  PR:             ports/138772 [1]
  Submitted by:   Nathaniel Filardo <nwf@cs.jhu.edu> [1]
  
  Revision  Changes    Path
  1.121     +16 -8     ports/emulators/qemu-devel/Makefile
  1.58      +2 -2      ports/emulators/qemu-devel/distinfo
  1.29      +15 -15    ports/emulators/qemu-devel/pkg-plist
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"