Skip to content

Planned ABI break for 3.0 #460

Description

@klange

With 3.0, I want to clean up some things which it has not been possible to change due to ABI compatibility.

Namely:

  • Namespacing all of our library symbols. The graphics library is the most egregious case, where we have exported symbols like rgb and flip. Some others are just too generic, like (unfortunately) the hashmap library, which has conflicts in Netsurf. We can slap a toaru_ in front of nearly all of these if we need to.
  • Changing the userspace entry calling convention. We've been implementing standard C calling conventions for program entry for a while, which is at least against the x86-64 SysV ABI that says we should just be passing argc, argv, etc. on the stack for _start.
  • Removing the legacy stat and readdir interfaces (and restoring the unmangled names).
  • Thread-local errno.
  • Whatever else seems useful to do now before it becomes a problem later.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions