This is an archive of the discontinued LLVM Phabricator instance.

[Headers][mips] Add `__attribute__((__mode__(__unwind_word__)))` to the _Unwind_Word / _Unwind_SWord definitions
ClosedPublic

Authored by atanasyan on Feb 12 2019, 11:10 PM.

Details

Summary

The rationale of this change is to fix _Unwind_Word / _Unwind_SWord definitions for MIPS N32 ABI. This ABI uses 32-bit pointers, but _Unwind_Word and _Unwind_SWord types are eight bytes long.

  1. The attribute((mode(unwind_word))) is added to the type definitions. It makes them equal to the corresponding definitions used by GCC and allows to override types using getUnwindWordWidth function.
  2. The getUnwindWordWidth virtual function override in the MipsTargetInfo class and provides correct type size values.

Diff Detail

Repository
rC Clang

Event Timeline

atanasyan created this revision.Feb 12 2019, 11:10 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 12 2019, 11:10 PM
thakis accepted this revision.Feb 13 2019, 5:08 AM
This revision is now accepted and ready to land.Feb 13 2019, 5:08 AM
This revision was automatically updated to reflect the committed changes.