FLEX_ARRAY=1 causes SIGSEGV on SPARC

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

 



So today I discovered latest master will cause a SIGSEGV on
Solaris/SPARC if FLEX_ARRAY is defined to the default value of 1.

The issue is the (old) compiler I'm using from Sun doesn't pass
the tests defined in 8e9739914972419baad820e76b44d9720ed885c2 (aka
"git-compat-util.h: auto-adjust to compiler support of FLEX_ARRAY
a bit better") so we fallback to #define FLEX_ARRAY 1.

Then git-pack-objects finds something unaligned and segfaults.
It always segfaults.  During the deltification phase.  Probably it
was working on deltifying loose objects; the set I fed it was about
100 most recent objects so they were probably all loose.

I'll try to track it down tomorrow.  But the immediate workaround was
to just add '-DFLEX_ARRAY=/* empty */' to my CFLAGS and recompile
the world.  This compiler accepts the empty FLEX_ARRAY macro but
I'm not sure what feature test(s) would be necessary to make Git
able to automatically set that, seeing as how the tests defined in
8e97 are perfectly reasonable and didn't pass.

Yea, yea, shame on me for not testing Git since Nov 20th on this
system... I should have caught the failure sooner.  I'm buried in
non-Git work these days, but will try to come up with a reasonable
detection patch.  Maybe someone will beat me to it.  :-)

-- 
Shawn.
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux