Thread overview
[Issue 22942] Invalid section type / offset for newer XCode versions
Mar 26, 2022
Dlang Bot
Mar 26, 2022
Paolo Invernizzi
Mar 26, 2022
Paolo Invernizzi
Mar 27, 2022
Dlang Bot
Mar 27, 2022
Dlang Bot
March 26, 2022
https://issues.dlang.org/show_bug.cgi?id=22942

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull

--- Comment #1 from Dlang Bot <dlang-bot@dlang.rocks> ---
@MoonlightSentinel updated dlang/dmd pull request #13890 "[Ignore] Debug failures for OSX on Cirrus" fixing this issue:

- CirrusCI: Use ldc instead of dmd for MacOs >= 12

  DMD releases cannot compile for XCode >= 13.3 because of issue 22942.

- Fix 22942 - Check for S_TRHEAD_LOCAL_ZEROFILL alongside S_ZEROFILL

  The code generated an unexpected / invalid header for the `thread_bss`
  section marked as `S_TRHEAD_LOCAL_ZEROFILL`. The generated object file
  is rejected by ld included in newer XCode versions (>= 13.3).

  E.g.
  ```
  ld: section __DATA/__thread_bss has type zero-fill but non-zero file
      offset file '../generated/build.o' for architecture x86_64
  ```

  This patch changes the existing code to treat `S_TRHEAD_LOCAL_ZEROFILL`
  like `S_ZEROFILL` w.r.t. the section size.

https://github.com/dlang/dmd/pull/13890

--
March 26, 2022
https://issues.dlang.org/show_bug.cgi?id=22942

Paolo Invernizzi <paolo.invernizzi@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |outland.karasu@gmail.com

--- Comment #2 from Paolo Invernizzi <paolo.invernizzi@gmail.com> ---
*** Issue 22890 has been marked as a duplicate of this issue. ***

--
March 26, 2022
https://issues.dlang.org/show_bug.cgi?id=22942

Paolo Invernizzi <paolo.invernizzi@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |paolo.invernizzi@gmail.com

--
March 26, 2022
https://issues.dlang.org/show_bug.cgi?id=22942

moonlightsentinel@disroot.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |backend, link-failure

--
March 27, 2022
https://issues.dlang.org/show_bug.cgi?id=22942

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #3 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/dmd pull request #13890 "Fix 22942 - Check for S_TRHEAD_LOCAL_ZEROFILL alongside S_ZEROFILL" was merged into stable:

- dc63f521db4158e28f58323437ba61bb91078087 by MoonlightSentinel:
  CirrusCI: Temporarily use ldc instead of dmd for MacOs >= 12

  DMD releases cannot compile for XCode >= 13.3 because of issue 22942.

- 08ff0600f4ddbc0cf285ee9e5633656183766f20 by MoonlightSentinel:
  Fix 22942 - Check for S_TRHEAD_LOCAL_ZEROFILL alongside S_ZEROFILL

  The code generated an unexpected / invalid header for the `thread_bss`
  section marked as `S_TRHEAD_LOCAL_ZEROFILL`. The generated object file
  is rejected by ld included in newer XCode versions (>= 13.3).

  E.g.
  ```
  ld: section __DATA/__thread_bss has type zero-fill but non-zero file
      offset file '../generated/build.o' for architecture x86_64
  ```

  This patch changes the existing code to treat `S_TRHEAD_LOCAL_ZEROFILL`
  like `S_ZEROFILL` w.r.t. the section size.

https://github.com/dlang/dmd/pull/13890

--
March 27, 2022
https://issues.dlang.org/show_bug.cgi?id=22942

--- Comment #4 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/dmd pull request #13892 "Merge stable into master" was merged into master:

- 25b8666e690d6b50c59937040ae0f201ae3ef9d9 by MoonlightSentinel:
  CirrusCI: Temporarily use ldc instead of dmd for MacOs >= 12

  DMD releases cannot compile for XCode >= 13.3 because of issue 22942.

- d06857e5cf430a566b78264a1635149ce864ed88 by MoonlightSentinel:
  Fix 22942 - Check for S_TRHEAD_LOCAL_ZEROFILL alongside S_ZEROFILL

  The code generated an unexpected / invalid header for the `thread_bss`
  section marked as `S_TRHEAD_LOCAL_ZEROFILL`. The generated object file
  is rejected by ld included in newer XCode versions (>= 13.3).

  E.g.
  ```
  ld: section __DATA/__thread_bss has type zero-fill but non-zero file
      offset file '../generated/build.o' for architecture x86_64
  ```

  This patch changes the existing code to treat `S_TRHEAD_LOCAL_ZEROFILL`
  like `S_ZEROFILL` w.r.t. the section size.

https://github.com/dlang/dmd/pull/13892

--