From b3e78c203fd160b30f22112d16238084f943667f Mon Sep 17 00:00:00 2001 From: Pierre Cwik Date: Fri, 27 May 2016 17:59:13 +0200 Subject: [PATCH] ajout 27 mai --- liens/.liens.txt.kate-swp | Bin 0 -> 55 bytes liens/liens.txt | 43 +++++++++++++++++++++++++++++++++++++++++-- liens/pile | Bin 0 -> 440 bytes liens/pile.c | 11 +++++++++++ liens/pile.o | Bin 0 -> 880 bytes liens/tas | Bin 0 -> 6952 bytes liens/tas.c | 12 ++++++++++++ liens/tas.o | Bin 0 -> 968 bytes 8 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 liens/.liens.txt.kate-swp create mode 100755 liens/pile create mode 100644 liens/pile.c create mode 100644 liens/pile.o create mode 100755 liens/tas create mode 100644 liens/tas.c create mode 100644 liens/tas.o diff --git a/liens/.liens.txt.kate-swp b/liens/.liens.txt.kate-swp new file mode 100644 index 0000000..caf10ab Binary files /dev/null and b/liens/.liens.txt.kate-swp differ diff --git a/liens/liens.txt b/liens/liens.txt index c37d731..f209822 100644 --- a/liens/liens.txt +++ b/liens/liens.txt @@ -114,6 +114,45 @@ Section Headers: - - + ////////////////////////////////////////////////////////// "zone mémoire allouée pour la pile" ////////////////////// + + + On voit que le prog n'alloue aucune place dans la pile lorsqu'il n'est pas executé : + + GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000 + 0x0000000000000000 0x0000000000000000 RW 10 + + + Mais lorsqu'il est executé il alloue de la memoire dans la pile : + + 00400000-00401000 r-xp 00000000 00:23 47981511 /home/apima3/pcwik/Desktop/pierrotc/opti/liens/pile +7ffcc0f0d000-7ffcc0f2e000 rw-p 00000000 00:00 0 [stack] <------- ICI ADRESSE DE DEBUT ET ADRESSE DE FIN DIFFERENTES +7ffcc0fd5000-7ffcc0fd7000 r-xp 00000000 00:00 0 [vdso] +7ffcc0fd7000-7ffcc0fd9000 r--p 00000000 00:00 0 [vvar] +ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] + + +//////////////////////////////////////////// "zone mémoire allouée pour le tas" /////////////////////////////////////////////// + + +ici on voit qu'un emplacement est alloué pour le tas + +00400000-00401000 r-xp 00000000 00:23 47978600 /home/apima3/pcwik/Desktop/pierrotc/opti/liens/tas +00600000-00601000 rw-p 00000000 00:23 47978600 /home/apima3/pcwik/Desktop/pierrotc/opti/liens/tas +00838000-00859000 rw-p 00000000 00:00 0 [heap] +7f97cf85c000-7f97cf9fe000 r-xp 00000000 08:01 1314756 /lib/x86_64-linux-gnu/libc-2.19.so +7f97cf9fe000-7f97cfbfd000 ---p 001a2000 08:01 1314756 /lib/x86_64-linux-gnu/libc-2.19.so +7f97cfbfd000-7f97cfc01000 r--p 001a1000 08:01 1314756 /lib/x86_64-linux-gnu/libc-2.19.so +7f97cfc01000-7f97cfc03000 rw-p 001a5000 08:01 1314756 /lib/x86_64-linux-gnu/libc-2.19.so +7f97cfc03000-7f97cfc07000 rw-p 00000000 00:00 0 +7f97cfc07000-7f97cfc27000 r-xp 00000000 08:01 1311215 /lib/x86_64-linux-gnu/ld-2.19.so +7f97cfdf5000-7f97cfdf8000 rw-p 00000000 00:00 0 +7f97cfe24000-7f97cfe27000 rw-p 00000000 00:00 0 +7f97cfe27000-7f97cfe28000 r--p 00020000 08:01 1311215 /lib/x86_64-linux-gnu/ld-2.19.so +7f97cfe28000-7f97cfe29000 rw-p 00021000 08:01 1311215 /lib/x86_64-linux-gnu/ld-2.19.so +7f97cfe29000-7f97cfe2a000 rw-p 00000000 00:00 0 +7ffe7f9ef000-7ffe7fa10000 rw-p 00000000 00:00 0 [stack] +7ffe7fb9f000-7ffe7fba1000 r-xp 00000000 00:00 0 [vdso] +7ffe7fba1000-7ffe7fba3000 r--p 00000000 00:00 0 [vvar] +ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] diff --git a/liens/pile b/liens/pile new file mode 100755 index 0000000..bd18009 Binary files /dev/null and b/liens/pile differ diff --git a/liens/pile.c b/liens/pile.c new file mode 100644 index 0000000..0656b64 --- /dev/null +++ b/liens/pile.c @@ -0,0 +1,11 @@ + +void _start(void) +{ + + struct { int secondes; int microsecondes; } delai={30,0}; + + __asm__ volatile("syscall" :: "a" (35), "D" (&delai), "S" (0) ); + __asm__ volatile("syscall" :: "a" (60), "D" (0) ); + + +} diff --git a/liens/pile.o b/liens/pile.o new file mode 100644 index 0000000..a6698e0 Binary files /dev/null and b/liens/pile.o differ diff --git a/liens/tas b/liens/tas new file mode 100755 index 0000000..6d45883 Binary files /dev/null and b/liens/tas differ diff --git a/liens/tas.c b/liens/tas.c new file mode 100644 index 0000000..997addc --- /dev/null +++ b/liens/tas.c @@ -0,0 +1,12 @@ +#include +#include +#include + +int main() +{ + int *tab=malloc(50); + printf("%p \n (%d)",tab,(int)sizeof(tab)); + sleep(30); + return 0; +} + diff --git a/liens/tas.o b/liens/tas.o new file mode 100644 index 0000000..dfe5bbd Binary files /dev/null and b/liens/tas.o differ -- libgit2 0.21.2