Skip to content

Glibc module map is broken #85427

@al45tair

Description

@al45tair

Description

The current Glibc modulemap is wrong; including all the files the way we’re doing at the moment doesn’t actually work. They need to be explicitly listed as top-level modules, otherwise if the compiler encounters one of them while building some other module, it’ll pull the definitions into that module instead of into SwiftGlibc, and then we end up with weird compiler errors or outright compiler aborts.

Fixing this is made harder by the fact that we’ve used the Glibc modulemap for things that are not Glibc (like WASM or OpenBSD), which means just adding headers to the module map might break things for people using those.

We need to:

  • Make the Glibc module map work the same way as the Android and Musl module maps.
  • Stop using it for things that are not Glibc.
  • Make proper module maps for the other non-Glibc things.

See also rdar://123317003

Metadata

Metadata

Assignees

No one assigned

    Labels

    FreeBSDPlatform: FreeBSDLinuxPlatform: LinuxOpenBSDPlatform: OpenBSDbugA deviation from expected or documented behavior. Also: expected but undesirable behavior.module maps

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions