All of lore.kernel.org
 help / color / mirror / Atom feed
* PAGE_SIZE and native vs. emulated 32-bit SPARC ABI
@ 2004-12-30 11:07 William Lee Irwin III
  2004-12-30 11:50 ` C.Newport
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: William Lee Irwin III @ 2004-12-30 11:07 UTC (permalink / raw)
  To: sparclinux

It seems that most/all 32-bit SPARC programs are written and compiled
for emulated 32-bit on sun4u, which has an 8KB PAGE_SIZE, and returns
8KB for getpagesize(). This is unfortunately causing spectacular
failures on some of my favorite regression tests for memory management,
which are interpreters using memory protection-based garbage collectors.

In particular, with a simple LD_PRELOAD to return a falsified 8KB
PAGE_SIZE, sbcl (a Common Lisp interpreter and compiler) may be made to
run, where it can't without such. The installation procedure runs the
interpreter, which is basically the extent of what I do with the ones
that run themselves during the installation procedure. For others just
starting up the interpreter serves as a simple testcase.

So, the question arises as to what to do about these ABI breakages.
It's unclear that changing the page size to 8192 unconditionally will
work, as there are suspected breakages in the other direction, as
another of those interpreters with protection-based GC that is strongly
suspected of being hardwired to a 4KB PAGE_SIZE.

Any ideas?


-- wli

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

end of thread, other threads:[~2005-01-04 18:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-12-30 11:07 PAGE_SIZE and native vs. emulated 32-bit SPARC ABI William Lee Irwin III
2004-12-30 11:50 ` C.Newport
2004-12-30 12:13 ` William Lee Irwin III
2005-01-04 18:46 ` David S. Miller
2005-01-04 18:54 ` William Lee Irwin III

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.