internal compiler error: in named_section_flags, at varasm.c:412
Christian Daudt
csd_ob@daudt.org
Sat Feb 1 01:28:00 GMT 2003
Hi,
In trying to set up an environment for x86_64, I've run into the the error
above in compiling the glibc (set for x86_64-unknown-linux crosscompile from
i686-pc-linux-gnu host as suggested in the x86-64.org website).
I have latest cvs sources from the gcc-3_3-branch. I've tracked the error
down to being caused by the fact that the define HAVE_LD_RO_RW_SECTION_MIXING
is being set to 1 by the configure scripts, and because of that the
default_eh_frame_section function (in dwarf2out.c) is calling
named_section_flags with flags that varasm.c doesn't like (because they
differ from previous calls).
I found that manually removing that HAVE_LD_RO_RW_SECTION_MIXING define
causes everything to compile ok and intuitively it seems to me from the
comments that that define shouldn't be set for the x86_64 tools, but I don't
know enough about gcc to know that for sure.
Anyone know what the proper fix for this would be?
thanks,
csd
PS: I've attached the soinit.c and soinit.E pre-proc files that caused the
error.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: soinit.c
Type: text/x-csrc
Size: 2594 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-bugs/attachments/20030201/cab71ca3/attachment.bin>
-------------- next part --------------
# 1 "soinit.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "../include/libc-symbols.h" 1
# 54 "../include/libc-symbols.h"
# 1 "/home/csd/dvl3/glibc/build/config.h" 1
# 55 "../include/libc-symbols.h" 2
# 8 "<command line>" 2
# 1 "soinit.c"
# 1 "../include/libc-internal.h" 1
# 1 "../sysdeps/x86_64/hp-timing.h" 1
# 1 "../sysdeps/i386/i686/hp-timing.h" 1
# 24 "../sysdeps/i386/i686/hp-timing.h"
# 1 "../include/string.h" 1
# 1 "../include/sys/types.h" 1
# 1 "../posix/sys/types.h" 1
# 26 "../posix/sys/types.h"
# 1 "../include/features.h" 1
# 283 "../include/features.h"
# 1 "../include/sys/cdefs.h" 1
# 1 "../misc/sys/cdefs.h" 1
# 2 "../include/sys/cdefs.h" 2
# 284 "../include/features.h" 2
# 27 "../posix/sys/types.h" 2
# 1 "../sysdeps/unix/sysv/linux/x86_64/bits/types.h" 1
# 29 "../sysdeps/unix/sysv/linux/x86_64/bits/types.h"
# 1 "/home/csd/dvl3/x86-64/lib/gcc-lib/x86_64-unknown-linux/3.3/include/stddef.h" 1 3 4
# 213 "/home/csd/dvl3/x86-64/lib/gcc-lib/x86_64-unknown-linux/3.3/include/stddef.h" 3 4
typedef long unsigned int size_t;
# 30 "../sysdeps/unix/sysv/linux/x86_64/bits/types.h" 2
# 1 "../sysdeps/x86_64/bits/wordsize.h" 1
# 31 "../sysdeps/unix/sysv/linux/x86_64/bits/types.h" 2
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef unsigned long int __u_quad_t;
typedef long int __quad_t;
# 55 "../sysdeps/unix/sysv/linux/x86_64/bits/types.h"
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
typedef signed long int __int64_t;
typedef unsigned long int __uint64_t;
typedef __quad_t *__qaddr_t;
typedef __uint64_t __dev_t;
typedef __uint32_t __uid_t;
typedef __uint32_t __gid_t;
typedef __uint64_t __ino_t;
typedef __uint64_t __ino64_t;
typedef __uint32_t __mode_t;
typedef __uint64_t __nlink_t;
typedef __int64_t __off_t;
typedef __quad_t __loff_t;
typedef __loff_t __off64_t;
typedef __int32_t __pid_t;
typedef __int64_t __ssize_t;
typedef __uint64_t __rlim_t;
typedef __uint64_t __rlim64_t;
typedef __int64_t __blkcnt_t;
typedef __int64_t __blkcnt64_t;
typedef __uint64_t __fsblkcnt_t;
typedef __uint64_t __fsblkcnt64_t;
typedef __uint64_t __fsfilcnt_t;
typedef __uint64_t __fsfilcnt64_t;
typedef __uint32_t __id_t;
# 123 "../sysdeps/unix/sysv/linux/x86_64/bits/types.h"
typedef struct
{
int __val[2];
} __fsid_t;
typedef int __daddr_t;
typedef char *__caddr_t;
typedef long int __time_t;
typedef unsigned int __useconds_t;
typedef long int __suseconds_t;
typedef long int __swblk_t;
typedef long int __clock_t;
typedef int __key_t;
typedef int __clockid_t;
typedef int __timer_t;
typedef int __ipc_pid_t;
typedef long int __blksize_t;
# 163 "../sysdeps/unix/sysv/linux/x86_64/bits/types.h"
typedef int __t_scalar_t;
typedef unsigned int __t_uscalar_t;
typedef long int __intptr_t;
typedef unsigned int __socklen_t;
# 1 "../linuxthreads/sysdeps/pthread/bits/pthreadtypes.h" 1
# 23 "../linuxthreads/sysdeps/pthread/bits/pthreadtypes.h"
# 1 "../sysdeps/unix/sysv/linux/bits/sched.h" 1
# 68 "../sysdeps/unix/sysv/linux/bits/sched.h"
struct __sched_param
{
int __sched_priority;
};
# 24 "../linuxthreads/sysdeps/pthread/bits/pthreadtypes.h" 2
struct _pthread_fastlock
{
long int __status;
int __spinlock;
};
typedef struct _pthread_descr_struct *_pthread_descr;
typedef struct __pthread_attr_s
{
int __detachstate;
int __schedpolicy;
struct __sched_param __schedparam;
int __inheritsched;
int __scope;
size_t __guardsize;
int __stackaddr_set;
void *__stackaddr;
size_t __stacksize;
} pthread_attr_t;
typedef struct
{
struct _pthread_fastlock __c_lock;
_pthread_descr __c_waiting;
} pthread_cond_t;
typedef struct
{
int __dummy;
} pthread_condattr_t;
typedef unsigned int pthread_key_t;
typedef struct
{
int __m_reserved;
int __m_count;
_pthread_descr __m_owner;
int __m_kind;
struct _pthread_fastlock __m_lock;
} pthread_mutex_t;
typedef struct
{
int __mutexkind;
} pthread_mutexattr_t;
typedef int pthread_once_t;
typedef struct _pthread_rwlock_t
{
struct _pthread_fastlock __rw_lock;
int __rw_readers;
_pthread_descr __rw_writer;
_pthread_descr __rw_read_waiting;
_pthread_descr __rw_write_waiting;
int __rw_kind;
int __rw_pshared;
} pthread_rwlock_t;
typedef struct
{
int __lockkind;
int __pshared;
} pthread_rwlockattr_t;
typedef volatile int pthread_spinlock_t;
typedef struct {
struct _pthread_fastlock __ba_lock;
int __ba_required;
int __ba_present;
_pthread_descr __ba_waiting;
} pthread_barrier_t;
typedef struct {
int __pshared;
} pthread_barrierattr_t;
typedef unsigned long int pthread_t;
# 183 "../sysdeps/unix/sysv/linux/x86_64/bits/types.h" 2
# 31 "../posix/sys/types.h" 2
typedef __u_char u_char;
typedef __u_short u_short;
typedef __u_int u_int;
typedef __u_long u_long;
typedef __quad_t quad_t;
typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;
typedef __loff_t loff_t;
typedef __ino_t ino_t;
typedef __ino64_t ino64_t;
typedef __dev_t dev_t;
typedef __gid_t gid_t;
typedef __mode_t mode_t;
typedef __nlink_t nlink_t;
typedef __uid_t uid_t;
typedef __off_t off_t;
typedef __off64_t off64_t;
typedef __pid_t pid_t;
typedef __id_t id_t;
typedef __ssize_t ssize_t;
typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;
typedef __key_t key_t;
# 132 "../posix/sys/types.h"
# 1 "../include/time.h" 1
# 1 "../time/time.h" 1
# 59 "../time/time.h"
typedef __clock_t clock_t;
# 70 "../time/time.h"
typedef __time_t time_t;
# 82 "../time/time.h"
typedef __clockid_t clockid_t;
# 94 "../time/time.h"
typedef __timer_t timer_t;
# 4 "../include/time.h" 2
# 133 "../posix/sys/types.h" 2
typedef __useconds_t useconds_t;
typedef __suseconds_t suseconds_t;
# 1 "/home/csd/dvl3/x86-64/lib/gcc-lib/x86_64-unknown-linux/3.3/include/stddef.h" 1 3 4
# 147 "../posix/sys/types.h" 2
typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
# 190 "../posix/sys/types.h"
typedef int int8_t __attribute__ ((__mode__ (__QI__)));
typedef int int16_t __attribute__ ((__mode__ (__HI__)));
typedef int int32_t __attribute__ ((__mode__ (__SI__)));
typedef int int64_t __attribute__ ((__mode__ (__DI__)));
typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
typedef int register_t __attribute__ ((__mode__ (__word__)));
# 212 "../posix/sys/types.h"
# 1 "../include/endian.h" 1
# 1 "../string/endian.h" 1
# 37 "../string/endian.h"
# 1 "../sysdeps/x86_64/bits/endian.h" 1
# 38 "../string/endian.h" 2
# 2 "../include/endian.h" 2
# 213 "../posix/sys/types.h" 2
# 1 "../include/sys/select.h" 1
# 1 "../misc/sys/select.h" 1
# 31 "../misc/sys/select.h"
# 1 "../sysdeps/generic/bits/select.h" 1
# 32 "../misc/sys/select.h" 2
# 1 "../sysdeps/unix/sysv/linux/bits/sigset.h" 1
# 23 "../sysdeps/unix/sysv/linux/bits/sigset.h"
typedef int __sig_atomic_t;
typedef struct
{
unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
} __sigset_t;
# 35 "../misc/sys/select.h" 2
typedef __sigset_t sigset_t;
# 1 "../include/time.h" 1
# 1 "../time/time.h" 1
# 106 "../time/time.h"
struct timespec
{
__time_t tv_sec;
long int tv_nsec;
};
# 4 "../include/time.h" 2
# 45 "../misc/sys/select.h" 2
# 1 "../sysdeps/unix/sysv/linux/x86_64/bits/time.h" 1
# 67 "../sysdeps/unix/sysv/linux/x86_64/bits/time.h"
struct timeval
{
__time_t tv_sec;
__suseconds_t tv_usec;
};
# 47 "../misc/sys/select.h" 2
# 55 "../misc/sys/select.h"
typedef long int __fd_mask;
typedef struct
{
__fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))];
} fd_set;
typedef __fd_mask fd_mask;
# 95 "../misc/sys/select.h"
extern int select (int __nfds, fd_set *__restrict __readfds,
fd_set *__restrict __writefds,
fd_set *__restrict __exceptfds,
struct timeval *__restrict __timeout) ;
extern int pselect (int __nfds, fd_set *__restrict __readfds,
fd_set *__restrict __writefds,
fd_set *__restrict __exceptfds,
const struct timespec *__restrict __timeout,
const __sigset_t *__restrict __sigmask) ;
# 3 "../include/sys/select.h" 2
extern int __pselect (int __nfds, fd_set *__readfds,
fd_set *__writefds, fd_set *__exceptfds,
const struct timespec *__timeout,
const __sigset_t *__sigmask);
extern int __select (int __nfds, fd_set *__restrict __readfds,
fd_set *__restrict __writefds,
fd_set *__restrict __exceptfds,
struct timeval *__restrict __timeout);
# 216 "../posix/sys/types.h" 2
# 1 "../sysdeps/unix/sysv/linux/sys/sysmacros.h" 1
# 219 "../posix/sys/types.h" 2
typedef __blksize_t blksize_t;
typedef __blkcnt_t blkcnt_t;
typedef __fsblkcnt_t fsblkcnt_t;
typedef __fsfilcnt_t fsfilcnt_t;
# 257 "../posix/sys/types.h"
typedef __blkcnt64_t blkcnt64_t;
typedef __fsblkcnt64_t fsblkcnt64_t;
typedef __fsfilcnt64_t fsfilcnt64_t;
# 2 "../include/sys/types.h" 2
# 4 "../include/string.h" 2
extern void *__memccpy (void *__dest, __const void *__src,
int __c, size_t __n);
extern size_t __strnlen (__const char *__string, size_t __maxlen)
__attribute__ ((__pure__));
extern char *__strsep (char **__stringp, __const char *__delim);
extern int __strverscmp (__const char *__s1, __const char *__s2)
__attribute__ ((__pure__));
extern int __strncasecmp (__const char *__s1, __const char *__s2,
size_t __n)
__attribute__ ((__pure__));
extern int __strcasecmp (__const char *__s1, __const char *__s2)
__attribute__ ((__pure__));
extern char *__strcasestr (__const char *__haystack, __const char *__needle)
__attribute__ ((__pure__));
extern char *__strdup (__const char *__string)
__attribute__ ((__malloc__));
extern char *__strndup (__const char *__string, size_t __n)
__attribute__ ((__malloc__));
extern void *__rawmemchr (__const void *__s, int __c)
__attribute__ ((__pure__));
extern char *__strchrnul (__const char *__s, int __c)
__attribute__ ((__pure__));
extern void *__memrchr (__const void *__s, int __c, size_t __n)
__attribute__ ((__pure__));
extern void *__memchr (__const void *__s, int __c, size_t __n)
__attribute__ ((__pure__));
extern int __ffs (int __i) __attribute__ ((const));
extern char *__strerror_r (int __errnum, char *__buf, size_t __buflen);
# 1 "../string/string.h" 1
# 28 "../string/string.h"
# 1 "/home/csd/dvl3/x86-64/lib/gcc-lib/x86_64-unknown-linux/3.3/include/stddef.h" 1 3 4
# 34 "../string/string.h" 2
extern void *memcpy (void *__restrict __dest,
__const void *__restrict __src, size_t __n) ;
extern void *memmove (void *__dest, __const void *__src, size_t __n)
;
extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
int __c, size_t __n)
;
extern void *memset (void *__s, int __c, size_t __n) ;
extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
__attribute__ ((__pure__));
extern void *memchr (__const void *__s, int __c, size_t __n)
__attribute__ ((__pure__));
extern void *rawmemchr (__const void *__s, int __c) __attribute__ ((__pure__));
extern void *memrchr (__const void *__s, int __c, size_t __n)
__attribute__ ((__pure__));
extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
;
extern char *strncpy (char *__restrict __dest,
__const char *__restrict __src, size_t __n) ;
extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
;
extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
size_t __n) ;
extern int strcmp (__const char *__s1, __const char *__s2)
__attribute__ ((__pure__));
extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
__attribute__ ((__pure__));
extern int strcoll (__const char *__s1, __const char *__s2)
__attribute__ ((__pure__));
extern size_t strxfrm (char *__restrict __dest,
__const char *__restrict __src, size_t __n) ;
# 1 "../include/xlocale.h" 1
# 1 "../locale/xlocale.h" 1
# 28 "../locale/xlocale.h"
typedef struct __locale_struct
{
struct locale_data *__locales[13];
const unsigned short int *__ctype_b;
const int *__ctype_tolower;
const int *__ctype_toupper;
} *__locale_t;
# 2 "../include/xlocale.h" 2
# 109 "../string/string.h" 2
extern int __strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
__attribute__ ((__pure__));
extern size_t __strxfrm_l (char *__dest, __const char *__src, size_t __n,
__locale_t __l) ;
extern char *strdup (__const char *__s) __attribute__ ((__malloc__));
extern char *strndup (__const char *__string, size_t __n)
__attribute__ ((__malloc__));
# 155 "../string/string.h"
extern char *strchr (__const char *__s, int __c) __attribute__ ((__pure__));
extern char *strrchr (__const char *__s, int __c) __attribute__ ((__pure__));
extern char *strchrnul (__const char *__s, int __c) __attribute__ ((__pure__));
extern size_t strcspn (__const char *__s, __const char *__reject)
__attribute__ ((__pure__));
extern size_t strspn (__const char *__s, __const char *__accept)
__attribute__ ((__pure__));
extern char *strpbrk (__const char *__s, __const char *__accept)
__attribute__ ((__pure__));
extern char *strstr (__const char *__haystack, __const char *__needle)
__attribute__ ((__pure__));
extern char *strcasestr (__const char *__haystack, __const char *__needle)
__attribute__ ((__pure__));
extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
;
extern char *__strtok_r (char *__restrict __s,
__const char *__restrict __delim,
char **__restrict __save_ptr) ;
extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
char **__restrict __save_ptr) ;
extern void *memmem (__const void *__haystack, size_t __haystacklen,
__const void *__needle, size_t __needlelen)
__attribute__ ((__pure__));
extern void *__mempcpy (void *__restrict __dest,
__const void *__restrict __src, size_t __n) ;
extern void *mempcpy (void *__restrict __dest,
__const void *__restrict __src, size_t __n) ;
extern size_t strlen (__const char *__s) __attribute__ ((__pure__));
extern size_t strnlen (__const char *__string, size_t __maxlen)
__attribute__ ((__pure__));
extern char *strerror (int __errnum) ;
extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) ;
extern void __bzero (void *__s, size_t __n) ;
extern void bcopy (__const void *__src, void *__dest, size_t __n) ;
extern void bzero (void *__s, size_t __n) ;
extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
__attribute__ ((__pure__));
extern char *index (__const char *__s, int __c) __attribute__ ((__pure__));
extern char *rindex (__const char *__s, int __c) __attribute__ ((__pure__));
extern int ffs (int __i) __attribute__ ((__const__));
extern int ffsl (long int __l) __attribute__ ((__const__));
__extension__ extern int ffsll (long long int __ll)
__attribute__ ((__const__));
extern int strcasecmp (__const char *__s1, __const char *__s2)
__attribute__ ((__pure__));
extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
__attribute__ ((__pure__));
extern int __strcasecmp_l (__const char *__s1, __const char *__s2,
__locale_t __loc) __attribute__ ((__pure__));
extern int __strncasecmp_l (__const char *__s1, __const char *__s2,
size_t __n, __locale_t __loc)
__attribute__ ((__pure__));
extern char *strsep (char **__restrict __stringp,
__const char *__restrict __delim) ;
extern int strverscmp (__const char *__s1, __const char *__s2)
__attribute__ ((__pure__));
extern char *strsignal (int __sig) ;
extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src)
;
extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src)
;
extern char *__stpncpy (char *__restrict __dest,
__const char *__restrict __src, size_t __n) ;
extern char *stpncpy (char *__restrict __dest,
__const char *__restrict __src, size_t __n) ;
extern char *strfry (char *__string) ;
extern void *memfrob (void *__s, size_t __n) ;
extern char *basename (__const char *__filename) ;
# 357 "../string/string.h"
# 1 "../sysdeps/x86_64/bits/string.h" 1
# 358 "../string/string.h" 2
# 1 "../include/bits/string2.h" 1
# 1 "../string/bits/string2.h" 1
# 52 "../string/bits/string2.h"
# 1 "../include/endian.h" 1
# 53 "../string/bits/string2.h" 2
# 387 "../string/bits/string2.h"
extern void *__rawmemchr (const void *__s, int __c);
# 917 "../string/bits/string2.h"
extern __inline size_t __strcspn_c1 (__const char *__s, int __reject);
extern __inline size_t
__strcspn_c1 (__const char *__s, int __reject)
{
register size_t __result = 0;
while (__s[__result] != '\0' && __s[__result] != __reject)
++__result;
return __result;
}
extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1,
int __reject2);
extern __inline size_t
__strcspn_c2 (__const char *__s, int __reject1, int __reject2)
{
register size_t __result = 0;
while (__s[__result] != '\0' && __s[__result] != __reject1
&& __s[__result] != __reject2)
++__result;
return __result;
}
extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1,
int __reject2, int __reject3);
extern __inline size_t
__strcspn_c3 (__const char *__s, int __reject1, int __reject2,
int __reject3)
{
register size_t __result = 0;
while (__s[__result] != '\0' && __s[__result] != __reject1
&& __s[__result] != __reject2 && __s[__result] != __reject3)
++__result;
return __result;
}
# 974 "../string/bits/string2.h"
extern __inline size_t __strspn_c1 (__const char *__s, int __accept);
extern __inline size_t
__strspn_c1 (__const char *__s, int __accept)
{
register size_t __result = 0;
while (__s[__result] == __accept)
++__result;
return __result;
}
extern __inline size_t __strspn_c2 (__const char *__s, int __accept1,
int __accept2);
extern __inline size_t
__strspn_c2 (__const char *__s, int __accept1, int __accept2)
{
register size_t __result = 0;
while (__s[__result] == __accept1 || __s[__result] == __accept2)
++__result;
return __result;
}
extern __inline size_t __strspn_c3 (__const char *__s, int __accept1,
int __accept2, int __accept3);
extern __inline size_t
__strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3)
{
register size_t __result = 0;
while (__s[__result] == __accept1 || __s[__result] == __accept2
|| __s[__result] == __accept3)
++__result;
return __result;
}
# 1031 "../string/bits/string2.h"
extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1,
int __accept2);
extern __inline char *
__strpbrk_c2 (__const char *__s, int __accept1, int __accept2)
{
while (*__s != '\0' && *__s != __accept1 && *__s != __accept2)
++__s;
return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
}
extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1,
int __accept2, int __accept3);
extern __inline char *
__strpbrk_c3 (__const char *__s, int __accept1, int __accept2,
int __accept3)
{
while (*__s != '\0' && *__s != __accept1 && *__s != __accept2
&& *__s != __accept3)
++__s;
return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
}
# 1083 "../string/bits/string2.h"
extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp);
extern __inline char *
__strtok_r_1c (char *__s, char __sep, char **__nextp)
{
char *__result;
if (__s == ((void *)0))
__s = *__nextp;
while (*__s == __sep)
++__s;
__result = ((void *)0);
if (*__s != '\0')
{
__result = __s++;
while (*__s != '\0')
if (*__s++ == __sep)
{
__s[-1] = '\0';
break;
}
*__nextp = __s;
}
return __result;
}
# 1115 "../string/bits/string2.h"
extern char *__strsep_g (char **__stringp, __const char *__delim);
# 1133 "../string/bits/string2.h"
extern __inline char *__strsep_1c (char **__s, char __reject);
extern __inline char *
__strsep_1c (char **__s, char __reject)
{
register char *__retval = *__s;
if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : strchr (__retval, __reject)))) != ((void *)0))
*(*__s)++ = '\0';
return __retval;
}
extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2);
extern __inline char *
__strsep_2c (char **__s, char __reject1, char __reject2)
{
register char *__retval = *__s;
if (__retval != ((void *)0))
{
register char *__cp = __retval;
while (1)
{
if (*__cp == '\0')
{
__cp = ((void *)0);
break;
}
if (*__cp == __reject1 || *__cp == __reject2)
{
*__cp++ = '\0';
break;
}
++__cp;
}
*__s = __cp;
}
return __retval;
}
extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2,
char __reject3);
extern __inline char *
__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3)
{
register char *__retval = *__s;
if (__retval != ((void *)0))
{
register char *__cp = __retval;
while (1)
{
if (*__cp == '\0')
{
__cp = ((void *)0);
break;
}
if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3)
{
*__cp++ = '\0';
break;
}
++__cp;
}
*__s = __cp;
}
return __retval;
}
# 1209 "../string/bits/string2.h"
# 1 "../include/stdlib.h" 1
# 1 "../stdlib/stdlib.h" 1
# 33 "../stdlib/stdlib.h"
# 1 "/home/csd/dvl3/x86-64/lib/gcc-lib/x86_64-unknown-linux/3.3/include/stddef.h" 1 3 4
# 34 "../stdlib/stdlib.h" 2
# 527 "../stdlib/stdlib.h"
extern void *malloc (size_t __size) __attribute__ ((__malloc__));
extern void *calloc (size_t __nmemb, size_t __size)
__attribute__ ((__malloc__));
# 864 "../stdlib/stdlib.h"
# 8 "../include/stdlib.h" 2
# 1210 "../string/bits/string2.h" 2
extern char *__strdup (__const char *__string) __attribute__ ((__malloc__));
# 1233 "../string/bits/string2.h"
extern char *__strndup (__const char *__string, size_t __n)
__attribute__ ((__malloc__));
# 2 "../include/bits/string2.h" 2
# 361 "../string/string.h" 2
# 50 "../include/string.h" 2
# 25 "../sysdeps/i386/i686/hp-timing.h" 2
# 1 "../sysdeps/unix/sysv/linux/sys/param.h" 1
# 22 "../sysdeps/unix/sysv/linux/sys/param.h"
# 1 "../include/limits.h" 1
# 124 "../include/limits.h"
# 1 "/home/csd/dvl3/x86-64/lib/gcc-lib/x86_64-unknown-linux/3.3/include/limits.h" 1 3 4
# 125 "../include/limits.h" 2
# 144 "../include/limits.h"
# 1 "../include/bits/posix1_lim.h" 1
# 1 "../posix/bits/posix1_lim.h" 1
# 126 "../posix/bits/posix1_lim.h"
# 1 "../linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h" 1
# 36 "../linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h"
# 1 "/home/csd/dvl3/x86-64/x86_64-unknown-linux/sys-include/linux/limits.h" 1 3 4
# 37 "../linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h" 2
# 127 "../posix/bits/posix1_lim.h" 2
# 2 "../include/bits/posix1_lim.h" 2
# 145 "../include/limits.h" 2
# 1 "../include/bits/posix2_lim.h" 1
# 1 "../posix/bits/posix2_lim.h" 1
# 2 "../include/bits/posix2_lim.h" 2
# 149 "../include/limits.h" 2
# 1 "../include/bits/xopen_lim.h" 1
# 34 "../include/bits/xopen_lim.h"
# 1 "/home/csd/dvl3/glibc/build/bits/stdio_lim.h" 1
# 35 "../include/bits/xopen_lim.h" 2
# 153 "../include/limits.h" 2
# 23 "../sysdeps/unix/sysv/linux/sys/param.h" 2
# 1 "/home/csd/dvl3/x86-64/x86_64-unknown-linux/sys-include/linux/param.h" 1 3 4
# 1 "/home/csd/dvl3/x86-64/x86_64-unknown-linux/sys-include/asm/param.h" 1 3 4
# 5 "/home/csd/dvl3/x86-64/x86_64-unknown-linux/sys-include/linux/param.h" 2 3 4
# 25 "../sysdeps/unix/sysv/linux/sys/param.h" 2
# 42 "../sysdeps/unix/sysv/linux/sys/param.h"
# 1 "../include/sys/types.h" 1
# 43 "../sysdeps/unix/sysv/linux/sys/param.h" 2
# 26 "../sysdeps/i386/i686/hp-timing.h" 2
# 1 "../stdio-common/_itoa.h" 1
# 22 "../stdio-common/_itoa.h"
# 1 "../include/sys/cdefs.h" 1
# 23 "../stdio-common/_itoa.h" 2
extern char *_itoa (unsigned long long int value, char *buflim,
unsigned int base, int upper_case);
static inline char * __attribute__ ((unused))
_itoa_word (unsigned long value, char *buflim,
unsigned int base, int upper_case)
{
extern const char _itoa_upper_digits[], _itoa_lower_digits[];
const char *digits = upper_case ? _itoa_upper_digits : _itoa_lower_digits;
char *bp = buflim;
switch (base)
{
case 10: do *--bp = digits[value % 10]; while ((value /= 10) != 0); break;
case 16: do *--bp = digits[value % 16]; while ((value /= 16) != 0); break;
case 8: do *--bp = digits[value % 8]; while ((value /= 8) != 0); break;
default:
do
*--bp = digits[value % base];
while ((value /= base) != 0);
}
return bp;
}
static inline char * __attribute__ ((unused))
_fitoa_word (unsigned long value, char *buf, unsigned int base, int upper_case)
{
char tmpbuf[sizeof (value) * 4];
char *cp = _itoa_word (value, tmpbuf + sizeof (value) * 4, base, upper_case);
while (cp < tmpbuf + sizeof (value) * 4)
*buf++ = *cp++;
return buf;
}
static inline char * __attribute__ ((unused))
_fitoa (unsigned long long value, char *buf, unsigned int base, int upper_case)
{
char tmpbuf[sizeof (value) * 4];
char *cp = _itoa (value, tmpbuf + sizeof (value) * 4, base, upper_case);
while (cp < tmpbuf + sizeof (value) * 4)
*buf++ = *cp++;
return buf;
}
# 27 "../sysdeps/i386/i686/hp-timing.h" 2
# 85 "../sysdeps/i386/i686/hp-timing.h"
typedef unsigned long long int hp_timing_t;
extern hp_timing_t __libc_hp_timing_overhead;
# 3 "../sysdeps/x86_64/hp-timing.h" 2
# 8 "../include/libc-internal.h" 2
extern void __libc_init_secure (void);
extern void __libc_global_ctors (void);
extern int __profile_frequency (void);
extern void __cyg_profile_func_enter (void *this_fn, void *call_site);
extern void __cyg_profile_func_exit (void *this_fn, void *call_site);
extern hp_timing_t __get_clockfreq (void);
extern void __libc_freeres (void);
# 7 "soinit.c" 2
# 1 "../include/stdlib.h" 1
# 1 "../stdlib/stdlib.h" 1
# 33 "../stdlib/stdlib.h"
# 1 "/home/csd/dvl3/x86-64/lib/gcc-lib/x86_64-unknown-linux/3.3/include/stddef.h" 1 3 4
# 325 "/home/csd/dvl3/x86-64/lib/gcc-lib/x86_64-unknown-linux/3.3/include/stddef.h" 3 4
typedef int wchar_t;
# 34 "../stdlib/stdlib.h" 2
# 1 "../sysdeps/unix/sysv/linux/bits/waitflags.h" 1
# 43 "../stdlib/stdlib.h" 2
# 1 "../sysdeps/generic/bits/waitstatus.h" 1
# 63 "../sysdeps/generic/bits/waitstatus.h"
# 1 "../include/endian.h" 1
# 64 "../sysdeps/generic/bits/waitstatus.h" 2
union wait
{
int w_status;
struct
{
unsigned int __w_termsig:7;
unsigned int __w_coredump:1;
unsigned int __w_retcode:8;
unsigned int:16;
} __wait_terminated;
struct
{
unsigned int __w_stopval:8;
unsigned int __w_stopsig:8;
unsigned int:16;
} __wait_stopped;
};
# 44 "../stdlib/stdlib.h" 2
# 68 "../stdlib/stdlib.h"
typedef union
{
union wait *__uptr;
int *__iptr;
} __WAIT_STATUS __attribute__ ((__transparent_union__));
# 94 "../stdlib/stdlib.h"
typedef struct
{
int quot;
int rem;
} div_t;
typedef struct
{
long int quot;
long int rem;
} ldiv_t;
__extension__ typedef struct
{
long long int quot;
long long int rem;
} lldiv_t;
# 133 "../stdlib/stdlib.h"
extern size_t __ctype_get_mb_cur_max (void) ;
extern double atof (__const char *__nptr) __attribute__ ((__pure__));
extern int atoi (__const char *__nptr) __attribute__ ((__pure__));
extern long int atol (__const char *__nptr) __attribute__ ((__pure__));
__extension__ extern long long int atoll (__const char *__nptr)
__attribute__ ((__pure__));
extern double strtod (__const char *__restrict __nptr,
char **__restrict __endptr) ;
extern float strtof (__const char *__restrict __nptr,
char **__restrict __endptr) ;
extern long double strtold (__const char *__restrict __nptr,
char **__restrict __endptr) ;
extern long int strtol (__const char *__restrict __nptr,
char **__restrict __endptr, int __base) ;
extern unsigned long int strtoul (__const char *__restrict __nptr,
char **__restrict __endptr, int __base)
;
__extension__
extern long long int strtoq (__const char *__restrict __nptr,
char **__restrict __endptr, int __base) ;
__extension__
extern unsigned long long int strtouq (__const char *__restrict __nptr,
char **__restrict __endptr, int __base)
;
__extension__
extern long long int strtoll (__const char *__restrict __nptr,
char **__restrict __endptr, int __base) ;
__extension__
extern unsigned long long int strtoull (__const char *__restrict __nptr,
char **__restrict __endptr, int __base)
;
# 211 "../stdlib/stdlib.h"
# 1 "../include/xlocale.h" 1
# 212 "../stdlib/stdlib.h" 2
extern long int __strtol_l (__const char *__restrict __nptr,
char **__restrict __endptr, int __base,
__locale_t __loc) ;
extern unsigned long int __strtoul_l (__const char *__restrict __nptr,
char **__restrict __endptr,
int __base, __locale_t __loc) ;
__extension__
extern long long int __strtoll_l (__const char *__restrict __nptr,
char **__restrict __endptr, int __base,
__locale_t __loc) ;
__extension__
extern unsigned long long int __strtoull_l (__const char *__restrict __nptr,
char **__restrict __endptr,
int __base, __locale_t __loc)
;
extern double __strtod_l (__const char *__restrict __nptr,
char **__restrict __endptr, __locale_t __loc)
;
extern float __strtof_l (__const char *__restrict __nptr,
char **__restrict __endptr, __locale_t __loc) ;
extern long double __strtold_l (__const char *__restrict __nptr,
char **__restrict __endptr,
__locale_t __loc) ;
extern double __strtod_internal (__const char *__restrict __nptr,
char **__restrict __endptr, int __group)
;
extern float __strtof_internal (__const char *__restrict __nptr,
char **__restrict __endptr, int __group)
;
extern long double __strtold_internal (__const char *__restrict __nptr,
char **__restrict __endptr,
int __group) ;
extern long int __strtol_internal (__const char *__restrict __nptr,
char **__restrict __endptr,
int __base, int __group) ;
extern unsigned long int __strtoul_internal (__const char *__restrict __nptr,
char **__restrict __endptr,
int __base, int __group) ;
__extension__
extern long long int __strtoll_internal (__const char *__restrict __nptr,
char **__restrict __endptr,
int __base, int __group) ;
__extension__
extern unsigned long long int __strtoull_internal (__const char *
__restrict __nptr,
char **__restrict __endptr,
int __base, int __group)
;
extern __inline double
strtod (__const char *__restrict __nptr, char **__restrict __endptr)
{
return __strtod_internal (__nptr, __endptr, 0);
}
extern __inline long int
strtol (__const char *__restrict __nptr, char **__restrict __endptr,
int __base)
{
return __strtol_internal (__nptr, __endptr, __base, 0);
}
extern __inline unsigned long int
strtoul (__const char *__restrict __nptr, char **__restrict __endptr,
int __base)
{
return __strtoul_internal (__nptr, __endptr, __base, 0);
}
extern __inline float
strtof (__const char *__restrict __nptr, char **__restrict __endptr)
{
return __strtof_internal (__nptr, __endptr, 0);
}
extern __inline long double
strtold (__const char *__restrict __nptr, char **__restrict __endptr)
{
return __strtold_internal (__nptr, __endptr, 0);
}
__extension__ extern __inline long long int
strtoq (__const char *__restrict __nptr, char **__restrict __endptr,
int __base)
{
return __strtoll_internal (__nptr, __endptr, __base, 0);
}
__extension__ extern __inline unsigned long long int
strtouq (__const char *__restrict __nptr, char **__restrict __endptr,
int __base)
{
return __strtoull_internal (__nptr, __endptr, __base, 0);
}
__extension__ extern __inline long long int
strtoll (__const char *__restrict __nptr, char **__restrict __endptr,
int __base)
{
return __strtoll_internal (__nptr, __endptr, __base, 0);
}
__extension__ extern __inline unsigned long long int
strtoull (__const char * __restrict __nptr, char **__restrict __endptr,
int __base)
{
return __strtoull_internal (__nptr, __endptr, __base, 0);
}
extern __inline double
atof (__const char *__nptr)
{
return strtod (__nptr, (char **) ((void *)0));
}
extern __inline int
atoi (__const char *__nptr)
{
return (int) strtol (__nptr, (char **) ((void *)0), 10);
}
extern __inline long int
atol (__const char *__nptr)
{
return strtol (__nptr, (char **) ((void *)0), 10);
}
__extension__ extern __inline long long int
atoll (__const char *__nptr)
{
return strtoll (__nptr, (char **) ((void *)0), 10);
}
# 384 "../stdlib/stdlib.h"
extern char *l64a (long int __n) ;
extern long int a64l (__const char *__s) __attribute__ ((__pure__));
# 1 "../include/sys/types.h" 1
# 391 "../stdlib/stdlib.h" 2
extern long int random (void) ;
extern void srandom (unsigned int __seed) ;
extern char *initstate (unsigned int __seed, char *__statebuf,
size_t __statelen) ;
extern char *setstate (char *__statebuf) ;
struct random_data
{
int32_t *fptr;
int32_t *rptr;
int32_t *state;
int rand_type;
int rand_deg;
int rand_sep;
int32_t *end_ptr;
};
extern int random_r (struct random_data *__restrict __buf,
int32_t *__restrict __result) ;
extern int srandom_r (unsigned int __seed, struct random_data *__buf) ;
extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
size_t __statelen,
struct random_data *__restrict __buf) ;
extern int setstate_r (char *__restrict __statebuf,
struct random_data *__restrict __buf) ;
extern int rand (void) ;
extern void srand (unsigned int __seed) ;
extern int rand_r (unsigned int *__seed) ;
extern double drand48 (void) ;
extern double erand48 (unsigned short int __xsubi[3]) ;
extern long int lrand48 (void) ;
extern long int nrand48 (unsigned short int __xsubi[3]) ;
extern long int mrand48 (void) ;
extern long int jrand48 (unsigned short int __xsubi[3]) ;
extern void srand48 (long int __seedval) ;
extern unsigned short int *seed48 (unsigned short int __seed16v[3]) ;
extern void lcong48 (unsigned short int __param[7]) ;
struct drand48_data
{
unsigned short int __x[3];
unsigned short int __old_x[3];
unsigned short int __c;
unsigned short int __init;
unsigned long long int __a;
};
extern int drand48_r (struct drand48_data *__restrict __buffer,
double *__restrict __result) ;
extern int erand48_r (unsigned short int __xsubi[3],
struct drand48_data *__restrict __buffer,
double *__restrict __result) ;
extern int lrand48_r (struct drand48_data *__restrict __buffer,
long int *__restrict __result) ;
extern int nrand48_r (unsigned short int __xsubi[3],
struct drand48_data *__restrict __buffer,
long int *__restrict __result) ;
extern int mrand48_r (struct drand48_data *__restrict __buffer,
long int *__restrict __result) ;
extern int jrand48_r (unsigned short int __xsubi[3],
struct drand48_data *__restrict __buffer,
long int *__restrict __result) ;
extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
;
extern int seed48_r (unsigned short int __seed16v[3],
struct drand48_data *__buffer) ;
extern int lcong48_r (unsigned short int __param[7],
struct drand48_data *__buffer) ;
# 536 "../stdlib/stdlib.h"
extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__malloc__));
extern void free (void *__ptr) ;
extern void cfree (void *__ptr) ;
# 1 "../include/alloca.h" 1
# 1 "../stdlib/alloca.h" 1
# 25 "../stdlib/alloca.h"
# 1 "/home/csd/dvl3/x86-64/lib/gcc-lib/x86_64-unknown-linux/3.3/include/stddef.h" 1 3 4
# 26 "../stdlib/alloca.h" 2
extern void *alloca (size_t __size) ;
# 4 "../include/alloca.h" 2
extern void *__alloca (size_t __size);
# 547 "../stdlib/stdlib.h" 2
extern void *valloc (size_t __size) __attribute__ ((__malloc__));
extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
__attribute__ ((__malloc__));
extern void abort (void) __attribute__ ((__noreturn__));
extern int atexit (void (*__func) (void)) ;
extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
;
extern void exit (int __status) __attribute__ ((__noreturn__));
extern void _Exit (int __status) __attribute__ ((__noreturn__));
extern char *getenv (__const char *__name) ;
extern char *__secure_getenv (__const char *__name) ;
extern int putenv (char *__string) ;
extern int setenv (__const char *__name, __const char *__value, int __replace)
;
extern int unsetenv (__const char *__name) ;
extern int clearenv (void) ;
# 623 "../stdlib/stdlib.h"
extern char *mktemp (char *__template) ;
extern int mkstemp (char *__template) ;
# 640 "../stdlib/stdlib.h"
extern int mkstemp64 (char *__template) ;
# 650 "../stdlib/stdlib.h"
extern char *mkdtemp (char *__template) ;
extern int system (__const char *__command) ;
extern char *canonicalize_file_name (__const char *__name) ;
# 672 "../stdlib/stdlib.h"
extern char *realpath (__const char *__restrict __name,
char *__restrict __resolved) ;
typedef int (*__compar_fn_t) (__const void *, __const void *);
typedef __compar_fn_t comparison_fn_t;
extern void *bsearch (__const void *__key, __const void *__base,
size_t __nmemb, size_t __size, __compar_fn_t __compar);
extern void qsort (void *__base, size_t __nmemb, size_t __size,
__compar_fn_t __compar);
extern int abs (int __x) __attribute__ ((__const__));
extern long int labs (long int __x) __attribute__ ((__const__));
__extension__ extern long long int llabs (long long int __x)
__attribute__ ((__const__));
extern div_t div (int __numer, int __denom)
__attribute__ ((__const__));
extern ldiv_t ldiv (long int __numer, long int __denom)
__attribute__ ((__const__));
__extension__ extern lldiv_t lldiv (long long int __numer,
long long int __denom)
__attribute__ ((__const__));
# 728 "../stdlib/stdlib.h"
extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
int *__restrict __sign) ;
extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
int *__restrict __sign) ;
extern char *gcvt (double __value, int __ndigit, char *__buf) ;
extern char *qecvt (long double __value, int __ndigit,
int *__restrict __decpt, int *__restrict __sign) ;
extern char *qfcvt (long double __value, int __ndigit,
int *__restrict __decpt, int *__restrict __sign) ;
extern char *qgcvt (long double __value, int __ndigit, char *__buf) ;
extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
int *__restrict __sign, char *__restrict __buf,
size_t __len) ;
extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
int *__restrict __sign, char *__restrict __buf,
size_t __len) ;
extern int qecvt_r (long double __value, int __ndigit,
int *__restrict __decpt, int *__restrict __sign,
char *__restrict __buf, size_t __len) ;
extern int qfcvt_r (long double __value, int __ndigit,
int *__restrict __decpt, int *__restrict __sign,
char *__restrict __buf, size_t __len) ;
extern int mblen (__const char *__s, size_t __n) ;
extern int mbtowc (wchar_t *__restrict __pwc,
__const char *__restrict __s, size_t __n) ;
extern int wctomb (char *__s, wchar_t __wchar) ;
extern size_t mbstowcs (wchar_t *__restrict __pwcs,
__const char *__restrict __s, size_t __n) ;
extern size_t wcstombs (char *__restrict __s,
__const wchar_t *__restrict __pwcs, size_t __n)
;
extern int rpmatch (__const char *__response) ;
# 808 "../stdlib/stdlib.h"
extern int getsubopt (char **__restrict __optionp,
char *__const *__restrict __tokens,
char **__restrict __valuep) ;
extern void setkey (__const char *__key) ;
extern int posix_openpt (int __oflag) ;
extern int grantpt (int __fd) ;
extern int unlockpt (int __fd) ;
extern char *ptsname (int __fd) ;
extern int ptsname_r (int __fd, char *__buf, size_t __buflen) ;
extern int getpt (void) ;
extern int getloadavg (double __loadavg[], int __nelem) ;
# 8 "../include/stdlib.h" 2
extern long int __random (void);
extern void __srandom (unsigned int __seed);
extern char *__initstate (unsigned int __seed, char *__statebuf,
size_t __statelen);
extern char *__setstate (char *__statebuf);
extern int __random_r (struct random_data *__buf, int32_t *__result);
extern int __srandom_r (unsigned int __seed, struct random_data *__buf);
extern int __initstate_r (unsigned int __seed, char *__statebuf,
size_t __statelen, struct random_data *__buf);
extern int __setstate_r (char *__statebuf, struct random_data *__buf);
extern int __rand_r (unsigned int *__seed);
extern int __erand48_r (unsigned short int __xsubi[3],
struct drand48_data *__buffer, double *__result);
extern int __nrand48_r (unsigned short int __xsubi[3],
struct drand48_data *__buffer,
long int *__result);
extern int __jrand48_r (unsigned short int __xsubi[3],
struct drand48_data *__buffer,
long int *__result);
extern int __srand48_r (long int __seedval,
struct drand48_data *__buffer);
extern int __seed48_r (unsigned short int __seed16v[3],
struct drand48_data *__buffer);
extern int __lcong48_r (unsigned short int __param[7],
struct drand48_data *__buffer);
extern int __drand48_iterate (unsigned short int __xsubi[3],
struct drand48_data *__buffer);
extern int __setenv (__const char *__name, __const char *__value,
int __replace);
extern int __unsetenv (__const char *__name);
extern int __clearenv (void);
extern char *__canonicalize_file_name (__const char *__name);
extern char *__realpath (__const char *__name, char *__resolved);
extern int __ptsname_r (int __fd, char *__buf, size_t __buflen);
extern int __getpt (void);
extern int __posix_openpt (int __oflag);
extern int __add_to_environ (const char *name, const char *value,
const char *combines, int replace);
extern void _quicksort (void *const pbase, size_t total_elems,
size_t size, __compar_fn_t cmp);
extern int __on_exit (void (*__func) (int __status, void *__arg), void *__arg);
extern int __cxa_atexit (void (*func) (void *), void *arg, void *d);
extern void __cxa_finalize (void *d);
extern int __posix_memalign (void **memptr, size_t alignment, size_t size)
__attribute__ ((__malloc__));
extern int __libc_system (const char *line);
# 8 "soinit.c" 2
# 1 "../sysdeps/generic/gccframe.h" 1
# 20 "../sysdeps/generic/gccframe.h"
# 1 "../include/sys/types.h" 1
# 21 "../sysdeps/generic/gccframe.h" 2
struct dwarf_fde;
struct fde_vector;
struct object
{
void *pc_begin;
void *tbase;
void *dbase;
union {
struct dwarf_fde *single;
struct dwarf_fde **array;
struct fde_vector *sort;
} u;
union {
struct {
unsigned long sorted : 1;
unsigned long from_array : 1;
unsigned long mixed_encoding : 1;
unsigned long encoding : 8;
unsigned long count : 21;
} b;
size_t i;
} s;
struct object *next;
};
# 11 "soinit.c" 2
static void (*const __CTOR_LIST__[1]) (void)
__attribute__ ((section (".ctors")))
= { (void (*) (void)) -1 };
static void (*const __DTOR_LIST__[1]) (void)
__attribute__ ((section (".dtors")))
= { (void (*) (void)) -1 };
static inline void
run_hooks (void (*const list[]) (void))
{
while (*++list)
(**list) ();
}
static char __EH_FRAME_BEGIN__[]
__attribute__ ((section (".eh_frame")))
= { };
extern void __register_frame_info (const void *, struct object *);
extern void __register_frame_info_bases (const void *, struct object *,
void *, void *);
extern void __deregister_frame_info (const void *);
extern void __deregister_frame_info_bases (const void *);
void
__libc_global_ctors (void)
{
run_hooks (__CTOR_LIST__);
{
static struct object ob;
# 69 "soinit.c"
__register_frame_info (__EH_FRAME_BEGIN__, &ob);
}
}
void _fini (void) __attribute__ ((section (".fini")));
void
_fini (void)
{
run_hooks (__DTOR_LIST__);
__deregister_frame_info (__EH_FRAME_BEGIN__);
}
More information about the Gcc-bugs
mailing list