4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-01-16 19:40:07 +08:00
Corinna Vinschen acc5f02ce8 Throughout Cygwin, use u_intN_t or uintN_t
Don't use u_char, u_short, u_int or u_long in Cygwin, unless it refers
to the Winsock types.  Use u_intN_t in BSD-based sources, unsigned char
where strings are concerned, uintN_t otherwise.  Also:

	* net.cc: Fix comment, we're not using u_long anymore.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-03-24 16:39:15 +01:00

50 lines
1.2 KiB
C

/* gcrt0.c
Copyright 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
This file is part of Cygwin.
This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
/*
* This file is taken from Cygwin distribution. Please keep it in sync.
* The differences should be within __MINGW32__ guard.
*/
#include <sys/types.h>
#include <stdlib.h>
#ifdef __MINGW32__
#include <_bsd_types.h>
#endif
extern uint8_t etext asm ("etext");
extern uint8_t eprol asm ("__eprol");
extern void _mcleanup (void);
extern void monstartup (size_t, size_t);
void _monstartup (void) __attribute__((__constructor__));
/* startup initialization for -pg support */
void
_monstartup (void)
{
static int called;
/* Guard against multiple calls that may happen if DLLs are linked
with profile option set as well. Addede side benefit is that it
makes profiling backward compatible (GCC used to emit a call to
_monstartup when compiling main with profiling enabled). */
if (called++)
return;
monstartup ((size_t) &eprol, (size_t) &etext);
atexit (&_mcleanup);
}
asm (".text");
asm ("__eprol:");