mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 13:54:21 +00:00
libc: remove some dead code from freebsd crt0
This commit is contained in:
parent
15c315abb9
commit
27ae5d811f
3 changed files with 2 additions and 109 deletions
42
lib/libc/freebsd/lib/csu/common/crtbegin.c
vendored
42
lib/libc/freebsd/lib/csu/common/crtbegin.c
vendored
|
|
@ -41,9 +41,8 @@ void __cxa_finalize(void *) __weak_symbol;
|
|||
* When we have ctors/dtors call from the dtor handler before calling
|
||||
* any dtors, otherwise use a destructor.
|
||||
*/
|
||||
#ifndef HAVE_CTORS
|
||||
/* zig patch: no HAVE_CTORS */
|
||||
__attribute__((destructor))
|
||||
#endif
|
||||
static void
|
||||
run_cxa_finalize(void)
|
||||
{
|
||||
|
|
@ -53,43 +52,6 @@ run_cxa_finalize(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* On some architectures and toolchains we may need to call the .dtors.
|
||||
* These are called in the order they are in the ELF file.
|
||||
*/
|
||||
#ifdef HAVE_CTORS
|
||||
static void __do_global_dtors_aux(void) __used;
|
||||
|
||||
static crt_func __CTOR_LIST__[] __section(".ctors") __used = {
|
||||
(crt_func)-1
|
||||
};
|
||||
static crt_func __DTOR_LIST__[] __section(".dtors") __used = {
|
||||
(crt_func)-1
|
||||
};
|
||||
|
||||
static void
|
||||
__do_global_dtors_aux(void)
|
||||
{
|
||||
crt_func fn;
|
||||
int n;
|
||||
|
||||
#ifdef SHARED
|
||||
run_cxa_finalize();
|
||||
#endif
|
||||
|
||||
for (n = 1;; n++) {
|
||||
fn = __DTOR_LIST__[n];
|
||||
if (fn == (crt_func)0 || fn == (crt_func)-1)
|
||||
break;
|
||||
fn();
|
||||
}
|
||||
}
|
||||
|
||||
asm (
|
||||
".pushsection .fini \n"
|
||||
"\t" INIT_CALL_SEQ(__do_global_dtors_aux) "\n"
|
||||
".popsection \n"
|
||||
);
|
||||
#endif
|
||||
/* zig patch: no HAVE_CTORS */
|
||||
|
||||
/* zig patch: remove gcj nonsense */
|
||||
|
|
|
|||
65
lib/libc/freebsd/lib/csu/common/crtend.c
vendored
65
lib/libc/freebsd/lib/csu/common/crtend.c
vendored
|
|
@ -1,65 +0,0 @@
|
|||
/*-
|
||||
* SPDX-License-Identifier: BSD-1-Clause
|
||||
*
|
||||
* Copyright 2018 Andrew Turner
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
#include "crt.h"
|
||||
|
||||
typedef void (*crt_func)(void);
|
||||
|
||||
/* zig patch: remove gcj nonsense */
|
||||
|
||||
#ifdef HAVE_CTORS
|
||||
|
||||
/*
|
||||
* On some architectures and toolchains we may need to call the .ctors.
|
||||
* These are called in the reverse order they are in the ELF file.
|
||||
*/
|
||||
static void __do_global_ctors_aux(void) __used;
|
||||
|
||||
static crt_func __CTOR_END__[] __section(".ctors") __used = {
|
||||
(crt_func)0
|
||||
};
|
||||
static crt_func __DTOR_END__[] __section(".dtors") __used = {
|
||||
(crt_func)0
|
||||
};
|
||||
|
||||
static void
|
||||
__do_global_ctors_aux(void)
|
||||
{
|
||||
crt_func fn;
|
||||
int n;
|
||||
|
||||
for (n = 1;; n++) {
|
||||
fn = __CTOR_END__[-n];
|
||||
if (fn == (crt_func)0 || fn == (crt_func)-1)
|
||||
break;
|
||||
fn();
|
||||
}
|
||||
}
|
||||
|
||||
asm (
|
||||
".pushsection .init \n"
|
||||
"\t" INIT_CALL_SEQ(__do_global_ctors_aux) "\n"
|
||||
".popsection \n"
|
||||
);
|
||||
#endif
|
||||
|
|
@ -139,10 +139,6 @@ pub fn buildCrtFile(comp: *Compilation, crt_file: CrtFile, prog_node: std.Progre
|
|||
.path = "common" ++ path.sep_str ++ "crtbrand.S",
|
||||
.flags = acflags.items,
|
||||
},
|
||||
.{
|
||||
.path = "common" ++ path.sep_str ++ "crtend.c",
|
||||
.flags = cflags.items,
|
||||
},
|
||||
.{
|
||||
.path = "common" ++ path.sep_str ++ "feature_note.S",
|
||||
.flags = acflags.items,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue