Skip to content

Kill off OMF support#16422

Merged
dkorpel merged 1 commit intodlang:masterfrom
rikkimax:kill-omf
May 7, 2024
Merged

Kill off OMF support#16422
dkorpel merged 1 commit intodlang:masterfrom
rikkimax:kill-omf

Conversation

@rikkimax
Copy link
Contributor

@rikkimax rikkimax commented Apr 29, 2024

This is being discussed at BeerConf that it is time to go.

DMC is dead (that I remember being said by @WalterBright quite a while back).

So this removes the switch.

see also #13110 for the deprecation of this switch

@dlang-bot
Copy link
Contributor

Thanks for your pull request and interest in making D better, @rikkimax! We are looking forward to reviewing it, and you should be hearing from a maintainer soon.
Please verify that your PR follows this checklist:

  • My PR is fully covered with tests (you can see the coverage diff by visiting the details link of the codecov check)
  • My PR is as minimal as possible (smaller, focused PRs are easier to review than big ones)
  • I have provided a detailed rationale explaining my changes
  • New or modified functions have Ddoc comments (with Params: and Returns:)

Please see CONTRIBUTING.md for more information.


If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment.

Bugzilla references

Your PR doesn't reference any Bugzilla issue.

If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "master + dmd#16422"

@thewilsonator thewilsonator added the Review:Needs Changelog A changelog entry needs to be added to /changelog label Apr 29, 2024
@thewilsonator
Copy link
Contributor

Will also need to kill off the CI: .azure-pipelines/windows.sh (some hits for "omf") is a start

@rikkimax
Copy link
Contributor Author

rikkimax commented Apr 29, 2024

Nic has been extremely keen to see OMF removed today, he has been doing investigative work to point out to me what needs changing to rip out the ability for people to use it.

@rikkimax
Copy link
Contributor Author

CI is green!

Oh, and @LightBender says he wants to take you out for some after-funeral drinks if you're up for it!

target.isX86_64 = false;
target.omfobj = false;
}
else if (arg == "-m32omf") // https://dlang.org/dmd.html#switch-m32omfobj
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As long as we keep the code generation logic, perhaps this could stay as an undocumented switch?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea is to kill off the rest of it once this pulled in stages.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We still have to deal with the installer so a release can happen.

Cleaning the rest of the OMF support can wait, it's going to be a bit to untangle I expect.

@dkorpel
Copy link
Contributor

dkorpel commented May 7, 2024

This got approval from Walter

@dkorpel dkorpel merged commit 62e5e9f into dlang:master May 7, 2024
@ibuclaw
Copy link
Member

ibuclaw commented May 9, 2024

This caused a regression.

Building Druntime 32omf
Entering dir: clones\dmd\druntime
Running: mingw32-make -j4 MODEL=32omf "DMD=C:\Users\vagrant\clones/dmd/generated/windows/release/32/dmd.exe" ENABLE_RELEASE=1 LATEST=2.109.0-beta.1
Using make SHELL "C:/Program Files/Git/usr/bin/bash.exe", should be bash.
C:\Users\vagrant\clones/dmd/generated/windows/release/32/dmd.exe -c -conf= -Isrc -Iimport -w -de -preview=dip1000 -preview=fieldwise -m32omf   -preview=dtorfields -O -release -inline  -I. -P=-I. src/core/stdc/errno.c -of../generated/windows/release/32omf/errno_c.obj
Error: unrecognized switch '-m32omf'
       run `dmd` to print the compiler manual
       run `dmd -man` to open browser on manual
mingw32-make: *** [Makefile:391: ../generated/windows/release/32omf/errno_c.obj] Error 1

@ibuclaw
Copy link
Member

ibuclaw commented May 9, 2024

@ibuclaw
Copy link
Member

ibuclaw commented May 9, 2024

@ibuclaw
Copy link
Member

ibuclaw commented May 9, 2024

@rikkimax
Copy link
Contributor Author

rikkimax commented May 9, 2024 via email

@ibuclaw
Copy link
Member

ibuclaw commented May 9, 2024

Dub, druntine, and Phobos like the internals can be cleaned up. The installer however I thought Nic was on that. Is that the source of the error you posted?

There's been no activity for over 2 weeks on the installer repo.

The sequencing of this seems backwards though. First drop it from the toolchain, then remove it from the compiler.

@rikkimax rikkimax deleted the kill-omf branch June 3, 2024 13:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants