I am using Arch linux which recently decided to enable PIE and SSP in gcc. What ever changes they made has also affected PureBasic so now that when I build anyting it will be flaged as "shared object" and not "executable".
I have found this example how to fix it in gcc so if some one knows how I can apply or do something similar in PureBasic it would fix this issue I think.
Code: Select all
You should add -no-pie option to compilation command line
without :
$ gcc main.c -o main
$ file main
main:ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=46ada4e5e25fc120ca052c9beb8bfa5491fc6239, not stripped
wtih :
$ gcc main.c -o main -no-pie
$ file main
main: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=17f860c6c84fc1a5771c8744b7aaaf164c219559, not stripped