This series adds FDPIC ABI support as specified in the revision 1 of the https://github.com/jcmvbkbc/xtensa-abi/blob/master/fdpic-xtensa.txt
This implementation conflicts with the changes made for ARM FDPIC and it reverts the conflicting change. Reverting the corresponding change in the gcc is required to keep the ARM FDPIC port functional.
Max Filippov (2): xtensa: add FDPIC support Revert "Allow to generate PIE 'static' binary"
Rules.mak | 4 + extra/Configs/Config.in | 2 +- extra/Configs/Config.in.arch | 2 +- include/elf.h | 6 +- ldso/ldso/xtensa/dl-inlines.h | 1 + ldso/ldso/xtensa/dl-startup.h | 91 ++++++++++++++- ldso/ldso/xtensa/dl-sysdep.h | 66 ++++++++++- ldso/ldso/xtensa/dl-tlsdesc.S | 10 +- ldso/ldso/xtensa/elfinterp.c | 114 ++++++++++++++----- libc/misc/internals/__uClibc_main.c | 45 -------- libc/sysdeps/linux/xtensa/__start_context.S | 6 +- libc/sysdeps/linux/xtensa/bits/elf-fdpic.h | 117 ++++++++++++++++++++ libc/sysdeps/linux/xtensa/clone.S | 6 + libc/sysdeps/linux/xtensa/crt1.S | 81 ++++++++++++++ libc/sysdeps/linux/xtensa/crti.S | 8 ++ libc/sysdeps/linux/xtensa/crtn.S | 6 + libc/sysdeps/linux/xtensa/crtreloc.c | 105 ++++++++++++++++++ libc/sysdeps/linux/xtensa/getcontext.S | 1 + libc/sysdeps/linux/xtensa/makecontext.c | 5 + libc/sysdeps/linux/xtensa/setcontext.S | 1 + libc/sysdeps/linux/xtensa/setjmp.S | 3 +- libc/sysdeps/linux/xtensa/swapcontext.S | 1 + libc/sysdeps/linux/xtensa/sysdep.h | 48 +++++++- libpthread/nptl/sysdeps/xtensa/dl-tls.h | 33 ++++-- 24 files changed, 671 insertions(+), 91 deletions(-) create mode 100644 ldso/ldso/xtensa/dl-inlines.h create mode 100644 libc/sysdeps/linux/xtensa/bits/elf-fdpic.h create mode 100644 libc/sysdeps/linux/xtensa/crtreloc.c