Skip to content

Windows linker validate build broken

Summary

since 6a4098a4 the Macro OC_INFORMATIVE_FILENAME is used on all codepaths in the linker.

This macro is defined as:

#define OC_INFORMATIVE_FILENAME(OC)             \
    ( (OC)->archiveMemberName ?                 \
      (OC)->archiveMemberName :                 \
      (OC)->fileName                            \
    )

Which doesn't work on Windows since archiveMemberName is a char* and fileName is pathchar*. These two are not the same Windows.

Also the patch used hard-coded "%s" instead of "%" PATH_FMT to abstract away from this differences.

This brings in a dilemma of how to fix this. A proper fix is change archiveMemberName to be a pathchar.

But as it stands the debug rts is somewhat broken on Windows.

Environment

  • GHC version used: GHC trunk

Optional:

  • Operating System: Windows
  • System Architecture: All
Edited by Tamar Christina
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information