Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DWARF register numberings #2080

Merged
merged 2 commits into from Oct 4, 2018

Conversation

Projects
None yet
3 participants
@mshinwell
Copy link
Contributor

commented Oct 1, 2018

This exciting pull request defines the mappings between the compiler's internal hard register numbering schemes and the DWARF register numbering schemes for the various platforms. It also defines which DWARF register number on each platform corresponds to the system stack pointer.

I am presuming that modern ELF but non-Linux platforms such as the common BSD systems use the same conventions as Linux systems in these regards.

@mshinwell mshinwell added this to the 4.08 milestone Oct 1, 2018

@mshinwell mshinwell changed the title GPR#2080 (DWARF register numberings) DWARF register numberings Oct 1, 2018

@mshinwell

This comment has been minimized.

Copy link
Contributor Author

commented Oct 1, 2018

@bschommer Could you perhaps check this?

@bschommer

This comment has been minimized.

Copy link
Contributor

commented Oct 1, 2018

I can take a look at it.

@bschommer
Copy link
Contributor

left a comment

Looks good overall with two minor problems.

|]

let float_dwarf_reg_numbers =
[| 32; 33; 34; 35; 36; 37; 38; 39;

This comment has been minimized.

Copy link
@bschommer

bschommer Oct 2, 2018

Contributor

This should start with 33, since the float register 1 has the mapping 33.

This comment has been minimized.

Copy link
@mshinwell

mshinwell Oct 3, 2018

Author Contributor

Well spotted.

let int_dwarf_reg_numbers =
[| 0; 1; 2; 3; 4; 5; 6; 7; 12 |]

let float_dwarf_reg_numbers =

This comment has been minimized.

Copy link
@bschommer

bschommer Oct 2, 2018

Contributor

For armv6 the registers numbers are 64-95, since this is actually meant with Legacy VFP v2-use.

This comment has been minimized.

Copy link
@mshinwell

mshinwell Oct 3, 2018

Author Contributor

I think I've fixed this.

@mshinwell

This comment has been minimized.

Copy link
Contributor Author

commented Oct 3, 2018

@bschommer Thanks for the review, perhaps you could check 5a171c4.

@bschommer

This comment has been minimized.

Copy link
Contributor

commented Oct 3, 2018

Looks good to me.

@gasche

gasche approved these changes Oct 3, 2018

Copy link
Member

left a comment

Approved on the basis of @bschommer's review. (I haven't reviewed myself.)

@mshinwell mshinwell merged commit dacb224 into ocaml:trunk Oct 4, 2018

2 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

damiendoligez added a commit to damiendoligez/ocaml that referenced this pull request Nov 5, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.