-
Notifications
You must be signed in to change notification settings - Fork 13.5k
Closed
Labels
A-securityArea: Security (example: address space layout randomization).Area: Security (example: address space layout randomization).O-linuxOperating system: LinuxOperating system: LinuxO-x86_32Target: x86 processors, 32 bit (like i686-*) (also known as IA-32, i386, i586, i686)Target: x86 processors, 32 bit (like i686-*) (also known as IA-32, i386, i586, i686)
Description
The problem functions (this occurs in every library, with the exception of librustrt):
librustc-c84825241471686d-0.6.so: rust_get_task [0x93E38F] in (optimized out: previous _ZN4main15_c4de63b748e03d3_06E) [0x93DFE0]
librustc-c84825241471686d-0.6.so: upcall_new_stack [0x93E3AF] in (optimized out: previous _ZN4main15_c4de63b748e03d3_06E) [0x93DFE0]
librustc-c84825241471686d-0.6.so: upcall_del_stack [0x93E3D1] in (optimized out: previous _ZN4main15_c4de63b748e03d3_06E) [0x93DFE0]
AFAIK this means it's not proper position independent code and uses absolute address references somewhere. I just can't figure out where/why.
This is confounding:
% scanelf -qT librustrt.so
scanelf: scanelf_file_textrels(): ELF librustrt.so has TEXTREL markings but doesnt appear to have any real TEXTREL's !?
Lots of info about this here: http://www.gentoo.org/proj/en/hardened/pic-fix-guide.xml?style=printable
Metadata
Metadata
Assignees
Labels
A-securityArea: Security (example: address space layout randomization).Area: Security (example: address space layout randomization).O-linuxOperating system: LinuxOperating system: LinuxO-x86_32Target: x86 processors, 32 bit (like i686-*) (also known as IA-32, i386, i586, i686)Target: x86 processors, 32 bit (like i686-*) (also known as IA-32, i386, i586, i686)