"Unknown load command" in libstd.dylib

fbb9734
Opened by Jeffrey Yasskin at 2010-07-11 03:20:41

On OSX 10.5.8, otool -l libstd.dylib reports:

...
Load command 9
          cmd LC_LOAD_DYLIB
      cmdsize 52
         name /usr/lib/libSystem.B.dylib (offset 24)
   time stamp 0 Wed Dec 31 16:00:00 1969
      current version 0.0.0
compatibility version 0.0.0
Load command 10
      cmd ?(0x00000000) Unknown load command
  cmdsize 0

This causes test/run-pass/mutable-alias-vec.x86 (and probably all others that depend on libstd.dylib) to segfault in dlclose() called by rust_crate_cache::lib::~lib().

I'm digging into macho.ml to see if I can fix it, but I'd be happy if someone got there first. And it's always possible I've misdiagnosed the mutable-alias-vec crash.

  1. http://github.com/jyasskin/rust/commit/d5144998932a3de32c6d0aaa8c5db12a3acf175a seems to fix this, but it doesn't fix mutable-alias-vec.

    Jeffrey Yasskin at 2010-07-10 08:09:15

  2. Nice catch. Strangely I've never see this fault before on OSX, but I'll pick it up once I'm in the office and can cycle on the OSX machine (and check on the contributor paperwork). Thanks!

    Graydon Hoare at 2010-07-11 03:20:41