|
| 1 | +# Policy for Merging Pull Requests |
| 2 | + |
| 3 | +Each type of modification has a different policy, based on the following rules: |
| 4 | + |
| 5 | +- Changes requiring linker changes |
| 6 | + - Require an open source PoC implementation for binutils or LLD, either as a |
| 7 | + patch on the mailing list/Phabricator as appropriate or in a GitHub fork |
| 8 | + - Require at least one binutils developer **_AND_** one LLD developer to |
| 9 | + approve |
| 10 | + |
| 11 | +- Changes requiring compiler changes |
| 12 | + - Require an open source PoC implementation for GCC or LLVM, either as a |
| 13 | + patch on the mailing list/Phabricator as appropriate or in a GitHub fork |
| 14 | + - Require at least one GCC developer **_AND_** one LLVM developer to approve |
| 15 | + |
| 16 | +- Clarifications for currently-implemented behaviour |
| 17 | + - Require approval from a developer of the corresponding component |
| 18 | + (binutils/LLD or GCC/LLVM) |
| 19 | + |
| 20 | +- General improvements and clarification |
| 21 | + - One of the psABI TG chair or co-chair. |
| 22 | + |
| 23 | +- Do **_NOT_** make incompatible changes |
| 24 | + - Changes that break compatibility are generally not acceptable |
| 25 | + - In the rare case there is a bug in the ABI that needs fixing and that |
| 26 | + cannot be done in a backwards-compatible way, or possibly for some |
| 27 | + edge-case behaviour that is not currently relied upon, breaking the ABI can |
| 28 | + be considered, but will require both the psABI TG chair and co-chair to |
| 29 | + approve, and is subject to the above requirements as appropriate |
| 30 | + |
| 31 | +# FAQ |
| 32 | + |
| 33 | +- Can I leave a comment, LGTM or approve the PR even if I am not a toolchain |
| 34 | + developer or chair/co-chair? |
| 35 | + - Don't hesitate to leave your comment, we encourage anyone who intends |
| 36 | + to contribute to the RISC-V community to participate in discussion. |
| 37 | + |
| 38 | +- When do I need to modify the compiler and/or linker? |
| 39 | + - Changes and additions to the ELF format itself generally require linker |
| 40 | + changes, e.g. new relocation types, new flags in the `e_flags` field, new |
| 41 | + sections and new symbol flags. |
| 42 | + - Changes and additions to calling conventions and code models generally |
| 43 | + require compiler changes. |
| 44 | + |
| 45 | +- Who are the psABI TG chair and co-chair? |
| 46 | + - The current chair is Kito Cheng ([@kito-cheng]) and the current co-chair is |
| 47 | + Jessica Clarke ([@jrtc27]). |
| 48 | + |
| 49 | +- Where can I find a RISC-V GCC/LLVM/binutils/LLD developer to review my PR? |
| 50 | + - The psABI TG chair or co-chair will generally contact the right people as |
| 51 | + needed for reviews, but in case you want to reach out yourself you can find |
| 52 | + an incomplete list from [RISC-V International's wiki page]. |
| 53 | + |
| 54 | +[@kito-cheng]: https://github.com/kito-cheng |
| 55 | +[@jrtc27]: https://github.com/jrtc27 |
| 56 | +[RISC-V International's wiki page]: https://wiki.riscv.org/display/TECH/Toolchain+Projects |
0 commit comments