Re: Trying to get GIT running on SCO OpenServer
From: Aidan Van Dyk <hidden>
Date: 2016-06-15 22:44:08
OK, piling hack upon hack to get things to work, I've got 4 tests that
don't pass:
-rwxr-xr-x 1 aidan group 5733 Jan 23 20:57 t/t5302-pack-index.sh
-rwxr-xr-x 1 aidan group 4204 Dec 4 15:21 t/t5400-send-pack.sh
-rwxr-xr-x 1 aidan group 4321 Dec 4 15:21 t/t7003-filter-branch.sh
-rwxr-xr-x 1 aidan group 16846 Jan 23 20:57 t/t9500-gitweb-standalone-no-errors.sh
git-pack-objects is segfaulting:
~/software/git.git/t/trash$ git-pack-objects test < obj-list
Counting objects: 102, done.
Compressing objects: 100% (101/101), done.
Segmentation Fault
Stack trace:
SIGNALED 11 (segv code[SEGV_MAPERR] address[0xbff68008]) in p1
184: <no source text available>
debug> stack
Stack Trace for p1, Program git-pack-objec
*[0] find_packed_object(presumed: 0, 0, 0xc) [�\@builtin-pack-objects.c@184]
[1] write_one(presumed: 0xc, 0, 0) [�\@builtin-pack-objects.c@512]
[2] write_pack_file(presumed: 0x8049364, 0, 0) [�\@builtin-pack-objects.c@628]
[3] cmd_pack_objects() [�\@builtin-pack-objects.c@2245]
Before I dig too deeply, does that look familiar to anyone?
Just FYI, my current stack of hacks is:
HACK: BROKEN_FOPEN
HACK: BROKEN_VSNPRINTF
HACK: strtoul
NO_RSYNC to avoid mkdtemp
An interesting one is the strtoul HACK:
diff --git a/builtin-unpack-objects.c b/builtin-unpack-objects.c
index 1e51865..2c2e187 100644
--- a/builtin-unpack-objects.c
+++ b/builtin-unpack-objects.c
@@ -368,7 +368,11 @@ int cmd_unpack_objects(int argc, const char **argv, const char *prefix)
hdr->hdr_version = htonl(strtoul(arg + 14, &c, 10));
if (*c != ',')
die("bad %s", arg);
- hdr->hdr_entries = htonl(strtoul(c + 1, &c, 10));
+{ /* Another ugly SCO hack */
+char*d;
+ hdr->hdr_entries = htonl(strtoul(c + 1, &d, 10));
+c = d;
+}
if (*c)
die("bad %s", arg);
len = sizeof(*hdr);
Is this just a *completely* broken compiler? With out this hack,
"c" is set to something farther ahead then the null at the end of the
"--pack-objects=2,10", and the if (*c) test obviously fails (and the
value read by the strtoul isn't correct either).
I've verified that the c *is* ",10" before entering that line... and I
can't see any reason why that wouldn't "just work", but hey, this is
SCO.
a.
--
Aidan Van Dyk Create like a god,
aidan@highrise.ca command like a king,
http://www.highrise.ca/ work like a slave. Attachments
- signature.asc [application/pgp-signature] 189 bytes