mirror of
https://github.com/RGBCube/serenity
synced 2025-07-28 20:47:45 +00:00
LibC: Use our implementation of crti.o
and crtn.o
We have had these for quite a while, but we didn't compile them, and used GCC's version instead. Clang does not come with these, so we have to provide our own implementation. Our implementation follows what `musl` and `FreeBSD` do, so this should work fine, even if documentation can hardly be found for them.
This commit is contained in:
parent
7f2eb2f332
commit
a88f7c99fe
8 changed files with 93 additions and 35 deletions
23
Userland/Libraries/LibC/arch/x86_64/crti.S
Normal file
23
Userland/Libraries/LibC/arch/x86_64/crti.S
Normal file
|
@ -0,0 +1,23 @@
|
|||
/*
|
||||
* Copyright (c) 2021, Daniel Bertalan <dani@danielbertalan.dev>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
.section .init, "ax", @progbits
|
||||
.align 4
|
||||
.global _init
|
||||
.type _init, @function
|
||||
_init:
|
||||
pushq %rbp
|
||||
movq %rsp, %rbp
|
||||
andq $-16, %rsp
|
||||
|
||||
.section .fini, "ax", @progbits
|
||||
.align 4
|
||||
.global _fini
|
||||
.type _fini, @function
|
||||
_fini:
|
||||
pushq %rbp
|
||||
movq %rsp, %rbp
|
||||
andq $-16, %rsp
|
Loading…
Add table
Add a link
Reference in a new issue