summaryrefslogtreecommitdiffstats
path: root/libgcc/x86
diff options
context:
space:
mode:
authorAlexey Gavrilov <alexey.gavrilov@mail.com>2025-12-20 19:39:05 +0700
committerAlexey Gavrilov <alexey.gavrilov@mail.com>2025-12-20 19:39:05 +0700
commita4dea4148157a94a9143dbbd92fdd88b4358676c (patch)
tree5d36a0adf4e9f38cee297da6f10e84944d226014 /libgcc/x86
parenta72c27d948ee8cf542f8d38c7026876af4875e6b (diff)
Global variables initialization implementationlinker_script
User implementation of C runtime library objects (`crti.s` and `crtn.s`) for initialization (termination functionality are ignored). Changing files order passed to the linker. Rough order is: boot.s crti.o crtbegin.o other-link-objects.o crtend.o crtn.o Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
Diffstat (limited to 'libgcc/x86')
-rw-r--r--libgcc/x86/crti.s5
-rw-r--r--libgcc/x86/crtn.s3
2 files changed, 8 insertions, 0 deletions
diff --git a/libgcc/x86/crti.s b/libgcc/x86/crti.s
new file mode 100644
index 0000000..57cb8c1
--- /dev/null
+++ b/libgcc/x86/crti.s
@@ -0,0 +1,5 @@
+section .init
+global _init:function
+_init:
+ push ebp
+ mov ebp, esp
diff --git a/libgcc/x86/crtn.s b/libgcc/x86/crtn.s
new file mode 100644
index 0000000..537fa65
--- /dev/null
+++ b/libgcc/x86/crtn.s
@@ -0,0 +1,3 @@
+section .init
+ pop ebp
+ ret