Project

General

Profile

Actions

Bug #14209

closed

partial support for new relaxable relocations

Added by Rich Lowe 7 months ago. Updated 6 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
tools - gate/build tools
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

We should add basic support for the new (to us) relaxable relocations introduced in #14207.

These relocations exist to provide an optimization opportunity to the link-editor whereby if we see one of these relocations we may transition the program text to a more efficient form if certain conditions are met. We won't be implementing this optimization at this time, and instead always falling back to the basic relocation type in our processing.

This will add support for:
  • R_AMD64_GOTPCRELX
  • R_AMD64_REX_GOTPCRELX
  • R_386_GOT32X

Merely by handling them as the equivalent, non-relaxable relocation.

Actions #1

Updated by Electric Monk 7 months ago

  • Gerrit CR set to 1782
Actions #2

Updated by Rich Lowe 6 months ago

testing:
Test suite additions, test suite for clang and rust. At least clang/llvm produced/required these relocations and is what prompted me to implement them.

Actions #3

Updated by Electric Monk 6 months ago

  • Status changed from In Progress to Closed
  • % Done changed from 0 to 100

git commit 2c4055ebe2826777af400387612994d8bf26d113

commit  2c4055ebe2826777af400387612994d8bf26d113
Author: Richard Lowe <richlowe@richlowe.net>
Date:   2021-11-17T20:55:54.000Z

    14209 partial support for new relaxable relocations
    Reviewed by: Robert Mustacchi <rm@fingolfin.org>
    Reviewed by: Dan McDonald <danmcd@joyent.com>
    Approved by: Gordon Ross <gordon.w.ross@gmail.com>

Actions

Also available in: Atom PDF