FYI on OSGeoLive 2020 'Focal' pre-alpha, output shows:
$ readelf -l /usr/bin/gdalinfo
Elf file type is DYN (Shared object file)
Entry point 0x1870
There are 13 program headers, starting at offset 64
Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flags Align
PHDR 0x0000000000000040 0x0000000000000040 0x0000000000000040
0x00000000000002d8 0x00000000000002d8 R 0x8
INTERP 0x0000000000000318 0x0000000000000318 0x0000000000000318
0x000000000000001c 0x000000000000001c R 0x1
[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000eb8 0x0000000000000eb8 R 0x1000
LOAD 0x0000000000001000 0x0000000000001000 0x0000000000001000
0x00000000000009e5 0x00000000000009e5 R E 0x1000
LOAD 0x0000000000002000 0x0000000000002000 0x0000000000002000
0x00000000000004c8 0x00000000000004c8 R 0x1000
LOAD 0x0000000000002ca8 0x0000000000003ca8 0x0000000000003ca8
0x0000000000000368 0x0000000000000370 RW 0x1000
DYNAMIC 0x0000000000002cb8 0x0000000000003cb8 0x0000000000003cb8
0x0000000000000200 0x0000000000000200 RW 0x8
NOTE 0x0000000000000338 0x0000000000000338 0x0000000000000338
0x0000000000000020 0x0000000000000020 R 0x8
NOTE 0x0000000000000358 0x0000000000000358 0x0000000000000358
0x0000000000000044 0x0000000000000044 R 0x4
GNU_PROPERTY 0x0000000000000338 0x0000000000000338 0x0000000000000338
0x0000000000000020 0x0000000000000020 R 0x8
GNU_EH_FRAME 0x0000000000002348 0x0000000000002348 0x0000000000002348
0x0000000000000044 0x0000000000000044 R 0x4
GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 RW 0x10
GNU_RELRO 0x0000000000002ca8 0x0000000000003ca8 0x0000000000003ca8
0x0000000000000358 0x0000000000000358 R 0x1
Section to Segment mapping:
Segment Sections...
00
01 .interp
02 .interp .note.gnu.property .note.gnu.build-id .note.ABI-tag
.gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt
03 .init .plt .plt.got .plt.sec .text .fini
04 .rodata .eh_frame_hdr .eh_frame
05 .init_array .fini_array .dynamic .got .data .bss
06 .dynamic
07 .note.gnu.property
08 .note.gnu.build-id .note.ABI-tag
09 .note.gnu.property
10 .eh_frame_hdr
11
12 .init_array .fini_array .dynamic .got
On 8/5/20 12:51 PM, Jim Klassen wrote:
Are you sure you need to supply those flags at all? Are you using a
recent enough Linux Distribution? I haven't build GDAL 2.3 in a long
time (it is very old), I suppose it is possible it is doing something
strange disabling PIE in the build system.
My build of GDAL 3.1 on Debian 10 built PIE executable by default
(without me specifying any special compiler options).
For my GDAL 3.1 build:
$ readelf -l gdalinfo
Elf file type is DYN (Shared object file)
...
It looks like gcc/g++ in Debian 10 default to building PIE. I'd
expect similar vintage Ubuntu derivatives would do the same:
$ cat a.c
int main() { return 0; }
$ gcc a.c
$ file a.out
a.out: ELF 64-bit LSB *pie executable*, x86-64, version 1 (SYSV),
dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for
GNU/Linux 3.2.0,
BuildID[sha1]=fde557ade69c32cd2554ee888bc892175ae86867, not stripped
$ readelf -l a.out
Elf file type is DYN (Shared object file)
...
On 8/5/20 9:55 AM, Brian M Hamlin wrote:
Hi Kavitha -
In general, specialized security work is outside of the scope of
the /educational mission/ at OSGeoLive project.
ASLR is a security layer ? from Google search..
"Address Space Layout Randomization (*ASLR*) is a computer security
technique which involves randomly positioning the base address of an
executable and the position of libraries, heap, and stack, in a
process's address space"
Security is a concern at OSGeoLive, but not the primary concern. If
you seek direct consulting hours, please consider a time+money budget
to bring in additional skillsets.
If you find a solution, please do not hesitate to share the results
with the GDAL project and Ubuntu upstream, for better specialized
security in the future.
others may have different resources for you on this topic
best regards --Brian
On 8/5/20 7:32 AM, Kavitha K wrote:
Hi All,
We are trying to compile the gdal 2.3.2 source with ASLR . But we
are seeing the
Elf file type as EXEC (Executable file) instead DYN.
Please help us whether gdal build is supported the compilation with
"-Fpie -pie -fPIC".
Steps which we followed:
cp gdalDevKits/gdal-2.3.2.tar.gz .
tar -xvf gdal-2.3.2.tar.gz
cd gdal-2.3.2
env CFLAGS="-Fpie -pie -fPIC" ./configure
make install
cd /usr/local/bin
readelf -l gdaltransform
Elf file type is EXEC (Executable file)
Entry point 0x40
Thanks,
Kavitha
_______________________________________________
osgeolive mailing list
osgeolive@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/osgeolive
_______________________________________________
osgeolive mailing list
osgeolive@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/osgeolive
_______________________________________________
osgeolive mailing list
osgeolive@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/osgeolive
_______________________________________________
osgeolive mailing list
osgeolive@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/osgeolive