Skip to content
  1. Jan 21, 2014
  2. Jan 20, 2014
    • Alp Toker's avatar
      Build fix following clang r199686 · f747ff1f
      Alp Toker authored
      llvm-svn: 199689
      f747ff1f
    • Rafael Espindola's avatar
      Give explicit sections for string constants used in NSStrings. · d19f80a0
      Rafael Espindola authored
      Without them they can be merged with non unnamed_addr constants during LTO.
      The resulting constant is not unnamed_addr and goes in a different section,
      which causes ld64 to crash.
      
      A testcase that would crash before:
      
      * file1.mm:
      void g(id notification) {
        [notification valueForKey:@"name"];
      }
      
      * file2.cpp:
      extern const char js_name_str[] = "name";
      
      * file3.cpp
      extern bool JS_GetProperty(const char *name);
      extern const char js_name_str[];
      bool js_ReportUncaughtException() { JS_GetProperty(js_name_str); }
      
      run
      
      clang file1.mm  -o file1.o -c -w -emit-llvm
      clang file2.cpp -o file2.o -c -w -emit-llvm
      clang file3.cpp -o file3.o -c -w
      
      ld -dylib -o XUL file1.o file2.o file3.o -undefined dynamic_lookup.
      
      llvm-svn: 199688
      d19f80a0
    • Tom Stellard's avatar
      Fix build broken by LLVM commit r199279 · 8a63b15b
      Tom Stellard authored
      Patch by: Udo van den Heuvel
      
      Tom Stellard:
        - Added ifdef and error handling
      
      llvm-svn: 199687
      8a63b15b
Loading