• Show log

    Commit

  • Hash : fadf1eb5
    Author : Sergei Trofimovich
    Date : 2019-04-27T20:53:29

    hppa: avoid TEXTREL in .eh_frame section (#447)
    
    Before the change hand-crafted .eh_frame section contained
    ABS relocation and caused TEXTREL tag to be emitted:
    
    ```
    $ ./configure --host=hppa2.0-unknown-linux-gnu LDFLAGS=-Wl,-z,text
    $ make
    ...
    /usr/libexec/gcc/hppa2.0-unknown-linux-gnu/ld:
        read-only segment has dynamic relocations.
    ```
    
    Link failure is caused by absolute address of FDEs
    encoded into .eh_frame entries.
    
    Fixed TEXTREL by using pcrel (instead of ABS) encoding
    for absolute addresses (__PIC__ code) by adding augmentation
    information ("zR" CIE type).
    
    All tests still pass on hppa2.0. The specific tests that still pass
    and exercise this code path:
        testsuite/libffi.call/unwindtest.cc
        testsuite/libffi.call/unwindtest_ffi_call.cc
    
    Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>