git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH FYI 0/5] How I compile on IRIX 6.5 with the MIPSpro compiler and ksh

From
Brandon Casey <casey@nrlssc.navy.mil>
Date
Jul 10, 2009, 17:10 UTC
Message-ID
<39niBtmtFs5Sy_fjtaztVh4dAZGS3bCbUWv-xJglfvb9KPJ_qQhUB4GiCpcoxguAgbDPS36AjnI@cipher.nrlssc.navy.mil>
From: Brandon Casey <drafnel@gmail.com>

This email describes how I have successfully compiled git on IRIX6.5 with the native MIPSpro compiler version 7.4.4m and successfully run nearly all of the tests using the Korn shell.

A config.mak file is provided at the end of this email.

The GIT_SKIP_TESTS environment variable was used to skip tests which still fail. The number of tests which must be skipped has been greatly reduced. When I sent this email last year, 23 individual tests were skipped plus all of t3901. With current master, only 13 tests must be skipped. The remaining tests which fail are due to the installed iconv lacking support for the tested languages.

Two lingering concerns:
  1) Building with -Ofast produces an executable which segfaults and can not
     pass the tests.
  2) Building with mmap support produces an executable which segfaults on
     t1400-update-ref when it calls
         'git rev-parse --verify "master@{May 25 2005}"'
     Previously, this fault was avoided when THREADED_DELTA_SEARCH was set,
     but there is a warning during compilation when THREADED_DELTA_SEARCH is
     enabled that suggests Variable Length Arrays should not be used when
     threads are used.  So it is left unset, and now NO_MMAP is set.
     From my notes:
     I tracked the mmap issue down to the mmap in refs.c:read_ref_at().  The
     mmap succeeds, and the loop is executed properly until rec is rewound
     into the first line (reflog entry) of the file. I don't know why it
     fails, the code looks correct. I can't reproduce it with a similarly
     structured stand-alone test program.  For the mentioned test that fails
     above, if the rev-parse argument is changed to something that does not
     reference the first entry in the log file, then it will succeed
     e.g. "master@{3}".
I have no debugger.

Otherwise, I've been using this executable somewhat and have not experienced any problems. Maybe it will be useful to others.

Are there actually any IRIX users out there?

These patches are all submitted For-Your-Information only. Junio, feel free to apply any of them or none, and to add my Signed-off-by.

-brandon
Brandon Casey (5):
  unpack-trees.c: work around run-time array initialization flaw on
    IRIX 6.5
  git-compat-util.h: adjust for SGI IRIX 6.5
  Makefile: add NEEDS_LIBGEN to optionally add -lgen to compile
    arguments
  Makefile: add section for SGI IRIX 6.5
  test-lib.sh: work around ksh's trap shortcomings
 Makefile          |   18 ++++++++++++++++++
 configure.ac      |    6 ++++++
 git-compat-util.h |    3 ++-
 t/lib-git-svn.sh  |   15 ++++++++++-----
 t/test-lib.sh     |    3 ++-
 unpack-trees.c    |    2 +-
 6 files changed, 39 insertions(+), 8 deletions(-)
--->8--- config.mak --->8---
GIT_SKIP_TESTS := \
   t3900.1[129] t3900.2[0234] \
   t5100.5 t5100.1[06] \
   t8005.[234]
export GIT_SKIP_TESTS

SHELL_PATH = /bin/ksh TAR = gtar CC = c99 CFLAGS = -n32 -O2 NO_C99_FORMAT = 1 NO_CURL = 1 NO_OPENSSL = 1 NO_TCLTK = 1

Next: Brandon Casey
Message 1 of 8 in “How I compile on IRIX 6.5 with the MIPSpro compiler and ksh”
  1. 0/5 How I compile on IRIX 6.5 with the MIPSpro compiler and kshBrandon Casey, Jul 10, 2009
  2. 1/5 unpack-trees.c: work around run-time array initialization flaw on IRIX 6.5Brandon Casey, Jul 10, 2009
  3. 2/5 git-compat-util.h: adjust for SGI IRIX 6.5Brandon Casey, Jul 10, 2009
  4. 3/5 Makefile: add NEEDS_LIBGEN to optionally add -lgen to compile argumentsBrandon Casey, Jul 10, 2009
  5. 4/5 Makefile: add section for SGI IRIX 6.5Brandon Casey, Jul 10, 2009
  6. 5/5 test-lib.sh: work around ksh's trap shortcomingsBrandon Casey, Jul 10, 2009
  7. 6/5 Makefile: update IRIX64 sectionBrandon Casey, Jul 10, 2009
  8. Junio C HamanoJul 11, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.