Skip to content

Fix superpmi.exe handling of exclusion lists - #62349

Merged
BruceForstall merged 1 commit into
dotnet:mainfrom
BruceForstall:FixSpmiExclusionFiles
Dec 3, 2021
Merged

Fix superpmi.exe handling of exclusion lists#62349
BruceForstall merged 1 commit into
dotnet:mainfrom
BruceForstall:FixSpmiExclusionFiles

Conversation

@BruceForstall

Copy link
Copy Markdown
Contributor

superpmi.exe has the concept of an exclusion list file which is automatically read
and processed when reading a .mch file. (I'm not sure if anyone actually uses it.)
So, when opening a t.mch file, it looks for an adjacent t.mch.exc and then t.exc
file.

There was a bug where it would also look for a t file (the comments say it takes t.exc.mch
and looks for t.exc, but it didn't check for that). In my case when I was testing, I actually
had a t directory (not file), which it found, but then emitted an error trying to load.

So, two fixes:

  1. For t.mch, don't look for t.
  2. Check all cases for being a directory, and fail if any name is a directory.

superpmi.exe has the concept of an exclusion list file which is automatically read
and processed when reading a .mch file. (I'm not sure if anyone actually uses it.)
So, when opening a `t.mch` file, it looks for an adjacent `t.mch.exc` and then `t.exc`
file.
There was a bug where it would also look for a `t` file (the comments say it takes t.exc.mch
and looks for t.exc, but it didn't check for that). In my case when I was testing, I actually
had a `t` directory (not file), which it found, but then emitted an error trying to load.
So, two fixes:
1. For `t.mch`, don't look for `t`.
2. Check all cases for being a directory, and fail if any name is a directory.
@ghostghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Dec 3, 2021
@ghost

ghost commented Dec 3, 2021

Copy link
Copy Markdown

Tagging subscribers to this area: @JulieLeeMSFT
See info in area-owners.md if you want to be subscribed.

Issue Details

superpmi.exe has the concept of an exclusion list file which is automatically read
and processed when reading a .mch file. (I'm not sure if anyone actually uses it.)
So, when opening a t.mch file, it looks for an adjacent t.mch.exc and then t.exc
file.

There was a bug where it would also look for a t file (the comments say it takes t.exc.mch
and looks for t.exc, but it didn't check for that). In my case when I was testing, I actually
had a t directory (not file), which it found, but then emitted an error trying to load.

So, two fixes:

  1. For t.mch, don't look for t.
  2. Check all cases for being a directory, and fail if any name is a directory.
Author:BruceForstall
Assignees:-
Labels:

area-CodeGen-coreclr

Milestone:-

@BruceForstall

Copy link
Copy Markdown
ContributorAuthor

@dotnet/jit-contrib PTAL

@kunalspathakkunalspathak left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@BruceForstall
BruceForstall merged commit f388909 into dotnet:mainDec 3, 2021
@BruceForstall
BruceForstall deleted the FixSpmiExclusionFiles branch December 3, 2021 23:44
@ghostghost locked as resolved and limited conversation to collaborators Jan 3, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@BruceForstall@kunalspathak