[Simh] Recent build crashes on OSX

Timothe Litt litt at ieee.org
Wed Feb 17 15:41:47 EST 2016


On 17-Feb-16 15:22, Henry Bent wrote:
>
> I can reproduce this on OS X 10.11.3:
>
>  sim> show version
> VAX 11/780 simulator V4.0-0 Beta
>         Simulator Framework Capabilities:
>                 64b data
>                 64b addresses
>                 Ethernet Packet transports:PCAP:TAP:NAT:UDP
>                 Idle/Throttling support is available
>                 Virtual Hard Disk (VHD) support
>                 Asynchronous I/O support
>                 FrontPanel API Version 2
>         Host Platform:
>                 Compiler: GCC 4.2.1 Compatible Apple LLVM 7.0.2
> (clang-700.1.81)
>                 Simulator Compiled: Feb 17 2016 at 15:01:37
>                 Memory Access: Little Endian
>                 Memory Pointer Size: 64 bits
>                 Large File (>2GB) support
>                 SDL Video support: No Video Support
>                 RegEx support for EXPECT commands
>                 OS clock resolution: 1ms
>                 Time taken by msleep(1): 2ms
>                 OS: Darwin Shibaers-Mini.westell.com
> <http://Shibaers-Mini.westell.com> 15.3.0 Darwin Kernel Version
> 15.3.0: Thu Dec 10 18:40:58 PST 2015;
> root:xnu-3248.30.4~1/RELEASE_X86_64 x86_64
>         git commit id: aadd66c7
>
> Switching to -O1 instead of -O2 doesn't make a difference.  Switching
> to -O0 gives a different error:
>
> VAX 11/780 simulator V4.0-0 Beta        git commit id: aadd66c7
> libpcap version 1.5.3 - Apple version 54
> Abort trap: 6
>
> I'll see if I can narrow things down a little bit more.  Michael,
> maybe it's easiest to open a github issue for this so it can be
> tracked there?
-O0 still leaves some optimizations on.

You need to fuss with -fno-* to get even fewer.

But if simh has an issue, it really ought to be tracked down fixed.  
Shutting off 'optimization' is a really hard thing to do across multiple
platforms - the definition of what's an optimization varies, as does the
ability to shut it off.

Not to mention that wasted performance out to be a crime.

I tend to go the other way - Wall doesn't turn on ALL warnings.  Often
turning on every sensible warning -- and fixing them - is a faster
route.  For GCC, you pretty much need the man page for that version to
find them all.

-Wall -Wextra are a start.

gcc -Q --help=warning

will give a list - but you have to review it to see which ones actually
make sense.

overflow, signed/unsigned, loop optimizations and aliasing are the usual
suspects that come immediately to mind.

Annoying things were GCC thinks something is uninitialized because it
can't see that all paths do set it to something are worth fixing (just
explicitly set to 0); you never know what the optimizer will do.

Good hunting.

(I don't have a Mac)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.trailing-edge.com/pipermail/simh/attachments/20160217/89e6795c/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4994 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://mailman.trailing-edge.com/pipermail/simh/attachments/20160217/89e6795c/attachment-0001.bin>


More information about the Simh mailing list