libc: Move cxx_initialize.c from libc/sched/ to libc/misc
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This commit is contained in:
parent
b9eff677fe
commit
577f301a2c
@ -158,6 +158,10 @@ ssize_t lib_parse_hostfile(FAR FILE *stream, FAR struct hostent *host,
|
|||||||
int lib_restoredir(void);
|
int lib_restoredir(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Defined in lib_cxx_initialize.c */
|
||||||
|
|
||||||
|
void lib_cxx_initialize(void);
|
||||||
|
|
||||||
#undef EXTERN
|
#undef EXTERN
|
||||||
#if defined(__cplusplus)
|
#if defined(__cplusplus)
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
|
|
||||||
CSRCS += lib_mknod.c lib_umask.c lib_utsname.c lib_getrandom.c
|
CSRCS += lib_mknod.c lib_umask.c lib_utsname.c lib_getrandom.c
|
||||||
CSRCS += lib_xorshift128.c lib_tea_encrypt.c lib_tea_decrypt.c
|
CSRCS += lib_xorshift128.c lib_tea_encrypt.c lib_tea_decrypt.c
|
||||||
|
CSRCS += lib_cxx_initialize.c
|
||||||
|
|
||||||
# Support for platforms that do not have long long types
|
# Support for platforms that do not have long long types
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* libs/libc/sched/cxx_initialize.c
|
* libs/libc/misc/lib_cxx_initialize.c
|
||||||
*
|
*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
* contributor license agreements. See the NOTICE file distributed with
|
* contributor license agreements. See the NOTICE file distributed with
|
||||||
@ -29,6 +29,8 @@
|
|||||||
#include <sched.h>
|
#include <sched.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include "libc.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Types
|
* Private Types
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -55,12 +57,16 @@ extern initializer_t _einit;
|
|||||||
extern uintptr_t _stext;
|
extern uintptr_t _stext;
|
||||||
extern uintptr_t _etext;
|
extern uintptr_t _etext;
|
||||||
|
|
||||||
|
#if defined(CONFIG_ARCH_SIM) && defined(CONFIG_HOST_MACOS)
|
||||||
|
extern void macho_call_saved_init_funcs(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: cxx_initialize
|
* Name: lib_cxx_initialize
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* If C++ and C++ static constructors are supported, then this function
|
* If C++ and C++ static constructors are supported, then this function
|
||||||
@ -75,7 +81,7 @@ extern uintptr_t _etext;
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
void cxx_initialize(void)
|
void lib_cxx_initialize(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_HAVE_CXXINITIALIZE
|
#ifdef CONFIG_HAVE_CXXINITIALIZE
|
||||||
static int inited = 0;
|
static int inited = 0;
|
||||||
@ -83,8 +89,6 @@ void cxx_initialize(void)
|
|||||||
if (inited == 0)
|
if (inited == 0)
|
||||||
{
|
{
|
||||||
#if defined(CONFIG_ARCH_SIM) && defined(CONFIG_HOST_MACOS)
|
#if defined(CONFIG_ARCH_SIM) && defined(CONFIG_HOST_MACOS)
|
||||||
extern void macho_call_saved_init_funcs(void);
|
|
||||||
|
|
||||||
macho_call_saved_init_funcs();
|
macho_call_saved_init_funcs();
|
||||||
#else
|
#else
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
@ -23,7 +23,6 @@
|
|||||||
CSRCS += sched_getprioritymax.c sched_getprioritymin.c
|
CSRCS += sched_getprioritymax.c sched_getprioritymin.c
|
||||||
CSRCS += clock_ticks2time.c clock_time2ticks.c
|
CSRCS += clock_ticks2time.c clock_time2ticks.c
|
||||||
CSRCS += clock_timespec_add.c clock_timespec_subtract.c
|
CSRCS += clock_timespec_add.c clock_timespec_subtract.c
|
||||||
CSRCS += cxx_initialize.c
|
|
||||||
|
|
||||||
ifneq ($(CONFIG_CANCELLATION_POINTS),y)
|
ifneq ($(CONFIG_CANCELLATION_POINTS),y)
|
||||||
CSRCS += task_setcanceltype.c task_testcancel.c
|
CSRCS += task_setcanceltype.c task_testcancel.c
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
* libs/libc/sched/cxx_initialize.h
|
|
||||||
*
|
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
* contributor license agreements. See the NOTICE file distributed with
|
|
||||||
* this work for additional information regarding copyright ownership. The
|
|
||||||
* ASF licenses this file to you under the Apache License, Version 2.0 (the
|
|
||||||
* "License"); you may not use this file except in compliance with the
|
|
||||||
* License. You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
||||||
* License for the specific language governing permissions and limitations
|
|
||||||
* under the License.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
void cxx_initialize(void);
|
|
@ -29,7 +29,7 @@
|
|||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
|
|
||||||
#include "cxx_initialize.h"
|
#include "libc.h"
|
||||||
|
|
||||||
#ifndef CONFIG_BUILD_KERNEL
|
#ifndef CONFIG_BUILD_KERNEL
|
||||||
|
|
||||||
@ -61,7 +61,7 @@ void nxtask_startup(main_t entrypt, int argc, FAR char *argv[])
|
|||||||
* that first
|
* that first
|
||||||
*/
|
*/
|
||||||
|
|
||||||
cxx_initialize();
|
lib_cxx_initialize();
|
||||||
|
|
||||||
/* Call the 'main' entry point passing argc and argv, calling exit()
|
/* Call the 'main' entry point passing argc and argv, calling exit()
|
||||||
* if/when the task returns.
|
* if/when the task returns.
|
||||||
|
Loading…
Reference in New Issue
Block a user