newlib: update

git-svn-id: svn://kolibrios.org@3806 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Sergey Semyonov (Serge) 2013-07-11 10:17:41 +00:00
parent 27ddc31f12
commit 221e4dd488
4 changed files with 68 additions and 73 deletions

View File

@ -13,14 +13,6 @@ DEFINES:= -D_IEEE_LIBM
INCLUDES:= -I $(LIBC_INCLUDES)
AMZ_SRCS:= \
crt/crt_amz.S \
crt/chkstk.S \
crt/exit.S \
crt/pseudo-reloc.c \
crt/dllstart.c \
crt/setjmp.S
STATIC_SRCS:= \
crt/start.S \
crt/crt1.c \
@ -30,7 +22,8 @@ STATIC_SRCS:= \
pe/crtloader.c
DLL_SRCS:= \
crt/crtdll.c \
crt/crtbegin.c \
crt/pseudo-reloc.c \
crt/chkstk.S \
crt/exit.S
@ -46,6 +39,7 @@ LIBCRT_SRCS:= \
crt/start.S \
crt/chkstk.S \
crt/crt3.c \
crt/crtbegin.o \
pe/crtloader.c
CORE_SRCS:= \
@ -308,8 +302,6 @@ MATH_SRCS = e_acos.c e_acosh.c e_asin.c e_atan2.c e_atanh.c e_cosh.c e_exp.c e_
f_log10.S f_log10f.S f_logf.S f_tan.S f_tanf.S
AMZ_OBJS = $(patsubst %.S, %.o, $(patsubst %.c, %.o, $(AMZ_SRCS)))
STATIC_OBJS = $(patsubst %.S, %.o, $(patsubst %.c, %.o, $(STATIC_SRCS)))
LIBCRT_OBJS = $(patsubst %.S, %.o, $(patsubst %.c, %.o, $(LIBCRT_SRCS)))
@ -372,18 +364,18 @@ LIB_OBJS+= \
shared: $(NAME).dll libcrt.a
shared: $(NAME).dll libcrt.a libdll.a
$(NAME).dll: $(LIB_OBJS) $(SRC_DEP) Makefile
ld $(LDFLAGS) -L. -o $@ $(LIB_OBJS) -lgcc
ld $(LDFLAGS) -Map libcmap -L. -o $@ $(LIB_OBJS) -lgcc
libcrt.a: $(LIBCRT_OBJS) Makefile
ar rc libcrt.a $(LIBCRT_OBJS)
libamz.a: $(AMZ_OBJS) Makefile
ar rc libamz.a $(AMZ_OBJS)
libdll.a: $(DLL_OBJS) Makefile
ar rc libdll.a $(DLL_OBJS)
libc.obj: $(NAME).dll
fasm pe/libc.asm ./libc.obj

View File

@ -0,0 +1,18 @@
extern void _pei386_runtime_relocator (void);
int DllStartup(void *module, int reason);// __attribute__ ((dllexport));
int DllStartup(void *module, int reason)
{
_pei386_runtime_relocator();
return 1;
};
void ___dll_start ()
{
_pei386_runtime_relocator();
}

View File

@ -1,11 +0,0 @@
void _pei386_runtime_relocator (void);
int DllStartup(void *module, int reason);
int DllStartup(void *module, int reason)
{
_pei386_runtime_relocator();
return 1;
};

View File

@ -1,59 +1,58 @@
OUTPUT_FORMAT(pei-i386)
ENTRY("____dll_start")
SECTIONS
{
. = SIZEOF_HEADERS;
. = ALIGN(__section_alignment__);
.text __image_base__ + . :
{
*(.init)
*(.text)
*(SORT(.text$*))
*(.text.*)
*(.glue_7t)
*(.glue_7)
___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
*(.text)
*(SORT(.text$*))
*(.text.*)
*(.gnu.linkonce.t.*)
*(.glue_7t)
*(.glue_7)
___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*)); LONG (0);
___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
LONG (-1); *(.dtors); *(.dtor); *(SORT(.dtors.*)); LONG (0);
*(.fini)
/* ??? Why is .gcc_exc here? */
*(.gcc_exc)
PROVIDE (etext = .);
*(.gcc_except_table)
}
*(.fini)
.rdata ALIGN(__section_alignment__):
{
*(.rdata)
*(SORT(.rdata$*))
___RUNTIME_PSEUDO_RELOC_LIST__ = .;
__RUNTIME_PSEUDO_RELOC_LIST__ = .;
*(.rdata_runtime_pseudo_reloc)
___RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
__RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
}
.CRT ALIGN(__section_alignment__):
{
. = ALIGN(16) ;
___crt_xc_start__ = . ;
*(SORT(.CRT$XC*)) /* C initialization */
___crt_xc_end__ = . ;
___crt_xi_start__ = . ;
*(SORT(.CRT$XI*)) /* C++ initialization */
___crt_xi_end__ = . ;
___crt_xl_start__ = . ;
*(SORT(.CRT$XL*)) /* TLS callbacks */
*(SORT(.CRT$XC*)) /* C initialization */
___crt_xc_end__ = . ;
___crt_xi_start__ = . ;
*(SORT(.CRT$XI*)) /* C++ initialization */
___crt_xi_end__ = . ;
___crt_xl_start__ = . ;
*(SORT(.CRT$XL*)) /* TLS callbacks */
/* ___crt_xl_end__ is defined in the TLS Directory support code */
___crt_xp_start__ = . ;
*(SORT(.CRT$XP*)) /* Pre-termination */
___crt_xp_end__ = . ;
___crt_xt_start__ = . ;
*(SORT(.CRT$XT*)) /* Termination */
___crt_xt_end__ = . ;
}
___crt_xp_start__ = . ;
*(SORT(.CRT$XP*)) /* Pre-termination */
___crt_xp_end__ = . ;
___crt_xt_start__ = . ;
*(SORT(.CRT$XT*)) /* Termination */
___crt_xt_end__ = . ;
. = ALIGN(16) ;
*(.rdata)
*(SORT(.rdata$*))
__rt_psrelocs_start = .;
*(.rdata_runtime_pseudo_reloc)
__rt_psrelocs_end = .;
}
__rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start;
___RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
__RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
___RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size;
__RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size;
.data ALIGN(__section_alignment__):
{
@ -68,16 +67,12 @@ SECTIONS
*(.data_cygwin_nocopy)
}
.eh_frame ALIGN(__section_alignment__):
{
*(.eh_frame)
___iend = . ;
}
.bss ALIGN(__section_alignment__):
{
__bss_start__ = . ;
*(.bss)
*(COMMON)
__bss_end__ = . ;
}
.edata ALIGN(__section_alignment__):
@ -92,6 +87,7 @@ SECTIONS
*(.debug$F)
*(.drectve)
*(.note.GNU-stack)
*(.eh_frame)
*(.comment)
*(.debug_abbrev)
*(.debug_info)