public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c/10422: Internal compiler error in simplify_subreg, at simplify-rtx.c:2452
@ 2003-05-05 14:50 bangerth
0 siblings, 0 replies; 3+ messages in thread
From: bangerth @ 2003-05-05 14:50 UTC (permalink / raw)
To: gcc-bugs, gcc-prs, nobody, oliver.graebner
Synopsis: Internal compiler error in simplify_subreg, at simplify-rtx.c:2452
State-Changed-From-To: open->closed
State-Changed-By: bangerth
State-Changed-When: Mon May 5 14:50:51 2003
State-Changed-Why:
Confirmed, but already fixed in 3.2.3, 3.3 and 3.4
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10422
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: c/10422: Internal compiler error in simplify_subreg, at simplify-rtx.c:2452
@ 2003-04-17 9:56 Oliver Gräbner
0 siblings, 0 replies; 3+ messages in thread
From: Oliver Gräbner @ 2003-04-17 9:56 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR c/10422; it has been noted by GNATS.
From: Oliver =?iso-8859-1?q?Gr=E4bner?= <oliver.graebner@siemens.com>
To: gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org,
gcc-prs@gcc.gnu.org, oliver.graebner@siemens.com
Cc:
Subject: Re: c/10422: Internal compiler error in simplify_subreg, at simplify-rtx.c:2452
Date: Thu, 17 Apr 2003 10:56:18 +0200
--------------Boundary-00=_UTCH4TK8JIHUCD697UZS
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=3Dview%20audit-trail&database=3D=
gcc&pr=3D10422
Hi,
I thrilled down into the crash and had a closer look at the source code. =
I=20
found the responsible source code lines which crashes gcc and commented t=
hem=20
out. Please have a look at the attached tc-ppc.c.patch file for the=20
appropriate source code lines.
The attached tc-ppc.i file has the patch incorporated and thus compiles=20
properly. (If this produces a running cross compiler - I do not know at t=
he=20
moment!).=20
This may ease your work.
Best Regards
Oliver
--------------Boundary-00=_UTCH4TK8JIHUCD697UZS
Content-Type: text/plain;
charset="us-ascii";
name="tc-ppc.i"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="tc-ppc.i"
# 1 "../../binutils-2.13.1/gas/config/tc-ppc.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "../../binutils-2.13.1/gas/config/tc-ppc.c"
# 23 "../../binutils-2.13.1/gas/config/tc-ppc.c"
# 1 "/usr/include/stdio.h" 1 3
# 28 "/usr/include/stdio.h" 3
# 1 "/usr/include/features.h" 1 3
# 283 "/usr/include/features.h" 3
# 1 "/usr/include/sys/cdefs.h" 1 3
# 284 "/usr/include/features.h" 2 3
# 312 "/usr/include/features.h" 3
# 1 "/usr/include/gnu/stubs.h" 1 3
# 313 "/usr/include/features.h" 2 3
# 29 "/usr/include/stdio.h" 2 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 201 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 3
typedef unsigned int size_t;
# 35 "/usr/include/stdio.h" 2 3
# 1 "/usr/include/bits/types.h" 1 3
# 29 "/usr/include/bits/types.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 30 "/usr/include/bits/types.h" 2 3
typedef unsigned char __u_char;
typedef unsigned short __u_short;
typedef unsigned int __u_int;
typedef unsigned long __u_long;
__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef long long int __quad_t;
# 49 "/usr/include/bits/types.h" 3
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;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
typedef __quad_t *__qaddr_t;
typedef __u_quad_t __dev_t;
typedef __u_int __uid_t;
typedef __u_int __gid_t;
typedef __u_long __ino_t;
typedef __u_int __mode_t;
typedef __u_int __nlink_t;
typedef long int __off_t;
typedef __quad_t __loff_t;
typedef int __pid_t;
typedef int __ssize_t;
typedef __u_long __rlim_t;
typedef __u_quad_t __rlim64_t;
typedef __u_int __id_t;
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 __clockid_t;
typedef int __timer_t;
typedef int __key_t;
typedef unsigned short int __ipc_pid_t;
typedef long int __blksize_t;
typedef long int __blkcnt_t;
typedef __quad_t __blkcnt64_t;
typedef __u_long __fsblkcnt_t;
typedef __u_quad_t __fsblkcnt64_t;
typedef __u_long __fsfilcnt_t;
typedef __u_quad_t __fsfilcnt64_t;
typedef __u_quad_t __ino64_t;
typedef __loff_t __off64_t;
typedef long int __t_scalar_t;
typedef unsigned long int __t_uscalar_t;
typedef int __intptr_t;
typedef unsigned int __socklen_t;
# 1 "/usr/include/bits/pthreadtypes.h" 1 3
# 23 "/usr/include/bits/pthreadtypes.h" 3
# 1 "/usr/include/bits/sched.h" 1 3
# 68 "/usr/include/bits/sched.h" 3
struct __sched_param
{
int __sched_priority;
};
# 24 "/usr/include/bits/pthreadtypes.h" 2 3
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;
# 144 "/usr/include/bits/types.h" 2 3
# 37 "/usr/include/stdio.h" 2 3
# 45 "/usr/include/stdio.h" 3
typedef struct _IO_FILE FILE;
# 55 "/usr/include/stdio.h" 3
typedef struct _IO_FILE __FILE;
# 65 "/usr/include/stdio.h" 3
# 1 "/usr/include/libio.h" 1 3
# 32 "/usr/include/libio.h" 3
# 1 "/usr/include/_G_config.h" 1 3
# 14 "/usr/include/_G_config.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 294 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 3
typedef long int wchar_t;
# 321 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 3
typedef unsigned int wint_t;
# 15 "/usr/include/_G_config.h" 2 3
# 24 "/usr/include/_G_config.h" 3
# 1 "/usr/include/wchar.h" 1 3
# 48 "/usr/include/wchar.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 49 "/usr/include/wchar.h" 2 3
# 1 "/usr/include/bits/wchar.h" 1 3
# 51 "/usr/include/wchar.h" 2 3
# 67 "/usr/include/wchar.h" 3
typedef struct
{
int __count;
union
{
wint_t __wch;
char __wchb[4];
} __value;
} __mbstate_t;
# 25 "/usr/include/_G_config.h" 2 3
typedef struct
{
__off_t __pos;
__mbstate_t __state;
} _G_fpos_t;
typedef struct
{
__off64_t __pos;
__mbstate_t __state;
} _G_fpos64_t;
# 44 "/usr/include/_G_config.h" 3
# 1 "/usr/include/gconv.h" 1 3
# 28 "/usr/include/gconv.h" 3
# 1 "/usr/include/wchar.h" 1 3
# 48 "/usr/include/wchar.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 49 "/usr/include/wchar.h" 2 3
# 29 "/usr/include/gconv.h" 2 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 32 "/usr/include/gconv.h" 2 3
enum
{
__GCONV_OK =3D 0,
__GCONV_NOCONV,
__GCONV_NODB,
__GCONV_NOMEM,
__GCONV_EMPTY_INPUT,
__GCONV_FULL_OUTPUT,
__GCONV_ILLEGAL_INPUT,
__GCONV_INCOMPLETE_INPUT,
__GCONV_ILLEGAL_DESCRIPTOR,
__GCONV_INTERNAL_ERROR
};
enum
{
__GCONV_IS_LAST =3D 0x0001,
__GCONV_IGNORE_ERRORS =3D 0x0002
};
struct __gconv_step;
struct __gconv_step_data;
struct __gconv_loaded_object;
struct __gconv_trans_data;
typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_da=
ta *,
__const unsigned char **, __const unsigned ch=
ar *,
unsigned char **, size_t *, int, int);
typedef int (*__gconv_init_fct) (struct __gconv_step *);
typedef void (*__gconv_end_fct) (struct __gconv_step *);
typedef int (*__gconv_trans_fct) (struct __gconv_step *,
struct __gconv_step_data *, void *,
__const unsigned char *,
__const unsigned char **,
__const unsigned char *, unsigned char =
**,
size_t *);
typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *=
,
__const unsigned char *,
unsigned char *, unsigned char =
*);
typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***,
size_t *);
typedef int (*__gconv_trans_init_fct) (void **, const char *);
typedef void (*__gconv_trans_end_fct) (void *);
struct __gconv_trans_data
{
__gconv_trans_fct __trans_fct;
__gconv_trans_context_fct __trans_context_fct;
__gconv_trans_end_fct __trans_end_fct;
void *__data;
struct __gconv_trans_data *__next;
};
struct __gconv_step
{
struct __gconv_loaded_object *__shlib_handle;
__const char *__modname;
int __counter;
char *__from_name;
char *__to_name;
__gconv_fct __fct;
__gconv_init_fct __init_fct;
__gconv_end_fct __end_fct;
int __min_needed_from;
int __max_needed_from;
int __min_needed_to;
int __max_needed_to;
int __stateful;
void *__data;
};
struct __gconv_step_data
{
unsigned char *__outbuf;
unsigned char *__outbufend;
int __flags;
int __invocation_counter;
int __internal_use;
__mbstate_t *__statep;
__mbstate_t __state;
struct __gconv_trans_data *__trans;
};
typedef struct __gconv_info
{
size_t __nsteps;
struct __gconv_step *__steps;
__extension__ struct __gconv_step_data __data [];
} *__gconv_t;
# 45 "/usr/include/_G_config.h" 2 3
typedef union
{
struct __gconv_info __cd;
struct
{
struct __gconv_info __cd;
struct __gconv_step_data __data;
} __combined;
} _G_iconv_t;
typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
# 33 "/usr/include/libio.h" 2 3
# 53 "/usr/include/libio.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stdarg.h" 1 3
# 43 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stdarg.h" 3
typedef __builtin_va_list __gnuc_va_list;
# 54 "/usr/include/libio.h" 2 3
# 160 "/usr/include/libio.h" 3
struct _IO_jump_t; struct _IO_FILE;
# 170 "/usr/include/libio.h" 3
typedef void _IO_lock_t;
struct _IO_marker {
struct _IO_marker *_next;
struct _IO_FILE *_sbuf;
int _pos;
# 193 "/usr/include/libio.h" 3
};
enum __codecvt_result
{
__codecvt_ok,
__codecvt_partial,
__codecvt_error,
__codecvt_noconv
};
# 261 "/usr/include/libio.h" 3
struct _IO_FILE {
int _flags;
char* _IO_read_ptr;
char* _IO_read_end;
char* _IO_read_base;
char* _IO_write_base;
char* _IO_write_ptr;
char* _IO_write_end;
char* _IO_buf_base;
char* _IO_buf_end;
char *_IO_save_base;
char *_IO_backup_base;
char *_IO_save_end;
struct _IO_marker *_markers;
struct _IO_FILE *_chain;
int _fileno;
int _blksize;
__off_t _old_offset;
unsigned short _cur_column;
signed char _vtable_offset;
char _shortbuf[1];
_IO_lock_t *_lock;
# 305 "/usr/include/libio.h" 3
__off64_t _offset;
void *__pad1;
void *__pad2;
int _mode;
char _unused2[15 * sizeof (int) - 2 * sizeof (void *)];
};
typedef struct _IO_FILE _IO_FILE;
struct _IO_FILE_plus;
extern struct _IO_FILE_plus _IO_2_1_stdin_;
extern struct _IO_FILE_plus _IO_2_1_stdout_;
extern struct _IO_FILE_plus _IO_2_1_stderr_;
# 344 "/usr/include/libio.h" 3
typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nby=
tes);
typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
size_t __n);
typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
typedef int __io_close_fn (void *__cookie);
typedef __io_read_fn cookie_read_function_t;
typedef __io_write_fn cookie_write_function_t;
typedef __io_seek_fn cookie_seek_function_t;
typedef __io_close_fn cookie_close_function_t;
typedef struct
{
__io_read_fn *read;
__io_write_fn *write;
__io_seek_fn *seek;
__io_close_fn *close;
} _IO_cookie_io_functions_t;
typedef _IO_cookie_io_functions_t cookie_io_functions_t;
struct _IO_cookie_file;
extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_=
write,
void *__cookie, _IO_cookie_io_functions_t __=
fns);
extern int __underflow (_IO_FILE *) ;
extern int __uflow (_IO_FILE *) ;
extern int __overflow (_IO_FILE *, int) ;
extern wint_t __wunderflow (_IO_FILE *) ;
extern wint_t __wuflow (_IO_FILE *) ;
extern wint_t __woverflow (_IO_FILE *, wint_t) ;
# 426 "/usr/include/libio.h" 3
extern int _IO_getc (_IO_FILE *__fp) ;
extern int _IO_putc (int __c, _IO_FILE *__fp) ;
extern int _IO_feof (_IO_FILE *__fp) ;
extern int _IO_ferror (_IO_FILE *__fp) ;
extern int _IO_peekc_locked (_IO_FILE *__fp) ;
extern void _IO_flockfile (_IO_FILE *) ;
extern void _IO_funlockfile (_IO_FILE *) ;
extern int _IO_ftrylockfile (_IO_FILE *) ;
# 456 "/usr/include/libio.h" 3
extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
__gnuc_va_list, int *__restrict) ;
extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
__gnuc_va_list) ;
extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) ;
extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) ;
extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) ;
extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) ;
extern void _IO_free_backup_area (_IO_FILE *) ;
# 66 "/usr/include/stdio.h" 2 3
typedef __gnuc_va_list va_list;
# 80 "/usr/include/stdio.h" 3
typedef _G_fpos_t fpos_t;
typedef _G_fpos64_t fpos64_t;
# 129 "/usr/include/stdio.h" 3
# 1 "/usr/include/bits/stdio_lim.h" 1 3
# 130 "/usr/include/stdio.h" 2 3
extern FILE *stdin;
extern FILE *stdout;
extern FILE *stderr;
extern int remove (__const char *__filename) ;
extern int rename (__const char *__old, __const char *__new) ;
extern FILE *tmpfile (void) ;
# 158 "/usr/include/stdio.h" 3
extern FILE *tmpfile64 (void) ;
extern char *tmpnam (char *__s) ;
extern char *tmpnam_r (char *__s) ;
# 178 "/usr/include/stdio.h" 3
extern char *tempnam (__const char *__dir, __const char *__pfx)
__attribute__ ((__malloc__));
extern int fclose (FILE *__stream) ;
extern int fflush (FILE *__stream) ;
extern int fflush_unlocked (FILE *__stream) ;
extern int fcloseall (void) ;
extern FILE *fopen (__const char *__restrict __filename,
__const char *__restrict __modes) ;
extern FILE *freopen (__const char *__restrict __filename,
__const char *__restrict __modes,
FILE *__restrict __stream) ;
# 222 "/usr/include/stdio.h" 3
extern FILE *fopen64 (__const char *__restrict __filename,
__const char *__restrict __modes) ;
extern FILE *freopen64 (__const char *__restrict __filename,
__const char *__restrict __modes,
FILE *__restrict __stream) ;
extern FILE *fdopen (int __fd, __const char *__modes) ;
extern FILE *fopencookie (void *__restrict __magic_cookie,
__const char *__restrict __modes,
_IO_cookie_io_functions_t __io_funcs) ;
extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) ;
extern FILE *open_memstream (char **__restrict __bufloc,
size_t *__restrict __sizeloc) ;
extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) ;
extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
int __modes, size_t __n) ;
extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
size_t __size) ;
extern void setlinebuf (FILE *__stream) ;
extern int fprintf (FILE *__restrict __stream,
__const char *__restrict __format, ...) ;
extern int printf (__const char *__restrict __format, ...) ;
extern int sprintf (char *__restrict __s,
__const char *__restrict __format, ...) ;
extern int vfprintf (FILE *__restrict __s, __const char *__restrict __for=
mat,
__gnuc_va_list __arg) ;
extern int vprintf (__const char *__restrict __format, __gnuc_va_list __a=
rg)
;
extern int vsprintf (char *__restrict __s, __const char *__restrict __for=
mat,
__gnuc_va_list __arg) ;
extern int snprintf (char *__restrict __s, size_t __maxlen,
__const char *__restrict __format, ...)
__attribute__ ((__format__ (__printf__, 3, 4)));
extern int vsnprintf (char *__restrict __s, size_t __maxlen,
__const char *__restrict __format, __gnuc_va_list _=
_arg)
__attribute__ ((__format__ (__printf__, 3, 0)));
extern int vasprintf (char **__restrict __ptr, __const char *__restrict _=
_f,
__gnuc_va_list __arg)
__attribute__ ((__format__ (__printf__, 2, 0)));
extern int __asprintf (char **__restrict __ptr,
__const char *__restrict __fmt, ...)
__attribute__ ((__format__ (__printf__, 2, 3)));
extern int asprintf (char **__restrict __ptr,
__const char *__restrict __fmt, ...)
__attribute__ ((__format__ (__printf__, 2, 3)));
extern int vdprintf (int __fd, __const char *__restrict __fmt,
__gnuc_va_list __arg)
__attribute__ ((__format__ (__printf__, 2, 0)));
extern int dprintf (int __fd, __const char *__restrict __fmt, ...)
__attribute__ ((__format__ (__printf__, 2, 3)));
extern int fscanf (FILE *__restrict __stream,
__const char *__restrict __format, ...) ;
extern int scanf (__const char *__restrict __format, ...) ;
extern int sscanf (__const char *__restrict __s,
__const char *__restrict __format, ...) ;
extern int vfscanf (FILE *__restrict __s, __const char *__restrict __form=
at,
__gnuc_va_list __arg)
__attribute__ ((__format__ (__scanf__, 2, 0)));
extern int vscanf (__const char *__restrict __format, __gnuc_va_list __ar=
g)
__attribute__ ((__format__ (__scanf__, 1, 0)));
extern int vsscanf (__const char *__restrict __s,
__const char *__restrict __format, __gnuc_va_list __a=
rg)
__attribute__ ((__format__ (__scanf__, 2, 0)));
extern int fgetc (FILE *__stream) ;
extern int getc (FILE *__stream) ;
extern int getchar (void) ;
extern int getc_unlocked (FILE *__stream) ;
extern int getchar_unlocked (void) ;
extern int fgetc_unlocked (FILE *__stream) ;
extern int fputc (int __c, FILE *__stream) ;
extern int putc (int __c, FILE *__stream) ;
extern int putchar (int __c) ;
extern int fputc_unlocked (int __c, FILE *__stream) ;
extern int putc_unlocked (int __c, FILE *__stream) ;
extern int putchar_unlocked (int __c) ;
extern int getw (FILE *__stream) ;
extern int putw (int __w, FILE *__stream) ;
extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __str=
eam)
;
extern char *fgets_unlocked (char *__restrict __s, int __n,
FILE *__restrict __stream) ;
extern char *gets (char *__s) ;
# 426 "/usr/include/stdio.h" 3
extern __ssize_t __getdelim (char **__restrict __lineptr,
size_t *__restrict __n, int __delimiter,
FILE *__restrict __stream) ;
extern __ssize_t getdelim (char **__restrict __lineptr,
size_t *__restrict __n, int __delimiter,
FILE *__restrict __stream) ;
extern __ssize_t getline (char **__restrict __lineptr,
size_t *__restrict __n,
FILE *__restrict __stream) ;
extern int fputs (__const char *__restrict __s, FILE *__restrict __stream=
)
;
extern int fputs_unlocked (__const char *__restrict __s,
FILE *__restrict __stream) ;
extern int puts (__const char *__s) ;
extern int ungetc (int __c, FILE *__stream) ;
extern size_t fread (void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream) ;
extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __s) ;
extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream) ;
extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __s=
ize,
size_t __n, FILE *__restrict __stream) ;
extern int fseek (FILE *__stream, long int __off, int __whence) ;
extern long int ftell (FILE *__stream) ;
extern void rewind (FILE *__stream) ;
# 489 "/usr/include/stdio.h" 3
extern int fseeko (FILE *__stream, __off_t __off, int __whence) ;
extern __off_t ftello (FILE *__stream) ;
extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos)
;
extern int fsetpos (FILE *__stream, __const fpos_t *__pos) ;
# 523 "/usr/include/stdio.h" 3
extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence) ;
extern __off64_t ftello64 (FILE *__stream) ;
extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __p=
os)
;
extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos) ;
extern void clearerr (FILE *__stream) ;
extern int feof (FILE *__stream) ;
extern int ferror (FILE *__stream) ;
extern void clearerr_unlocked (FILE *__stream) ;
extern int feof_unlocked (FILE *__stream) ;
extern int ferror_unlocked (FILE *__stream) ;
extern void perror (__const char *__s) ;
# 1 "/usr/include/bits/sys_errlist.h" 1 3
# 27 "/usr/include/bits/sys_errlist.h" 3
extern int sys_nerr;
extern __const char *__const sys_errlist[];
extern int _sys_nerr;
extern __const char *__const _sys_errlist[];
# 553 "/usr/include/stdio.h" 2 3
extern int fileno (FILE *__stream) ;
extern int fileno_unlocked (FILE *__stream) ;
extern FILE *popen (__const char *__command, __const char *__modes) ;
extern int pclose (FILE *__stream) ;
extern char *ctermid (char *__s) ;
extern char *cuserid (char *__s) ;
struct obstack;
extern int obstack_printf (struct obstack *__restrict __obstack,
__const char *__restrict __format, ...) ;
extern int obstack_vprintf (struct obstack *__restrict __obstack,
__const char *__restrict __format,
__gnuc_va_list __args) ;
extern void flockfile (FILE *__stream) ;
extern int ftrylockfile (FILE *__stream) ;
extern void funlockfile (FILE *__stream) ;
# 625 "/usr/include/stdio.h" 3
# 1 "/usr/include/bits/stdio.h" 1 3
# 33 "/usr/include/bits/stdio.h" 3
extern __inline int
vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg)
{
return vfprintf (stdout, __fmt, __arg);
}
extern __inline int
getchar (void)
{
return _IO_getc (stdin);
}
extern __inline int
getc_unlocked (FILE *__fp)
{
return ((__fp)->_IO_read_ptr >=3D (__fp)->_IO_read_end ? __uflow (__fp)=
: *(unsigned char *) (__fp)->_IO_read_ptr++);
}
extern __inline int
getchar_unlocked (void)
{
return ((stdin)->_IO_read_ptr >=3D (stdin)->_IO_read_end ? __uflow (std=
in) : *(unsigned char *) (stdin)->_IO_read_ptr++);
}
extern __inline int
putchar (int __c)
{
return _IO_putc (__c, stdout);
}
extern __inline int
fputc_unlocked (int __c, FILE *__stream)
{
return (((__stream)->_IO_write_ptr >=3D (__stream)->_IO_write_end) ? __=
overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)=
->_IO_write_ptr++ =3D (__c)));
}
extern __inline int
putc_unlocked (int __c, FILE *__stream)
{
return (((__stream)->_IO_write_ptr >=3D (__stream)->_IO_write_end) ? __=
overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)=
->_IO_write_ptr++ =3D (__c)));
}
extern __inline int
putchar_unlocked (int __c)
{
return (((stdout)->_IO_write_ptr >=3D (stdout)->_IO_write_end) ? __over=
flow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_wr=
ite_ptr++ =3D (__c)));
}
extern __inline __ssize_t
getline (char **__lineptr, size_t *__n, FILE *__stream)
{
return __getdelim (__lineptr, __n, '\n', __stream);
}
extern __inline int
feof_unlocked (FILE *__stream)
{
return (((__stream)->_flags & 0x10) !=3D 0);
}
extern __inline int
ferror_unlocked (FILE *__stream)
{
return (((__stream)->_flags & 0x20) !=3D 0);
}
# 626 "/usr/include/stdio.h" 2 3
# 24 "../../binutils-2.13.1/gas/config/tc-ppc.c" 2
# 1 "../../binutils-2.13.1/gas/as.h" 1
# 40 "../../binutils-2.13.1/gas/as.h"
# 1 "config.h" 1
# 41 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/include/bin-bugs.h" 1
# 42 "../../binutils-2.13.1/gas/as.h" 2
# 77 "../../binutils-2.13.1/gas/as.h"
# 1 "/usr/include/string.h" 1 3
# 28 "/usr/include/string.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 34 "/usr/include/string.h" 2 3
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__ ((__pur=
e__));
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 "/usr/include/xlocale.h" 1 3
# 28 "/usr/include/xlocale.h" 3
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;
# 109 "/usr/include/string.h" 2 3
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 "/usr/include/string.h" 3
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__ ((__pur=
e__));
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 __del=
im)
;
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 __d=
elim,
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 "/usr/include/string.h" 3
# 1 "/usr/include/bits/string.h" 1 3
# 358 "/usr/include/string.h" 2 3
# 1 "/usr/include/bits/string2.h" 1 3
# 52 "/usr/include/bits/string2.h" 3
# 1 "/usr/include/endian.h" 1 3
# 37 "/usr/include/endian.h" 3
# 1 "/usr/include/bits/endian.h" 1 3
# 38 "/usr/include/endian.h" 2 3
# 53 "/usr/include/bits/string2.h" 2 3
# 387 "/usr/include/bits/string2.h" 3
extern void *__rawmemchr (const void *__s, int __c);
# 917 "/usr/include/bits/string2.h" 3
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 =3D 0;
while (__s[__result] !=3D '\0' && __s[__result] !=3D __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 =3D 0;
while (__s[__result] !=3D '\0' && __s[__result] !=3D __reject1
&& __s[__result] !=3D __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 =3D 0;
while (__s[__result] !=3D '\0' && __s[__result] !=3D __reject1
&& __s[__result] !=3D __reject2 && __s[__result] !=3D __reject3)
++__result;
return __result;
}
# 974 "/usr/include/bits/string2.h" 3
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 =3D 0;
while (__s[__result] =3D=3D __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 =3D 0;
while (__s[__result] =3D=3D __accept1 || __s[__result] =3D=3D __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 __accep=
t3)
{
register size_t __result =3D 0;
while (__s[__result] =3D=3D __accept1 || __s[__result] =3D=3D __accept2
|| __s[__result] =3D=3D __accept3)
++__result;
return __result;
}
# 1031 "/usr/include/bits/string2.h" 3
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 !=3D '\0' && *__s !=3D __accept1 && *__s !=3D __accept2)
++__s;
return *__s =3D=3D '\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 !=3D '\0' && *__s !=3D __accept1 && *__s !=3D __accept2
&& *__s !=3D __accept3)
++__s;
return *__s =3D=3D '\0' ? ((void *)0) : (char *) (size_t) __s;
}
# 1083 "/usr/include/bits/string2.h" 3
extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__next=
p);
extern __inline char *
__strtok_r_1c (char *__s, char __sep, char **__nextp)
{
char *__result;
if (__s =3D=3D ((void *)0))
__s =3D *__nextp;
while (*__s =3D=3D __sep)
++__s;
__result =3D ((void *)0);
if (*__s !=3D '\0')
{
__result =3D __s++;
while (*__s !=3D '\0')
if (*__s++ =3D=3D __sep)
{
__s[-1] =3D '\0';
break;
}
*__nextp =3D __s;
}
return __result;
}
# 1115 "/usr/include/bits/string2.h" 3
extern char *__strsep_g (char **__stringp, __const char *__delim);
# 1133 "/usr/include/bits/string2.h" 3
extern __inline char *__strsep_1c (char **__s, char __reject);
extern __inline char *
__strsep_1c (char **__s, char __reject)
{
register char *__retval =3D *__s;
if (__retval !=3D ((void *)0) && (*__s =3D (__extension__ (__builtin_co=
nstant_p (__reject) && (__reject) =3D=3D '\0' ? (char *) __rawmemchr (__r=
etval, __reject) : strchr (__retval, __reject)))) !=3D ((void *)0))
*(*__s)++ =3D '\0';
return __retval;
}
extern __inline char *__strsep_2c (char **__s, char __reject1, char __rej=
ect2);
extern __inline char *
__strsep_2c (char **__s, char __reject1, char __reject2)
{
register char *__retval =3D *__s;
if (__retval !=3D ((void *)0))
{
register char *__cp =3D __retval;
while (1)
{
if (*__cp =3D=3D '\0')
{
__cp =3D ((void *)0);
break;
}
if (*__cp =3D=3D __reject1 || *__cp =3D=3D __reject2)
{
*__cp++ =3D '\0';
break;
}
++__cp;
}
*__s =3D __cp;
}
return __retval;
}
extern __inline char *__strsep_3c (char **__s, char __reject1, char __rej=
ect2,
char __reject3);
extern __inline char *
__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3)
{
register char *__retval =3D *__s;
if (__retval !=3D ((void *)0))
{
register char *__cp =3D __retval;
while (1)
{
if (*__cp =3D=3D '\0')
{
__cp =3D ((void *)0);
break;
}
if (*__cp =3D=3D __reject1 || *__cp =3D=3D __reject2 || *__cp =3D=
=3D __reject3)
{
*__cp++ =3D '\0';
break;
}
++__cp;
}
*__s =3D __cp;
}
return __retval;
}
# 1209 "/usr/include/bits/string2.h" 3
# 1 "/usr/include/stdlib.h" 1 3
# 33 "/usr/include/stdlib.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 34 "/usr/include/stdlib.h" 2 3
# 527 "/usr/include/stdlib.h" 3
extern void *malloc (size_t __size) __attribute__ ((__malloc__));
extern void *calloc (size_t __nmemb, size_t __size)
__attribute__ ((__malloc__));
# 864 "/usr/include/stdlib.h" 3
# 1210 "/usr/include/bits/string2.h" 2 3
extern char *__strdup (__const char *__string) __attribute__ ((__malloc__=
));
# 1233 "/usr/include/bits/string2.h" 3
extern char *__strndup (__const char *__string, size_t __n)
__attribute__ ((__malloc__));
# 361 "/usr/include/string.h" 2 3
# 78 "../../binutils-2.13.1/gas/as.h" 2
# 1 "/usr/include/stdlib.h" 1 3
# 33 "/usr/include/stdlib.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 34 "/usr/include/stdlib.h" 2 3
# 1 "/usr/include/bits/waitflags.h" 1 3
# 43 "/usr/include/stdlib.h" 2 3
# 1 "/usr/include/bits/waitstatus.h" 1 3
# 65 "/usr/include/bits/waitstatus.h" 3
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 "/usr/include/stdlib.h" 2 3
# 68 "/usr/include/stdlib.h" 3
typedef union
{
union wait *__uptr;
int *__iptr;
} __WAIT_STATUS __attribute__ ((__transparent_union__));
# 94 "/usr/include/stdlib.h" 3
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 "/usr/include/stdlib.h" 3
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)
;
# 215 "/usr/include/stdlib.h" 3
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 __np=
tr,
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 __n=
ptr,
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 __en=
dptr,
int __base, int __grou=
p)
;
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 "/usr/include/stdlib.h" 3
extern char *l64a (long int __n) ;
extern long int a64l (__const char *__s) __attribute__ ((__pure__));
# 1 "/usr/include/sys/types.h" 1 3
# 28 "/usr/include/sys/types.h" 3
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 "/usr/include/sys/types.h" 3
# 1 "/usr/include/time.h" 1 3
# 59 "/usr/include/time.h" 3
typedef __clock_t clock_t;
# 70 "/usr/include/time.h" 3
typedef __time_t time_t;
# 82 "/usr/include/time.h" 3
typedef __clockid_t clockid_t;
# 94 "/usr/include/time.h" 3
typedef __timer_t timer_t;
# 133 "/usr/include/sys/types.h" 2 3
typedef __useconds_t useconds_t;
typedef __suseconds_t suseconds_t;
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 147 "/usr/include/sys/types.h" 2 3
typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
# 190 "/usr/include/sys/types.h" 3
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__)));
# 215 "/usr/include/sys/types.h" 3
# 1 "/usr/include/sys/select.h" 1 3
# 31 "/usr/include/sys/select.h" 3
# 1 "/usr/include/bits/select.h" 1 3
# 32 "/usr/include/sys/select.h" 2 3
# 1 "/usr/include/bits/sigset.h" 1 3
# 23 "/usr/include/bits/sigset.h" 3
typedef int __sig_atomic_t;
typedef struct
{
unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
} __sigset_t;
# 35 "/usr/include/sys/select.h" 2 3
typedef __sigset_t sigset_t;
# 1 "/usr/include/time.h" 1 3
# 106 "/usr/include/time.h" 3
struct timespec
{
__time_t tv_sec;
long int tv_nsec;
};
# 45 "/usr/include/sys/select.h" 2 3
# 1 "/usr/include/bits/time.h" 1 3
# 67 "/usr/include/bits/time.h" 3
struct timeval
{
__time_t tv_sec;
__suseconds_t tv_usec;
};
# 47 "/usr/include/sys/select.h" 2 3
# 55 "/usr/include/sys/select.h" 3
typedef long int __fd_mask;
typedef struct
{
__fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))];
} fd_set;
typedef __fd_mask fd_mask;
# 95 "/usr/include/sys/select.h" 3
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) ;
# 216 "/usr/include/sys/types.h" 2 3
# 1 "/usr/include/sys/sysmacros.h" 1 3
# 219 "/usr/include/sys/types.h" 2 3
typedef __blksize_t blksize_t;
typedef __blkcnt_t blkcnt_t;
typedef __fsblkcnt_t fsblkcnt_t;
typedef __fsfilcnt_t fsfilcnt_t;
# 257 "/usr/include/sys/types.h" 3
typedef __blkcnt64_t blkcnt64_t;
typedef __fsblkcnt64_t fsblkcnt64_t;
typedef __fsfilcnt64_t fsfilcnt64_t;
# 391 "/usr/include/stdlib.h" 2 3
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 "/usr/include/stdlib.h" 3
extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__mallo=
c__));
extern void free (void *__ptr) ;
extern void cfree (void *__ptr) ;
# 1 "/usr/include/alloca.h" 1 3
# 25 "/usr/include/alloca.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 26 "/usr/include/alloca.h" 2 3
extern void *alloca (size_t __size) ;
# 547 "/usr/include/stdlib.h" 2 3
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 *__a=
rg)
;
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 __rep=
lace)
;
extern int unsetenv (__const char *__name) ;
extern int clearenv (void) ;
# 623 "/usr/include/stdlib.h" 3
extern char *mktemp (char *__template) ;
extern int mkstemp (char *__template) ;
# 640 "/usr/include/stdlib.h" 3
extern int mkstemp64 (char *__template) ;
# 650 "/usr/include/stdlib.h" 3
extern char *mkdtemp (char *__template) ;
extern int system (__const char *__command) ;
extern char *canonicalize_file_name (__const char *__name) ;
# 672 "/usr/include/stdlib.h" 3
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 __comp=
ar);
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 "/usr/include/stdlib.h" 3
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 "/usr/include/stdlib.h" 3
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) ;
# 85 "../../binutils-2.13.1/gas/as.h" 2
# 1 "/usr/include/unistd.h" 1 3
# 28 "/usr/include/unistd.h" 3
# 175 "/usr/include/unistd.h" 3
# 1 "/usr/include/bits/posix_opt.h" 1 3
# 176 "/usr/include/unistd.h" 2 3
# 1 "/usr/include/bits/environments.h" 1 3
# 23 "/usr/include/bits/environments.h" 3
# 1 "/usr/include/bits/wordsize.h" 1 3
# 24 "/usr/include/bits/environments.h" 2 3
# 180 "/usr/include/unistd.h" 2 3
# 199 "/usr/include/unistd.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 200 "/usr/include/unistd.h" 2 3
# 240 "/usr/include/unistd.h" 3
typedef __intptr_t intptr_t;
typedef __socklen_t socklen_t;
# 260 "/usr/include/unistd.h" 3
extern int access (__const char *__name, int __type) ;
extern int euidaccess (__const char *__name, int __type) ;
# 290 "/usr/include/unistd.h" 3
extern __off_t lseek (int __fd, __off_t __offset, int __whence) ;
# 302 "/usr/include/unistd.h" 3
extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) ;
extern int close (int __fd) ;
extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ;
extern ssize_t write (int __fd, __const void *__buf, size_t __n) ;
extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __o=
ffset)
;
extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n,
__off_t __offset) ;
# 340 "/usr/include/unistd.h" 3
extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes,
__off64_t __offset) ;
extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n,
__off64_t __offset) ;
extern int pipe (int __pipedes[2]) ;
# 362 "/usr/include/unistd.h" 3
extern unsigned int alarm (unsigned int __seconds) ;
# 371 "/usr/include/unistd.h" 3
extern unsigned int sleep (unsigned int __seconds) ;
extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval=
)
;
extern int usleep (__useconds_t __useconds) ;
extern int pause (void) ;
extern int chown (__const char *__file, __uid_t __owner, __gid_t __group)
;
extern int fchown (int __fd, __uid_t __owner, __gid_t __group) ;
extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group=
)
;
extern int chdir (__const char *__path) ;
extern int fchdir (int __fd) ;
# 423 "/usr/include/unistd.h" 3
extern char *getcwd (char *__buf, size_t __size) ;
extern char *get_current_dir_name (void) ;
extern char *getwd (char *__buf) ;
extern int dup (int __fd) ;
extern int dup2 (int __fd, int __fd2) ;
extern char **__environ;
extern char **environ;
extern int execve (__const char *__path, char *__const __argv[],
char *__const __envp[]) ;
extern int fexecve (int __fd, char *__const __argv[], char *__const __env=
p[])
;
extern int execv (__const char *__path, char *__const __argv[]) ;
extern int execle (__const char *__path, __const char *__arg, ...) ;
extern int execl (__const char *__path, __const char *__arg, ...) ;
extern int execvp (__const char *__file, char *__const __argv[]) ;
extern int execlp (__const char *__file, __const char *__arg, ...) ;
extern int nice (int __inc) ;
extern void _exit (int __status) __attribute__ ((__noreturn__));
# 1 "/usr/include/bits/confname.h" 1 3
# 25 "/usr/include/bits/confname.h" 3
enum
{
_PC_LINK_MAX,
_PC_MAX_CANON,
_PC_MAX_INPUT,
_PC_NAME_MAX,
_PC_PATH_MAX,
_PC_PIPE_BUF,
_PC_CHOWN_RESTRICTED,
_PC_NO_TRUNC,
_PC_VDISABLE,
_PC_SYNC_IO,
_PC_ASYNC_IO,
_PC_PRIO_IO,
_PC_SOCK_MAXBUF,
_PC_FILESIZEBITS,
_PC_REC_INCR_XFER_SIZE,
_PC_REC_MAX_XFER_SIZE,
_PC_REC_MIN_XFER_SIZE,
_PC_REC_XFER_ALIGN,
_PC_ALLOC_SIZE_MIN,
_PC_SYMLINK_MAX
};
enum
{
_SC_ARG_MAX,
_SC_CHILD_MAX,
_SC_CLK_TCK,
_SC_NGROUPS_MAX,
_SC_OPEN_MAX,
_SC_STREAM_MAX,
_SC_TZNAME_MAX,
_SC_JOB_CONTROL,
_SC_SAVED_IDS,
_SC_REALTIME_SIGNALS,
_SC_PRIORITY_SCHEDULING,
_SC_TIMERS,
_SC_ASYNCHRONOUS_IO,
_SC_PRIORITIZED_IO,
_SC_SYNCHRONIZED_IO,
_SC_FSYNC,
_SC_MAPPED_FILES,
_SC_MEMLOCK,
_SC_MEMLOCK_RANGE,
_SC_MEMORY_PROTECTION,
_SC_MESSAGE_PASSING,
_SC_SEMAPHORES,
_SC_SHARED_MEMORY_OBJECTS,
_SC_AIO_LISTIO_MAX,
_SC_AIO_MAX,
_SC_AIO_PRIO_DELTA_MAX,
_SC_DELAYTIMER_MAX,
_SC_MQ_OPEN_MAX,
_SC_MQ_PRIO_MAX,
_SC_VERSION,
_SC_PAGESIZE,
_SC_RTSIG_MAX,
_SC_SEM_NSEMS_MAX,
_SC_SEM_VALUE_MAX,
_SC_SIGQUEUE_MAX,
_SC_TIMER_MAX,
_SC_BC_BASE_MAX,
_SC_BC_DIM_MAX,
_SC_BC_SCALE_MAX,
_SC_BC_STRING_MAX,
_SC_COLL_WEIGHTS_MAX,
_SC_EQUIV_CLASS_MAX,
_SC_EXPR_NEST_MAX,
_SC_LINE_MAX,
_SC_RE_DUP_MAX,
_SC_CHARCLASS_NAME_MAX,
_SC_2_VERSION,
_SC_2_C_BIND,
_SC_2_C_DEV,
_SC_2_FORT_DEV,
_SC_2_FORT_RUN,
_SC_2_SW_DEV,
_SC_2_LOCALEDEF,
_SC_PII,
_SC_PII_XTI,
_SC_PII_SOCKET,
_SC_PII_INTERNET,
_SC_PII_OSI,
_SC_POLL,
_SC_SELECT,
_SC_UIO_MAXIOV,
_SC_IOV_MAX =3D _SC_UIO_MAXIOV,
_SC_PII_INTERNET_STREAM,
_SC_PII_INTERNET_DGRAM,
_SC_PII_OSI_COTS,
_SC_PII_OSI_CLTS,
_SC_PII_OSI_M,
_SC_T_IOV_MAX,
_SC_THREADS,
_SC_THREAD_SAFE_FUNCTIONS,
_SC_GETGR_R_SIZE_MAX,
_SC_GETPW_R_SIZE_MAX,
_SC_LOGIN_NAME_MAX,
_SC_TTY_NAME_MAX,
_SC_THREAD_DESTRUCTOR_ITERATIONS,
_SC_THREAD_KEYS_MAX,
_SC_THREAD_STACK_MIN,
_SC_THREAD_THREADS_MAX,
_SC_THREAD_ATTR_STACKADDR,
_SC_THREAD_ATTR_STACKSIZE,
_SC_THREAD_PRIORITY_SCHEDULING,
_SC_THREAD_PRIO_INHERIT,
_SC_THREAD_PRIO_PROTECT,
_SC_THREAD_PROCESS_SHARED,
_SC_NPROCESSORS_CONF,
_SC_NPROCESSORS_ONLN,
_SC_PHYS_PAGES,
_SC_AVPHYS_PAGES,
_SC_ATEXIT_MAX,
_SC_PASS_MAX,
_SC_XOPEN_VERSION,
_SC_XOPEN_XCU_VERSION,
_SC_XOPEN_UNIX,
_SC_XOPEN_CRYPT,
_SC_XOPEN_ENH_I18N,
_SC_XOPEN_SHM,
_SC_2_CHAR_TERM,
_SC_2_C_VERSION,
_SC_2_UPE,
_SC_XOPEN_XPG2,
_SC_XOPEN_XPG3,
_SC_XOPEN_XPG4,
_SC_CHAR_BIT,
_SC_CHAR_MAX,
_SC_CHAR_MIN,
_SC_INT_MAX,
_SC_INT_MIN,
_SC_LONG_BIT,
_SC_WORD_BIT,
_SC_MB_LEN_MAX,
_SC_NZERO,
_SC_SSIZE_MAX,
_SC_SCHAR_MAX,
_SC_SCHAR_MIN,
_SC_SHRT_MAX,
_SC_SHRT_MIN,
_SC_UCHAR_MAX,
_SC_UINT_MAX,
_SC_ULONG_MAX,
_SC_USHRT_MAX,
_SC_NL_ARGMAX,
_SC_NL_LANGMAX,
_SC_NL_MSGMAX,
_SC_NL_NMAX,
_SC_NL_SETMAX,
_SC_NL_TEXTMAX,
_SC_XBS5_ILP32_OFF32,
_SC_XBS5_ILP32_OFFBIG,
_SC_XBS5_LP64_OFF64,
_SC_XBS5_LPBIG_OFFBIG,
_SC_XOPEN_LEGACY,
_SC_XOPEN_REALTIME,
_SC_XOPEN_REALTIME_THREADS,
_SC_ADVISORY_INFO,
_SC_BARRIERS,
_SC_BASE,
_SC_C_LANG_SUPPORT,
_SC_C_LANG_SUPPORT_R,
_SC_CLOCK_SELECTION,
_SC_CPUTIME,
_SC_THREAD_CPUTIME,
_SC_DEVICE_IO,
_SC_DEVICE_SPECIFIC,
_SC_DEVICE_SPECIFIC_R,
_SC_FD_MGMT,
_SC_FIFO,
_SC_PIPE,
_SC_FILE_ATTRIBUTES,
_SC_FILE_LOCKING,
_SC_FILE_SYSTEM,
_SC_MONOTONIC_CLOCK,
_SC_MULTI_PROCESS,
_SC_SINGLE_PROCESS,
_SC_NETWORKING,
_SC_READER_WRITER_LOCKS,
_SC_SPIN_LOCKS,
_SC_REGEXP,
_SC_REGEX_VERSION,
_SC_SHELL,
_SC_SIGNALS,
_SC_SPAWN,
_SC_SPORADIC_SERVER,
_SC_THREAD_SPORADIC_SERVER,
_SC_SYSTEM_DATABASE,
_SC_SYSTEM_DATABASE_R,
_SC_TIMEOUTS,
_SC_TYPED_MEMORY_OBJECTS,
_SC_USER_GROUPS,
_SC_USER_GROUPS_R,
_SC_2_PBS,
_SC_2_PBS_ACCOUNTING,
_SC_2_PBS_LOCATE,
_SC_2_PBS_MESSAGE,
_SC_2_PBS_TRACK,
_SC_SYMLOOP_MAX,
_SC_STREAMS,
_SC_2_PBS_CHECKPOINT,
_SC_V6_ILP32_OFF32,
_SC_V6_ILP32_OFFBIG,
_SC_V6_LP64_OFF64,
_SC_V6_LPBIG_OFFBIG,
_SC_HOST_NAME_MAX,
_SC_TRACE,
_SC_TRACE_EVENT_FILTER,
_SC_TRACE_INHERIT,
_SC_TRACE_LOG
};
enum
{
_CS_PATH,
_CS_LFS_CFLAGS =3D 1000,
_CS_LFS_LDFLAGS,
_CS_LFS_LIBS,
_CS_LFS_LINTFLAGS,
_CS_LFS64_CFLAGS,
_CS_LFS64_LDFLAGS,
_CS_LFS64_LIBS,
_CS_LFS64_LINTFLAGS,
_CS_XBS5_ILP32_OFF32_CFLAGS =3D 1100,
_CS_XBS5_ILP32_OFF32_LDFLAGS,
_CS_XBS5_ILP32_OFF32_LIBS,
_CS_XBS5_ILP32_OFF32_LINTFLAGS,
_CS_XBS5_ILP32_OFFBIG_CFLAGS,
_CS_XBS5_ILP32_OFFBIG_LDFLAGS,
_CS_XBS5_ILP32_OFFBIG_LIBS,
_CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
_CS_XBS5_LP64_OFF64_CFLAGS,
_CS_XBS5_LP64_OFF64_LDFLAGS,
_CS_XBS5_LP64_OFF64_LIBS,
_CS_XBS5_LP64_OFF64_LINTFLAGS,
_CS_XBS5_LPBIG_OFFBIG_CFLAGS,
_CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
_CS_XBS5_LPBIG_OFFBIG_LIBS,
_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
_CS_POSIX_V6_ILP32_OFF32_CFLAGS,
_CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
_CS_POSIX_V6_ILP32_OFF32_LIBS,
_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
_CS_POSIX_V6_ILP32_OFFBIG_LIBS,
_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
_CS_POSIX_V6_LP64_OFF64_CFLAGS,
_CS_POSIX_V6_LP64_OFF64_LDFLAGS,
_CS_POSIX_V6_LP64_OFF64_LIBS,
_CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS,
_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
_CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS,
_CS_V6_WIDTH_RESTRICTED_ENVS
};
# 501 "/usr/include/unistd.h" 2 3
extern long int pathconf (__const char *__path, int __name) ;
extern long int fpathconf (int __fd, int __name) ;
extern long int sysconf (int __name) __attribute__ ((__const__));
extern size_t confstr (int __name, char *__buf, size_t __len) ;
extern __pid_t getpid (void) ;
extern __pid_t getppid (void) ;
extern __pid_t getpgrp (void) ;
# 536 "/usr/include/unistd.h" 3
extern __pid_t __getpgid (__pid_t __pid) ;
extern __pid_t getpgid (__pid_t __pid) ;
extern int setpgid (__pid_t __pid, __pid_t __pgid) ;
# 562 "/usr/include/unistd.h" 3
extern int setpgrp (void) ;
# 580 "/usr/include/unistd.h" 3
extern __pid_t setsid (void) ;
extern __pid_t getsid (__pid_t __pid) ;
extern __uid_t getuid (void) ;
extern __uid_t geteuid (void) ;
extern __gid_t getgid (void) ;
extern __gid_t getegid (void) ;
extern int getgroups (int __size, __gid_t __list[]) ;
extern int group_member (__gid_t __gid) ;
extern int setuid (__uid_t __uid) ;
extern int setreuid (__uid_t __ruid, __uid_t __euid) ;
extern int seteuid (__uid_t __uid) ;
extern int setgid (__gid_t __gid) ;
extern int setregid (__gid_t __rgid, __gid_t __egid) ;
extern int setegid (__gid_t __gid) ;
extern __pid_t fork (void) ;
extern __pid_t vfork (void) ;
extern char *ttyname (int __fd) ;
extern int ttyname_r (int __fd, char *__buf, size_t __buflen) ;
extern int isatty (int __fd) ;
extern int ttyslot (void) ;
extern int link (__const char *__from, __const char *__to) ;
extern int symlink (__const char *__from, __const char *__to) ;
extern int readlink (__const char *__restrict __path, char *__restrict __=
buf,
size_t __len) ;
extern int unlink (__const char *__name) ;
extern int rmdir (__const char *__path) ;
extern __pid_t tcgetpgrp (int __fd) ;
extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) ;
extern char *getlogin (void) ;
extern int getlogin_r (char *__name, size_t __name_len) ;
extern int setlogin (__const char *__name) ;
# 726 "/usr/include/unistd.h" 3
# 1 "../../binutils-2.13.1/include/getopt.h" 1 3
# 36 "../../binutils-2.13.1/include/getopt.h" 3
extern char *optarg;
# 50 "../../binutils-2.13.1/include/getopt.h" 3
extern int optind;
extern int opterr;
extern int optopt;
# 82 "../../binutils-2.13.1/include/getopt.h" 3
struct option
{
const char *name;
int has_arg;
int *flag;
int val;
};
# 113 "../../binutils-2.13.1/include/getopt.h" 3
extern int getopt (int argc, char *const *argv, const char *shortopts);
extern int getopt_long (int argc, char *const *argv, const char *shortopt=
s,
const struct option *longopts, int *longind);
extern int getopt_long_only (int argc, char *const *argv,
const char *shortopts,
const struct option *longopts, int *longind)=
;
extern int _getopt_internal (int argc, char *const *argv,
const char *shortopts,
const struct option *longopts, int *longind,
int long_only);
# 727 "/usr/include/unistd.h" 2 3
extern int gethostname (char *__name, size_t __len) ;
extern int sethostname (__const char *__name, size_t __len) ;
extern int sethostid (long int __id) ;
extern int getdomainname (char *__name, size_t __len) ;
extern int setdomainname (__const char *__name, size_t __len) ;
extern int vhangup (void) ;
extern int revoke (__const char *__file) ;
extern int profil (unsigned short int *__sample_buffer, size_t __size,
size_t __offset, unsigned int __scale) ;
extern int acct (__const char *__name) ;
extern char *getusershell (void) ;
extern void endusershell (void) ;
extern void setusershell (void) ;
extern int daemon (int __nochdir, int __noclose) ;
extern int chroot (__const char *__path) ;
extern char *getpass (__const char *__prompt) ;
extern int fsync (int __fd) ;
extern long int gethostid (void) ;
extern void sync (void) ;
extern int getpagesize (void) __attribute__ ((__const__));
extern int truncate (__const char *__file, __off_t __length) ;
# 836 "/usr/include/unistd.h" 3
extern int truncate64 (__const char *__file, __off64_t __length) ;
extern int ftruncate (int __fd, __off_t __length) ;
# 851 "/usr/include/unistd.h" 3
extern int ftruncate64 (int __fd, __off64_t __length) ;
extern int getdtablesize (void) ;
# 866 "/usr/include/unistd.h" 3
extern int brk (void *__addr) ;
extern void *sbrk (intptr_t __delta) ;
# 887 "/usr/include/unistd.h" 3
extern long int syscall (long int __sysno, ...) ;
# 907 "/usr/include/unistd.h" 3
extern int lockf (int __fd, int __cmd, __off_t __len) ;
# 917 "/usr/include/unistd.h" 3
extern int lockf64 (int __fd, int __cmd, __off64_t __len) ;
# 938 "/usr/include/unistd.h" 3
extern int fdatasync (int __fildes) ;
extern char *crypt (__const char *__key, __const char *__salt) ;
extern void encrypt (char *__block, int __edflag) ;
extern void swab (__const void *__restrict __from, void *__restrict __to,
ssize_t __n) ;
extern char *ctermid (char *__s) ;
# 983 "/usr/include/unistd.h" 3
extern int pthread_atfork (void (*__prepare) (void),
void (*__parent) (void),
void (*__child) (void)) ;
# 88 "../../binutils-2.13.1/gas/as.h" 2
# 130 "../../binutils-2.13.1/gas/as.h"
# 1 "../../binutils-2.13.1/include/ansidecl.h" 1
# 131 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../bfd/bfd.h" 1
# 37 "../bfd/bfd.h"
# 1 "../../binutils-2.13.1/include/symcat.h" 1
# 38 "../bfd/bfd.h" 2
# 81 "../bfd/bfd.h"
typedef struct _bfd bfd;
# 114 "../bfd/bfd.h"
typedef enum bfd_boolean {false, true} boolean;
# 171 "../bfd/bfd.h"
typedef unsigned long bfd_vma;
typedef long bfd_signed_vma;
typedef unsigned long symvalue;
typedef unsigned long bfd_size_type;
# 196 "../bfd/bfd.h"
typedef bfd_signed_vma file_ptr;
typedef bfd_vma ufile_ptr;
extern void bfd_sprintf_vma (bfd *, char *, bfd_vma);
extern void bfd_fprintf_vma (bfd *, void *, bfd_vma);
typedef unsigned int flagword;
typedef unsigned char bfd_byte;
typedef enum bfd_format
{
bfd_unknown =3D 0,
bfd_object,
bfd_archive,
bfd_core,
bfd_type_end
}
bfd_format;
# 280 "../bfd/bfd.h"
typedef unsigned long symindex;
typedef const struct reloc_howto_struct reloc_howto_type;
# 302 "../bfd/bfd.h"
typedef struct carsym
{
char *name;
file_ptr file_offset;
}
carsym;
struct orl
{
char **name;
union
{
file_ptr pos;
bfd *abfd;
} u;
int namidx;
};
typedef struct lineno_cache_entry
{
unsigned int line_number;
union
{
struct symbol_cache_entry *sym;
bfd_vma offset;
} u;
}
alent;
typedef struct sec *sec_ptr;
# 359 "../bfd/bfd.h"
typedef struct stat stat_type;
typedef enum bfd_print_symbol
{
bfd_print_symbol_name,
bfd_print_symbol_more,
bfd_print_symbol_all
} bfd_print_symbol_type;
typedef struct _symbol_info
{
symvalue value;
char type;
const char *name;
unsigned char stab_type;
char stab_other;
short stab_desc;
const char *stab_name;
} symbol_info;
extern const char *bfd_get_stab_name (int);
struct bfd_hash_entry
{
struct bfd_hash_entry *next;
const char *string;
unsigned long hash;
};
struct bfd_hash_table
{
struct bfd_hash_entry **table;
unsigned int size;
struct bfd_hash_entry *(*newfunc) (struct bfd_hash_entry *, struct bfd_=
hash_table *, const char *);
void * memory;
};
extern boolean bfd_hash_table_init
(struct bfd_hash_table *, struct bfd_hash_entry *(*) (struct bfd_hash_e=
ntry *, struct bfd_hash_table *, const char *));
extern boolean bfd_hash_table_init_n
(struct bfd_hash_table *, struct bfd_hash_entry *(*) (struct bfd_hash_e=
ntry *, struct bfd_hash_table *, const char *), unsigned int size);
extern void bfd_hash_table_free (struct bfd_hash_table *);
extern struct bfd_hash_entry *bfd_hash_lookup
(struct bfd_hash_table *, const char *, boolean create, boolean copy);
extern void bfd_hash_replace
(struct bfd_hash_table *, struct bfd_hash_entry *old, struct bfd_hash_e=
ntry *nw);
extern struct bfd_hash_entry *bfd_hash_newfunc
(struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
extern void * bfd_hash_allocate (struct bfd_hash_table *, unsigned int);
extern void bfd_hash_traverse (struct bfd_hash_table *, boolean (*) (stru=
ct bfd_hash_entry *, void *), void * info);
# 479 "../bfd/bfd.h"
extern bfd_size_type bfd_bread (void *, bfd_size_type, bfd *);
extern bfd_size_type bfd_bwrite (const void *, bfd_size_type, bfd *);
extern int bfd_seek (bfd *, file_ptr, int);
extern ufile_ptr bfd_tell (bfd *);
extern int bfd_flush (bfd *);
extern int bfd_stat (bfd *, struct stat *);
# 502 "../bfd/bfd.h"
extern void warn_deprecated
(const char *, const char *, int, const char *);
# 541 "../bfd/bfd.h"
extern boolean bfd_cache_close (bfd *abfd);
extern boolean bfd_record_phdr
(bfd *, unsigned long, boolean, flagword, boolean, bfd_vma, boolean, bo=
olean, unsigned int, struct sec **);
bfd_vma bfd_getb64 (const unsigned char *);
bfd_vma bfd_getl64 (const unsigned char *);
bfd_signed_vma bfd_getb_signed_64 (const unsigned char *);
bfd_signed_vma bfd_getl_signed_64 (const unsigned char *);
bfd_vma bfd_getb32 (const unsigned char *);
bfd_vma bfd_getl32 (const unsigned char *);
bfd_signed_vma bfd_getb_signed_32 (const unsigned char *);
bfd_signed_vma bfd_getl_signed_32 (const unsigned char *);
bfd_vma bfd_getb16 (const unsigned char *);
bfd_vma bfd_getl16 (const unsigned char *);
bfd_signed_vma bfd_getb_signed_16 (const unsigned char *);
bfd_signed_vma bfd_getl_signed_16 (const unsigned char *);
void bfd_putb64 (bfd_vma, unsigned char *);
void bfd_putl64 (bfd_vma, unsigned char *);
void bfd_putb32 (bfd_vma, unsigned char *);
void bfd_putl32 (bfd_vma, unsigned char *);
void bfd_putb16 (bfd_vma, unsigned char *);
void bfd_putl16 (bfd_vma, unsigned char *);
bfd_vma bfd_get_bits (bfd_byte *, int, boolean);
void bfd_put_bits (bfd_vma, bfd_byte *, int, boolean);
struct ecoff_debug_info;
struct ecoff_debug_swap;
struct ecoff_extr;
struct symbol_cache_entry;
struct bfd_link_info;
struct bfd_link_hash_entry;
struct bfd_elf_version_tree;
extern bfd_vma bfd_ecoff_get_gp_value (bfd * abfd);
extern boolean bfd_ecoff_set_gp_value (bfd *abfd, bfd_vma gp_value);
extern boolean bfd_ecoff_set_regmasks
(bfd *abfd, unsigned long gprmask, unsigned long fprmask, unsigned long=
*cprmask);
extern void * bfd_ecoff_debug_init
(bfd *output_bfd, struct ecoff_debug_info *output_debug, const struct e=
coff_debug_swap *output_swap, struct bfd_link_info *);
extern void bfd_ecoff_debug_free
(void * handle, bfd *output_bfd, struct ecoff_debug_info *output_debug,=
const struct ecoff_debug_swap *output_swap, struct bfd_link_info *);
extern boolean bfd_ecoff_debug_accumulate
(void * handle, bfd *output_bfd, struct ecoff_debug_info *output_debug,=
const struct ecoff_debug_swap *output_swap, bfd *input_bfd, struct ecoff=
_debug_info *input_debug, const struct ecoff_debug_swap *input_swap, stru=
ct bfd_link_info *);
extern boolean bfd_ecoff_debug_accumulate_other
(void * handle, bfd *output_bfd, struct ecoff_debug_info *output_debug,=
const struct ecoff_debug_swap *output_swap, bfd *input_bfd, struct bfd_l=
ink_info *);
extern boolean bfd_ecoff_debug_externals
(bfd *abfd, struct ecoff_debug_info *debug, const struct ecoff_debug_sw=
ap *swap, boolean relocateable, boolean (*get_extr) (struct symbol_cache_=
entry *, struct ecoff_extr *), void (*set_index) (struct symbol_cache_ent=
ry *, bfd_size_type));
extern boolean bfd_ecoff_debug_one_external
(bfd *abfd, struct ecoff_debug_info *debug, const struct ecoff_debug_sw=
ap *swap, const char *name, struct ecoff_extr *esym);
extern bfd_size_type bfd_ecoff_debug_size
(bfd *abfd, struct ecoff_debug_info *debug, const struct ecoff_debug_sw=
ap *swap);
extern boolean bfd_ecoff_write_debug
(bfd *abfd, struct ecoff_debug_info *debug, const struct ecoff_debug_sw=
ap *swap, file_ptr where);
extern boolean bfd_ecoff_write_accumulated_debug
(void * handle, bfd *abfd, struct ecoff_debug_info *debug, const struct=
ecoff_debug_swap *swap, struct bfd_link_info *info, file_ptr where);
extern boolean bfd_mips_ecoff_create_embedded_relocs
(bfd *, struct bfd_link_info *, struct sec *, struct sec *, char **);
struct bfd_link_needed_list
{
struct bfd_link_needed_list *next;
bfd *by;
const char *name;
};
extern boolean bfd_elf32_record_link_assignment
(bfd *, struct bfd_link_info *, const char *, boolean);
extern boolean bfd_elf64_record_link_assignment
(bfd *, struct bfd_link_info *, const char *, boolean);
extern struct bfd_link_needed_list *bfd_elf_get_needed_list
(bfd *, struct bfd_link_info *);
extern boolean bfd_elf_get_bfd_needed_list
(bfd *, struct bfd_link_needed_list **);
extern boolean bfd_elf32_size_dynamic_sections
(bfd *, const char *, const char *, const char *, const char * const *,=
struct bfd_link_info *, struct sec **, struct bfd_elf_version_tree *);
extern boolean bfd_elf64_size_dynamic_sections
(bfd *, const char *, const char *, const char *, const char * const *,=
struct bfd_link_info *, struct sec **, struct bfd_elf_version_tree *);
extern void bfd_elf_set_dt_needed_name (bfd *, const char *);
extern void bfd_elf_set_dt_needed_soname (bfd *, const char *);
extern const char *bfd_elf_get_dt_soname (bfd *);
extern struct bfd_link_needed_list *bfd_elf_get_runpath_list
(bfd *, struct bfd_link_info *);
extern boolean bfd_elf32_discard_info
(bfd *, struct bfd_link_info *);
extern boolean bfd_elf64_discard_info
(bfd *, struct bfd_link_info *);
extern long bfd_get_elf_phdr_upper_bound (bfd *abfd);
# 681 "../bfd/bfd.h"
extern int bfd_get_elf_phdrs (bfd *abfd, void *phdrs);
extern int bfd_get_arch_size (bfd *);
extern int bfd_get_sign_extend_vma (bfd *);
extern boolean bfd_m68k_elf32_create_embedded_relocs
(bfd *, struct bfd_link_info *, struct sec *, struct sec *, char **);
extern boolean bfd_mips_elf32_create_embedded_relocs
(bfd *, struct bfd_link_info *, struct sec *, struct sec *, char **);
extern struct bfd_link_needed_list *bfd_sunos_get_needed_list
(bfd *, struct bfd_link_info *);
extern boolean bfd_sunos_record_link_assignment
(bfd *, struct bfd_link_info *, const char *);
extern boolean bfd_sunos_size_dynamic_sections
(bfd *, struct bfd_link_info *, struct sec **, struct sec **, struct se=
c **);
extern boolean bfd_i386linux_size_dynamic_sections
(bfd *, struct bfd_link_info *);
extern boolean bfd_m68klinux_size_dynamic_sections
(bfd *, struct bfd_link_info *);
extern boolean bfd_sparclinux_size_dynamic_sections
(bfd *, struct bfd_link_info *);
struct _bfd_window_internal;
typedef struct _bfd_window_internal bfd_window_internal;
typedef struct _bfd_window
{
void * data;
bfd_size_type size;
struct _bfd_window_internal *i;
}
bfd_window;
extern void bfd_init_window (bfd_window *);
extern void bfd_free_window (bfd_window *);
extern boolean bfd_get_file_window
(bfd *, file_ptr, bfd_size_type, bfd_window *, boolean);
extern boolean bfd_xcoff_link_record_set
(bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_size_=
type);
extern boolean bfd_xcoff_import_symbol
(bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_vma, =
const char *, const char *, const char *, unsigned int);
extern boolean bfd_xcoff_export_symbol
(bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *);
extern boolean bfd_xcoff_link_count_reloc
(bfd *, struct bfd_link_info *, const char *);
extern boolean bfd_xcoff_record_link_assignment
(bfd *, struct bfd_link_info *, const char *);
extern boolean bfd_xcoff_size_dynamic_sections
(bfd *, struct bfd_link_info *, const char *, const char *, unsigned lo=
ng, unsigned long, unsigned long, boolean, int, boolean, boolean, struct =
sec **, boolean);
extern boolean bfd_xcoff_link_generate_rtinit
(bfd *, const char *, const char *, boolean);
extern boolean bfd_xcoff_ar_archive_set_magic (bfd *, char *);
struct internal_syment;
union internal_auxent;
extern boolean bfd_coff_get_syment
(bfd *, struct symbol_cache_entry *, struct internal_syment *);
extern boolean bfd_coff_get_auxent
(bfd *, struct symbol_cache_entry *, int, union internal_auxent *);
extern boolean bfd_coff_set_symbol_class
(bfd *, struct symbol_cache_entry *, unsigned int);
extern boolean bfd_m68k_coff_create_embedded_relocs
(bfd *, struct bfd_link_info *, struct sec *, struct sec *, char **);
extern boolean bfd_arm_allocate_interworking_sections
(struct bfd_link_info *);
extern boolean bfd_arm_process_before_allocation
(bfd *, struct bfd_link_info *, int);
extern boolean bfd_arm_get_bfd_for_interworking
(bfd *, struct bfd_link_info *);
extern boolean bfd_arm_pe_allocate_interworking_sections
(struct bfd_link_info *);
extern boolean bfd_arm_pe_process_before_allocation
(bfd *, struct bfd_link_info *, int);
extern boolean bfd_arm_pe_get_bfd_for_interworking
(bfd *, struct bfd_link_info *);
extern boolean bfd_elf32_arm_allocate_interworking_sections
(struct bfd_link_info *);
extern boolean bfd_elf32_arm_process_before_allocation
(bfd *, struct bfd_link_info *, int);
extern boolean bfd_elf32_arm_get_bfd_for_interworking
(bfd *, struct bfd_link_info *);
extern boolean bfd_elf32_arm_add_glue_sections_to_bfd
(bfd *, struct bfd_link_info *);
extern void bfd_ticoff_set_section_load_page
(struct sec *, int);
extern int bfd_ticoff_get_section_load_page
(struct sec *);
void
bfd_init (void);
bfd *
bfd_openr (const char *filename, const char *target);
bfd *
bfd_fdopenr (const char *filename, const char *target, int fd);
bfd *
bfd_openstreamr (const char *, const char *, void *);
bfd *
bfd_openw (const char *filename, const char *target);
boolean
bfd_close (bfd *abfd);
boolean
bfd_close_all_done (bfd *);
bfd *
bfd_create (const char *filename, bfd *templ);
boolean
bfd_make_writable (bfd *abfd);
boolean
bfd_make_readable (bfd *abfd);
# 1003 "../bfd/bfd.h"
struct bfd_comdat_info
{
const char *name;
long symbol;
};
typedef struct sec
{
const char *name;
int id;
int index;
struct sec *next;
flagword flags;
# 1211 "../bfd/bfd.h"
unsigned int user_set_vma : 1;
unsigned int reloc_done : 1;
unsigned int linker_mark : 1;
unsigned int linker_has_input : 1;
unsigned int gc_mark : 1;
unsigned int segment_mark : 1;
# 1238 "../bfd/bfd.h"
bfd_vma vma;
bfd_vma lma;
bfd_size_type _cooked_size;
bfd_size_type _raw_size;
# 1262 "../bfd/bfd.h"
bfd_vma output_offset;
struct sec *output_section;
unsigned int alignment_power;
struct reloc_cache_entry *relocation;
struct reloc_cache_entry **orelocation;
unsigned reloc_count;
file_ptr filepos;
file_ptr rel_filepos;
file_ptr line_filepos;
void * userdata;
unsigned char *contents;
alent *lineno;
unsigned int lineno_count;
unsigned int entsize;
struct bfd_comdat_info *comdat;
file_ptr moving_line_filepos;
int target_index;
void * used_by_bfd;
struct relent_chain *constructor_chain;
bfd *owner;
struct symbol_cache_entry *symbol;
struct symbol_cache_entry **symbol_ptr_ptr;
struct bfd_link_order *link_order_head;
struct bfd_link_order *link_order_tail;
} asection;
# 1348 "../bfd/bfd.h"
extern const asection bfd_abs_section;
extern const asection bfd_und_section;
extern const asection bfd_com_section;
extern const asection bfd_ind_section;
# 1369 "../bfd/bfd.h"
extern const struct symbol_cache_entry * const bfd_abs_symbol;
extern const struct symbol_cache_entry * const bfd_com_symbol;
extern const struct symbol_cache_entry * const bfd_und_symbol;
extern const struct symbol_cache_entry * const bfd_ind_symbol;
# 1405 "../bfd/bfd.h"
void
bfd_section_list_clear (bfd *);
asection *
bfd_get_section_by_name (bfd *abfd, const char *name);
char *
bfd_get_unique_section_name (bfd *abfd, const char *templat, int *count);
asection *
bfd_make_section_old_way (bfd *abfd, const char *name);
asection *
bfd_make_section_anyway (bfd *abfd, const char *name);
asection *
bfd_make_section (bfd *, const char *name);
boolean
bfd_set_section_flags (bfd *abfd, asection *sec, flagword flags);
void
bfd_map_over_sections (bfd *abfd, void (*func) (bfd *abfd, asection *sect=
, void * obj), void * obj);
boolean
bfd_set_section_size (bfd *abfd, asection *sec, bfd_size_type val);
boolean
bfd_set_section_contents (bfd *abfd, asection *section, void * data, file=
_ptr offset, bfd_size_type count);
boolean
bfd_get_section_contents (bfd *abfd, asection *section, void * location, =
file_ptr offset, bfd_size_type count);
boolean
bfd_copy_private_section_data (bfd *ibfd, asection *isec, bfd *obfd, asec=
tion *osec);
void
_bfd_strip_section_from_output (struct bfd_link_info *info, asection *sec=
tion);
boolean
bfd_generic_discard_group (bfd *abfd, asection *group);
enum bfd_architecture
{
bfd_arch_unknown,
bfd_arch_obscure,
bfd_arch_m68k,
# 1479 "../bfd/bfd.h"
bfd_arch_vax,
bfd_arch_i960,
# 1498 "../bfd/bfd.h"
bfd_arch_or32,
bfd_arch_a29k,
bfd_arch_sparc,
# 1517 "../bfd/bfd.h"
bfd_arch_mips,
# 1538 "../bfd/bfd.h"
bfd_arch_i386,
bfd_arch_we32k,
bfd_arch_tahoe,
bfd_arch_i860,
bfd_arch_i370,
bfd_arch_romp,
bfd_arch_alliant,
bfd_arch_convex,
bfd_arch_m88k,
bfd_arch_pyramid,
bfd_arch_h8300,
bfd_arch_pdp11,
bfd_arch_powerpc,
# 1577 "../bfd/bfd.h"
bfd_arch_rs6000,
bfd_arch_hppa,
bfd_arch_d10v,
bfd_arch_d30v,
bfd_arch_dlx,
bfd_arch_m68hc11,
bfd_arch_m68hc12,
bfd_arch_z8k,
bfd_arch_h8500,
bfd_arch_sh,
# 1604 "../bfd/bfd.h"
bfd_arch_alpha,
bfd_arch_arm,
# 1619 "../bfd/bfd.h"
bfd_arch_ns32k,
bfd_arch_w65,
bfd_arch_tic30,
bfd_arch_tic54x,
bfd_arch_tic80,
bfd_arch_v850,
bfd_arch_arc,
bfd_arch_m32r,
bfd_arch_mn10200,
bfd_arch_mn10300,
bfd_arch_fr30,
bfd_arch_frv,
bfd_arch_mcore,
bfd_arch_ia64,
bfd_arch_pj,
bfd_arch_avr,
bfd_arch_cris,
bfd_arch_s390,
bfd_arch_openrisc,
bfd_arch_mmix,
bfd_arch_xstormy16,
bfd_arch_last
};
typedef struct bfd_arch_info
{
int bits_per_word;
int bits_per_address;
int bits_per_byte;
enum bfd_architecture arch;
unsigned long mach;
const char *arch_name;
const char *printable_name;
unsigned int section_align_power;
boolean the_default;
const struct bfd_arch_info * (*compatible)
(const struct bfd_arch_info *a, const struct bfd_arch_info *b);
boolean (*scan) (const struct bfd_arch_info *, const char *);
const struct bfd_arch_info *next;
}
bfd_arch_info_type;
const char *
bfd_printable_name (bfd *abfd);
const bfd_arch_info_type *
bfd_scan_arch (const char *string);
const char **
bfd_arch_list (void);
const bfd_arch_info_type *
bfd_arch_get_compatible ( const bfd *abfd, const bfd *bbfd);
void
bfd_set_arch_info (bfd *abfd, const bfd_arch_info_type *arg);
enum bfd_architecture
bfd_get_arch (bfd *abfd);
unsigned long
bfd_get_mach (bfd *abfd);
unsigned int
bfd_arch_bits_per_byte (bfd *abfd);
unsigned int
bfd_arch_bits_per_address (bfd *abfd);
const bfd_arch_info_type *
bfd_get_arch_info (bfd *abfd);
const bfd_arch_info_type *
bfd_lookup_arch (enum bfd_architecture arch, unsigned long machine);
const char *
bfd_printable_arch_mach (enum bfd_architecture arch, unsigned long machin=
e);
unsigned int
bfd_octets_per_byte (bfd *abfd);
unsigned int
bfd_arch_mach_octets_per_byte (enum bfd_architecture arch, unsigned long =
machine);
typedef enum bfd_reloc_status
{
bfd_reloc_ok,
bfd_reloc_overflow,
bfd_reloc_outofrange,
bfd_reloc_continue,
bfd_reloc_notsupported,
bfd_reloc_other,
bfd_reloc_undefined,
bfd_reloc_dangerous
}
bfd_reloc_status_type;
typedef struct reloc_cache_entry
{
struct symbol_cache_entry **sym_ptr_ptr;
bfd_size_type address;
bfd_vma addend;
reloc_howto_type *howto;
}
arelent;
enum complain_overflow
{
complain_overflow_dont,
complain_overflow_bitfield,
complain_overflow_signed,
complain_overflow_unsigned
};
struct reloc_howto_struct
{
unsigned int type;
unsigned int rightshift;
int size;
unsigned int bitsize;
boolean pc_relative;
unsigned int bitpos;
enum complain_overflow complain_on_overflow;
bfd_reloc_status_type (*special_function)
(bfd *, arelent *, struct symbol_cache_entry *, void *, asection *, b=
fd *, char **);
char *name;
# 1873 "../bfd/bfd.h"
boolean partial_inplace;
# 1882 "../bfd/bfd.h"
bfd_vma src_mask;
bfd_vma dst_mask;
boolean pcrel_offset;
};
# 1924 "../bfd/bfd.h"
unsigned int
bfd_get_reloc_size (reloc_howto_type *);
typedef struct relent_chain
{
arelent relent;
struct relent_chain *next;
}
arelent_chain;
bfd_reloc_status_type
bfd_check_overflow (enum complain_overflow how, unsigned int bitsize, uns=
igned int rightshift, unsigned int addrsize, bfd_vma relocation);
bfd_reloc_status_type
bfd_perform_relocation (bfd *abfd, arelent *reloc_entry, void * data, ase=
ction *input_section, bfd *output_bfd, char **error_message);
bfd_reloc_status_type
bfd_install_relocation (bfd *abfd, arelent *reloc_entry, void * data, bfd=
_vma data_start, asection *input_section, char **error_message);
enum bfd_reloc_code_real {
_dummy_first_bfd_reloc_code_real,
BFD_RELOC_64,
BFD_RELOC_32,
BFD_RELOC_26,
BFD_RELOC_24,
BFD_RELOC_16,
BFD_RELOC_14,
BFD_RELOC_8,
BFD_RELOC_64_PCREL,
BFD_RELOC_32_PCREL,
BFD_RELOC_24_PCREL,
BFD_RELOC_16_PCREL,
BFD_RELOC_12_PCREL,
BFD_RELOC_8_PCREL,
BFD_RELOC_32_GOT_PCREL,
BFD_RELOC_16_GOT_PCREL,
BFD_RELOC_8_GOT_PCREL,
BFD_RELOC_32_GOTOFF,
BFD_RELOC_16_GOTOFF,
BFD_RELOC_LO16_GOTOFF,
BFD_RELOC_HI16_GOTOFF,
BFD_RELOC_HI16_S_GOTOFF,
BFD_RELOC_8_GOTOFF,
BFD_RELOC_64_PLT_PCREL,
BFD_RELOC_32_PLT_PCREL,
BFD_RELOC_24_PLT_PCREL,
BFD_RELOC_16_PLT_PCREL,
BFD_RELOC_8_PLT_PCREL,
BFD_RELOC_64_PLTOFF,
BFD_RELOC_32_PLTOFF,
BFD_RELOC_16_PLTOFF,
BFD_RELOC_LO16_PLTOFF,
BFD_RELOC_HI16_PLTOFF,
BFD_RELOC_HI16_S_PLTOFF,
BFD_RELOC_8_PLTOFF,
BFD_RELOC_68K_GLOB_DAT,
BFD_RELOC_68K_JMP_SLOT,
BFD_RELOC_68K_RELATIVE,
BFD_RELOC_32_BASEREL,
BFD_RELOC_16_BASEREL,
BFD_RELOC_LO16_BASEREL,
BFD_RELOC_HI16_BASEREL,
BFD_RELOC_HI16_S_BASEREL,
BFD_RELOC_8_BASEREL,
BFD_RELOC_RVA,
BFD_RELOC_8_FFnn,
BFD_RELOC_32_PCREL_S2,
BFD_RELOC_16_PCREL_S2,
BFD_RELOC_23_PCREL_S2,
BFD_RELOC_HI22,
BFD_RELOC_LO10,
BFD_RELOC_GPREL16,
BFD_RELOC_GPREL32,
BFD_RELOC_I960_CALLJ,
BFD_RELOC_NONE,
BFD_RELOC_SPARC_WDISP22,
BFD_RELOC_SPARC22,
BFD_RELOC_SPARC13,
BFD_RELOC_SPARC_GOT10,
BFD_RELOC_SPARC_GOT13,
BFD_RELOC_SPARC_GOT22,
BFD_RELOC_SPARC_PC10,
BFD_RELOC_SPARC_PC22,
BFD_RELOC_SPARC_WPLT30,
BFD_RELOC_SPARC_COPY,
BFD_RELOC_SPARC_GLOB_DAT,
BFD_RELOC_SPARC_JMP_SLOT,
BFD_RELOC_SPARC_RELATIVE,
BFD_RELOC_SPARC_UA16,
BFD_RELOC_SPARC_UA32,
BFD_RELOC_SPARC_UA64,
BFD_RELOC_SPARC_BASE13,
BFD_RELOC_SPARC_BASE22,
BFD_RELOC_SPARC_10,
BFD_RELOC_SPARC_11,
BFD_RELOC_SPARC_OLO10,
BFD_RELOC_SPARC_HH22,
BFD_RELOC_SPARC_HM10,
BFD_RELOC_SPARC_LM22,
BFD_RELOC_SPARC_PC_HH22,
BFD_RELOC_SPARC_PC_HM10,
BFD_RELOC_SPARC_PC_LM22,
BFD_RELOC_SPARC_WDISP16,
BFD_RELOC_SPARC_WDISP19,
BFD_RELOC_SPARC_7,
BFD_RELOC_SPARC_6,
BFD_RELOC_SPARC_5,
BFD_RELOC_SPARC_PLT32,
BFD_RELOC_SPARC_PLT64,
BFD_RELOC_SPARC_HIX22,
BFD_RELOC_SPARC_LOX10,
BFD_RELOC_SPARC_H44,
BFD_RELOC_SPARC_M44,
BFD_RELOC_SPARC_L44,
BFD_RELOC_SPARC_REGISTER,
BFD_RELOC_SPARC_REV32,
BFD_RELOC_ALPHA_GPDISP_HI16,
BFD_RELOC_ALPHA_GPDISP_LO16,
BFD_RELOC_ALPHA_GPDISP,
# 2141 "../bfd/bfd.h"
BFD_RELOC_ALPHA_LITERAL,
BFD_RELOC_ALPHA_ELF_LITERAL,
BFD_RELOC_ALPHA_LITUSE,
BFD_RELOC_ALPHA_HINT,
BFD_RELOC_ALPHA_LINKAGE,
BFD_RELOC_ALPHA_CODEADDR,
BFD_RELOC_ALPHA_GPREL_HI16,
BFD_RELOC_ALPHA_GPREL_LO16,
BFD_RELOC_ALPHA_BRSGP,
BFD_RELOC_ALPHA_TLSGD,
BFD_RELOC_ALPHA_TLSLDM,
BFD_RELOC_ALPHA_DTPMOD64,
BFD_RELOC_ALPHA_GOTDTPREL16,
BFD_RELOC_ALPHA_DTPREL64,
BFD_RELOC_ALPHA_DTPREL_HI16,
BFD_RELOC_ALPHA_DTPREL_LO16,
BFD_RELOC_ALPHA_DTPREL16,
BFD_RELOC_ALPHA_GOTTPREL16,
BFD_RELOC_ALPHA_TPREL64,
BFD_RELOC_ALPHA_TPREL_HI16,
BFD_RELOC_ALPHA_TPREL_LO16,
BFD_RELOC_ALPHA_TPREL16,
BFD_RELOC_MIPS_JMP,
BFD_RELOC_MIPS16_JMP,
BFD_RELOC_MIPS16_GPREL,
BFD_RELOC_HI16,
BFD_RELOC_HI16_S,
BFD_RELOC_LO16,
BFD_RELOC_PCREL_HI16_S,
BFD_RELOC_PCREL_LO16,
BFD_RELOC_MIPS_LITERAL,
BFD_RELOC_MIPS_GOT16,
BFD_RELOC_MIPS_CALL16,
BFD_RELOC_MIPS_GOT_HI16,
BFD_RELOC_MIPS_GOT_LO16,
BFD_RELOC_MIPS_CALL_HI16,
BFD_RELOC_MIPS_CALL_LO16,
BFD_RELOC_MIPS_SUB,
BFD_RELOC_MIPS_GOT_PAGE,
BFD_RELOC_MIPS_GOT_OFST,
BFD_RELOC_MIPS_GOT_DISP,
BFD_RELOC_MIPS_SHIFT5,
BFD_RELOC_MIPS_SHIFT6,
BFD_RELOC_MIPS_INSERT_A,
BFD_RELOC_MIPS_INSERT_B,
BFD_RELOC_MIPS_DELETE,
BFD_RELOC_MIPS_HIGHEST,
BFD_RELOC_MIPS_HIGHER,
BFD_RELOC_MIPS_SCN_DISP,
BFD_RELOC_MIPS_REL16,
BFD_RELOC_MIPS_RELGOT,
BFD_RELOC_MIPS_JALR,
BFD_RELOC_FRV_LABEL16,
BFD_RELOC_FRV_LABEL24,
BFD_RELOC_FRV_LO16,
BFD_RELOC_FRV_HI16,
BFD_RELOC_FRV_GPREL12,
BFD_RELOC_FRV_GPRELU12,
BFD_RELOC_FRV_GPREL32,
BFD_RELOC_FRV_GPRELHI,
BFD_RELOC_FRV_GPRELLO,
BFD_RELOC_386_GOT32,
BFD_RELOC_386_PLT32,
BFD_RELOC_386_COPY,
BFD_RELOC_386_GLOB_DAT,
BFD_RELOC_386_JUMP_SLOT,
BFD_RELOC_386_RELATIVE,
BFD_RELOC_386_GOTOFF,
BFD_RELOC_386_GOTPC,
BFD_RELOC_386_TLS_TPOFF,
BFD_RELOC_386_TLS_IE,
BFD_RELOC_386_TLS_GOTIE,
BFD_RELOC_386_TLS_LE,
BFD_RELOC_386_TLS_GD,
BFD_RELOC_386_TLS_LDM,
BFD_RELOC_386_TLS_LDO_32,
BFD_RELOC_386_TLS_IE_32,
BFD_RELOC_386_TLS_LE_32,
BFD_RELOC_386_TLS_DTPMOD32,
BFD_RELOC_386_TLS_DTPOFF32,
BFD_RELOC_386_TLS_TPOFF32,
BFD_RELOC_X86_64_GOT32,
BFD_RELOC_X86_64_PLT32,
BFD_RELOC_X86_64_COPY,
BFD_RELOC_X86_64_GLOB_DAT,
BFD_RELOC_X86_64_JUMP_SLOT,
BFD_RELOC_X86_64_RELATIVE,
BFD_RELOC_X86_64_GOTPCREL,
BFD_RELOC_X86_64_32S,
BFD_RELOC_NS32K_IMM_8,
BFD_RELOC_NS32K_IMM_16,
BFD_RELOC_NS32K_IMM_32,
BFD_RELOC_NS32K_IMM_8_PCREL,
BFD_RELOC_NS32K_IMM_16_PCREL,
BFD_RELOC_NS32K_IMM_32_PCREL,
BFD_RELOC_NS32K_DISP_8,
BFD_RELOC_NS32K_DISP_16,
BFD_RELOC_NS32K_DISP_32,
BFD_RELOC_NS32K_DISP_8_PCREL,
BFD_RELOC_NS32K_DISP_16_PCREL,
BFD_RELOC_NS32K_DISP_32_PCREL,
BFD_RELOC_PDP11_DISP_8_PCREL,
BFD_RELOC_PDP11_DISP_6_PCREL,
BFD_RELOC_PJ_CODE_HI16,
BFD_RELOC_PJ_CODE_LO16,
BFD_RELOC_PJ_CODE_DIR16,
BFD_RELOC_PJ_CODE_DIR32,
BFD_RELOC_PJ_CODE_REL16,
BFD_RELOC_PJ_CODE_REL32,
BFD_RELOC_PPC_B26,
BFD_RELOC_PPC_BA26,
BFD_RELOC_PPC_TOC16,
BFD_RELOC_PPC_B16,
BFD_RELOC_PPC_B16_BRTAKEN,
BFD_RELOC_PPC_B16_BRNTAKEN,
BFD_RELOC_PPC_BA16,
BFD_RELOC_PPC_BA16_BRTAKEN,
BFD_RELOC_PPC_BA16_BRNTAKEN,
BFD_RELOC_PPC_COPY,
BFD_RELOC_PPC_GLOB_DAT,
BFD_RELOC_PPC_JMP_SLOT,
BFD_RELOC_PPC_RELATIVE,
BFD_RELOC_PPC_LOCAL24PC,
BFD_RELOC_PPC_EMB_NADDR32,
BFD_RELOC_PPC_EMB_NADDR16,
BFD_RELOC_PPC_EMB_NADDR16_LO,
BFD_RELOC_PPC_EMB_NADDR16_HI,
BFD_RELOC_PPC_EMB_NADDR16_HA,
BFD_RELOC_PPC_EMB_SDAI16,
BFD_RELOC_PPC_EMB_SDA2I16,
BFD_RELOC_PPC_EMB_SDA2REL,
BFD_RELOC_PPC_EMB_SDA21,
BFD_RELOC_PPC_EMB_MRKREF,
BFD_RELOC_PPC_EMB_RELSEC16,
BFD_RELOC_PPC_EMB_RELST_LO,
BFD_RELOC_PPC_EMB_RELST_HI,
BFD_RELOC_PPC_EMB_RELST_HA,
BFD_RELOC_PPC_EMB_BIT_FLD,
BFD_RELOC_PPC_EMB_RELSDA,
BFD_RELOC_PPC64_HIGHER,
BFD_RELOC_PPC64_HIGHER_S,
BFD_RELOC_PPC64_HIGHEST,
BFD_RELOC_PPC64_HIGHEST_S,
BFD_RELOC_PPC64_TOC16_LO,
BFD_RELOC_PPC64_TOC16_HI,
BFD_RELOC_PPC64_TOC16_HA,
BFD_RELOC_PPC64_TOC,
BFD_RELOC_PPC64_PLTGOT16,
BFD_RELOC_PPC64_PLTGOT16_LO,
BFD_RELOC_PPC64_PLTGOT16_HI,
BFD_RELOC_PPC64_PLTGOT16_HA,
BFD_RELOC_PPC64_ADDR16_DS,
BFD_RELOC_PPC64_ADDR16_LO_DS,
BFD_RELOC_PPC64_GOT16_DS,
BFD_RELOC_PPC64_GOT16_LO_DS,
BFD_RELOC_PPC64_PLT16_LO_DS,
BFD_RELOC_PPC64_SECTOFF_DS,
BFD_RELOC_PPC64_SECTOFF_LO_DS,
BFD_RELOC_PPC64_TOC16_DS,
BFD_RELOC_PPC64_TOC16_LO_DS,
BFD_RELOC_PPC64_PLTGOT16_DS,
BFD_RELOC_PPC64_PLTGOT16_LO_DS,
BFD_RELOC_I370_D12,
BFD_RELOC_CTOR,
BFD_RELOC_ARM_PCREL_BRANCH,
BFD_RELOC_ARM_PCREL_BLX,
BFD_RELOC_THUMB_PCREL_BLX,
BFD_RELOC_ARM_IMMEDIATE,
BFD_RELOC_ARM_ADRL_IMMEDIATE,
BFD_RELOC_ARM_OFFSET_IMM,
BFD_RELOC_ARM_SHIFT_IMM,
BFD_RELOC_ARM_SWI,
BFD_RELOC_ARM_MULTI,
BFD_RELOC_ARM_CP_OFF_IMM,
BFD_RELOC_ARM_ADR_IMM,
BFD_RELOC_ARM_LDR_IMM,
BFD_RELOC_ARM_LITERAL,
BFD_RELOC_ARM_IN_POOL,
BFD_RELOC_ARM_OFFSET_IMM8,
BFD_RELOC_ARM_HWLITERAL,
BFD_RELOC_ARM_THUMB_ADD,
BFD_RELOC_ARM_THUMB_IMM,
BFD_RELOC_ARM_THUMB_SHIFT,
BFD_RELOC_ARM_THUMB_OFFSET,
BFD_RELOC_ARM_GOT12,
BFD_RELOC_ARM_GOT32,
BFD_RELOC_ARM_JUMP_SLOT,
BFD_RELOC_ARM_COPY,
BFD_RELOC_ARM_GLOB_DAT,
BFD_RELOC_ARM_PLT32,
BFD_RELOC_ARM_RELATIVE,
BFD_RELOC_ARM_GOTOFF,
BFD_RELOC_ARM_GOTPC,
BFD_RELOC_SH_PCDISP8BY2,
BFD_RELOC_SH_PCDISP12BY2,
BFD_RELOC_SH_IMM4,
BFD_RELOC_SH_IMM4BY2,
BFD_RELOC_SH_IMM4BY4,
BFD_RELOC_SH_IMM8,
BFD_RELOC_SH_IMM8BY2,
BFD_RELOC_SH_IMM8BY4,
BFD_RELOC_SH_PCRELIMM8BY2,
BFD_RELOC_SH_PCRELIMM8BY4,
BFD_RELOC_SH_SWITCH16,
BFD_RELOC_SH_SWITCH32,
BFD_RELOC_SH_USES,
BFD_RELOC_SH_COUNT,
BFD_RELOC_SH_ALIGN,
BFD_RELOC_SH_CODE,
BFD_RELOC_SH_DATA,
BFD_RELOC_SH_LABEL,
BFD_RELOC_SH_LOOP_START,
BFD_RELOC_SH_LOOP_END,
BFD_RELOC_SH_COPY,
BFD_RELOC_SH_GLOB_DAT,
BFD_RELOC_SH_JMP_SLOT,
BFD_RELOC_SH_RELATIVE,
BFD_RELOC_SH_GOTPC,
BFD_RELOC_SH_GOT_LOW16,
BFD_RELOC_SH_GOT_MEDLOW16,
BFD_RELOC_SH_GOT_MEDHI16,
BFD_RELOC_SH_GOT_HI16,
BFD_RELOC_SH_GOTPLT_LOW16,
BFD_RELOC_SH_GOTPLT_MEDLOW16,
BFD_RELOC_SH_GOTPLT_MEDHI16,
BFD_RELOC_SH_GOTPLT_HI16,
BFD_RELOC_SH_PLT_LOW16,
BFD_RELOC_SH_PLT_MEDLOW16,
BFD_RELOC_SH_PLT_MEDHI16,
BFD_RELOC_SH_PLT_HI16,
BFD_RELOC_SH_GOTOFF_LOW16,
BFD_RELOC_SH_GOTOFF_MEDLOW16,
BFD_RELOC_SH_GOTOFF_MEDHI16,
BFD_RELOC_SH_GOTOFF_HI16,
BFD_RELOC_SH_GOTPC_LOW16,
BFD_RELOC_SH_GOTPC_MEDLOW16,
BFD_RELOC_SH_GOTPC_MEDHI16,
BFD_RELOC_SH_GOTPC_HI16,
BFD_RELOC_SH_COPY64,
BFD_RELOC_SH_GLOB_DAT64,
BFD_RELOC_SH_JMP_SLOT64,
BFD_RELOC_SH_RELATIVE64,
BFD_RELOC_SH_GOT10BY4,
BFD_RELOC_SH_GOT10BY8,
BFD_RELOC_SH_GOTPLT10BY4,
BFD_RELOC_SH_GOTPLT10BY8,
BFD_RELOC_SH_GOTPLT32,
BFD_RELOC_SH_SHMEDIA_CODE,
BFD_RELOC_SH_IMMU5,
BFD_RELOC_SH_IMMS6,
BFD_RELOC_SH_IMMS6BY32,
BFD_RELOC_SH_IMMU6,
BFD_RELOC_SH_IMMS10,
BFD_RELOC_SH_IMMS10BY2,
BFD_RELOC_SH_IMMS10BY4,
BFD_RELOC_SH_IMMS10BY8,
BFD_RELOC_SH_IMMS16,
BFD_RELOC_SH_IMMU16,
BFD_RELOC_SH_IMM_LOW16,
BFD_RELOC_SH_IMM_LOW16_PCREL,
BFD_RELOC_SH_IMM_MEDLOW16,
BFD_RELOC_SH_IMM_MEDLOW16_PCREL,
BFD_RELOC_SH_IMM_MEDHI16,
BFD_RELOC_SH_IMM_MEDHI16_PCREL,
BFD_RELOC_SH_IMM_HI16,
BFD_RELOC_SH_IMM_HI16_PCREL,
BFD_RELOC_SH_PT_16,
BFD_RELOC_THUMB_PCREL_BRANCH9,
BFD_RELOC_THUMB_PCREL_BRANCH12,
BFD_RELOC_THUMB_PCREL_BRANCH23,
BFD_RELOC_ARC_B22_PCREL,
BFD_RELOC_ARC_B26,
BFD_RELOC_D10V_10_PCREL_R,
BFD_RELOC_D10V_10_PCREL_L,
BFD_RELOC_D10V_18,
BFD_RELOC_D10V_18_PCREL,
BFD_RELOC_D30V_6,
BFD_RELOC_D30V_9_PCREL,
BFD_RELOC_D30V_9_PCREL_R,
BFD_RELOC_D30V_15,
BFD_RELOC_D30V_15_PCREL,
BFD_RELOC_D30V_15_PCREL_R,
BFD_RELOC_D30V_21,
BFD_RELOC_D30V_21_PCREL,
BFD_RELOC_D30V_21_PCREL_R,
BFD_RELOC_D30V_32,
BFD_RELOC_D30V_32_PCREL,
BFD_RELOC_DLX_HI16_S,
BFD_RELOC_DLX_LO16,
BFD_RELOC_DLX_JMP26,
BFD_RELOC_M32R_24,
BFD_RELOC_M32R_10_PCREL,
BFD_RELOC_M32R_18_PCREL,
BFD_RELOC_M32R_26_PCREL,
BFD_RELOC_M32R_HI16_ULO,
BFD_RELOC_M32R_HI16_SLO,
BFD_RELOC_M32R_LO16,
BFD_RELOC_M32R_SDA16,
BFD_RELOC_V850_9_PCREL,
BFD_RELOC_V850_22_PCREL,
BFD_RELOC_V850_SDA_16_16_OFFSET,
BFD_RELOC_V850_SDA_15_16_OFFSET,
BFD_RELOC_V850_ZDA_16_16_OFFSET,
BFD_RELOC_V850_ZDA_15_16_OFFSET,
BFD_RELOC_V850_TDA_6_8_OFFSET,
BFD_RELOC_V850_TDA_7_8_OFFSET,
BFD_RELOC_V850_TDA_7_7_OFFSET,
BFD_RELOC_V850_TDA_16_16_OFFSET,
BFD_RELOC_V850_TDA_4_5_OFFSET,
BFD_RELOC_V850_TDA_4_4_OFFSET,
BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET,
BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET,
BFD_RELOC_V850_CALLT_6_7_OFFSET,
BFD_RELOC_V850_CALLT_16_16_OFFSET,
BFD_RELOC_MN10300_32_PCREL,
BFD_RELOC_MN10300_16_PCREL,
BFD_RELOC_TIC30_LDP,
BFD_RELOC_TIC54X_PARTLS7,
BFD_RELOC_TIC54X_PARTMS9,
BFD_RELOC_TIC54X_23,
BFD_RELOC_TIC54X_16_OF_23,
BFD_RELOC_TIC54X_MS7_OF_23,
BFD_RELOC_FR30_48,
BFD_RELOC_FR30_20,
BFD_RELOC_FR30_6_IN_4,
BFD_RELOC_FR30_8_IN_8,
BFD_RELOC_FR30_9_IN_8,
BFD_RELOC_FR30_10_IN_8,
BFD_RELOC_FR30_9_PCREL,
BFD_RELOC_FR30_12_PCREL,
BFD_RELOC_MCORE_PCREL_IMM8BY4,
BFD_RELOC_MCORE_PCREL_IMM11BY2,
BFD_RELOC_MCORE_PCREL_IMM4BY2,
BFD_RELOC_MCORE_PCREL_32,
BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2,
BFD_RELOC_MCORE_RVA,
BFD_RELOC_MMIX_GETA,
BFD_RELOC_MMIX_GETA_1,
BFD_RELOC_MMIX_GETA_2,
BFD_RELOC_MMIX_GETA_3,
BFD_RELOC_MMIX_CBRANCH,
BFD_RELOC_MMIX_CBRANCH_J,
BFD_RELOC_MMIX_CBRANCH_1,
BFD_RELOC_MMIX_CBRANCH_2,
BFD_RELOC_MMIX_CBRANCH_3,
BFD_RELOC_MMIX_PUSHJ,
BFD_RELOC_MMIX_PUSHJ_1,
BFD_RELOC_MMIX_PUSHJ_2,
BFD_RELOC_MMIX_PUSHJ_3,
BFD_RELOC_MMIX_JMP,
BFD_RELOC_MMIX_JMP_1,
BFD_RELOC_MMIX_JMP_2,
BFD_RELOC_MMIX_JMP_3,
BFD_RELOC_MMIX_ADDR19,
BFD_RELOC_MMIX_ADDR27,
BFD_RELOC_MMIX_REG_OR_BYTE,
BFD_RELOC_MMIX_REG,
BFD_RELOC_MMIX_BASE_PLUS_OFFSET,
BFD_RELOC_MMIX_LOCAL,
BFD_RELOC_AVR_7_PCREL,
BFD_RELOC_AVR_13_PCREL,
BFD_RELOC_AVR_16_PM,
BFD_RELOC_AVR_LO8_LDI,
BFD_RELOC_AVR_HI8_LDI,
BFD_RELOC_AVR_HH8_LDI,
BFD_RELOC_AVR_LO8_LDI_NEG,
BFD_RELOC_AVR_HI8_LDI_NEG,
BFD_RELOC_AVR_HH8_LDI_NEG,
BFD_RELOC_AVR_LO8_LDI_PM,
BFD_RELOC_AVR_HI8_LDI_PM,
BFD_RELOC_AVR_HH8_LDI_PM,
BFD_RELOC_AVR_LO8_LDI_PM_NEG,
BFD_RELOC_AVR_HI8_LDI_PM_NEG,
BFD_RELOC_AVR_HH8_LDI_PM_NEG,
BFD_RELOC_AVR_CALL,
BFD_RELOC_390_12,
BFD_RELOC_390_GOT12,
BFD_RELOC_390_PLT32,
BFD_RELOC_390_COPY,
BFD_RELOC_390_GLOB_DAT,
BFD_RELOC_390_JMP_SLOT,
BFD_RELOC_390_RELATIVE,
BFD_RELOC_390_GOTPC,
BFD_RELOC_390_GOT16,
BFD_RELOC_390_PC16DBL,
BFD_RELOC_390_PLT16DBL,
BFD_RELOC_390_PC32DBL,
BFD_RELOC_390_PLT32DBL,
BFD_RELOC_390_GOTPCDBL,
BFD_RELOC_390_GOT64,
BFD_RELOC_390_PLT64,
BFD_RELOC_390_GOTENT,
# 2926 "../bfd/bfd.h"
BFD_RELOC_VTABLE_INHERIT,
BFD_RELOC_VTABLE_ENTRY,
BFD_RELOC_IA64_IMM14,
BFD_RELOC_IA64_IMM22,
BFD_RELOC_IA64_IMM64,
BFD_RELOC_IA64_DIR32MSB,
BFD_RELOC_IA64_DIR32LSB,
BFD_RELOC_IA64_DIR64MSB,
BFD_RELOC_IA64_DIR64LSB,
BFD_RELOC_IA64_GPREL22,
BFD_RELOC_IA64_GPREL64I,
BFD_RELOC_IA64_GPREL32MSB,
BFD_RELOC_IA64_GPREL32LSB,
BFD_RELOC_IA64_GPREL64MSB,
BFD_RELOC_IA64_GPREL64LSB,
BFD_RELOC_IA64_LTOFF22,
BFD_RELOC_IA64_LTOFF64I,
BFD_RELOC_IA64_PLTOFF22,
BFD_RELOC_IA64_PLTOFF64I,
BFD_RELOC_IA64_PLTOFF64MSB,
BFD_RELOC_IA64_PLTOFF64LSB,
BFD_RELOC_IA64_FPTR64I,
BFD_RELOC_IA64_FPTR32MSB,
BFD_RELOC_IA64_FPTR32LSB,
BFD_RELOC_IA64_FPTR64MSB,
BFD_RELOC_IA64_FPTR64LSB,
BFD_RELOC_IA64_PCREL21B,
BFD_RELOC_IA64_PCREL21BI,
BFD_RELOC_IA64_PCREL21M,
BFD_RELOC_IA64_PCREL21F,
BFD_RELOC_IA64_PCREL22,
BFD_RELOC_IA64_PCREL60B,
BFD_RELOC_IA64_PCREL64I,
BFD_RELOC_IA64_PCREL32MSB,
BFD_RELOC_IA64_PCREL32LSB,
BFD_RELOC_IA64_PCREL64MSB,
BFD_RELOC_IA64_PCREL64LSB,
BFD_RELOC_IA64_LTOFF_FPTR22,
BFD_RELOC_IA64_LTOFF_FPTR64I,
BFD_RELOC_IA64_LTOFF_FPTR32MSB,
BFD_RELOC_IA64_LTOFF_FPTR32LSB,
BFD_RELOC_IA64_LTOFF_FPTR64MSB,
BFD_RELOC_IA64_LTOFF_FPTR64LSB,
BFD_RELOC_IA64_SEGREL32MSB,
BFD_RELOC_IA64_SEGREL32LSB,
BFD_RELOC_IA64_SEGREL64MSB,
BFD_RELOC_IA64_SEGREL64LSB,
BFD_RELOC_IA64_SECREL32MSB,
BFD_RELOC_IA64_SECREL32LSB,
BFD_RELOC_IA64_SECREL64MSB,
BFD_RELOC_IA64_SECREL64LSB,
BFD_RELOC_IA64_REL32MSB,
BFD_RELOC_IA64_REL32LSB,
BFD_RELOC_IA64_REL64MSB,
BFD_RELOC_IA64_REL64LSB,
BFD_RELOC_IA64_LTV32MSB,
BFD_RELOC_IA64_LTV32LSB,
BFD_RELOC_IA64_LTV64MSB,
BFD_RELOC_IA64_LTV64LSB,
BFD_RELOC_IA64_IPLTMSB,
BFD_RELOC_IA64_IPLTLSB,
BFD_RELOC_IA64_COPY,
BFD_RELOC_IA64_LTOFF22X,
BFD_RELOC_IA64_LDXMOV,
BFD_RELOC_IA64_TPREL14,
BFD_RELOC_IA64_TPREL22,
BFD_RELOC_IA64_TPREL64I,
BFD_RELOC_IA64_TPREL64MSB,
BFD_RELOC_IA64_TPREL64LSB,
BFD_RELOC_IA64_LTOFF_TPREL22,
BFD_RELOC_IA64_DTPMOD64MSB,
BFD_RELOC_IA64_DTPMOD64LSB,
BFD_RELOC_IA64_LTOFF_DTPMOD22,
BFD_RELOC_IA64_DTPREL14,
BFD_RELOC_IA64_DTPREL22,
BFD_RELOC_IA64_DTPREL64I,
BFD_RELOC_IA64_DTPREL32MSB,
BFD_RELOC_IA64_DTPREL32LSB,
BFD_RELOC_IA64_DTPREL64MSB,
BFD_RELOC_IA64_DTPREL64LSB,
BFD_RELOC_IA64_LTOFF_DTPREL22,
BFD_RELOC_M68HC11_HI8,
BFD_RELOC_M68HC11_LO8,
BFD_RELOC_M68HC11_3B,
BFD_RELOC_CRIS_BDISP8,
BFD_RELOC_CRIS_UNSIGNED_5,
BFD_RELOC_CRIS_SIGNED_6,
BFD_RELOC_CRIS_UNSIGNED_6,
BFD_RELOC_CRIS_UNSIGNED_4,
BFD_RELOC_CRIS_COPY,
BFD_RELOC_CRIS_GLOB_DAT,
BFD_RELOC_CRIS_JUMP_SLOT,
BFD_RELOC_CRIS_RELATIVE,
BFD_RELOC_CRIS_32_GOT,
BFD_RELOC_CRIS_16_GOT,
BFD_RELOC_CRIS_32_GOTPLT,
BFD_RELOC_CRIS_16_GOTPLT,
BFD_RELOC_CRIS_32_GOTREL,
BFD_RELOC_CRIS_32_PLT_GOTREL,
BFD_RELOC_CRIS_32_PLT_PCREL,
BFD_RELOC_860_COPY,
BFD_RELOC_860_GLOB_DAT,
BFD_RELOC_860_JUMP_SLOT,
BFD_RELOC_860_RELATIVE,
BFD_RELOC_860_PC26,
BFD_RELOC_860_PLT26,
BFD_RELOC_860_PC16,
BFD_RELOC_860_LOW0,
BFD_RELOC_860_SPLIT0,
BFD_RELOC_860_LOW1,
BFD_RELOC_860_SPLIT1,
BFD_RELOC_860_LOW2,
BFD_RELOC_860_SPLIT2,
BFD_RELOC_860_LOW3,
BFD_RELOC_860_LOGOT0,
BFD_RELOC_860_SPGOT0,
BFD_RELOC_860_LOGOT1,
BFD_RELOC_860_SPGOT1,
BFD_RELOC_860_LOGOTOFF0,
BFD_RELOC_860_SPGOTOFF0,
BFD_RELOC_860_LOGOTOFF1,
BFD_RELOC_860_SPGOTOFF1,
BFD_RELOC_860_LOGOTOFF2,
BFD_RELOC_860_LOGOTOFF3,
BFD_RELOC_860_LOPC,
BFD_RELOC_860_HIGHADJ,
BFD_RELOC_860_HAGOT,
BFD_RELOC_860_HAGOTOFF,
BFD_RELOC_860_HAPC,
BFD_RELOC_860_HIGH,
BFD_RELOC_860_HIGOT,
BFD_RELOC_860_HIGOTOFF,
BFD_RELOC_OPENRISC_ABS_26,
BFD_RELOC_OPENRISC_REL_26,
BFD_RELOC_H8_DIR16A8,
BFD_RELOC_H8_DIR16R8,
BFD_RELOC_H8_DIR24A8,
BFD_RELOC_H8_DIR24R8,
BFD_RELOC_H8_DIR32A16,
BFD_RELOC_XSTORMY16_REL_12,
BFD_RELOC_XSTORMY16_24,
BFD_RELOC_XSTORMY16_FPTR16,
BFD_RELOC_VAX_GLOB_DAT,
BFD_RELOC_VAX_JMP_SLOT,
BFD_RELOC_VAX_RELATIVE,
BFD_RELOC_UNUSED };
typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
reloc_howto_type *
bfd_reloc_type_lookup (bfd *abfd, bfd_reloc_code_real_type code);
const char *
bfd_get_reloc_code_name (bfd_reloc_code_real_type code);
typedef struct symbol_cache_entry
{
# 3132 "../bfd/bfd.h"
struct _bfd *the_bfd;
const char *name;
symvalue value;
# 3228 "../bfd/bfd.h"
flagword flags;
struct sec *section;
union
{
void * p;
bfd_vma i;
}
udata;
}
asymbol;
boolean
bfd_is_local_label (bfd *abfd, asymbol *sym);
boolean
bfd_is_local_label_name (bfd *abfd, const char *name);
# 3261 "../bfd/bfd.h"
boolean
bfd_set_symtab (bfd *abfd, asymbol **location, unsigned int count);
void
bfd_print_symbol_vandf (bfd *abfd, void * file, asymbol *symbol);
asymbol *
_bfd_generic_make_empty_symbol (bfd *);
int
bfd_decode_symclass (asymbol *symbol);
boolean
bfd_is_undefined_symclass (int symclass);
void
bfd_symbol_info (asymbol *symbol, symbol_info *ret);
boolean
bfd_copy_private_symbol_data (bfd *ibfd, asymbol *isym, bfd *obfd, asymbo=
l *osym);
struct _bfd
{
const char *filename;
const struct bfd_target *xvec;
# 3308 "../bfd/bfd.h"
void * iostream;
boolean cacheable;
boolean target_defaulted;
struct _bfd *lru_prev, *lru_next;
ufile_ptr where;
boolean opened_once;
boolean mtime_set;
long mtime;
int ifd;
bfd_format format;
enum bfd_direction
{
no_direction =3D 0,
read_direction =3D 1,
write_direction =3D 2,
both_direction =3D 3
}
direction;
flagword flags;
ufile_ptr origin;
boolean output_has_begun;
struct bfd_hash_table section_htab;
struct sec *sections;
struct sec **section_tail;
unsigned int section_count;
bfd_vma start_address;
unsigned int symcount;
struct symbol_cache_entry **outsymbols;
unsigned int dynsymcount;
const struct bfd_arch_info *arch_info;
void * arelt_data;
struct _bfd *my_archive;
struct _bfd *next;
struct _bfd *archive_head;
boolean has_armap;
struct _bfd *link_next;
int archive_pass;
union
{
struct aout_data_struct *aout_data;
struct artdata *aout_ar_data;
struct _oasys_data *oasys_obj_data;
struct _oasys_ar_data *oasys_ar_data;
struct coff_tdata *coff_obj_data;
struct pe_tdata *pe_obj_data;
struct xcoff_tdata *xcoff_obj_data;
struct ecoff_tdata *ecoff_obj_data;
struct ieee_data_struct *ieee_data;
struct ieee_ar_data_struct *ieee_ar_data;
struct srec_data_struct *srec_data;
struct ihex_data_struct *ihex_data;
struct tekhex_data_struct *tekhex_data;
struct elf_obj_tdata *elf_obj_data;
struct nlm_obj_tdata *nlm_obj_data;
struct bout_data_struct *bout_data;
struct mmo_data_struct *mmo_data;
struct sun_core_struct *sun_core_data;
struct sco5_core_struct *sco5_core_data;
struct trad_core_struct *trad_core_data;
struct som_data_struct *som_data;
struct hpux_core_struct *hpux_core_data;
struct hppabsd_core_struct *hppabsd_core_data;
struct sgi_core_struct *sgi_core_data;
struct lynx_core_struct *lynx_core_data;
struct osf_core_struct *osf_core_data;
struct cisco_core_struct *cisco_core_data;
struct versados_data_struct *versados_data;
struct netbsd_core_struct *netbsd_core_data;
void * any;
}
tdata;
void * usrdata;
void * memory;
};
typedef enum bfd_error
{
bfd_error_no_error =3D 0,
bfd_error_system_call,
bfd_error_invalid_target,
bfd_error_wrong_format,
bfd_error_wrong_object_format,
bfd_error_invalid_operation,
bfd_error_no_memory,
bfd_error_no_symbols,
bfd_error_no_armap,
bfd_error_no_more_archived_files,
bfd_error_malformed_archive,
bfd_error_file_not_recognized,
bfd_error_file_ambiguously_recognized,
bfd_error_no_contents,
bfd_error_nonrepresentable_section,
bfd_error_no_debug_section,
bfd_error_bad_value,
bfd_error_file_truncated,
bfd_error_file_too_big,
bfd_error_invalid_error_code
}
bfd_error_type;
bfd_error_type
bfd_get_error (void);
void
bfd_set_error (bfd_error_type error_tag);
const char *
bfd_errmsg (bfd_error_type error_tag);
void
bfd_perror (const char *message);
typedef void (*bfd_error_handler_type) (const char *, ...);
bfd_error_handler_type
bfd_set_error_handler (bfd_error_handler_type);
void
bfd_set_error_program_name (const char *);
bfd_error_handler_type
bfd_get_error_handler (void);
const char *
bfd_archive_filename (bfd *);
long
bfd_get_reloc_upper_bound (bfd *abfd, asection *sect);
long
bfd_canonicalize_reloc (bfd *abfd, asection *sec, arelent **loc, asymbol =
**syms);
void
bfd_set_reloc (bfd *abfd, asection *sec, arelent **rel, unsigned int coun=
t);
boolean
bfd_set_file_flags (bfd *abfd, flagword flags);
int
bfd_get_arch_size (bfd *abfd);
int
bfd_get_sign_extend_vma (bfd *abfd);
boolean
bfd_set_start_address (bfd *abfd, bfd_vma vma);
long
bfd_get_mtime (bfd *abfd);
long
bfd_get_size (bfd *abfd);
unsigned int
bfd_get_gp_size (bfd *abfd);
void
bfd_set_gp_size (bfd *abfd, unsigned int i);
bfd_vma
bfd_scan_vma (const char *string, const char **end, int base);
boolean
bfd_copy_private_bfd_data (bfd *ibfd, bfd *obfd);
boolean
bfd_merge_private_bfd_data (bfd *ibfd, bfd *obfd);
boolean
bfd_set_private_flags (bfd *abfd, flagword flags);
# 3631 "../bfd/bfd.h"
extern bfd_byte *bfd_get_relocated_section_contents
(bfd *, struct bfd_link_info *, struct bfd_link_order *, bfd_byte =
*, boolean, asymbol **);
boolean
bfd_alt_mach_code (bfd *abfd, int alternative);
symindex
bfd_get_next_mapent (bfd *abfd, symindex previous, carsym **sym);
boolean
bfd_set_archive_head (bfd *output, bfd *new_head);
bfd *
bfd_openr_next_archived_file (bfd *archive, bfd *previous);
const char *
bfd_core_file_failing_command (bfd *abfd);
int
bfd_core_file_failing_signal (bfd *abfd);
boolean
core_file_matches_executable_p (bfd *core_bfd, bfd *exec_bfd);
# 3681 "../bfd/bfd.h"
enum bfd_flavour
{
bfd_target_unknown_flavour,
bfd_target_aout_flavour,
bfd_target_coff_flavour,
bfd_target_ecoff_flavour,
bfd_target_xcoff_flavour,
bfd_target_elf_flavour,
bfd_target_ieee_flavour,
bfd_target_nlm_flavour,
bfd_target_oasys_flavour,
bfd_target_tekhex_flavour,
bfd_target_srec_flavour,
bfd_target_ihex_flavour,
bfd_target_som_flavour,
bfd_target_os9k_flavour,
bfd_target_versados_flavour,
bfd_target_msdos_flavour,
bfd_target_ovax_flavour,
bfd_target_evax_flavour,
bfd_target_mmo_flavour
};
enum bfd_endian { BFD_ENDIAN_BIG, BFD_ENDIAN_LITTLE, BFD_ENDIAN_UNKNOWN }=
;
typedef struct bfd_link_info _bfd_link_info;
typedef struct bfd_target
{
char *name;
enum bfd_flavour flavour;
enum bfd_endian byteorder;
enum bfd_endian header_byteorder;
flagword object_flags;
flagword section_flags;
char symbol_leading_char;
char ar_pad_char;
unsigned short ar_max_namelen;
bfd_vma (*bfd_getx64) (const bfd_byte *);
bfd_signed_vma (*bfd_getx_signed_64) (const bfd_byte *);
void (*bfd_putx64) (bfd_vma, bfd_byte *);
bfd_vma (*bfd_getx32) (const bfd_byte *);
bfd_signed_vma (*bfd_getx_signed_32) (const bfd_byte *);
void (*bfd_putx32) (bfd_vma, bfd_byte *);
bfd_vma (*bfd_getx16) (const bfd_byte *);
bfd_signed_vma (*bfd_getx_signed_16) (const bfd_byte *);
void (*bfd_putx16) (bfd_vma, bfd_byte *);
bfd_vma (*bfd_h_getx64) (const bfd_byte *);
bfd_signed_vma (*bfd_h_getx_signed_64) (const bfd_byte *);
void (*bfd_h_putx64) (bfd_vma, bfd_byte *);
bfd_vma (*bfd_h_getx32) (const bfd_byte *);
bfd_signed_vma (*bfd_h_getx_signed_32) (const bfd_byte *);
void (*bfd_h_putx32) (bfd_vma, bfd_byte *);
bfd_vma (*bfd_h_getx16) (const bfd_byte *);
bfd_signed_vma (*bfd_h_getx_signed_16) (const bfd_byte *);
void (*bfd_h_putx16) (bfd_vma, bfd_byte *);
const struct bfd_target *(*_bfd_check_format[bfd_type_end]) (bfd *);
boolean (*_bfd_set_format[bfd_type_end]) (bfd *);
boolean (*_bfd_write_contents[bfd_type_end]) (bfd *);
# 3788 "../bfd/bfd.h"
boolean (*_close_and_cleanup) (bfd *);
boolean (*_bfd_free_cached_info) (bfd *);
boolean (*_new_section_hook) (bfd *, sec_ptr);
boolean (*_bfd_get_section_contents) (bfd *, sec_ptr, void *, file_ptr,=
bfd_size_type);
boolean (*_bfd_get_section_contents_in_window)
(bfd *, sec_ptr, bfd_window *, file_ptr, bfd_size_type);
# 3809 "../bfd/bfd.h"
boolean (*_bfd_copy_private_bfd_data) (bfd *, bfd *);
boolean (*_bfd_merge_private_bfd_data) (bfd *, bfd *);
boolean (*_bfd_copy_private_section_data) (bfd *, sec_ptr, bfd *, sec_p=
tr);
boolean (*_bfd_copy_private_symbol_data) (bfd *, asymbol *, bfd *, asym=
bol *);
boolean (*_bfd_set_private_flags) (bfd *, flagword);
boolean (*_bfd_print_private_bfd_data) (bfd *, void *);
char * (*_core_file_failing_command) (bfd *);
int (*_core_file_failing_signal) (bfd *);
boolean (*_core_file_matches_executable_p) (bfd *, bfd *);
# 3848 "../bfd/bfd.h"
boolean (*_bfd_slurp_armap) (bfd *);
boolean (*_bfd_slurp_extended_name_table) (bfd *);
boolean (*_bfd_construct_extended_name_table)
(bfd *, char **, bfd_size_type *, const char **);
void (*_bfd_truncate_arname) (bfd *, const char *, char *);
boolean (*write_armap)
(bfd *, unsigned int, struct orl *, unsigned int, int);
void * (*_bfd_read_ar_hdr_fn) (bfd *);
bfd * (*openr_next_archived_file) (bfd *, bfd *);
bfd * (*_bfd_get_elt_at_index) (bfd *, symindex);
int (*_bfd_stat_arch_elt) (bfd *, struct stat *);
boolean (*_bfd_update_armap_timestamp) (bfd *);
# 3875 "../bfd/bfd.h"
long (*_bfd_get_symtab_upper_bound) (bfd *);
long (*_bfd_canonicalize_symtab) (bfd *, struct symbol_cache_entry **);
struct symbol_cache_entry *
(*_bfd_make_empty_symbol) (bfd *);
void (*_bfd_print_symbol) (bfd *, void *, struct symbol_cache_entry *, =
bfd_print_symbol_type);
void (*_bfd_get_symbol_info) (bfd *, struct symbol_cache_entry *, symbo=
l_info *);
boolean (*_bfd_is_local_label_name) (bfd *, const char *);
alent * (*_get_lineno) (bfd *, struct symbol_cache_entry *);
boolean (*_bfd_find_nearest_line)
(bfd *, struct sec *, struct symbol_cache_entry **, bfd_vma, const ch=
ar **, const char **, unsigned int *);
asymbol *(*_bfd_make_debug_symbol) (bfd *, void *, unsigned long size);
long (*_read_minisymbols) (bfd *, boolean, void * *, unsigned int *);
asymbol *(*_minisymbol_to_symbol) (bfd *, boolean, const void *, asymbo=
l *);
long (*_get_reloc_upper_bound) (bfd *, sec_ptr);
long (*_bfd_canonicalize_reloc) (bfd *, sec_ptr, arelent **, struct sym=
bol_cache_entry **);
reloc_howto_type *
(*reloc_type_lookup) (bfd *, bfd_reloc_code_real_type);
boolean (*_bfd_set_arch_mach) (bfd *, enum bfd_architecture, unsigned l=
ong);
boolean (*_bfd_set_section_contents) (bfd *, sec_ptr, void *, file_ptr,=
bfd_size_type);
# 3943 "../bfd/bfd.h"
int (*_bfd_sizeof_headers) (bfd *, boolean);
bfd_byte *(*_bfd_get_relocated_section_contents)
(bfd *, struct bfd_link_info *, struct bfd_link_order *, bfd_byte *, =
boolean, struct symbol_cache_entry **);
boolean (*_bfd_relax_section)
(bfd *, struct sec *, struct bfd_link_info *, boolean *);
struct bfd_link_hash_table *(*_bfd_link_hash_table_create) (bfd *);
void (*_bfd_link_hash_table_free) (struct bfd_link_hash_table *);
boolean (*_bfd_link_add_symbols) (bfd *, struct bfd_link_info *);
void (*_bfd_link_just_syms) (asection *, struct bfd_link_info *);
boolean (*_bfd_final_link) (bfd *, struct bfd_link_info *);
boolean (*_bfd_link_split_section) (bfd *, struct sec *);
boolean (*_bfd_gc_sections) (bfd *, struct bfd_link_info *);
boolean (*_bfd_merge_sections) (bfd *, struct bfd_link_info *);
boolean (*_bfd_discard_group) (bfd *, struct sec *);
# 3987 "../bfd/bfd.h"
long (*_bfd_get_dynamic_symtab_upper_bound) (bfd *);
long (*_bfd_canonicalize_dynamic_symtab)
(bfd *, struct symbol_cache_entry **);
long (*_bfd_get_dynamic_reloc_upper_bound) (bfd *);
long (*_bfd_canonicalize_dynamic_reloc)
(bfd *, arelent **, struct symbol_cache_entry **);
const struct bfd_target * alternative_target;
void * backend_data;
} bfd_target;
boolean
bfd_set_default_target (const char *name);
const bfd_target *
bfd_find_target (const char *target_name, bfd *abfd);
const char **
bfd_target_list (void);
const bfd_target *
bfd_search_for_target (int (* search_func) (const bfd_target *, void *), =
void *);
boolean
bfd_check_format (bfd *abfd, bfd_format format);
boolean
bfd_check_format_matches (bfd *abfd, bfd_format format, char ***matching)=
;
boolean
bfd_set_format (bfd *abfd, bfd_format format);
const char *
bfd_format_string (bfd_format format);
# 133 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/include/libiberty.h" 1
# 46 "../../binutils-2.13.1/include/libiberty.h"
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 147 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 3
typedef int ptrdiff_t;
# 47 "../../binutils-2.13.1/include/libiberty.h" 2
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stdarg.h" 1 3
# 49 "../../binutils-2.13.1/include/libiberty.h" 2
extern char **buildargv (const char *) __attribute__ ((__malloc__));
extern void freeargv (char **);
extern char **dupargv (char **) __attribute__ ((__malloc__));
# 78 "../../binutils-2.13.1/include/libiberty.h"
extern char *basename (const char *);
extern const char *lbasename (const char *);
extern char *concat (const char *, ...) __attribute__ ((__malloc__));
# 101 "../../binutils-2.13.1/include/libiberty.h"
extern char *reconcat (char *, const char *, ...) __attribute__ ((__mallo=
c__));
extern unsigned long concat_length (const char *, ...);
extern char *concat_copy (char *, const char *, ...);
extern char *concat_copy2 (const char *, ...);
extern char *libiberty_concat_ptr;
# 137 "../../binutils-2.13.1/include/libiberty.h"
extern int fdmatch (int fd1, int fd2);
extern char * getpwd (void);
extern long get_run_time (void);
extern char *choose_temp_base (void) __attribute__ ((__malloc__));
extern char *make_temp_file (const char *) __attribute__ ((__malloc__));
extern const char *spaces (int count);
extern int errno_max (void);
extern const char *strerrno (int);
extern int strtoerrno (const char *);
extern char *xstrerror (int);
extern int signo_max (void);
# 193 "../../binutils-2.13.1/include/libiberty.h"
extern const char *strsigno (int);
extern int strtosigno (const char *);
extern int xatexit (void (*fn) (void));
extern void xexit (int status) __attribute__ ((__noreturn__));
extern void xmalloc_set_program_name (const char *);
extern void xmalloc_failed (size_t) __attribute__ ((__noreturn__));
extern void * xmalloc (size_t) __attribute__ ((__malloc__));
extern void * xrealloc (void *, size_t);
extern void * xcalloc (size_t, size_t) __attribute__ ((__malloc__));
extern char *xstrdup (const char *) __attribute__ ((__malloc__));
extern void * xmemdup (const void *, size_t, size_t) __attribute__ ((__ma=
lloc__));
extern const char _hex_value[256];
extern void hex_init (void);
# 260 "../../binutils-2.13.1/include/libiberty.h"
extern int pexecute (const char *, char * const *, const char *, const ch=
ar *, char **, char **, int);
extern int pwait (int, int *, int);
extern int asprintf (char **, const char *, ...) __attribute__ ((__format=
__ (__printf__, 2, 3)));
extern int vasprintf (char **, const char *, va_list)
__attribute__ ((__format__ (__printf__, 2, 0)));
# 286 "../../binutils-2.13.1/include/libiberty.h"
extern void * C_alloca (size_t) __attribute__ ((__malloc__));
# 135 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/include/progress.h" 1
# 138 "../../binutils-2.13.1/gas/as.h" 2
# 161 "../../binutils-2.13.1/gas/as.h"
extern char **environ;
# 194 "../../binutils-2.13.1/gas/as.h"
# 1 "../../binutils-2.13.1/include/fopen-same.h" 1
# 195 "../../binutils-2.13.1/gas/as.h" 2
# 212 "../../binutils-2.13.1/gas/as.h"
# 1 "../../binutils-2.13.1/gas/asintl.h" 1
# 24 "../../binutils-2.13.1/gas/asintl.h"
# 1 "/usr/include/locale.h" 1 3
# 29 "/usr/include/locale.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 30 "/usr/include/locale.h" 2 3
# 1 "/usr/include/bits/locale.h" 1 3
# 27 "/usr/include/bits/locale.h" 3
enum
{
__LC_CTYPE =3D 0,
__LC_NUMERIC =3D 1,
__LC_TIME =3D 2,
__LC_COLLATE =3D 3,
__LC_MONETARY =3D 4,
__LC_MESSAGES =3D 5,
__LC_ALL =3D 6,
__LC_PAPER =3D 7,
__LC_NAME =3D 8,
__LC_ADDRESS =3D 9,
__LC_TELEPHONE =3D 10,
__LC_MEASUREMENT =3D 11,
__LC_IDENTIFICATION =3D 12
};
# 31 "/usr/include/locale.h" 2 3
# 52 "/usr/include/locale.h" 3
struct lconv
{
char *decimal_point;
char *thousands_sep;
char *grouping;
char *int_curr_symbol;
char *currency_symbol;
char *mon_decimal_point;
char *mon_thousands_sep;
char *mon_grouping;
char *positive_sign;
char *negative_sign;
char int_frac_digits;
char frac_digits;
char p_cs_precedes;
char p_sep_by_space;
char n_cs_precedes;
char n_sep_by_space;
char p_sign_posn;
char n_sign_posn;
char int_p_cs_precedes;
char int_p_sep_by_space;
char int_n_cs_precedes;
char int_n_sep_by_space;
char int_p_sign_posn;
char int_n_sign_posn;
# 119 "/usr/include/locale.h" 3
};
extern char *setlocale (int __category, __const char *__locale) ;
extern struct lconv *localeconv (void) ;
# 149 "/usr/include/locale.h" 3
extern __locale_t __newlocale (int __category_mask, __const char *__local=
e,
__locale_t __base) ;
extern __locale_t __duplocale (__locale_t __dataset) ;
extern void __freelocale (__locale_t __dataset) ;
# 25 "../../binutils-2.13.1/gas/asintl.h" 2
# 1 "/usr/include/libintl.h" 1 3
# 30 "/usr/include/libintl.h" 3
extern char *gettext (__const char *__msgid) ;
extern char *dgettext (__const char *__domainname, __const char *__msgid)
;
extern char *__dgettext (__const char *__domainname, __const char *__msgi=
d)
__attribute__ ((__format_arg__ (2)));
extern char *dcgettext (__const char *__domainname,
__const char *__msgid, int __category) ;
extern char *__dcgettext (__const char *__domainname,
__const char *__msgid, int __category)
__attribute__ ((__format_arg__ (2)));
extern char *ngettext (__const char *__msgid1, __const char *__msgid2,
unsigned long int __n)
__attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ =
(2)));
extern char *dngettext (__const char *__domainname, __const char *__msgid=
1,
__const char *__msgid2, unsigned long int __n)
__attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ =
(3)));
extern char *dcngettext (__const char *__domainname, __const char *__msgi=
d1,
__const char *__msgid2, unsigned long int __n,
int __category)
__attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ =
(3)));
extern char *textdomain (__const char *__domainname) ;
extern char *bindtextdomain (__const char *__domainname,
__const char *__dirname) ;
extern char *bind_textdomain_codeset (__const char *__domainname,
__const char *__codeset) ;
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 95 "/usr/include/libintl.h" 2 3
# 115 "/usr/include/libintl.h" 3
# 29 "../../binutils-2.13.1/gas/asintl.h" 2
# 213 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/gas/flonum.h" 1
# 35 "../../binutils-2.13.1/gas/flonum.h"
# 1 "../../binutils-2.13.1/gas/bignum.h" 1
# 41 "../../binutils-2.13.1/gas/bignum.h"
typedef unsigned short LITTLENUM_TYPE;
int bignum_copy (LITTLENUM_TYPE * in, int in_length, LITTLENUM_TYPE * out=
, int out_length);
# 36 "../../binutils-2.13.1/gas/flonum.h" 2
# 52 "../../binutils-2.13.1/gas/flonum.h"
struct FLONUM_STRUCT {
LITTLENUM_TYPE *low;
LITTLENUM_TYPE *high;
LITTLENUM_TYPE *leader;
long exponent;
char sign;
};
typedef struct FLONUM_STRUCT FLONUM_TYPE;
# 75 "../../binutils-2.13.1/gas/flonum.h"
extern const FLONUM_TYPE flonum_positive_powers_of_ten[];
extern const FLONUM_TYPE flonum_negative_powers_of_ten[];
extern const int table_size_of_flonum_powers_of_ten;
# 87 "../../binutils-2.13.1/gas/flonum.h"
int atof_generic (char **address_of_string_pointer, const char *string_of=
_decimal_marks, const char *string_of_decimal_exponent_marks, FLONUM_TYPE=
* address_of_generic_floating_point_number);
void flonum_copy (FLONUM_TYPE * in, FLONUM_TYPE * out);
void flonum_multip (const FLONUM_TYPE * a, const FLONUM_TYPE * b, FLONUM_=
TYPE * product);
# 221 "../../binutils-2.13.1/gas/as.h" 2
extern bfd *stdoutput;
typedef bfd_vma addressT;
typedef bfd_signed_vma offsetT;
typedef addressT valueT;
# 296 "../../binutils-2.13.1/gas/as.h"
typedef asection *segT;
typedef int subsegT;
extern subsegT now_subseg;
extern segT now_seg;
# 322 "../../binutils-2.13.1/gas/as.h"
extern segT reg_section, expr_section;
extern segT text_section, data_section, bss_section;
# 339 "../../binutils-2.13.1/gas/as.h"
enum _relax_state {
rs_fill =3D 1,
rs_align,
rs_align_code,
rs_align_test,
rs_org,
rs_broken_word,
rs_machine_dependent,
rs_space,
rs_leb128,
rs_cfa,
rs_dwarf2dbg
};
typedef enum _relax_state relax_stateT;
typedef unsigned int relax_substateT;
typedef addressT relax_addressT;
extern unsigned char flag_no_comments;
extern unsigned char flag_debug;
extern unsigned char flag_signed_overflow_ok;
extern unsigned char flag_warn_displacement;
extern int flag_keep_locals;
extern int flag_mri;
extern unsigned char flag_readonly_data_in_text;
extern int flag_no_warnings;
extern int flag_fatal_warnings;
extern unsigned char flag_always_generate_output;
extern unsigned char flag_print_statistics;
extern int flag_strip_local_absolute;
extern int flag_traditional_format;
extern char *out_file_name;
extern char *insttbl_file_name;
extern int need_pass_2;
extern int linkrelax;
extern int listing;
# 463 "../../binutils-2.13.1/gas/as.h"
enum debug_info_type {
DEBUG_UNSPECIFIED,
DEBUG_NONE,
DEBUG_STABS,
DEBUG_ECOFF,
DEBUG_DWARF,
DEBUG_DWARF2
};
extern enum debug_info_type debug_type;
extern int max_macro_nest;
extern int chunksize;
struct _pseudo_type {
const char *poc_name;
void (*poc_handler) (int);
int poc_val;
};
typedef struct _pseudo_type pseudo_typeS;
# 539 "../../binutils-2.13.1/gas/as.h"
void as_bad (const char *format, ...) __attribute__ ((__format__ (__print=
f__, 1, 2)));
void as_fatal (const char *format, ...) __attribute__ ((__format__ (__pri=
ntf__, 1, 2))) __attribute__ ((__noreturn__));
void as_tsktsk (const char *format, ...) __attribute__ ((__format__ (__pr=
intf__, 1, 2)));
void as_warn (const char *format, ...) __attribute__ ((__format__ (__prin=
tf__, 1, 2)));
void as_bad_where (char *file, unsigned int line, const char *format, ...=
) __attribute__ ((__format__ (__printf__, 3, 4)));
void as_warn_where (char *file, unsigned int line, const char *format, ..=
=2E) __attribute__ ((__format__ (__printf__, 3, 4)));
void as_assert (const char *, int, const char *);
void as_abort (const char *, int, const char *) __attribute__ ((__noretur=
n__));
void fprint_value (FILE *file, addressT value);
void sprint_value (char *buf, addressT value);
int had_errors (void);
int had_warnings (void);
void print_version_id (void);
char *app_push (void);
char *atof_ieee (char *str, int what_kind, LITTLENUM_TYPE * words);
char *input_scrub_include_file (char *filename, char *position);
extern void input_scrub_insert_line (const char *line);
extern void input_scrub_insert_file (char *path);
char *input_scrub_new_file (char *filename);
char *input_scrub_next_buffer (char **bufp);
int do_scrub_chars (int (*get) (char *, int), char *to, int tolen);
int gen_to_words (LITTLENUM_TYPE * words, int precision, long exponent_bi=
ts);
int had_err (void);
int ignore_input (void);
void cond_finish_check (int);
void cond_exit_macro (int);
int seen_at_least_1_file (void);
void app_pop (char *arg);
void as_howmuch (FILE * stream);
void as_perror (const char *gripe, const char *filename);
void as_where (char **namep, unsigned int *linep);
void bump_line_counters (void);
void do_scrub_begin (int);
void input_scrub_begin (void);
void input_scrub_close (void);
void input_scrub_end (void);
int new_logical_line (char *fname, int line_number);
void subsegs_begin (void);
void subseg_change (segT seg, int subseg);
segT subseg_new (const char *name, subsegT subseg);
segT subseg_force_new (const char *name, subsegT subseg);
void subseg_set (segT seg, subsegT subseg);
segT subseg_get (const char *, int);
int subseg_text_p (segT);
void start_dependencies (char *);
void register_dependency (char *);
void print_dependencies (void);
struct expressionS;
struct fix;
typedef struct symbol symbolS;
struct relax_type;
typedef struct frag fragS;
valueT add_to_literal_pool (symbolS *, valueT, segT, int);
int check_eh_frame (struct expressionS *, unsigned int *);
int eh_frame_estimate_size_before_relax (fragS *);
int eh_frame_relax_frag (fragS *);
void eh_frame_convert_frag (fragS *);
# 1 "../../binutils-2.13.1/gas/expr.h" 1
# 43 "../../binutils-2.13.1/gas/expr.h"
typedef enum {
O_illegal,
O_absent,
O_constant,
O_symbol,
O_symbol_rva,
O_register,
O_big,
O_uminus,
O_bit_not,
O_logical_not,
O_multiply,
O_divide,
O_modulus,
O_left_shift,
O_right_shift,
O_bit_inclusive_or,
O_bit_or_not,
O_bit_exclusive_or,
O_bit_and,
O_add,
O_subtract,
O_eq,
O_ne,
O_lt,
O_le,
O_ge,
O_gt,
O_logical_and,
O_logical_or,
O_index,
O_md1, O_md2, O_md3, O_md4, O_md5, O_md6, O_md7, O_md8,
O_md9, O_md10, O_md11, O_md12, O_md13, O_md14, O_md15, O_md16,
O_md17, O_md18, O_md19, O_md20, O_md21, O_md22, O_md23, O_md24,
O_md25, O_md26, O_md27, O_md28, O_md29, O_md30, O_md31, O_md32,
O_max
} operatorT;
typedef struct expressionS {
symbolS *X_add_symbol;
symbolS *X_op_symbol;
offsetT X_add_number;
operatorT X_op : 8;
# 138 "../../binutils-2.13.1/gas/expr.h"
unsigned int X_unsigned : 1;
unsigned short X_md;
} expressionS;
extern FLONUM_TYPE generic_floating_point_number;
extern LITTLENUM_TYPE generic_bignum[];
typedef char operator_rankT;
extern char get_symbol_end (void);
extern void expr_begin (void);
extern void expr_set_precedence (void);
extern segT expr (int rank, expressionS * resultP);
extern unsigned int get_single_number (void);
extern symbolS *make_expr_symbol (expressionS * expressionP);
extern int expr_symbol_where
(symbolS *, char **, unsigned int *);
extern symbolS *expr_build_uconstant (offsetT);
extern symbolS *expr_build_unary (operatorT, symbolS *);
extern symbolS *expr_build_binary (operatorT, symbolS *, symbolS *);
extern symbolS *expr_build_dot (void);
# 612 "../../binutils-2.13.1/gas/as.h" 2
# 1 "targ-env.h" 1
# 1 "../../binutils-2.13.1/gas/config/te-generic.h" 1
# 19 "../../binutils-2.13.1/gas/config/te-generic.h"
# 1 "obj-format.h" 1
# 1 "../../binutils-2.13.1/gas/config/obj-elf.h" 1
# 40 "../../binutils-2.13.1/gas/config/obj-elf.h"
# 1 "../../binutils-2.13.1/bfd/elf-bfd.h" 1
# 25 "../../binutils-2.13.1/bfd/elf-bfd.h"
# 1 "../../binutils-2.13.1/include/elf/common.h" 1
# 26 "../../binutils-2.13.1/bfd/elf-bfd.h" 2
# 1 "../../binutils-2.13.1/include/elf/internal.h" 1
# 44 "../../binutils-2.13.1/include/elf/internal.h"
typedef struct elf_internal_ehdr {
unsigned char e_ident[16];
bfd_vma e_entry;
bfd_size_type e_phoff;
bfd_size_type e_shoff;
unsigned long e_version;
unsigned long e_flags;
unsigned short e_type;
unsigned short e_machine;
unsigned int e_ehsize;
unsigned int e_phentsize;
unsigned int e_phnum;
unsigned int e_shentsize;
unsigned int e_shnum;
unsigned int e_shstrndx;
} Elf_Internal_Ehdr;
# 68 "../../binutils-2.13.1/include/elf/internal.h"
struct elf_internal_phdr {
unsigned long p_type;
unsigned long p_flags;
bfd_vma p_offset;
bfd_vma p_vaddr;
bfd_vma p_paddr;
bfd_vma p_filesz;
bfd_vma p_memsz;
bfd_vma p_align;
};
typedef struct elf_internal_phdr Elf_Internal_Phdr;
typedef struct elf_internal_shdr {
unsigned int sh_name;
unsigned int sh_type;
bfd_vma sh_flags;
bfd_vma sh_addr;
bfd_size_type sh_size;
bfd_size_type sh_entsize;
unsigned long sh_link;
unsigned long sh_info;
file_ptr sh_offset;
unsigned int sh_addralign;
asection * bfd_section;
unsigned char *contents;
} Elf_Internal_Shdr;
# 111 "../../binutils-2.13.1/include/elf/internal.h"
struct elf_internal_sym {
bfd_vma st_value;
bfd_vma st_size;
unsigned long st_name;
unsigned char st_info;
unsigned char st_other;
unsigned int st_shndx;
};
typedef struct elf_internal_sym Elf_Internal_Sym;
# 129 "../../binutils-2.13.1/include/elf/internal.h"
typedef struct elf_internal_note {
unsigned long namesz;
unsigned long descsz;
unsigned long type;
char * namedata;
char * descdata;
bfd_vma descpos;
} Elf_Internal_Note;
typedef struct elf_internal_rel {
bfd_vma r_offset;
bfd_vma r_info;
} Elf_Internal_Rel;
typedef struct elf_internal_rela {
bfd_vma r_offset;
bfd_vma r_info;
bfd_vma r_addend;
} Elf_Internal_Rela;
# 166 "../../binutils-2.13.1/include/elf/internal.h"
typedef struct elf_internal_dyn {
bfd_vma d_tag;
union {
bfd_vma d_val;
bfd_vma d_ptr;
} d_un;
} Elf_Internal_Dyn;
# 183 "../../binutils-2.13.1/include/elf/internal.h"
typedef struct elf_internal_verdef {
unsigned short vd_version;
unsigned short vd_flags;
unsigned short vd_ndx;
unsigned short vd_cnt;
unsigned long vd_hash;
unsigned long vd_aux;
unsigned long vd_next;
bfd *vd_bfd;
const char *vd_nodename;
struct elf_internal_verdef *vd_nextdef;
struct elf_internal_verdaux *vd_auxptr;
unsigned int vd_exp_refno;
} Elf_Internal_Verdef;
typedef struct elf_internal_verdaux {
unsigned long vda_name;
unsigned long vda_next;
const char *vda_nodename;
struct elf_internal_verdaux *vda_nextptr;
} Elf_Internal_Verdaux;
typedef struct elf_internal_verneed {
unsigned short vn_version;
unsigned short vn_cnt;
unsigned long vn_file;
unsigned long vn_aux;
unsigned long vn_next;
bfd *vn_bfd;
const char *vn_filename;
struct elf_internal_vernaux *vn_auxptr;
struct elf_internal_verneed *vn_nextref;
} Elf_Internal_Verneed;
typedef struct elf_internal_vernaux {
unsigned long vna_hash;
unsigned short vna_flags;
unsigned short vna_other;
unsigned long vna_name;
unsigned long vna_next;
const char *vna_nodename;
struct elf_internal_vernaux *vna_nextptr;
} Elf_Internal_Vernaux;
typedef struct elf_internal_versym {
unsigned short vs_vers;
} Elf_Internal_Versym;
typedef struct
{
unsigned short int si_boundto;
unsigned short int si_flags;
} Elf_Internal_Syminfo;
# 287 "../../binutils-2.13.1/include/elf/internal.h"
struct elf_segment_map
{
struct elf_segment_map *next;
unsigned long p_type;
unsigned long p_flags;
bfd_vma p_paddr;
unsigned int p_flags_valid : 1;
unsigned int p_paddr_valid : 1;
unsigned int includes_filehdr : 1;
unsigned int includes_phdrs : 1;
unsigned int count;
asection *sections[1];
};
# 27 "../../binutils-2.13.1/bfd/elf-bfd.h" 2
# 1 "../../binutils-2.13.1/include/elf/external.h" 1
# 40 "../../binutils-2.13.1/include/elf/external.h"
typedef struct {
unsigned char e_ident[16];
unsigned char e_type[2];
unsigned char e_machine[2];
unsigned char e_version[4];
unsigned char e_entry[4];
unsigned char e_phoff[4];
unsigned char e_shoff[4];
unsigned char e_flags[4];
unsigned char e_ehsize[2];
unsigned char e_phentsize[2];
unsigned char e_phnum[2];
unsigned char e_shentsize[2];
unsigned char e_shnum[2];
unsigned char e_shstrndx[2];
} Elf32_External_Ehdr;
typedef struct {
unsigned char e_ident[16];
unsigned char e_type[2];
unsigned char e_machine[2];
unsigned char e_version[4];
unsigned char e_entry[8];
unsigned char e_phoff[8];
unsigned char e_shoff[8];
unsigned char e_flags[4];
unsigned char e_ehsize[2];
unsigned char e_phentsize[2];
unsigned char e_phnum[2];
unsigned char e_shentsize[2];
unsigned char e_shnum[2];
unsigned char e_shstrndx[2];
} Elf64_External_Ehdr;
typedef struct {
unsigned char p_type[4];
unsigned char p_offset[4];
unsigned char p_vaddr[4];
unsigned char p_paddr[4];
unsigned char p_filesz[4];
unsigned char p_memsz[4];
unsigned char p_flags[4];
unsigned char p_align[4];
} Elf32_External_Phdr;
typedef struct {
unsigned char p_type[4];
unsigned char p_flags[4];
unsigned char p_offset[8];
unsigned char p_vaddr[8];
unsigned char p_paddr[8];
unsigned char p_filesz[8];
unsigned char p_memsz[8];
unsigned char p_align[8];
} Elf64_External_Phdr;
typedef struct {
unsigned char sh_name[4];
unsigned char sh_type[4];
unsigned char sh_flags[4];
unsigned char sh_addr[4];
unsigned char sh_offset[4];
unsigned char sh_size[4];
unsigned char sh_link[4];
unsigned char sh_info[4];
unsigned char sh_addralign[4];
unsigned char sh_entsize[4];
} Elf32_External_Shdr;
typedef struct {
unsigned char sh_name[4];
unsigned char sh_type[4];
unsigned char sh_flags[8];
unsigned char sh_addr[8];
unsigned char sh_offset[8];
unsigned char sh_size[8];
unsigned char sh_link[4];
unsigned char sh_info[4];
unsigned char sh_addralign[8];
unsigned char sh_entsize[8];
} Elf64_External_Shdr;
typedef struct {
unsigned char st_name[4];
unsigned char st_value[4];
unsigned char st_size[4];
unsigned char st_info[1];
unsigned char st_other[1];
unsigned char st_shndx[2];
} Elf32_External_Sym;
typedef struct {
unsigned char st_name[4];
unsigned char st_info[1];
unsigned char st_other[1];
unsigned char st_shndx[2];
unsigned char st_value[8];
unsigned char st_size[8];
} Elf64_External_Sym;
typedef struct {
unsigned char est_shndx[4];
} Elf_External_Sym_Shndx;
typedef struct {
unsigned char namesz[4];
unsigned char descsz[4];
unsigned char type[4];
char name[1];
} Elf_External_Note;
typedef struct {
unsigned char r_offset[4];
unsigned char r_info[4];
} Elf32_External_Rel;
typedef struct {
unsigned char r_offset[4];
unsigned char r_info[4];
unsigned char r_addend[4];
} Elf32_External_Rela;
typedef struct {
unsigned char r_offset[8];
unsigned char r_info[8];
} Elf64_External_Rel;
typedef struct {
unsigned char r_offset[8];
unsigned char r_info[8];
unsigned char r_addend[8];
} Elf64_External_Rela;
typedef struct {
unsigned char d_tag[4];
union {
unsigned char d_val[4];
unsigned char d_ptr[4];
} d_un;
} Elf32_External_Dyn;
typedef struct {
unsigned char d_tag[8];
union {
unsigned char d_val[8];
unsigned char d_ptr[8];
} d_un;
} Elf64_External_Dyn;
typedef struct {
unsigned char vd_version[2];
unsigned char vd_flags[2];
unsigned char vd_ndx[2];
unsigned char vd_cnt[2];
unsigned char vd_hash[4];
unsigned char vd_aux[4];
unsigned char vd_next[4];
} Elf_External_Verdef;
typedef struct {
unsigned char vda_name[4];
unsigned char vda_next[4];
} Elf_External_Verdaux;
typedef struct {
unsigned char vn_version[2];
unsigned char vn_cnt[2];
unsigned char vn_file[4];
unsigned char vn_aux[4];
unsigned char vn_next[4];
} Elf_External_Verneed;
typedef struct {
unsigned char vna_hash[4];
unsigned char vna_flags[2];
unsigned char vna_other[2];
unsigned char vna_name[4];
unsigned char vna_next[4];
} Elf_External_Vernaux;
typedef struct {
unsigned char vs_vers[2];
}
__attribute__ ((packed))
Elf_External_Versym;
typedef struct
{
unsigned char si_boundto[2];
unsigned char si_flags[2];
} Elf_External_Syminfo;
# 28 "../../binutils-2.13.1/bfd/elf-bfd.h" 2
# 1 "../../binutils-2.13.1/include/bfdlink.h" 1
# 26 "../../binutils-2.13.1/include/bfdlink.h"
enum bfd_link_strip
{
strip_none,
strip_debugger,
strip_some,
strip_all
};
enum bfd_link_discard
{
discard_sec_merge,
discard_none,
discard_l,
discard_all
};
enum bfd_link_hash_table_type
{
bfd_link_generic_hash_table,
bfd_link_elf_hash_table
};
enum bfd_link_hash_type
{
bfd_link_hash_new,
bfd_link_hash_undefined,
bfd_link_hash_undefweak,
bfd_link_hash_defined,
bfd_link_hash_defweak,
bfd_link_hash_common,
bfd_link_hash_indirect,
bfd_link_hash_warning
};
struct bfd_link_hash_entry
{
struct bfd_hash_entry root;
enum bfd_link_hash_type type;
# 97 "../../binutils-2.13.1/include/bfdlink.h"
struct bfd_link_hash_entry *next;
union
{
struct
{
bfd *abfd;
} undef;
struct
{
bfd_vma value;
asection *section;
} def;
struct
{
struct bfd_link_hash_entry *link;
const char *warning;
} i;
struct
{
# 131 "../../binutils-2.13.1/include/bfdlink.h"
bfd_size_type size;
struct bfd_link_hash_common_entry
{
unsigned int alignment_power;
asection *section;
} *p;
} c;
} u;
};
struct bfd_link_hash_table
{
struct bfd_hash_table table;
const bfd_target *creator;
struct bfd_link_hash_entry *undefs;
struct bfd_link_hash_entry *undefs_tail;
enum bfd_link_hash_table_type type;
};
extern struct bfd_link_hash_entry *bfd_link_hash_lookup
(struct bfd_link_hash_table *, const char *, boolean create, boolean co=
py, boolean follow);
extern struct bfd_link_hash_entry *bfd_wrapped_link_hash_lookup
(bfd *, struct bfd_link_info *, const char *, boolean, boolean, boolean=
);
extern void bfd_link_hash_traverse
(struct bfd_link_hash_table *, boolean (*) (struct bfd_link_hash_entry =
*, void *), void *);
extern void bfd_link_add_undef
(struct bfd_link_hash_table *, struct bfd_link_hash_entry *);
struct bfd_sym_chain
{
struct bfd_sym_chain *next;
const char *name;
};
struct bfd_link_info
{
const struct bfd_link_callbacks *callbacks;
boolean relocateable;
boolean emitrelocations;
boolean task_link;
boolean shared;
boolean symbolic;
boolean export_dynamic;
boolean static_link;
boolean traditional_format;
boolean optimize;
boolean no_undefined;
# 252 "../../binutils-2.13.1/include/bfdlink.h"
boolean allow_shlib_undefined;
boolean allow_multiple_definition;
boolean allow_undefined_version;
enum bfd_link_strip strip;
enum bfd_link_discard discard;
boolean keep_memory;
bfd *input_bfds;
asection *create_object_symbols_section;
struct bfd_sym_chain *gc_sym_list;
struct bfd_link_hash_table *hash;
struct bfd_hash_table *keep_hash;
boolean notice_all;
struct bfd_hash_table *notice_hash;
struct bfd_hash_table *wrap_hash;
void * base_file;
int mpc860c0;
const char *init_function;
const char *fini_function;
boolean new_dtags;
bfd_vma flags;
bfd_vma flags_1;
int pei386_auto_import;
boolean combreloc;
boolean nocopyreloc;
boolean eh_frame_hdr;
unsigned int spare_dynamic_tags;
};
# 358 "../../binutils-2.13.1/include/bfdlink.h"
struct bfd_link_callbacks
{
boolean (*add_archive_element) (struct bfd_link_info *, bfd *abfd, cons=
t char *name);
# 373 "../../binutils-2.13.1/include/bfdlink.h"
boolean (*multiple_definition) (struct bfd_link_info *, const char *nam=
e, bfd *obfd, asection *osec, bfd_vma oval, bfd *nbfd, asection *nsec, bf=
d_vma nval);
# 392 "../../binutils-2.13.1/include/bfdlink.h"
boolean (*multiple_common) (struct bfd_link_info *, const char *name, b=
fd *obfd, enum bfd_link_hash_type otype, bfd_vma osize, bfd *nbfd, enum b=
fd_link_hash_type ntype, bfd_vma nsize);
# 406 "../../binutils-2.13.1/include/bfdlink.h"
boolean (*add_to_set) (struct bfd_link_info *, struct bfd_link_hash_ent=
ry *entry, bfd_reloc_code_real_type reloc, bfd *abfd, asection *sec, bfd_=
vma value);
# 416 "../../binutils-2.13.1/include/bfdlink.h"
boolean (*constructor) (struct bfd_link_info *, boolean constructor, co=
nst char *name, bfd *abfd, asection *sec, bfd_vma value);
# 427 "../../binutils-2.13.1/include/bfdlink.h"
boolean (*warning) (struct bfd_link_info *, const char *warning, const =
char *symbol, bfd *abfd, asection *section, bfd_vma address);
# 436 "../../binutils-2.13.1/include/bfdlink.h"
boolean (*undefined_symbol) (struct bfd_link_info *, const char *name, =
bfd *abfd, asection *section, bfd_vma address, boolean fatal);
# 448 "../../binutils-2.13.1/include/bfdlink.h"
boolean (*reloc_overflow) (struct bfd_link_info *, const char *name, co=
nst char *reloc_name, bfd_vma addend, bfd *abfd, asection *section, bfd_v=
ma address);
# 460 "../../binutils-2.13.1/include/bfdlink.h"
boolean (*reloc_dangerous) (struct bfd_link_info *, const char *message=
, bfd *abfd, asection *section, bfd_vma address);
# 470 "../../binutils-2.13.1/include/bfdlink.h"
boolean (*unattached_reloc) (struct bfd_link_info *, const char *name, =
bfd *abfd, asection *section, bfd_vma address);
boolean (*notice) (struct bfd_link_info *, const char *name, bfd *abfd,=
asection *section, bfd_vma address);
};
enum bfd_link_order_type
{
bfd_undefined_link_order,
bfd_indirect_link_order,
bfd_data_link_order,
bfd_section_reloc_link_order,
bfd_symbol_reloc_link_order
};
struct bfd_link_order
{
struct bfd_link_order *next;
enum bfd_link_order_type type;
bfd_vma offset;
bfd_size_type size;
union
{
struct
{
asection *section;
} indirect;
struct
{
unsigned int size;
bfd_byte *contents;
} data;
struct
{
struct bfd_link_order_reloc *p;
} reloc;
} u;
};
# 554 "../../binutils-2.13.1/include/bfdlink.h"
struct bfd_link_order_reloc
{
bfd_reloc_code_real_type reloc;
union
{
asection *section;
const char *name;
} u;
bfd_vma addend;
};
extern struct bfd_link_order *bfd_new_link_order (bfd *, asection *);
# 588 "../../binutils-2.13.1/include/bfdlink.h"
struct bfd_elf_version_expr
{
struct bfd_elf_version_expr *next;
const char *pattern;
int (*match) (struct bfd_elf_version_expr *, const char *);
unsigned int symver: 1;
unsigned int script : 1;
};
struct bfd_elf_version_deps
{
struct bfd_elf_version_deps *next;
struct bfd_elf_version_tree *version_needed;
};
struct bfd_elf_version_tree
{
struct bfd_elf_version_tree *next;
const char *name;
unsigned int vernum;
struct bfd_elf_version_expr *globals;
struct bfd_elf_version_expr *locals;
struct bfd_elf_version_deps *deps;
unsigned int name_indx;
int used;
};
# 29 "../../binutils-2.13.1/bfd/elf-bfd.h" 2
# 60 "../../binutils-2.13.1/bfd/elf-bfd.h"
typedef struct
{
asymbol symbol;
Elf_Internal_Sym internal_elf_sym;
union
{
unsigned int hppa_arg_reloc;
void * mips_extr;
void * any;
}
tc_data;
unsigned short version;
} elf_symbol_type;
struct elf_strtab_hash;
struct elf_link_hash_entry
{
struct bfd_link_hash_entry root;
long indx;
# 106 "../../binutils-2.13.1/bfd/elf-bfd.h"
long dynindx;
unsigned long dynstr_index;
unsigned long elf_hash_value;
struct elf_link_hash_entry *weakdef;
struct elf_linker_section_pointers *linker_section_pointer;
union
{
Elf_Internal_Verdef *verdef;
struct bfd_elf_version_tree *vertree;
} verinfo;
size_t vtable_entries_size;
boolean *vtable_entries_used;
struct elf_link_hash_entry *vtable_parent;
# 154 "../../binutils-2.13.1/bfd/elf-bfd.h"
union
{
bfd_signed_vma refcount;
bfd_vma offset;
} got;
union
{
bfd_signed_vma refcount;
bfd_vma offset;
} plt;
bfd_size_type size;
char type;
unsigned char other;
unsigned short elf_link_hash_flags;
# 205 "../../binutils-2.13.1/bfd/elf-bfd.h"
};
struct elf_link_local_dynamic_entry
{
struct elf_link_local_dynamic_entry *next;
bfd *input_bfd;
long input_indx;
long dynindx;
Elf_Internal_Sym isym;
};
struct elf_link_loaded_list
{
struct elf_link_loaded_list *next;
bfd *abfd;
};
enum elf_link_info_type
{
ELF_INFO_TYPE_NONE,
ELF_INFO_TYPE_STABS,
ELF_INFO_TYPE_MERGE,
ELF_INFO_TYPE_EH_FRAME,
ELF_INFO_TYPE_EH_FRAME_HDR,
ELF_INFO_TYPE_JUST_SYMS,
ELF_INFO_TYPE_LAST
};
struct elf_link_tls_segment
{
bfd_vma start;
bfd_size_type size;
unsigned int align;
};
struct elf_link_hash_table
{
struct bfd_link_hash_table root;
boolean dynamic_sections_created;
bfd *dynobj;
bfd_signed_vma init_refcount;
bfd_size_type dynsymcount;
struct elf_strtab_hash *dynstr;
bfd_size_type bucketcount;
struct bfd_link_needed_list *needed;
struct elf_link_hash_entry *hgot;
void * stab_info;
void * merge_info;
struct elf_link_local_dynamic_entry *dynlocal;
struct bfd_link_needed_list *runpath;
struct elf_link_tls_segment *tls_segment;
struct elf_link_loaded_list *loaded;
};
# 337 "../../binutils-2.13.1/bfd/elf-bfd.h"
struct sym_sec_cache
{
bfd *abfd;
unsigned long indx[32];
asection *sec[32];
};
struct elf_size_info {
unsigned char sizeof_ehdr, sizeof_phdr, sizeof_shdr;
unsigned char sizeof_rel, sizeof_rela, sizeof_sym, sizeof_dyn, sizeof_n=
ote;
unsigned char sizeof_hash_entry;
unsigned char int_rels_per_ext_rel;
unsigned char arch_size, file_align;
unsigned char elfclass, ev_current;
int (*write_out_phdrs)
(bfd *, const Elf_Internal_Phdr *, unsigned int);
boolean (*write_shdrs_and_ehdr)
(bfd *);
void (*write_relocs)
(bfd *, asection *, void *);
void (*swap_symbol_in)
(bfd *, const void *, const void *, Elf_Internal_Sym *);
void (*swap_symbol_out)
(bfd *, const Elf_Internal_Sym *, void *, void *);
boolean (*slurp_reloc_table)
(bfd *, asection *, asymbol **, boolean);
long (*slurp_symbol_table)
(bfd *, asymbol **, boolean);
void (*swap_dyn_in)
(bfd *, const void *, Elf_Internal_Dyn *);
void (*swap_dyn_out)
(bfd *, const Elf_Internal_Dyn *, void *);
void (*swap_reloc_in)
(bfd *, const bfd_byte *, Elf_Internal_Rel *);
void (*swap_reloc_out)
(bfd *, const Elf_Internal_Rel *, bfd_byte *);
void (*swap_reloca_in)
(bfd *, const bfd_byte *, Elf_Internal_Rela *);
void (*swap_reloca_out)
(bfd *, const Elf_Internal_Rela *, bfd_byte *);
};
enum elf_reloc_type_class {
reloc_class_normal,
reloc_class_relative,
reloc_class_plt,
reloc_class_copy
};
struct elf_reloc_cookie
{
Elf_Internal_Rela *rels, *rel, *relend;
Elf_Internal_Sym *locsyms;
bfd *abfd;
size_t locsymcount;
size_t extsymoff;
struct elf_link_hash_entry **sym_hashes;
boolean bad_symtab;
};
typedef enum {
ict_none,
ict_irix5,
ict_irix6
} irix_compat_t;
struct elf_backend_data
{
enum bfd_architecture arch;
int elf_machine_code;
bfd_vma maxpagesize;
void (*elf_info_to_howto)
(bfd *, arelent *, Elf_Internal_Rela *);
void (*elf_info_to_howto_rel)
(bfd *, arelent *, Elf_Internal_Rel *);
boolean (*elf_backend_sym_is_global)
(bfd *, asymbol *);
# 474 "../../binutils-2.13.1/bfd/elf-bfd.h"
boolean (*elf_backend_object_p)
(bfd *);
void (*elf_backend_symbol_processing)
(bfd *, asymbol *);
boolean (*elf_backend_symbol_table_processing)
(bfd *, elf_symbol_type *, unsigned int);
int (*elf_backend_get_symbol_type)
( Elf_Internal_Sym *, int);
boolean (*elf_backend_section_processing)
(bfd *, Elf_Internal_Shdr *);
boolean (*elf_backend_section_from_shdr)
(bfd *, Elf_Internal_Shdr *, const char *);
boolean (*elf_backend_section_flags)
(flagword *, Elf_Internal_Shdr *);
boolean (*elf_backend_section_from_phdr)
(bfd *, Elf_Internal_Phdr *, int);
boolean (*elf_backend_fake_sections)
(bfd *, Elf_Internal_Shdr *, asection *);
boolean (*elf_backend_section_from_bfd_section)
(bfd *, asection *, int *retval);
# 536 "../../binutils-2.13.1/bfd/elf-bfd.h"
boolean (*elf_add_symbol_hook)
(bfd *abfd, struct bfd_link_info *info, const Elf_Internal_Sym *, con=
st char **name, flagword *flags, asection **sec, bfd_vma *value);
boolean (*elf_backend_link_output_symbol_hook)
(bfd *, struct bfd_link_info *info, const char *, Elf_Internal_Sym *,=
asection *);
# 555 "../../binutils-2.13.1/bfd/elf-bfd.h"
boolean (*elf_backend_create_dynamic_sections)
(bfd *abfd, struct bfd_link_info *info);
# 568 "../../binutils-2.13.1/bfd/elf-bfd.h"
boolean (*check_relocs)
(bfd *abfd, struct bfd_link_info *info, asection *o, const Elf_Intern=
al_Rela *relocs);
# 584 "../../binutils-2.13.1/bfd/elf-bfd.h"
boolean (*elf_backend_adjust_dynamic_symbol)
(struct bfd_link_info *info, struct elf_link_hash_entry *h);
boolean (*elf_backend_always_size_sections)
(bfd *output_bfd, struct bfd_link_info *info);
# 604 "../../binutils-2.13.1/bfd/elf-bfd.h"
boolean (*elf_backend_size_dynamic_sections)
(bfd *output_bfd, struct bfd_link_info *info);
# 635 "../../binutils-2.13.1/bfd/elf-bfd.h"
boolean (*elf_backend_relocate_section)
(bfd *output_bfd, struct bfd_link_info *info, bfd *input_bfd, asectio=
n *input_section, bfd_byte *contents, Elf_Internal_Rela *relocs, Elf_Inte=
rnal_Sym *local_syms, asection **local_sections);
# 648 "../../binutils-2.13.1/bfd/elf-bfd.h"
boolean (*elf_backend_finish_dynamic_symbol)
(bfd *output_bfd, struct bfd_link_info *info, struct elf_link_hash_en=
try *h, Elf_Internal_Sym *sym);
boolean (*elf_backend_finish_dynamic_sections)
(bfd *output_bfd, struct bfd_link_info *info);
void (*elf_backend_begin_write_processing)
(bfd *, struct bfd_link_info *);
void (*elf_backend_final_write_processing)
(bfd *, boolean linker);
int (*elf_backend_additional_program_headers)
(bfd *);
boolean (*elf_backend_modify_segment_map)
(bfd *);
asection * (*gc_mark_hook)
(asection *sec, struct bfd_link_info *, Elf_Internal_Rela *, struct e=
lf_link_hash_entry *h, Elf_Internal_Sym *);
boolean (*gc_sweep_hook)
(bfd *abfd, struct bfd_link_info *info, asection *o, const Elf_Intern=
al_Rela *relocs);
void (*elf_backend_post_process_headers)
(bfd *, struct bfd_link_info *);
const char *(*elf_backend_print_symbol_all)
(bfd *, void *, asymbol *);
boolean (*elf_backend_output_arch_syms)
(bfd *, struct bfd_link_info *, void *, boolean (*) (void *, const ch=
ar *, Elf_Internal_Sym *, asection *));
void (*elf_backend_copy_indirect_symbol)
(struct elf_backend_data *, struct elf_link_hash_entry *, struct elf_=
link_hash_entry *);
void (*elf_backend_hide_symbol)
(struct bfd_link_info *, struct elf_link_hash_entry *, boolean);
boolean (*elf_backend_emit_relocs)
(bfd *, asection *, Elf_Internal_Shdr *, Elf_Internal_Rela *);
unsigned int (*elf_backend_count_relocs)
(asection *, Elf_Internal_Rela *);
boolean (*elf_backend_grok_prstatus)
(bfd *, Elf_Internal_Note *);
boolean (*elf_backend_grok_psinfo)
(bfd *, Elf_Internal_Note *);
void (* elf_backend_sprintf_vma)
(bfd *, char *, bfd_vma);
void (* elf_backend_fprintf_vma)
(bfd *, void *, bfd_vma);
enum elf_reloc_type_class (*elf_backend_reloc_type_class)
(const Elf_Internal_Rela *);
boolean (*elf_backend_discard_info)
(bfd *, struct elf_reloc_cookie *, struct bfd_link_info *);
boolean (*elf_backend_ignore_discarded_relocs)
(asection *);
boolean (*elf_backend_write_section)
(bfd *, asection *, bfd_byte *);
irix_compat_t (*elf_backend_mips_irix_compat)
(bfd *);
reloc_howto_type *(*elf_backend_mips_rtype_to_howto)
(unsigned int, boolean);
const struct ecoff_debug_swap *elf_backend_ecoff_debug_swap;
int elf_machine_alt1;
int elf_machine_alt2;
const struct elf_size_info *s;
bfd_vma got_symbol_offset;
bfd_vma got_header_size;
bfd_vma plt_header_size;
unsigned collect : 1;
unsigned type_change_ok : 1;
unsigned may_use_rel_p : 1;
unsigned may_use_rela_p : 1;
unsigned default_use_rela_p : 1;
unsigned rela_normal : 1;
unsigned sign_extend_vma : 1;
unsigned want_got_plt : 1;
unsigned plt_readonly : 1;
unsigned want_plt_sym : 1;
unsigned plt_not_loaded : 1;
unsigned plt_alignment : 4;
unsigned can_gc_sections : 1;
unsigned can_refcount : 1;
unsigned want_got_sym : 1;
unsigned want_dynbss : 1;
unsigned want_p_paddr_set_to_zero : 1;
};
struct bfd_elf_section_data
{
Elf_Internal_Shdr this_hdr;
Elf_Internal_Shdr rel_hdr;
Elf_Internal_Shdr *rel_hdr2;
unsigned int rel_count;
unsigned int rel_count2;
void * local_dynrel;
asection *sreloc;
int this_idx;
int rel_idx;
int rel_idx2;
struct elf_link_hash_entry **rel_hashes;
Elf_Internal_Rela *relocs;
long dynindx;
void * sec_info;
enum elf_link_info_type sec_info_type;
union {
const char *name;
struct symbol_cache_entry *id;
} group;
asection *next_in_group;
void * tdata;
unsigned int use_rela_p:1;
unsigned int linkonce_p:1;
};
# 954 "../../binutils-2.13.1/bfd/elf-bfd.h"
typedef enum elf_linker_section_enum
{
LINKER_SECTION_UNKNOWN,
LINKER_SECTION_GOT,
LINKER_SECTION_PLT,
LINKER_SECTION_SDATA,
LINKER_SECTION_SDATA2,
LINKER_SECTION_MAX
} elf_linker_section_enum_t;
typedef struct elf_linker_section
{
char *name;
char *rel_name;
char *bss_name;
char *sym_name;
asection *section;
asection *bss_section;
asection *rel_section;
struct elf_link_hash_entry *sym_hash;
bfd_vma initial_size;
bfd_vma sym_offset;
bfd_vma hole_size;
bfd_vma hole_offset;
bfd_vma max_hole_offset;
elf_linker_section_enum_t which;
boolean hole_written_p;
unsigned int alignment;
flagword flags;
} elf_linker_section_t;
typedef struct elf_linker_section_pointers
{
struct elf_linker_section_pointers *next;
bfd_vma offset;
bfd_vma addend;
elf_linker_section_enum_t which;
boolean written_address_p;
} elf_linker_section_pointers_t;
struct elf_obj_tdata
{
Elf_Internal_Ehdr elf_header[1];
Elf_Internal_Shdr **elf_sect_ptr;
Elf_Internal_Phdr *phdr;
struct elf_segment_map *segment_map;
struct elf_strtab_hash *strtab_ptr;
int num_locals;
int num_globals;
unsigned int num_elf_sections;
int num_section_syms;
asymbol **section_syms;
Elf_Internal_Shdr symtab_hdr;
Elf_Internal_Shdr shstrtab_hdr;
Elf_Internal_Shdr strtab_hdr;
Elf_Internal_Shdr dynsymtab_hdr;
Elf_Internal_Shdr dynstrtab_hdr;
Elf_Internal_Shdr dynversym_hdr;
Elf_Internal_Shdr dynverref_hdr;
Elf_Internal_Shdr dynverdef_hdr;
Elf_Internal_Shdr symtab_shndx_hdr;
unsigned int symtab_section, shstrtab_section;
unsigned int strtab_section, dynsymtab_section;
unsigned int symtab_shndx_section;
unsigned int dynversym_section, dynverdef_section, dynverref_section;
file_ptr next_file_pos;
bfd_vma gp;
unsigned int gp_size;
Elf_Internal_Shdr **group_sect_ptr;
int num_group;
int core_signal;
int core_pid;
int core_lwpid;
char* core_program;
char* core_command;
boolean linker;
struct elf_link_hash_entry **sym_hashes;
# 1063 "../../binutils-2.13.1/bfd/elf-bfd.h"
union
{
bfd_signed_vma *refcounts;
bfd_vma *offsets;
} local_got;
elf_linker_section_pointers_t **linker_section_pointers;
# 1081 "../../binutils-2.13.1/bfd/elf-bfd.h"
const char *dt_name;
const char *dt_soname;
boolean bad_symtab;
bfd_size_type program_header_size;
void * line_info;
struct mips_elf_find_line *find_line_info;
struct dwarf1_debug *dwarf1_find_line_info;
void * dwarf2_find_line_info;
asection **local_stubs;
boolean flags_init;
boolean eh_frame_hdr;
unsigned int cverdefs;
unsigned int cverrefs;
Elf_Internal_Verdef *verdef;
Elf_Internal_Verneed *verref;
struct elf_linker_section *linker_section[ (int)LINKER_SECTION_MAX ];
asymbol *elf_data_symbol;
asymbol *elf_text_symbol;
asection *elf_data_section;
asection *elf_text_section;
};
# 1180 "../../binutils-2.13.1/bfd/elf-bfd.h"
extern void _bfd_elf_swap_verdef_in
(bfd *, const Elf_External_Verdef *, Elf_Internal_Verdef *);
extern void _bfd_elf_swap_verdef_out
(bfd *, const Elf_Internal_Verdef *, Elf_External_Verdef *);
extern void _bfd_elf_swap_verdaux_in
(bfd *, const Elf_External_Verdaux *, Elf_Internal_Verdaux *);
extern void _bfd_elf_swap_verdaux_out
(bfd *, const Elf_Internal_Verdaux *, Elf_External_Verdaux *);
extern void _bfd_elf_swap_verneed_in
(bfd *, const Elf_External_Verneed *, Elf_Internal_Verneed *);
extern void _bfd_elf_swap_verneed_out
(bfd *, const Elf_Internal_Verneed *, Elf_External_Verneed *);
extern void _bfd_elf_swap_vernaux_in
(bfd *, const Elf_External_Vernaux *, Elf_Internal_Vernaux *);
extern void _bfd_elf_swap_vernaux_out
(bfd *, const Elf_Internal_Vernaux *, Elf_External_Vernaux *);
extern void _bfd_elf_swap_versym_in
(bfd *, const Elf_External_Versym *, Elf_Internal_Versym *);
extern void _bfd_elf_swap_versym_out
(bfd *, const Elf_Internal_Versym *, Elf_External_Versym *);
extern int _bfd_elf_section_from_bfd_section
(bfd *, asection *);
extern char *bfd_elf_string_from_elf_section
(bfd *, unsigned, unsigned);
extern char *bfd_elf_get_str_section
(bfd *, unsigned);
extern Elf_Internal_Sym *bfd_elf_get_elf_syms
(bfd *, Elf_Internal_Shdr *, size_t, size_t, Elf_Internal_Sym *, void *=
, Elf_External_Sym_Shndx *);
extern boolean _bfd_elf_copy_private_bfd_data
(bfd *, bfd *);
extern boolean _bfd_elf_print_private_bfd_data
(bfd *, void *);
extern void bfd_elf_print_symbol
(bfd *, void *, asymbol *, bfd_print_symbol_type);
# 1225 "../../binutils-2.13.1/bfd/elf-bfd.h"
extern void _bfd_elf_sprintf_vma
(bfd *, char *, bfd_vma);
extern void _bfd_elf_fprintf_vma
(bfd *, void *, bfd_vma);
extern enum elf_reloc_type_class _bfd_elf_reloc_type_class
(const Elf_Internal_Rela *);
extern bfd_vma _bfd_elf_rela_local_sym
(bfd *, Elf_Internal_Sym *, asection *, Elf_Internal_Rela *);
extern bfd_vma _bfd_elf_rel_local_sym
(bfd *, Elf_Internal_Sym *, asection **, bfd_vma);
extern bfd_vma _bfd_elf_section_offset
(bfd *, struct bfd_link_info *, asection *, bfd_vma);
extern unsigned long bfd_elf_hash
(const char *);
extern bfd_reloc_status_type bfd_elf_generic_reloc
(bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
extern boolean bfd_elf_mkobject
(bfd *);
extern boolean bfd_elf_mkcorefile
(bfd *);
extern Elf_Internal_Shdr *bfd_elf_find_section
(bfd *, char *);
extern boolean _bfd_elf_make_section_from_shdr
(bfd *, Elf_Internal_Shdr *, const char *);
extern boolean _bfd_elf_make_section_from_phdr
(bfd *, Elf_Internal_Phdr *, int, const char *);
extern struct bfd_hash_entry *_bfd_elf_link_hash_newfunc
(struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
extern struct bfd_link_hash_table *_bfd_elf_link_hash_table_create
(bfd *);
extern void _bfd_elf_link_hash_copy_indirect
(struct elf_backend_data *, struct elf_link_hash_entry *, struct elf_li=
nk_hash_entry *);
extern void _bfd_elf_link_hash_hide_symbol
(struct bfd_link_info *, struct elf_link_hash_entry *, boolean);
extern boolean _bfd_elf_link_hash_table_init
(struct elf_link_hash_table *, bfd *, struct bfd_hash_entry *(*) (struc=
t bfd_hash_entry *, struct bfd_hash_table *, const char *));
extern boolean _bfd_elf_slurp_version_tables
(bfd *);
extern boolean _bfd_elf_merge_sections
(bfd *, struct bfd_link_info *);
extern boolean bfd_elf_discard_group
(bfd *, struct sec *);
extern void bfd_elf_set_group_contents
(bfd *, asection *, void *);
extern void _bfd_elf_link_just_syms
(asection *, struct bfd_link_info *);
extern boolean _bfd_elf_copy_private_symbol_data
(bfd *, asymbol *, bfd *, asymbol *);
extern boolean _bfd_elf_copy_private_section_data
(bfd *, asection *, bfd *, asection *);
extern boolean _bfd_elf_write_object_contents
(bfd *);
extern boolean _bfd_elf_write_corefile_contents
(bfd *);
extern boolean _bfd_elf_set_section_contents
(bfd *, sec_ptr, void *, file_ptr, bfd_size_type);
extern long _bfd_elf_get_symtab_upper_bound
(bfd *);
extern long _bfd_elf_get_symtab
(bfd *, asymbol **);
extern long _bfd_elf_get_dynamic_symtab_upper_bound
(bfd *);
extern long _bfd_elf_canonicalize_dynamic_symtab
(bfd *, asymbol **);
extern long _bfd_elf_get_reloc_upper_bound
(bfd *, sec_ptr);
extern long _bfd_elf_canonicalize_reloc
(bfd *, sec_ptr, arelent **, asymbol **);
extern long _bfd_elf_get_dynamic_reloc_upper_bound
(bfd *);
extern long _bfd_elf_canonicalize_dynamic_reloc
(bfd *, arelent **, asymbol **);
extern asymbol *_bfd_elf_make_empty_symbol
(bfd *);
extern void _bfd_elf_get_symbol_info
(bfd *, asymbol *, symbol_info *);
extern boolean _bfd_elf_is_local_label_name
(bfd *, const char *);
extern alent *_bfd_elf_get_lineno
(bfd *, asymbol *);
extern boolean _bfd_elf_set_arch_mach
(bfd *, enum bfd_architecture, unsigned long);
extern boolean _bfd_elf_find_nearest_line
(bfd *, asection *, asymbol **, bfd_vma, const char **, const char **, =
unsigned int *);
extern int _bfd_elf_sizeof_headers
(bfd *, boolean);
extern boolean _bfd_elf_new_section_hook
(bfd *, asection *);
extern boolean _bfd_elf_init_reloc_shdr
(bfd *, Elf_Internal_Shdr *, asection *, boolean);
extern void _bfd_elf_no_info_to_howto
(bfd *, arelent *, Elf_Internal_Rela *);
extern boolean bfd_section_from_shdr
(bfd *, unsigned int shindex);
extern boolean bfd_section_from_phdr
(bfd *, Elf_Internal_Phdr *, int);
extern int _bfd_elf_symbol_from_bfd_symbol
(bfd *, asymbol **);
extern asection *bfd_section_from_r_symndx
(bfd *, struct sym_sec_cache *, asection *, unsigned long);
extern asection *bfd_section_from_elf_index
(bfd *, unsigned int);
extern boolean _bfd_elf_create_dynamic_sections
(bfd *, struct bfd_link_info *);
extern struct bfd_strtab_hash *_bfd_elf_stringtab_init
(void);
extern struct elf_strtab_hash * _bfd_elf_strtab_init
(void);
extern void _bfd_elf_strtab_free
(struct elf_strtab_hash *);
extern bfd_size_type _bfd_elf_strtab_add
(struct elf_strtab_hash *, const char *, boolean);
extern void _bfd_elf_strtab_addref
(struct elf_strtab_hash *, bfd_size_type);
extern void _bfd_elf_strtab_delref
(struct elf_strtab_hash *, bfd_size_type);
extern void _bfd_elf_strtab_clear_all_refs
(struct elf_strtab_hash *);
extern bfd_size_type _bfd_elf_strtab_size
(struct elf_strtab_hash *);
extern bfd_size_type _bfd_elf_strtab_offset
(struct elf_strtab_hash *, bfd_size_type);
extern boolean _bfd_elf_strtab_emit
(bfd *, struct elf_strtab_hash *);
extern void _bfd_elf_strtab_finalize
(struct elf_strtab_hash *);
extern boolean _bfd_elf_discard_section_eh_frame
(bfd *, struct bfd_link_info *, asection *, asection *, boolean (*) (bf=
d_vma, void *), struct elf_reloc_cookie *);
extern boolean _bfd_elf_discard_section_eh_frame_hdr
(bfd *, struct bfd_link_info *, asection *);
extern bfd_vma _bfd_elf_eh_frame_section_offset
(bfd *, asection *, bfd_vma);
extern boolean _bfd_elf_write_section_eh_frame
(bfd *, asection *, asection *, bfd_byte *);
extern boolean _bfd_elf_write_section_eh_frame_hdr
(bfd *, asection *);
extern boolean _bfd_elf_maybe_strip_eh_frame_hdr
(struct bfd_link_info *);
extern boolean _bfd_elf_link_record_dynamic_symbol
(struct bfd_link_info *, struct elf_link_hash_entry *);
extern long _bfd_elf_link_lookup_local_dynindx
(struct bfd_link_info *, bfd *, long);
extern boolean _bfd_elf_compute_section_file_positions
(bfd *, struct bfd_link_info *);
extern void _bfd_elf_assign_file_positions_for_relocs
(bfd *);
extern file_ptr _bfd_elf_assign_file_position_for_section
(Elf_Internal_Shdr *, file_ptr, boolean);
extern boolean _bfd_elf_validate_reloc
(bfd *, arelent *);
extern boolean _bfd_elf_create_dynamic_sections
(bfd *, struct bfd_link_info *);
extern boolean _bfd_elf_create_got_section
(bfd *, struct bfd_link_info *);
extern unsigned long _bfd_elf_link_renumber_dynsyms
(bfd *, struct bfd_link_info *);
extern boolean _bfd_elfcore_make_pseudosection
(bfd *, char *, size_t, ufile_ptr);
extern char *_bfd_elfcore_strndup
(bfd *, char *, size_t);
extern elf_linker_section_t *_bfd_elf_create_linker_section
(bfd *, struct bfd_link_info *, enum elf_linker_section_enum, elf_linke=
r_section_t *);
extern elf_linker_section_pointers_t *_bfd_elf_find_pointer_linker_sectio=
n
(elf_linker_section_pointers_t *, bfd_vma, elf_linker_section_enum_t);
extern boolean bfd_elf32_create_pointer_linker_section
(bfd *, struct bfd_link_info *, elf_linker_section_t *, struct elf_link=
_hash_entry *, const Elf_Internal_Rela *);
extern bfd_vma bfd_elf32_finish_pointer_linker_section
(bfd *, bfd *, struct bfd_link_info *, elf_linker_section_t *, struct e=
lf_link_hash_entry *, bfd_vma, const Elf_Internal_Rela *, int);
extern boolean bfd_elf64_create_pointer_linker_section
(bfd *, struct bfd_link_info *, elf_linker_section_t *, struct elf_link=
_hash_entry *, const Elf_Internal_Rela *);
extern bfd_vma bfd_elf64_finish_pointer_linker_section
(bfd *, bfd *, struct bfd_link_info *, elf_linker_section_t *, struct e=
lf_link_hash_entry *, bfd_vma, const Elf_Internal_Rela *, int);
extern boolean _bfd_elf_make_linker_section_rela
(bfd *, elf_linker_section_t *, int);
extern const bfd_target *bfd_elf32_object_p
(bfd *);
extern const bfd_target *bfd_elf32_core_file_p
(bfd *);
extern char *bfd_elf32_core_file_failing_command
(bfd *);
extern int bfd_elf32_core_file_failing_signal
(bfd *);
extern boolean bfd_elf32_core_file_matches_executable_p
(bfd *, bfd *);
extern boolean bfd_elf32_bfd_link_add_symbols
(bfd *, struct bfd_link_info *);
extern boolean bfd_elf32_bfd_final_link
(bfd *, struct bfd_link_info *);
extern void bfd_elf32_swap_symbol_in
(bfd *, const void *, const void *, Elf_Internal_Sym *);
extern void bfd_elf32_swap_symbol_out
(bfd *, const Elf_Internal_Sym *, void *, void *);
extern void bfd_elf32_swap_reloc_in
(bfd *, const Elf32_External_Rel *, Elf_Internal_Rel *);
extern void bfd_elf32_swap_reloc_out
(bfd *, const Elf_Internal_Rel *, Elf32_External_Rel *);
extern void bfd_elf32_swap_reloca_in
(bfd *, const Elf32_External_Rela *, Elf_Internal_Rela *);
extern void bfd_elf32_swap_reloca_out
(bfd *, const Elf_Internal_Rela *, Elf32_External_Rela *);
extern void bfd_elf32_swap_phdr_in
(bfd *, const Elf32_External_Phdr *, Elf_Internal_Phdr *);
extern void bfd_elf32_swap_phdr_out
(bfd *, const Elf_Internal_Phdr *, Elf32_External_Phdr *);
extern void bfd_elf32_swap_dyn_in
(bfd *, const void *, Elf_Internal_Dyn *);
extern void bfd_elf32_swap_dyn_out
(bfd *, const Elf_Internal_Dyn *, void *);
extern long bfd_elf32_slurp_symbol_table
(bfd *, asymbol **, boolean);
extern boolean bfd_elf32_write_shdrs_and_ehdr
(bfd *);
extern int bfd_elf32_write_out_phdrs
(bfd *, const Elf_Internal_Phdr *, unsigned int);
extern void bfd_elf32_write_relocs
(bfd *, asection *, void *);
extern boolean bfd_elf32_slurp_reloc_table
(bfd *, asection *, asymbol **, boolean);
extern boolean bfd_elf32_add_dynamic_entry
(struct bfd_link_info *, bfd_vma, bfd_vma);
extern boolean bfd_elf32_link_create_dynamic_sections
(bfd *, struct bfd_link_info *);
extern Elf_Internal_Rela *_bfd_elf32_link_read_relocs
(bfd *, asection *, void *, Elf_Internal_Rela *, boolean);
extern const bfd_target *bfd_elf64_object_p
(bfd *);
extern const bfd_target *bfd_elf64_core_file_p
(bfd *);
extern char *bfd_elf64_core_file_failing_command
(bfd *);
extern int bfd_elf64_core_file_failing_signal
(bfd *);
extern boolean bfd_elf64_core_file_matches_executable_p
(bfd *, bfd *);
extern boolean bfd_elf64_bfd_link_add_symbols
(bfd *, struct bfd_link_info *);
extern boolean bfd_elf64_bfd_final_link
(bfd *, struct bfd_link_info *);
extern void bfd_elf64_swap_symbol_in
(bfd *, const void *, const void *, Elf_Internal_Sym *);
extern void bfd_elf64_swap_symbol_out
(bfd *, const Elf_Internal_Sym *, void *, void *);
extern void bfd_elf64_swap_reloc_in
(bfd *, const Elf64_External_Rel *, Elf_Internal_Rel *);
extern void bfd_elf64_swap_reloc_out
(bfd *, const Elf_Internal_Rel *, Elf64_External_Rel *);
extern void bfd_elf64_swap_reloca_in
(bfd *, const Elf64_External_Rela *, Elf_Internal_Rela *);
extern void bfd_elf64_swap_reloca_out
(bfd *, const Elf_Internal_Rela *, Elf64_External_Rela *);
extern void bfd_elf64_swap_phdr_in
(bfd *, const Elf64_External_Phdr *, Elf_Internal_Phdr *);
extern void bfd_elf64_swap_phdr_out
(bfd *, const Elf_Internal_Phdr *, Elf64_External_Phdr *);
extern void bfd_elf64_swap_dyn_in
(bfd *, const void *, Elf_Internal_Dyn *);
extern void bfd_elf64_swap_dyn_out
(bfd *, const Elf_Internal_Dyn *, void *);
extern long bfd_elf64_slurp_symbol_table
(bfd *, asymbol **, boolean);
extern boolean bfd_elf64_write_shdrs_and_ehdr
(bfd *);
extern int bfd_elf64_write_out_phdrs
(bfd *, const Elf_Internal_Phdr *, unsigned int);
extern void bfd_elf64_write_relocs
(bfd *, asection *, void *);
extern boolean bfd_elf64_slurp_reloc_table
(bfd *, asection *, asymbol **, boolean);
extern boolean bfd_elf64_add_dynamic_entry
(struct bfd_link_info *, bfd_vma, bfd_vma);
extern boolean bfd_elf64_link_create_dynamic_sections
(bfd *, struct bfd_link_info *);
extern Elf_Internal_Rela *_bfd_elf64_link_read_relocs
(bfd *, asection *, void *, Elf_Internal_Rela *, boolean);
extern int elf_link_record_local_dynamic_symbol
(struct bfd_link_info *, bfd *, long);
extern boolean _bfd_elf_close_and_cleanup
(bfd *);
extern bfd_reloc_status_type _bfd_elf_rel_vtable_reloc_fn
(bfd *, arelent *, struct symbol_cache_entry *, void *, asection *, bfd=
*, char **);
extern boolean _bfd_elf32_gc_sections
(bfd *, struct bfd_link_info *);
extern boolean _bfd_elf32_gc_common_finalize_got_offsets
(bfd *, struct bfd_link_info *);
extern boolean _bfd_elf32_gc_common_final_link
(bfd *, struct bfd_link_info *);
extern boolean _bfd_elf32_gc_record_vtinherit
(bfd *, asection *, struct elf_link_hash_entry *, bfd_vma);
extern boolean _bfd_elf32_gc_record_vtentry
(bfd *, asection *, struct elf_link_hash_entry *, bfd_vma);
extern boolean _bfd_elf64_gc_sections
(bfd *, struct bfd_link_info *);
extern boolean _bfd_elf64_gc_common_finalize_got_offsets
(bfd *, struct bfd_link_info *);
extern boolean _bfd_elf64_gc_common_final_link
(bfd *, struct bfd_link_info *);
extern boolean _bfd_elf64_gc_record_vtinherit
(bfd *, asection *, struct elf_link_hash_entry *, bfd_vma);
extern boolean _bfd_elf64_gc_record_vtentry
(bfd *, asection *, struct elf_link_hash_entry *, bfd_vma);
extern boolean _bfd_elf32_reloc_symbol_deleted_p
(bfd_vma, void *);
extern boolean _bfd_elf64_reloc_symbol_deleted_p
(bfd_vma, void *);
extern char *elfcore_write_note
(bfd *, char *, int *, const char *, int, const void *, int);
extern char *elfcore_write_prpsinfo
(bfd *, char *, int *, const char *, const char *);
extern char *elfcore_write_prstatus
(bfd *, char *, int *, long, int, const void *);
extern char * elfcore_write_pstatus
(bfd *, char *, int *, long, int, const void *);
extern char *elfcore_write_prfpreg
(bfd *, char *, int *, const void *, int);
extern char *elfcore_write_prxfpreg
(bfd *, char *, int *, const void *, int);
extern char *elfcore_write_lwpstatus
(bfd *, char *, int *, long, int, const void *);
extern boolean _sh_elf_set_mach_from_flags
(bfd *);
# 41 "../../binutils-2.13.1/gas/config/obj-elf.h" 2
# 1 "targ-cpu.h" 1
# 1 "../../binutils-2.13.1/gas/config/tc-ppc.h" 1
# 26 "../../binutils-2.13.1/gas/config/tc-ppc.h"
struct fix;
# 51 "../../binutils-2.13.1/gas/config/tc-ppc.h"
extern enum bfd_architecture ppc_arch (void);
extern unsigned long ppc_mach (void);
extern int target_big_endian;
extern char *ppc_target_format (void);
# 232 "../../binutils-2.13.1/gas/config/tc-ppc.h"
extern int ppc_section_letter (int, char **);
extern int ppc_section_type (char *, size_t);
extern int ppc_section_word (char *, size_t);
extern int ppc_section_flags (int, int, int);
# 258 "../../binutils-2.13.1/gas/config/tc-ppc.h"
extern const char *ppc_comment_chars;
extern int ppc_fix_adjustable (struct fix *);
# 275 "../../binutils-2.13.1/gas/config/tc-ppc.h"
extern void ppc_frob_file_before_adjust (void);
extern long md_pcrel_from_section (struct fix *, segT);
extern int ppc_parse_name (const char *, struct expressionS *);
# 2 "targ-cpu.h" 2
# 43 "../../binutils-2.13.1/gas/config/obj-elf.h" 2
# 62 "../../binutils-2.13.1/gas/config/obj-elf.h"
struct elf_obj_sy
{
int local;
expressionS *size;
char *versioned_name;
# 81 "../../binutils-2.13.1/gas/config/obj-elf.h"
};
# 103 "../../binutils-2.13.1/gas/config/obj-elf.h"
extern void elf_begin (void);
# 126 "../../binutils-2.13.1/gas/config/obj-elf.h"
int elf_s_get_other (symbolS *);
# 135 "../../binutils-2.13.1/gas/config/obj-elf.h"
extern asection *gdb_section;
extern void elf_frob_file (void);
extern void elf_frob_file_before_adjust (void);
extern void elf_frob_file_after_relocs (void);
extern void elf_file_symbol (const char *);
extern void obj_elf_section_change_hook (void);
extern void obj_elf_section (int);
extern void obj_elf_previous (int);
extern void obj_elf_version (int);
extern void obj_elf_common (int);
extern void obj_elf_data (int);
extern void obj_elf_text (int);
extern struct fix *obj_elf_vtable_inherit (int);
extern struct fix *obj_elf_vtable_entry (int);
void elf_obj_read_begin_hook (void);
void elf_obj_symbol_new_hook (symbolS *);
void elf_copy_symbol_attributes (symbolS *, symbolS *);
# 201 "../../binutils-2.13.1/gas/config/obj-elf.h"
extern void obj_elf_init_stab_section (segT);
# 223 "../../binutils-2.13.1/gas/config/obj-elf.h"
extern void elf_frob_symbol (symbolS *, int *);
extern void elf_pop_insert (void);
struct ecoff_extr;
extern void elf_ecoff_set_ext (symbolS *, struct ecoff_extr *);
# 2 "obj-format.h" 2
# 20 "../../binutils-2.13.1/gas/config/te-generic.h" 2
# 2 "targ-env.h" 2
# 615 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/gas/write.h" 1
# 45 "../../binutils-2.13.1/gas/write.h"
# 1 "../../binutils-2.13.1/gas/bit_fix.h" 1
# 36 "../../binutils-2.13.1/gas/bit_fix.h"
struct bit_fix {
int fx_bit_size;
int fx_bit_offset;
long fx_bit_base;
long fx_bit_base_adj;
long fx_bit_max;
long fx_bit_min;
long fx_bit_add;
};
typedef struct bit_fix bit_fixS;
# 46 "../../binutils-2.13.1/gas/write.h" 2
struct fix
{
char fx_pcrel_adjust;
unsigned char fx_size;
unsigned fx_pcrel : 1;
unsigned fx_plt : 1;
unsigned fx_im_disp : 2;
unsigned fx_tcbit : 1;
unsigned fx_done : 1;
unsigned fx_no_overflow : 1;
unsigned fx_signed : 1;
fragS *fx_frag;
long fx_where;
symbolS *fx_addsy;
symbolS *fx_subsy;
valueT fx_offset;
struct fix *fx_next;
bit_fixS *fx_bit_fixP;
bfd_reloc_code_real_type fx_r_type;
# 135 "../../binutils-2.13.1/gas/write.h"
valueT fx_addnumber;
char *fx_file;
unsigned fx_line;
# 156 "../../binutils-2.13.1/gas/write.h"
};
typedef struct fix fixS;
extern int finalize_syms;
# 175 "../../binutils-2.13.1/gas/write.h"
extern long string_byte_count;
extern int section_alignment[];
extern bit_fixS *bit_fix_new
(int size, int offset, long base_type, long base_adj, long min, long ma=
x, long add);
extern void append (char **charPP, char *fromP, unsigned long length);
extern void record_alignment (segT seg, int align);
extern int get_recorded_alignment (segT seg);
extern void subsegs_finish (void);
extern void write_object_file (void);
extern long relax_frag (segT, fragS *, long);
extern int relax_segment
(struct frag * seg_frag_root, segT seg_type);
extern void number_to_chars_littleendian (char *, valueT, int);
extern void number_to_chars_bigendian (char *, valueT, int);
extern fixS *fix_new
(fragS * frag, int where, int size, symbolS * add_symbol, offsetT offse=
t, int pcrel, bfd_reloc_code_real_type r_type);
extern fixS *fix_new_exp
(fragS * frag, int where, int size, expressionS *exp, int pcrel, bfd_re=
loc_code_real_type r_type);
# 209 "../../binutils-2.13.1/gas/write.h"
extern void write_print_statistics (FILE *);
# 621 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/gas/frags.h" 1
# 26 "../../binutils-2.13.1/gas/frags.h"
struct obstack;
# 43 "../../binutils-2.13.1/gas/frags.h"
struct frag {
addressT fr_address;
addressT last_fr_address;
offsetT fr_fix;
offsetT fr_var;
offsetT fr_offset;
symbolS *fr_symbol;
char *fr_opcode;
struct frag *fr_next;
char *fr_file;
unsigned int fr_line;
struct list_info_struct *line;
unsigned int relax_marker:1;
relax_stateT fr_type;
relax_substateT fr_subtype;
# 98 "../../binutils-2.13.1/gas/frags.h"
char fr_literal[1];
};
# 108 "../../binutils-2.13.1/gas/frags.h"
extern fragS *frag_now;
extern addressT frag_now_fix (void);
extern addressT frag_now_fix_octets (void);
extern fragS zero_address_frag;
extern fragS bss_address_frag;
# 130 "../../binutils-2.13.1/gas/frags.h"
extern void frag_append_1_char (int);
void frag_init (void);
fragS *frag_alloc (struct obstack *);
void frag_grow (unsigned int nchars);
char *frag_more (int nchars);
void frag_align (int alignment, int fill_character, int max);
void frag_align_pattern (int alignment, const char *fill_pattern, int n_f=
ill, int max);
void frag_align_code (int alignment, int max);
void frag_new (int old_frags_var_max_size);
void frag_wane (fragS * fragP);
char *frag_variant (relax_stateT type, int max_chars, int var, relax_subs=
tateT subtype, symbolS * symbol, offsetT offset, char *opcode);
char *frag_var (relax_stateT type, int max_chars, int var, relax_substate=
T subtype, symbolS * symbol, offsetT offset, char *opcode);
# 622 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/gas/hash.h" 1
# 24 "../../binutils-2.13.1/gas/hash.h"
struct hash_control;
extern struct hash_control *hash_new (void);
extern void hash_die (struct hash_control *);
extern const char *hash_insert (struct hash_control *, const char *key, v=
oid * value);
extern const char *hash_jam (struct hash_control *, const char *key, void=
* value);
extern void * hash_replace (struct hash_control *, const char *key, void =
* value);
extern void * hash_find (struct hash_control *, const char *key);
extern void * hash_delete (struct hash_control *, const char *key);
extern void hash_traverse (struct hash_control *, void (*pfn) (const char=
*key, void * value));
extern void hash_print_statistics (FILE *, const char *name, struct hash_=
control *);
# 623 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/gas/read.h" 1
# 23 "../../binutils-2.13.1/gas/read.h"
extern char *input_line_pointer;
# 58 "../../binutils-2.13.1/gas/read.h"
extern char lex_type[];
extern char is_end_of_line[];
extern int is_it_end_of_statement (void);
extern int target_big_endian;
extern const char comment_chars[];
extern const char line_comment_chars[];
extern const char line_separator_chars[];
extern char **include_dirs;
extern int include_dir_count;
extern int include_dir_maxlen;
extern addressT abs_section_offset;
extern symbolS *line_label;
extern symbolS *mri_common_symbol;
extern int outputting_stabs_line_debug;
enum linkonce_type {
LINKONCE_UNSET =3D 0,
LINKONCE_DISCARD,
LINKONCE_ONE_ONLY,
LINKONCE_SAME_SIZE,
LINKONCE_SAME_CONTENTS
};
extern char original_case_string[];
extern void pop_insert (const pseudo_typeS *);
extern unsigned int get_stab_string_offset
(const char *string, const char *stabstr_secname);
extern void aout_process_stab (int, const char *, int, int, int);
extern char *demand_copy_C_string (int *len_pointer);
extern char get_absolute_expression_and_terminator
(long *val_pointer);
extern offsetT get_absolute_expression (void);
extern unsigned int next_char_of_string (void);
extern void s_mri_sect (char *);
extern char *mri_comment_field (char *);
extern void mri_comment_end (char *, int);
extern void add_include_dir (char *path);
extern void cons (int nbytes);
extern void demand_empty_rest_of_line (void);
extern void emit_expr (expressionS *exp, unsigned int nbytes);
extern void emit_leb128_expr (expressionS *, int);
extern void equals (char *sym_name, int reassign);
extern void float_cons (int float_type);
extern void ignore_rest_of_line (void);
extern void discard_rest_of_line (void);
extern int output_leb128 (char *, valueT, int sign);
extern void pseudo_set (symbolS * symbolP);
extern void read_a_source_file (char *name);
extern void read_begin (void);
extern void read_print_statistics (FILE *);
extern int sizeof_leb128 (valueT, int sign);
extern void stabs_generate_asm_file (void);
extern void stabs_generate_asm_lineno (void);
extern void stabs_generate_asm_func (const char *, const char *);
extern void stabs_generate_asm_endfunc (const char *, const char *);
extern void do_repeat (int,const char *,const char *);
extern void end_repeat (int);
extern void generate_lineno_debug (void);
extern void s_abort (int) __attribute__ ((__noreturn__));
extern void s_align_bytes (int arg);
extern void s_align_ptwo (int);
extern void s_app_file_string (char *);
extern void s_app_file (int);
extern void s_app_line (int);
extern void s_bad_endr (int);
extern void s_comm (int);
extern void s_data (int);
extern void s_desc (int);
extern void s_else (int arg);
extern void s_elseif (int arg);
extern void s_end (int arg);
extern void s_endif (int arg);
extern void s_err (int);
extern void s_fail (int);
extern void s_fill (int);
extern void s_float_space (int mult);
extern void s_func (int);
extern void do_s_func (int, const char *);
extern void s_globl (int arg);
extern void s_if (int arg);
extern void s_ifc (int arg);
extern void s_ifdef (int arg);
extern void s_ifeqs (int arg);
extern void s_ignore (int arg);
extern void s_include (int arg);
extern void s_irp (int arg);
extern void s_lcomm (int needs_align);
extern void s_lcomm_bytes (int needs_align);
extern void s_leb128 (int sign);
extern void s_linkonce (int);
extern void s_lsym (int);
extern void s_macro (int);
extern void s_mexit (int);
extern void s_mri (int);
extern void s_mri_common (int);
extern void s_org (int);
extern void s_print (int);
extern void s_purgem (int);
extern void s_rept (int);
extern void s_set (int);
extern void s_space (int mult);
extern void s_stab (int what);
extern void s_struct (int);
extern void s_text (int);
extern void stringer (int append_zero);
extern void s_xstab (int what);
extern void s_rva (int);
extern void s_incbin (int);
# 624 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/gas/symbols.h" 1
# 34 "../../binutils-2.13.1/gas/symbols.h"
extern struct obstack notes;
extern struct obstack cond_obstack;
extern symbolS *symbol_rootP;
extern symbolS *symbol_lastP;
extern symbolS abs_symbol;
extern int symbol_table_frozen;
extern int symbols_case_sensitive;
char *decode_local_label_name (char *s);
symbolS *symbol_find (const char *name);
symbolS *symbol_find_exact (const char *name);
symbolS *symbol_find_base (const char *name, int strip_underscore);
symbolS *symbol_find_or_make (const char *name);
symbolS *symbol_make (const char *name);
symbolS *symbol_new (const char *name, segT segment, valueT value, fragS =
* frag);
symbolS *symbol_create (const char *name, segT segment, valueT value, fra=
gS * frag);
symbolS *colon (const char *sym_name);
void local_colon (int n);
void symbol_begin (void);
void symbol_print_statistics (FILE *);
void symbol_table_insert (symbolS * symbolP);
valueT resolve_symbol_value (symbolS *);
void resolve_local_symbol_values (void);
void print_symbol_value (symbolS *);
void print_expr (expressionS *);
void print_expr_1 (FILE *, expressionS *);
void print_symbol_value_1 (FILE *, symbolS *);
int dollar_label_defined (long l);
void dollar_label_clear (void);
void define_dollar_label (long l);
char *dollar_label_name (long l, int augend);
void fb_label_instance_inc (long label);
char *fb_label_name (long n, long augend);
extern void copy_symbol_attributes (symbolS *, symbolS *);
extern valueT S_GET_VALUE (symbolS *);
extern void S_SET_VALUE (symbolS *, valueT);
extern int S_IS_FUNCTION (symbolS *);
extern int S_IS_EXTERNAL (symbolS *);
extern int S_IS_WEAK (symbolS *);
extern int S_IS_COMMON (symbolS *);
extern int S_IS_DEFINED (symbolS *);
extern int S_IS_DEBUG (symbolS *);
extern int S_IS_LOCAL (symbolS *);
extern int S_IS_EXTERN (symbolS *);
extern int S_IS_STABD (symbolS *);
extern const char *S_GET_NAME (symbolS *);
extern segT S_GET_SEGMENT (symbolS *);
extern void S_SET_SEGMENT (symbolS *, segT);
extern void S_SET_EXTERNAL (symbolS *);
extern void S_SET_NAME (symbolS *, char *);
extern void S_CLEAR_EXTERNAL (symbolS *);
extern void S_SET_WEAK (symbolS *);
# 140 "../../binutils-2.13.1/gas/symbols.h"
extern const segT N_TYPE_seg[];
extern const short seg_N_TYPE[];
void symbol_clear_list_pointers (symbolS * symbolP);
void symbol_insert (symbolS * addme, symbolS * target, symbolS ** rootP, =
symbolS ** lastP);
void symbol_remove (symbolS * symbolP, symbolS ** rootP, symbolS ** lastP=
);
extern symbolS *symbol_previous (symbolS *);
void verify_symbol_chain (symbolS * rootP, symbolS * lastP);
void verify_symbol_chain_2 (symbolS * symP);
void symbol_append (symbolS * addme, symbolS * target, symbolS ** rootP, =
symbolS ** lastP);
extern symbolS *symbol_next (symbolS *);
extern expressionS *symbol_get_value_expression (symbolS *);
extern void symbol_set_value_expression (symbolS *, const expressionS *);
extern void symbol_set_frag (symbolS *, fragS *);
extern fragS *symbol_get_frag (symbolS *);
extern void symbol_mark_used (symbolS *);
extern void symbol_clear_used (symbolS *);
extern int symbol_used_p (symbolS *);
extern void symbol_mark_used_in_reloc (symbolS *);
extern void symbol_clear_used_in_reloc (symbolS *);
extern int symbol_used_in_reloc_p (symbolS *);
extern void symbol_mark_mri_common (symbolS *);
extern void symbol_clear_mri_common (symbolS *);
extern int symbol_mri_common_p (symbolS *);
extern void symbol_mark_written (symbolS *);
extern void symbol_clear_written (symbolS *);
extern int symbol_written_p (symbolS *);
extern void symbol_mark_resolved (symbolS *);
extern int symbol_resolved_p (symbolS *);
extern int symbol_section_p (symbolS *);
extern int symbol_equated_p (symbolS *);
extern int symbol_equated_reloc_p (symbolS *);
extern int symbol_constant_p (symbolS *);
extern asymbol *symbol_get_bfdsym (symbolS *);
extern void symbol_set_bfdsym (symbolS *, asymbol *);
struct elf_obj_sy *symbol_get_obj (symbolS *);
void symbol_set_obj (symbolS *, struct elf_obj_sy *);
# 625 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/gas/tc.h" 1
# 25 "../../binutils-2.13.1/gas/tc.h"
extern const pseudo_typeS md_pseudo_table[];
struct relax_type
{
long rlx_forward;
long rlx_backward;
unsigned char rlx_length;
relax_substateT rlx_more;
};
typedef struct relax_type relax_typeS;
extern const int md_reloc_size;
char *md_atof (int what_statement_type, char *literalP, int *sizeP);
int md_estimate_size_before_relax (fragS * fragP, segT segment);
int md_parse_option (int c, char *arg);
void md_show_usage (FILE *);
long md_pcrel_from (fixS * fixP);
short tc_coff_fix2rtype (fixS * fixP);
void md_assemble (char *str);
void md_begin (void);
void md_create_long_jump (char *ptr, addressT from_addr, addressT to_addr=
, fragS * frag, symbolS * to_symbol);
void md_create_short_jump (char *ptr, addressT from_addr, addressT to_add=
r, fragS * frag, symbolS * to_symbol);
void md_number_to_chars (char *buf, valueT val, int n);
void md_apply_fix3 (fixS *, valueT *, segT);
void md_convert_frag (bfd * headers, segT sec, fragS * fragP);
void tc_headers_hook (segT *, fixS *);
extern arelent *tc_gen_reloc (asection *, fixS *);
# 103 "../../binutils-2.13.1/gas/tc.h"
valueT md_section_align (segT seg, valueT size);
symbolS *md_undefined_symbol (char *name);
# 627 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/gas/obj.h" 1
# 24 "../../binutils-2.13.1/gas/obj.h"
char *obj_default_output_file_name (void);
void obj_emit_relocations (char **where, fixS * fixP, relax_addressT segm=
ent_address_in_file);
void obj_emit_strings (char **where);
void obj_emit_symbols (char **where, symbolS * symbols);
# 44 "../../binutils-2.13.1/gas/obj.h"
void obj_symbol_to_chars (char **where, symbolS * symbolP);
extern const pseudo_typeS obj_pseudo_table[];
struct format_ops {
int flavor;
unsigned dfl_leading_underscore : 1;
unsigned emit_section_symbols : 1;
void (*begin) (void);
void (*app_file) (const char *);
void (*frob_symbol) (symbolS *, int *);
void (*frob_file) (void);
void (*frob_file_before_adjust) (void);
void (*frob_file_after_relocs) (void);
bfd_vma (*s_get_size) (symbolS *);
void (*s_set_size) (symbolS *, bfd_vma);
bfd_vma (*s_get_align) (symbolS *);
void (*s_set_align) (symbolS *, bfd_vma);
int (*s_get_other) (symbolS *);
void (*s_set_other) (symbolS *, int);
int (*s_get_desc) (symbolS *);
void (*s_set_desc) (symbolS *, int);
int (*s_get_type) (symbolS *);
void (*s_set_type) (symbolS *, int);
void (*copy_symbol_attributes) (symbolS *, symbolS *);
void (*generate_asm_lineno) (void);
void (*process_stab) (segT, int, const char *, int, int, int);
int (*separate_stab_sections) (void);
void (*init_stab_section) (segT);
int (*sec_sym_ok_for_reloc) (asection *);
void (*pop_insert) (void);
void (*ecoff_set_ext) (symbolS *, struct ecoff_extr *);
void (*read_begin_hook) (void);
void (*symbol_new_hook) (symbolS *);
};
extern const struct format_ops elf_format_ops;
extern const struct format_ops ecoff_format_ops;
extern const struct format_ops coff_format_ops;
extern const struct format_ops aout_format_ops;
extern const struct format_ops *this_format;
# 628 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/gas/listing.h" 1
# 44 "../../binutils-2.13.1/gas/listing.h"
void listing_eject (int);
void listing_error (const char *message);
void listing_file (const char *name);
void listing_flags (int);
void listing_list (int on);
void listing_newline (char *ps);
void listing_prev_line (void);
void listing_print (char *name);
void listing_psize (int);
void listing_nopage (int);
void listing_source_file (const char *);
void listing_source_line (unsigned int);
void listing_title (int depth);
void listing_warning (const char *message);
void listing_width (unsigned int x);
extern int listing_lhs_width;
extern int listing_lhs_width_second;
extern int listing_lhs_cont_lines;
extern int listing_rhs_width;
# 633 "../../binutils-2.13.1/gas/as.h" 2
# 25 "../../binutils-2.13.1/gas/config/tc-ppc.c" 2
# 1 "../../binutils-2.13.1/include/safe-ctype.h" 1
# 44 "../../binutils-2.13.1/include/safe-ctype.h"
enum {
_sch_isblank =3D 0x0001,
_sch_iscntrl =3D 0x0002,
_sch_isdigit =3D 0x0004,
_sch_islower =3D 0x0008,
_sch_isprint =3D 0x0010,
_sch_ispunct =3D 0x0020,
_sch_isspace =3D 0x0040,
_sch_isupper =3D 0x0080,
_sch_isxdigit =3D 0x0100,
_sch_isidst =3D 0x0200,
_sch_isvsp =3D 0x0400,
_sch_isnvsp =3D 0x0800,
_sch_isalpha =3D _sch_isupper|_sch_islower,
_sch_isalnum =3D _sch_isalpha|_sch_isdigit,
_sch_isidnum =3D _sch_isidst|_sch_isdigit,
_sch_isgraph =3D _sch_isalnum|_sch_ispunct,
_sch_iscppsp =3D _sch_isvsp|_sch_isnvsp,
_sch_isbasic =3D _sch_isprint|_sch_iscppsp
};
extern const unsigned short _sch_istable[256];
# 97 "../../binutils-2.13.1/include/safe-ctype.h"
extern const unsigned char _sch_toupper[256];
extern const unsigned char _sch_tolower[256];
# 26 "../../binutils-2.13.1/gas/config/tc-ppc.c" 2
# 1 "../../binutils-2.13.1/gas/subsegs.h" 1
# 41 "../../binutils-2.13.1/gas/subsegs.h"
# 1 "../../binutils-2.13.1/include/obstack.h" 1
# 161 "../../binutils-2.13.1/include/obstack.h"
struct _obstack_chunk
{
char *limit;
struct _obstack_chunk *prev;
char contents[4];
};
struct obstack
{
long chunk_size;
struct _obstack_chunk *chunk;
char *object_base;
char *next_free;
char *chunk_limit;
int temp;
int alignment_mask;
struct _obstack_chunk *(*chunkfun) (void *, long);
void (*freefun) (void *, struct _obstack_chunk *);
void *extra_arg;
unsigned use_extra_arg:1;
unsigned maybe_empty_object:1;
unsigned alloc_failed:1;
};
extern void _obstack_newchunk (struct obstack *, int);
extern void _obstack_free (struct obstack *, void *);
extern int _obstack_begin (struct obstack *, int, int,
void *(*) (long), void (*) (void *));
extern int _obstack_begin_1 (struct obstack *, int, int,
void *(*) (void *, long),
void (*) (void *, void *), void *);
extern int _obstack_memory_used (struct obstack *);
# 223 "../../binutils-2.13.1/include/obstack.h"
void obstack_init (struct obstack *obstack);
void * obstack_alloc (struct obstack *obstack, int size);
void * obstack_copy (struct obstack *obstack, void *address, int size);
void * obstack_copy0 (struct obstack *obstack, void *address, int size);
void obstack_free (struct obstack *obstack, void *block);
void obstack_blank (struct obstack *obstack, int size);
void obstack_grow (struct obstack *obstack, void *data, int size);
void obstack_grow0 (struct obstack *obstack, void *data, int size);
void obstack_1grow (struct obstack *obstack, int data_char);
void obstack_ptr_grow (struct obstack *obstack, void *data);
void obstack_int_grow (struct obstack *obstack, int data);
void * obstack_finish (struct obstack *obstack);
int obstack_object_size (struct obstack *obstack);
int obstack_room (struct obstack *obstack);
void obstack_make_room (struct obstack *obstack, int size);
void obstack_1grow_fast (struct obstack *obstack, int data_char);
void obstack_ptr_grow_fast (struct obstack *obstack, void *data);
void obstack_int_grow_fast (struct obstack *obstack, int data);
void obstack_blank_fast (struct obstack *obstack, int size);
void * obstack_base (struct obstack *obstack);
void * obstack_next_free (struct obstack *obstack);
int obstack_alignment_mask (struct obstack *obstack);
int obstack_chunk_size (struct obstack *obstack);
int obstack_memory_used (struct obstack *obstack);
# 267 "../../binutils-2.13.1/include/obstack.h"
extern void (*obstack_alloc_failed_handler) (void);
extern int obstack_exit_failure;
# 42 "../../binutils-2.13.1/gas/subsegs.h" 2
struct frchain
{
struct frag *frch_root;
struct frag *frch_last;
struct frchain *frch_next;
segT frch_seg;
subsegT frch_subseg;
fixS *fix_root;
fixS *fix_tail;
struct obstack frch_obstack;
fragS *frch_frag_now;
};
typedef struct frchain frchainS;
extern frchainS *frchain_root;
extern frchainS *frchain_now;
typedef struct segment_info_struct {
frchainS *frchainP;
unsigned int hadone : 1;
unsigned int bss : 1;
int user_stuff;
fixS *fix_root;
fixS *fix_tail;
symbolS *dot;
struct lineno_list *lineno_list_head;
struct lineno_list *lineno_list_tail;
asection *bfd_section;
symbolS *sym;
union {
unsigned long stab_string_size;
char *p;
}
stabu;
# 120 "../../binutils-2.13.1/gas/subsegs.h"
} segment_info_type;
extern segment_info_type *seg_info (segT);
extern symbolS *section_symbol (segT);
# 155 "../../binutils-2.13.1/gas/subsegs.h"
extern void subsegs_print_statistics (FILE *);
# 27 "../../binutils-2.13.1/gas/config/tc-ppc.c" 2
# 1 "../../binutils-2.13.1/include/opcode/ppc.h" 1
# 27 "../../binutils-2.13.1/include/opcode/ppc.h"
struct powerpc_opcode
{
const char *name;
unsigned long opcode;
unsigned long mask;
unsigned long flags;
unsigned char operands[8];
};
extern const struct powerpc_opcode powerpc_opcodes[];
extern const int powerpc_num_opcodes;
# 115 "../../binutils-2.13.1/include/opcode/ppc.h"
struct powerpc_operand
{
int bits;
int shift;
# 139 "../../binutils-2.13.1/include/opcode/ppc.h"
unsigned long (*insert) (unsigned long instruction, long op, int dialec=
t, const char **errmsg);
# 160 "../../binutils-2.13.1/include/opcode/ppc.h"
long (*extract) (unsigned long instruction, int dialect, int *invalid);
unsigned long flags;
};
extern const struct powerpc_operand powerpc_operands[];
# 257 "../../binutils-2.13.1/include/opcode/ppc.h"
struct powerpc_macro
{
const char *name;
unsigned int operands;
unsigned long flags;
const char *format;
};
extern const struct powerpc_macro powerpc_macros[];
extern const int powerpc_num_macros;
# 29 "../../binutils-2.13.1/gas/config/tc-ppc.c" 2
# 1 "../../binutils-2.13.1/include/elf/ppc.h" 1
# 30 "../../binutils-2.13.1/include/elf/ppc.h"
# 1 "../../binutils-2.13.1/include/elf/reloc-macros.h" 1
# 31 "../../binutils-2.13.1/include/elf/ppc.h" 2
enum elf_ppc_reloc_type {
R_PPC_NONE =3D 0,
R_PPC_ADDR32 =3D 1,
R_PPC_ADDR24 =3D 2,
R_PPC_ADDR16 =3D 3,
R_PPC_ADDR16_LO =3D 4,
R_PPC_ADDR16_HI =3D 5,
R_PPC_ADDR16_HA =3D 6,
R_PPC_ADDR14 =3D 7,
R_PPC_ADDR14_BRTAKEN =3D 8,
R_PPC_ADDR14_BRNTAKEN =3D 9,
R_PPC_REL24 =3D 10,
R_PPC_REL14 =3D 11,
R_PPC_REL14_BRTAKEN =3D 12,
R_PPC_REL14_BRNTAKEN =3D 13,
R_PPC_GOT16 =3D 14,
R_PPC_GOT16_LO =3D 15,
R_PPC_GOT16_HI =3D 16,
R_PPC_GOT16_HA =3D 17,
R_PPC_PLTREL24 =3D 18,
R_PPC_COPY =3D 19,
R_PPC_GLOB_DAT =3D 20,
R_PPC_JMP_SLOT =3D 21,
R_PPC_RELATIVE =3D 22,
R_PPC_LOCAL24PC =3D 23,
R_PPC_UADDR32 =3D 24,
R_PPC_UADDR16 =3D 25,
R_PPC_REL32 =3D 26,
R_PPC_PLT32 =3D 27,
R_PPC_PLTREL32 =3D 28,
R_PPC_PLT16_LO =3D 29,
R_PPC_PLT16_HI =3D 30,
R_PPC_PLT16_HA =3D 31,
R_PPC_SDAREL16 =3D 32,
R_PPC_SECTOFF =3D 33,
R_PPC_SECTOFF_LO =3D 34,
R_PPC_SECTOFF_HI =3D 35,
R_PPC_SECTOFF_HA =3D 36,
R_PPC_ADDR30 =3D 37,
R_PPC64_ADDR64 =3D 38,
R_PPC64_ADDR16_HIGHER =3D 39,
R_PPC64_ADDR16_HIGHERA =3D 40,
R_PPC64_ADDR16_HIGHEST =3D 41,
R_PPC64_ADDR16_HIGHESTA =3D 42,
R_PPC64_UADDR64 =3D 43,
R_PPC64_REL64 =3D 44,
R_PPC64_PLT64 =3D 45,
R_PPC64_PLTREL64 =3D 46,
R_PPC64_TOC16 =3D 47,
R_PPC64_TOC16_LO =3D 48,
R_PPC64_TOC16_HI =3D 49,
R_PPC64_TOC16_HA =3D 50,
R_PPC64_TOC =3D 51,
R_PPC64_PLTGOT16 =3D 52,
R_PPC64_PLTGOT16_LO =3D 53,
R_PPC64_PLTGOT16_HI =3D 54,
R_PPC64_PLTGOT16_HA =3D 55,
R_PPC64_ADDR16_DS =3D 56,
R_PPC64_ADDR16_LO_DS =3D 57,
R_PPC64_GOT16_DS =3D 58,
R_PPC64_GOT16_LO_DS =3D 59,
R_PPC64_PLT16_LO_DS =3D 60,
R_PPC64_SECTOFF_DS =3D 61,
R_PPC64_SECTOFF_LO_DS =3D 62,
R_PPC64_TOC16_DS =3D 63,
R_PPC64_TOC16_LO_DS =3D 64,
R_PPC64_PLTGOT16_DS =3D 65,
R_PPC64_PLTGOT16_LO_DS =3D 66,
R_PPC_EMB_NADDR32 =3D 101,
R_PPC_EMB_NADDR16 =3D 102,
R_PPC_EMB_NADDR16_LO =3D 103,
R_PPC_EMB_NADDR16_HI =3D 104,
R_PPC_EMB_NADDR16_HA =3D 105,
R_PPC_EMB_SDAI16 =3D 106,
R_PPC_EMB_SDA2I16 =3D 107,
R_PPC_EMB_SDA2REL =3D 108,
R_PPC_EMB_SDA21 =3D 109,
R_PPC_EMB_MRKREF =3D 110,
R_PPC_EMB_RELSEC16 =3D 111,
R_PPC_EMB_RELST_LO =3D 112,
R_PPC_EMB_RELST_HI =3D 113,
R_PPC_EMB_RELST_HA =3D 114,
R_PPC_EMB_BIT_FLD =3D 115,
R_PPC_EMB_RELSDA =3D 116,
R_PPC_GNU_VTINHERIT =3D 253,
R_PPC_GNU_VTENTRY =3D 254,
R_PPC_TOC16 =3D 255,
R_PPC_max };
# 32 "../../binutils-2.13.1/gas/config/tc-ppc.c" 2
# 1 "../../binutils-2.13.1/gas/dwarf2dbg.h" 1
# 29 "../../binutils-2.13.1/gas/dwarf2dbg.h"
struct dwarf2_line_info {
unsigned int filenum;
unsigned int line;
unsigned int column;
unsigned int flags;
};
extern char *dwarf2_directive_file (int dummy);
extern void dwarf2_directive_loc (int dummy);
extern void dwarf2_where (struct dwarf2_line_info *l);
extern void dwarf2_gen_line_info (addressT addr, struct dwarf2_line_info =
*l);
extern void dwarf2_emit_insn (int);
extern void dwarf2_finish (void);
extern int dwarf2dbg_estimate_size_before_relax (fragS *);
extern int dwarf2dbg_relax_frag (fragS *);
extern void dwarf2dbg_convert_frag (fragS *);
# 33 "../../binutils-2.13.1/gas/config/tc-ppc.c" 2
# 42 "../../binutils-2.13.1/gas/config/tc-ppc.c"
extern int target_big_endian;
static int set_target_endian =3D 0;
# 86 "../../binutils-2.13.1/gas/config/tc-ppc.c"
static boolean reg_names_p =3D false;
static boolean register_name (expressionS *);
static void ppc_set_cpu (void);
static unsigned long ppc_insert_operand
(unsigned long insn, const struct powerpc_operand *operand, offsetT val=
, char *file, unsigned int line);
static void ppc_macro (char *str, const struct powerpc_macro *macro);
static void ppc_byte (int);
static int ppc_is_toc_sym (symbolS *sym);
static void ppc_tc (int);
static void ppc_machine (int);
# 128 "../../binutils-2.13.1/gas/config/tc-ppc.c"
static bfd_reloc_code_real_type ppc_elf_suffix (char **, expressionS *);
static void ppc_elf_cons (int);
static void ppc_elf_rdata (int);
static void ppc_elf_lcomm (int);
static void ppc_elf_validate_fix (fixS *, segT);
# 158 "../../binutils-2.13.1/gas/config/tc-ppc.c"
static const char ppc_solaris_comment_chars[] =3D "#!";
static const char ppc_eabi_comment_chars[] =3D "#";
const char *ppc_comment_chars =3D ppc_eabi_comment_chars;
const char line_comment_chars[] =3D "#";
const char line_separator_chars[] =3D ";";
const char EXP_CHARS[] =3D "eE";
const char FLT_CHARS[] =3D "dD";
const pseudo_typeS md_pseudo_table[] =3D
{
{ "byte", ppc_byte, 0 },
# 227 "../../binutils-2.13.1/gas/config/tc-ppc.c"
{ "llong", ppc_elf_cons, 8 },
{ "quad", ppc_elf_cons, 8 },
{ "long", ppc_elf_cons, 4 },
{ "word", ppc_elf_cons, 2 },
{ "short", ppc_elf_cons, 2 },
{ "rdata", ppc_elf_rdata, 0 },
{ "rodata", ppc_elf_rdata, 0 },
{ "lcomm", ppc_elf_lcomm, 0 },
{ "file", (void (*) (int)) dwarf2_directive_file, 0 },
{ "loc", dwarf2_directive_loc, 0 },
# 256 "../../binutils-2.13.1/gas/config/tc-ppc.c"
{ "tc", ppc_tc, 0 },
{ "machine", ppc_machine, 0 },
{ ((void *)0), ((void *)0), 0 }
};
struct pd_reg
{
char *name;
int value;
};
# 310 "../../binutils-2.13.1/gas/config/tc-ppc.c"
static const struct pd_reg pre_defined_registers[] =3D
{
{ "cr.0", 0 },
{ "cr.1", 1 },
{ "cr.2", 2 },
{ "cr.3", 3 },
{ "cr.4", 4 },
{ "cr.5", 5 },
{ "cr.6", 6 },
{ "cr.7", 7 },
{ "cr0", 0 },
{ "cr1", 1 },
{ "cr2", 2 },
{ "cr3", 3 },
{ "cr4", 4 },
{ "cr5", 5 },
{ "cr6", 6 },
{ "cr7", 7 },
{ "ctr", 9 },
{ "dar", 19 },
{ "dec", 22 },
{ "dsisr", 18 },
{ "f.0", 0 },
{ "f.1", 1 },
{ "f.10", 10 },
{ "f.11", 11 },
{ "f.12", 12 },
{ "f.13", 13 },
{ "f.14", 14 },
{ "f.15", 15 },
{ "f.16", 16 },
{ "f.17", 17 },
{ "f.18", 18 },
{ "f.19", 19 },
{ "f.2", 2 },
{ "f.20", 20 },
{ "f.21", 21 },
{ "f.22", 22 },
{ "f.23", 23 },
{ "f.24", 24 },
{ "f.25", 25 },
{ "f.26", 26 },
{ "f.27", 27 },
{ "f.28", 28 },
{ "f.29", 29 },
{ "f.3", 3 },
{ "f.30", 30 },
{ "f.31", 31 },
{ "f.4", 4 },
{ "f.5", 5 },
{ "f.6", 6 },
{ "f.7", 7 },
{ "f.8", 8 },
{ "f.9", 9 },
{ "f0", 0 },
{ "f1", 1 },
{ "f10", 10 },
{ "f11", 11 },
{ "f12", 12 },
{ "f13", 13 },
{ "f14", 14 },
{ "f15", 15 },
{ "f16", 16 },
{ "f17", 17 },
{ "f18", 18 },
{ "f19", 19 },
{ "f2", 2 },
{ "f20", 20 },
{ "f21", 21 },
{ "f22", 22 },
{ "f23", 23 },
{ "f24", 24 },
{ "f25", 25 },
{ "f26", 26 },
{ "f27", 27 },
{ "f28", 28 },
{ "f29", 29 },
{ "f3", 3 },
{ "f30", 30 },
{ "f31", 31 },
{ "f4", 4 },
{ "f5", 5 },
{ "f6", 6 },
{ "f7", 7 },
{ "f8", 8 },
{ "f9", 9 },
{ "fpscr", 0 },
{ "lr", 8 },
{ "pmr", 0 },
{ "r.0", 0 },
{ "r.1", 1 },
{ "r.10", 10 },
{ "r.11", 11 },
{ "r.12", 12 },
{ "r.13", 13 },
{ "r.14", 14 },
{ "r.15", 15 },
{ "r.16", 16 },
{ "r.17", 17 },
{ "r.18", 18 },
{ "r.19", 19 },
{ "r.2", 2 },
{ "r.20", 20 },
{ "r.21", 21 },
{ "r.22", 22 },
{ "r.23", 23 },
{ "r.24", 24 },
{ "r.25", 25 },
{ "r.26", 26 },
{ "r.27", 27 },
{ "r.28", 28 },
{ "r.29", 29 },
{ "r.3", 3 },
{ "r.30", 30 },
{ "r.31", 31 },
{ "r.4", 4 },
{ "r.5", 5 },
{ "r.6", 6 },
{ "r.7", 7 },
{ "r.8", 8 },
{ "r.9", 9 },
{ "r.sp", 1 },
{ "r.toc", 2 },
{ "r0", 0 },
{ "r1", 1 },
{ "r10", 10 },
{ "r11", 11 },
{ "r12", 12 },
{ "r13", 13 },
{ "r14", 14 },
{ "r15", 15 },
{ "r16", 16 },
{ "r17", 17 },
{ "r18", 18 },
{ "r19", 19 },
{ "r2", 2 },
{ "r20", 20 },
{ "r21", 21 },
{ "r22", 22 },
{ "r23", 23 },
{ "r24", 24 },
{ "r25", 25 },
{ "r26", 26 },
{ "r27", 27 },
{ "r28", 28 },
{ "r29", 29 },
{ "r3", 3 },
{ "r30", 30 },
{ "r31", 31 },
{ "r4", 4 },
{ "r5", 5 },
{ "r6", 6 },
{ "r7", 7 },
{ "r8", 8 },
{ "r9", 9 },
{ "rtoc", 2 },
{ "sdr1", 25 },
{ "sp", 1 },
{ "srr0", 26 },
{ "srr1", 27 },
{ "v.0", 0 },
{ "v.1", 1 },
{ "v.10", 10 },
{ "v.11", 11 },
{ "v.12", 12 },
{ "v.13", 13 },
{ "v.14", 14 },
{ "v.15", 15 },
{ "v.16", 16 },
{ "v.17", 17 },
{ "v.18", 18 },
{ "v.19", 19 },
{ "v.2", 2 },
{ "v.20", 20 },
{ "v.21", 21 },
{ "v.22", 22 },
{ "v.23", 23 },
{ "v.24", 24 },
{ "v.25", 25 },
{ "v.26", 26 },
{ "v.27", 27 },
{ "v.28", 28 },
{ "v.29", 29 },
{ "v.3", 3 },
{ "v.30", 30 },
{ "v.31", 31 },
{ "v.4", 4 },
{ "v.5", 5 },
{ "v.6", 6 },
{ "v.7", 7 },
{ "v.8", 8 },
{ "v.9", 9 },
{ "v0", 0 },
{ "v1", 1 },
{ "v10", 10 },
{ "v11", 11 },
{ "v12", 12 },
{ "v13", 13 },
{ "v14", 14 },
{ "v15", 15 },
{ "v16", 16 },
{ "v17", 17 },
{ "v18", 18 },
{ "v19", 19 },
{ "v2", 2 },
{ "v20", 20 },
{ "v21", 21 },
{ "v22", 22 },
{ "v23", 23 },
{ "v24", 24 },
{ "v25", 25 },
{ "v26", 26 },
{ "v27", 27 },
{ "v28", 28 },
{ "v29", 29 },
{ "v3", 3 },
{ "v30", 30 },
{ "v31", 31 },
{ "v4", 4 },
{ "v5", 5 },
{ "v6", 6 },
{ "v7", 7 },
{ "v8", 8 },
{ "v9", 9 },
{ "xer", 1 },
};
static int reg_name_search
(const struct pd_reg *, int, const char * name);
static int
reg_name_search (regs, regcount, name)
const struct pd_reg *regs;
int regcount;
const char *name;
{
int middle, low, high;
int cmp;
low =3D 0;
high =3D regcount - 1;
do
{
middle =3D (low + high) / 2;
cmp =3D strcasecmp (name, regs[middle].name);
if (cmp < 0)
high =3D middle - 1;
else if (cmp > 0)
low =3D middle + 1;
else
return regs[middle].value;
}
while (low <=3D high);
return -1;
}
# 605 "../../binutils-2.13.1/gas/config/tc-ppc.c"
static boolean
register_name (expressionP)
expressionS *expressionP;
{
int reg_number;
char *name;
char *start;
char c;
start =3D name =3D input_line_pointer;
if (name[0] =3D=3D '%' && (_sch_istable[(name[1]) & 0xff] & (unsigned s=
hort)(_sch_isalpha)))
name =3D ++input_line_pointer;
else if (!reg_names_p || !(_sch_istable[(name[0]) & 0xff] & (unsigned s=
hort)(_sch_isalpha)))
return false;
c =3D get_symbol_end ();
reg_number =3D reg_name_search (pre_defined_registers, (sizeof (pre_def=
ined_registers) / sizeof (struct pd_reg)), name);
*input_line_pointer =3D c;
if (reg_number >=3D 0)
{
expressionP->X_op =3D O_register;
expressionP->X_add_number =3D reg_number;
expressionP->X_add_symbol =3D ((void *)0);
expressionP->X_op_symbol =3D ((void *)0);
return true;
}
input_line_pointer =3D start;
return false;
}
static boolean cr_operand;
static const struct pd_reg cr_names[] =3D
{
{ "cr0", 0 },
{ "cr1", 1 },
{ "cr2", 2 },
{ "cr3", 3 },
{ "cr4", 4 },
{ "cr5", 5 },
{ "cr6", 6 },
{ "cr7", 7 },
{ "eq", 2 },
{ "gt", 1 },
{ "lt", 0 },
{ "so", 3 },
{ "un", 3 }
};
int
ppc_parse_name (name, expr)
const char *name;
expressionS *expr;
{
int val;
if (! cr_operand)
return 0;
val =3D reg_name_search (cr_names, sizeof cr_names / sizeof cr_names[0]=
,
name);
if (val < 0)
return 0;
expr->X_op =3D O_constant;
expr->X_add_number =3D val;
return 1;
}
static unsigned long ppc_cpu =3D 0;
static unsigned int ppc_obj64 =3D 32 =3D=3D 64;
static struct hash_control *ppc_hash;
static struct hash_control *ppc_macro_hash;
static enum { SHLIB_NONE, SHLIB_PIC, SHLIB_MRELOCATABLE } shlib =3D SHLIB=
_NONE;
static flagword ppc_flags =3D 0;
# 723 "../../binutils-2.13.1/gas/config/tc-ppc.c"
static boolean msolaris =3D false;
# 789 "../../binutils-2.13.1/gas/config/tc-ppc.c"
symbolS *GOT_symbol;
const char *const md_shortopts =3D "b:l:usm:K:VQ:";
const struct option md_longopts[] =3D {
{((void *)0), 0, ((void *)0), 0}
};
const size_t md_longopts_size =3D sizeof (md_longopts);
int
md_parse_option (c, arg)
int c;
char *arg;
{
switch (c)
{
case 'u':
break;
case 'l':
if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant=
_p (arg) && __builtin_constant_p ("e") && (__s1_len =3D strlen (arg), __s=
2_len =3D strlen ("e"), (!((size_t)(const void *)((arg) + 1) - (size_t)(c=
onst void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(const void=
*)(("e") + 1) - (size_t)(const void *)("e") =3D=3D 1) || __s2_len >=3D 4=
)) ? memcmp ((__const char *) (arg), (__const char *) ("e"), (__s1_len < =
__s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((s=
ize_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) &=
& (__s1_len =3D strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("e")=
&& ((size_t)(const void *)(("e") + 1) - (size_t)(const void *)("e") =3D=3D=
1) ? (__extension__ ({ register int __result =3D (((__const unsigned cha=
r *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const cha=
r *)("e"))[0]); if (__s1_len > 0 && __result =3D=3D 0) { __result =3D (((=
__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned =
char *) (__const char *) ("e"))[1]); if (__s1_len > 1 && __result =3D=3D =
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[2] =
- ((__const unsigned char *) (__const char *) ("e"))[2]); if (__s1_len > =
2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) (__const=
char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("e"))[3=
]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 =3D=
(__const unsigned char *) (__const char *) ("e"); register int __result =
=3D (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if=
(__s1_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned c=
har *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __resul=
t =3D=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (=
arg))[2] - __s2[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D =
(((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __=
result; }))) : (__builtin_constant_p ("e") && ((size_t)(const void *)(("e=
") + 1) - (size_t)(const void *)("e") =3D=3D 1) && (__s2_len =3D strlen (=
"e"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void=
*)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) ? (__extension__ (=
{ register int __result =3D (((__const unsigned char *) (__const char *) =
(arg))[0] - ((__const unsigned char *) (__const char *)("e"))[0]); if (__=
s2_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned char =
*) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char =
*) ("e"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (((_=
_const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned c=
har *) (__const char *) ("e"))[2]); if (__s2_len > 2 && __result =3D=3D 0=
) __result =3D (((__const unsigned char *) (__const char *) (arg))[3] - (=
(__const unsigned char *) (__const char *) ("e"))[3]); } } __result; })) =
: (__extension__ ({ __const unsigned char *__s1 =3D (__const unsigned cha=
r *) (__const char *) (arg); register int __result =3D __s1[0] - ((__cons=
t unsigned char *) (__const char *) ("e"))[0]; if (__s2_len > 0 && __resu=
lt =3D=3D 0) { __result =3D (__s1[1] - ((__const unsigned char *) (__cons=
t char *) ("e"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __result =3D=
(__s1[2] - ((__const unsigned char *) (__const char *) ("e"))[2]); if (_=
_s2_len > 2 && __result =3D=3D 0) __result =3D (__s1[3] - ((__const unsig=
ned char *) (__const char *) ("e"))[3]); } } __result; }))) : strcmp (arg=
, "e")))); }) =3D=3D 0)
{
target_big_endian =3D 0;
set_target_endian =3D 1;
}
else
return 0;
break;
case 'b':
if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant=
_p (arg) && __builtin_constant_p ("e") && (__s1_len =3D strlen (arg), __s=
2_len =3D strlen ("e"), (!((size_t)(const void *)((arg) + 1) - (size_t)(c=
onst void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(const void=
*)(("e") + 1) - (size_t)(const void *)("e") =3D=3D 1) || __s2_len >=3D 4=
)) ? memcmp ((__const char *) (arg), (__const char *) ("e"), (__s1_len < =
__s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((s=
ize_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) &=
& (__s1_len =3D strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("e")=
&& ((size_t)(const void *)(("e") + 1) - (size_t)(const void *)("e") =3D=3D=
1) ? (__extension__ ({ register int __result =3D (((__const unsigned cha=
r *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const cha=
r *)("e"))[0]); if (__s1_len > 0 && __result =3D=3D 0) { __result =3D (((=
__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned =
char *) (__const char *) ("e"))[1]); if (__s1_len > 1 && __result =3D=3D =
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[2] =
- ((__const unsigned char *) (__const char *) ("e"))[2]); if (__s1_len > =
2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) (__const=
char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("e"))[3=
]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 =3D=
(__const unsigned char *) (__const char *) ("e"); register int __result =
=3D (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if=
(__s1_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned c=
har *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __resul=
t =3D=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (=
arg))[2] - __s2[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D =
(((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __=
result; }))) : (__builtin_constant_p ("e") && ((size_t)(const void *)(("e=
") + 1) - (size_t)(const void *)("e") =3D=3D 1) && (__s2_len =3D strlen (=
"e"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void=
*)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) ? (__extension__ (=
{ register int __result =3D (((__const unsigned char *) (__const char *) =
(arg))[0] - ((__const unsigned char *) (__const char *)("e"))[0]); if (__=
s2_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned char =
*) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char =
*) ("e"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (((_=
_const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned c=
har *) (__const char *) ("e"))[2]); if (__s2_len > 2 && __result =3D=3D 0=
) __result =3D (((__const unsigned char *) (__const char *) (arg))[3] - (=
(__const unsigned char *) (__const char *) ("e"))[3]); } } __result; })) =
: (__extension__ ({ __const unsigned char *__s1 =3D (__const unsigned cha=
r *) (__const char *) (arg); register int __result =3D __s1[0] - ((__cons=
t unsigned char *) (__const char *) ("e"))[0]; if (__s2_len > 0 && __resu=
lt =3D=3D 0) { __result =3D (__s1[1] - ((__const unsigned char *) (__cons=
t char *) ("e"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __result =3D=
(__s1[2] - ((__const unsigned char *) (__const char *) ("e"))[2]); if (_=
_s2_len > 2 && __result =3D=3D 0) __result =3D (__s1[3] - ((__const unsig=
ned char *) (__const char *) ("e"))[3]); } } __result; }))) : strcmp (arg=
, "e")))); }) =3D=3D 0)
{
target_big_endian =3D 1;
set_target_endian =3D 1;
}
else
return 0;
break;
case 'K':
if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant=
_p (arg) && __builtin_constant_p ("PIC") && (__s1_len =3D strlen (arg), _=
_s2_len =3D strlen ("PIC"), (!((size_t)(const void *)((arg) + 1) - (size_=
t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(const =
void *)(("PIC") + 1) - (size_t)(const void *)("PIC") =3D=3D 1) || __s2_le=
n >=3D 4)) ? memcmp ((__const char *) (arg), (__const char *) ("PIC"), (_=
_s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (a=
rg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) =3D=
=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (__builtin_constant=
_p ("PIC") && ((size_t)(const void *)(("PIC") + 1) - (size_t)(const void =
*)("PIC") =3D=3D 1) ? (__extension__ ({ register int __result =3D (((__co=
nst unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char=
*) (__const char *)("PIC"))[0]); if (__s1_len > 0 && __result =3D=3D 0) =
{ __result =3D (((__const unsigned char *) (__const char *) (arg))[1] - (=
(__const unsigned char *) (__const char *) ("PIC"))[1]); if (__s1_len > 1=
&& __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__cons=
t char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("PIC")=
)[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const uns=
igned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__=
const char *) ("PIC"))[3]); } } __result; })) : (__extension__ ({ __const=
unsigned char *__s2 =3D (__const unsigned char *) (__const char *) ("PIC=
"); register int __result =3D (((__const unsigned char *) (__const char *=
) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { __result=
=3D (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); i=
f (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned =
char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __resu=
lt =3D=3D 0) __result =3D (((__const unsigned char *) (__const char *) (a=
rg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("PIC") &&=
((size_t)(const void *)(("PIC") + 1) - (size_t)(const void *)("PIC") =3D=
=3D 1) && (__s2_len =3D strlen ("PIC"), __s2_len < 4) ? (__builtin_consta=
nt_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)=
(arg) =3D=3D 1) ? (__extension__ ({ register int __result =3D (((__const =
unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) =
(__const char *)("PIC"))[0]); if (__s2_len > 0 && __result =3D=3D 0) { __=
result =3D (((__const unsigned char *) (__const char *) (arg))[1] - ((__c=
onst unsigned char *) (__const char *) ("PIC"))[1]); if (__s2_len > 1 && =
__result =3D=3D 0) { __result =3D (((__const unsigned char *) (__const ch=
ar *) (arg))[2] - ((__const unsigned char *) (__const char *) ("PIC"))[2]=
); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigne=
d char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__cons=
t char *) ("PIC"))[3]); } } __result; })) : (__extension__ ({ __const uns=
igned char *__s1 =3D (__const unsigned char *) (__const char *) (arg); re=
gister int __result =3D __s1[0] - ((__const unsigned char *) (__const cha=
r *) ("PIC"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (=
__s1[1] - ((__const unsigned char *) (__const char *) ("PIC"))[1]); if (_=
_s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__const uns=
igned char *) (__const char *) ("PIC"))[2]); if (__s2_len > 2 && __result=
=3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *) (__const ch=
ar *) ("PIC"))[3]); } } __result; }))) : strcmp (arg, "PIC")))); }) =3D=3D=
0 || __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (=
arg) && __builtin_constant_p ("pic") && (__s1_len =3D strlen (arg), __s2_=
len =3D strlen ("pic"), (!((size_t)(const void *)((arg) + 1) - (size_t)(c=
onst void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(const void=
*)(("pic") + 1) - (size_t)(const void *)("pic") =3D=3D 1) || __s2_len >=3D=
4)) ? memcmp ((__const char *) (arg), (__const char *) ("pic"), (__s1_le=
n < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) &&=
((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D =
1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (__builtin_constant_p (=
"pic") && ((size_t)(const void *)(("pic") + 1) - (size_t)(const void *)("=
pic") =3D=3D 1) ? (__extension__ ({ register int __result =3D (((__const =
unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) =
(__const char *)("pic"))[0]); if (__s1_len > 0 && __result =3D=3D 0) { __=
result =3D (((__const unsigned char *) (__const char *) (arg))[1] - ((__c=
onst unsigned char *) (__const char *) ("pic"))[1]); if (__s1_len > 1 && =
__result =3D=3D 0) { __result =3D (((__const unsigned char *) (__const ch=
ar *) (arg))[2] - ((__const unsigned char *) (__const char *) ("pic"))[2]=
); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigne=
d char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__cons=
t char *) ("pic"))[3]); } } __result; })) : (__extension__ ({ __const uns=
igned char *__s2 =3D (__const unsigned char *) (__const char *) ("pic"); =
register int __result =3D (((__const unsigned char *) (__const char *) (a=
rg))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { __result =3D=
(((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (_=
_s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char=
*) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result =3D=
=3D 0) __result =3D (((__const unsigned char *) (__const char *) (arg))[3=
] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("pic") && ((siz=
e_t)(const void *)(("pic") + 1) - (size_t)(const void *)("pic") =3D=3D 1)=
&& (__s2_len =3D strlen ("pic"), __s2_len < 4) ? (__builtin_constant_p (=
arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) =
=3D=3D 1) ? (__extension__ ({ register int __result =3D (((__const unsign=
ed char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__con=
st char *)("pic"))[0]); if (__s2_len > 0 && __result =3D=3D 0) { __result=
=3D (((__const unsigned char *) (__const char *) (arg))[1] - ((__const u=
nsigned char *) (__const char *) ("pic"))[1]); if (__s2_len > 1 && __resu=
lt =3D=3D 0) { __result =3D (((__const unsigned char *) (__const char *) =
(arg))[2] - ((__const unsigned char *) (__const char *) ("pic"))[2]); if =
(__s2_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char=
*) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char=
*) ("pic"))[3]); } } __result; })) : (__extension__ ({ __const unsigned =
char *__s1 =3D (__const unsigned char *) (__const char *) (arg); register=
int __result =3D __s1[0] - ((__const unsigned char *) (__const char *) (=
"pic"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (__s1[1=
] - ((__const unsigned char *) (__const char *) ("pic"))[1]); if (__s2_le=
n > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__const unsigned =
char *) (__const char *) ("pic"))[2]); if (__s2_len > 2 && __result =3D=3D=
0) __result =3D (__s1[3] - ((__const unsigned char *) (__const char *) (=
"pic"))[3]); } } __result; }))) : strcmp (arg, "pic")))); }) =3D=3D 0)
{
shlib =3D SHLIB_PIC;
ppc_flags |=3D 0x00008000;
}
else
return 0;
break;
case 'a':
if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant=
_p (arg) && __builtin_constant_p ("64") && (__s1_len =3D strlen (arg), __=
s2_len =3D strlen ("64"), (!((size_t)(const void *)((arg) + 1) - (size_t)=
(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(const vo=
id *)(("64") + 1) - (size_t)(const void *)("64") =3D=3D 1) || __s2_len >=3D=
4)) ? memcmp ((__const char *) (arg), (__const char *) ("64"), (__s1_len=
< __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && =
((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1=
) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("=
64") && ((size_t)(const void *)(("64") + 1) - (size_t)(const void *)("64"=
) =3D=3D 1) ? (__extension__ ({ register int __result =3D (((__const unsi=
gned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__c=
onst char *)("64"))[0]); if (__s1_len > 0 && __result =3D=3D 0) { __resul=
t =3D (((__const unsigned char *) (__const char *) (arg))[1] - ((__const =
unsigned char *) (__const char *) ("64"))[1]); if (__s1_len > 1 && __resu=
lt =3D=3D 0) { __result =3D (((__const unsigned char *) (__const char *) =
(arg))[2] - ((__const unsigned char *) (__const char *) ("64"))[2]); if (=
__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char =
*) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char =
*) ("64"))[3]); } } __result; })) : (__extension__ ({ __const unsigned ch=
ar *__s2 =3D (__const unsigned char *) (__const char *) ("64"); register =
int __result =3D (((__const unsigned char *) (__const char *) (arg))[0] -=
__s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { __result =3D (((__con=
st unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len >=
1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__co=
nst char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result =3D=3D 0) =
__result =3D (((__const unsigned char *) (__const char *) (arg))[3] - __s=
2[3]); } } __result; }))) : (__builtin_constant_p ("64") && ((size_t)(con=
st void *)(("64") + 1) - (size_t)(const void *)("64") =3D=3D 1) && (__s2_=
len =3D strlen ("64"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((s=
ize_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) ?=
(__extension__ ({ register int __result =3D (((__const unsigned char *) =
(__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)(=
"64"))[0]); if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (((__co=
nst unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char=
*) (__const char *) ("64"))[1]); if (__s2_len > 1 && __result =3D=3D 0) =
{ __result =3D (((__const unsigned char *) (__const char *) (arg))[2] - (=
(__const unsigned char *) (__const char *) ("64"))[2]); if (__s2_len > 2 =
&& __result =3D=3D 0) __result =3D (((__const unsigned char *) (__const c=
har *) (arg))[3] - ((__const unsigned char *) (__const char *) ("64"))[3]=
); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 =3D =
(__const unsigned char *) (__const char *) (arg); register int __result =3D=
__s1[0] - ((__const unsigned char *) (__const char *) ("64"))[0]; if (__=
s2_len > 0 && __result =3D=3D 0) { __result =3D (__s1[1] - ((__const unsi=
gned char *) (__const char *) ("64"))[1]); if (__s2_len > 1 && __result =3D=
=3D 0) { __result =3D (__s1[2] - ((__const unsigned char *) (__const char=
*) ("64"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (__s=
1[3] - ((__const unsigned char *) (__const char *) ("64"))[3]); } } __res=
ult; }))) : strcmp (arg, "64")))); }) =3D=3D 0)
ppc_obj64 =3D 1;
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("32") && (__s1_len =3D strlen (arg=
), __s2_len =3D strlen ("32"), (!((size_t)(const void *)((arg) + 1) - (si=
ze_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(con=
st void *)(("32") + 1) - (size_t)(const void *)("32") =3D=3D 1) || __s2_l=
en >=3D 4)) ? memcmp ((__const char *) (arg), (__const char *) ("32"), (_=
_s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (a=
rg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) =3D=
=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (__builtin_constant=
_p ("32") && ((size_t)(const void *)(("32") + 1) - (size_t)(const void *)=
("32") =3D=3D 1) ? (__extension__ ({ register int __result =3D (((__const=
unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *)=
(__const char *)("32"))[0]); if (__s1_len > 0 && __result =3D=3D 0) { __=
result =3D (((__const unsigned char *) (__const char *) (arg))[1] - ((__c=
onst unsigned char *) (__const char *) ("32"))[1]); if (__s1_len > 1 && _=
_result =3D=3D 0) { __result =3D (((__const unsigned char *) (__const cha=
r *) (arg))[2] - ((__const unsigned char *) (__const char *) ("32"))[2]);=
if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned =
char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const =
char *) ("32"))[3]); } } __result; })) : (__extension__ ({ __const unsign=
ed char *__s2 =3D (__const unsigned char *) (__const char *) ("32"); regi=
ster int __result =3D (((__const unsigned char *) (__const char *) (arg))=
[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { __result =3D (((=
__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_=
len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) =
(__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result =3D=3D=
0) __result =3D (((__const unsigned char *) (__const char *) (arg))[3] -=
__s2[3]); } } __result; }))) : (__builtin_constant_p ("32") && ((size_t)=
(const void *)(("32") + 1) - (size_t)(const void *)("32") =3D=3D 1) && (_=
_s2_len =3D strlen ("32"), __s2_len < 4) ? (__builtin_constant_p (arg) &&=
((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D =
1) ? (__extension__ ({ register int __result =3D (((__const unsigned char=
*) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char=
*)("32"))[0]); if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (((=
__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned =
char *) (__const char *) ("32"))[1]); if (__s2_len > 1 && __result =3D=3D=
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[2]=
- ((__const unsigned char *) (__const char *) ("32"))[2]); if (__s2_len =
> 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) (__con=
st char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("32")=
)[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 =
=3D (__const unsigned char *) (__const char *) (arg); register int __resu=
lt =3D __s1[0] - ((__const unsigned char *) (__const char *) ("32"))[0]; =
if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (__s1[1] - ((__cons=
t unsigned char *) (__const char *) ("32"))[1]); if (__s2_len > 1 && __re=
sult =3D=3D 0) { __result =3D (__s1[2] - ((__const unsigned char *) (__co=
nst char *) ("32"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =
=3D (__s1[3] - ((__const unsigned char *) (__const char *) ("32"))[3]); }=
} __result; }))) : strcmp (arg, "32")))); }) =3D=3D 0)
ppc_obj64 =3D 0;
else
return 0;
break;
case 'm':
if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant=
_p (arg) && __builtin_constant_p ("pwrx") && (__s1_len =3D strlen (arg), =
__s2_len =3D strlen ("pwrx"), (!((size_t)(const void *)((arg) + 1) - (siz=
e_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(cons=
t void *)(("pwrx") + 1) - (size_t)(const void *)("pwrx") =3D=3D 1) || __s=
2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__const char *) ("pwrx"=
), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant=
_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(a=
rg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (__builtin_c=
onstant_p ("pwrx") && ((size_t)(const void *)(("pwrx") + 1) - (size_t)(co=
nst void *)("pwrx") =3D=3D 1) ? (__extension__ ({ register int __result =3D=
(((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsig=
ned char *) (__const char *)("pwrx"))[0]); if (__s1_len > 0 && __result =3D=
=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (arg))=
[1] - ((__const unsigned char *) (__const char *) ("pwrx"))[1]); if (__s1=
_len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *)=
(__const char *) (arg))[2] - ((__const unsigned char *) (__const char *)=
("pwrx"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__=
const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned ch=
ar *) (__const char *) ("pwrx"))[3]); } } __result; })) : (__extension__ =
({ __const unsigned char *__s2 =3D (__const unsigned char *) (__const cha=
r *) ("pwrx"); register int __result =3D (((__const unsigned char *) (__c=
onst char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0)=
{ __result =3D (((__const unsigned char *) (__const char *) (arg))[1] - =
__s2[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__cons=
t unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > =
2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) (__const=
char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p=
("pwrx") && ((size_t)(const void *)(("pwrx") + 1) - (size_t)(const void =
*)("pwrx") =3D=3D 1) && (__s2_len =3D strlen ("pwrx"), __s2_len < 4) ? (_=
_builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t=
)(const void *)(arg) =3D=3D 1) ? (__extension__ ({ register int __result =
=3D (((__const unsigned char *) (__const char *) (arg))[0] - ((__const un=
signed char *) (__const char *)("pwrx"))[0]); if (__s2_len > 0 && __resul=
t =3D=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (=
arg))[1] - ((__const unsigned char *) (__const char *) ("pwrx"))[1]); if =
(__s2_len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned ch=
ar *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const ch=
ar *) ("pwrx"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D =
(((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsign=
ed char *) (__const char *) ("pwrx"))[3]); } } __result; })) : (__extensi=
on__ ({ __const unsigned char *__s1 =3D (__const unsigned char *) (__cons=
t char *) (arg); register int __result =3D __s1[0] - ((__const unsigned c=
har *) (__const char *) ("pwrx"))[0]; if (__s2_len > 0 && __result =3D=3D=
0) { __result =3D (__s1[1] - ((__const unsigned char *) (__const char *)=
("pwrx"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (__=
s1[2] - ((__const unsigned char *) (__const char *) ("pwrx"))[2]); if (__=
s2_len > 2 && __result =3D=3D 0) __result =3D (__s1[3] - ((__const unsign=
ed char *) (__const char *) ("pwrx"))[3]); } } __result; }))) : strcmp (a=
rg, "pwrx")))); }) =3D=3D 0 || __extension__ ({ size_t __s1_len, __s2_len=
; (__builtin_constant_p (arg) && __builtin_constant_p ("pwr2") && (__s1_l=
en =3D strlen (arg), __s2_len =3D strlen ("pwr2"), (!((size_t)(const void=
*)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4=
) && (!((size_t)(const void *)(("pwr2") + 1) - (size_t)(const void *)("pw=
r2") =3D=3D 1) || __s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__=
const char *) ("pwr2"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) =
: (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (si=
ze_t)(const void *)(arg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_le=
n < 4) ? (__builtin_constant_p ("pwr2") && ((size_t)(const void *)(("pwr2=
") + 1) - (size_t)(const void *)("pwr2") =3D=3D 1) ? (__extension__ ({ re=
gister int __result =3D (((__const unsigned char *) (__const char *) (arg=
))[0] - ((__const unsigned char *) (__const char *)("pwr2"))[0]); if (__s=
1_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned char *=
) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *=
) ("pwr2"))[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D ((=
(__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned=
char *) (__const char *) ("pwr2"))[2]); if (__s1_len > 2 && __result =3D=
=3D 0) __result =3D (((__const unsigned char *) (__const char *) (arg))[3=
] - ((__const unsigned char *) (__const char *) ("pwr2"))[3]); } } __resu=
lt; })) : (__extension__ ({ __const unsigned char *__s2 =3D (__const unsi=
gned char *) (__const char *) ("pwr2"); register int __result =3D (((__co=
nst unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len =
> 0 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__c=
onst char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0)=
{ __result =3D (((__const unsigned char *) (__const char *) (arg))[2] - =
__s2[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const =
unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))=
) : (__builtin_constant_p ("pwr2") && ((size_t)(const void *)(("pwr2") + =
1) - (size_t)(const void *)("pwr2") =3D=3D 1) && (__s2_len =3D strlen ("p=
wr2"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const voi=
d *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) ? (__extension__ =
({ register int __result =3D (((__const unsigned char *) (__const char *)=
(arg))[0] - ((__const unsigned char *) (__const char *)("pwr2"))[0]); if=
(__s2_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned c=
har *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const c=
har *) ("pwr2"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __result =3D=
(((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsig=
ned char *) (__const char *) ("pwr2"))[2]); if (__s2_len > 2 && __result =
=3D=3D 0) __result =3D (((__const unsigned char *) (__const char *) (arg)=
)[3] - ((__const unsigned char *) (__const char *) ("pwr2"))[3]); } } __r=
esult; })) : (__extension__ ({ __const unsigned char *__s1 =3D (__const u=
nsigned char *) (__const char *) (arg); register int __result =3D __s1[0]=
- ((__const unsigned char *) (__const char *) ("pwr2"))[0]; if (__s2_len=
> 0 && __result =3D=3D 0) { __result =3D (__s1[1] - ((__const unsigned c=
har *) (__const char *) ("pwr2"))[1]); if (__s2_len > 1 && __result =3D=3D=
0) { __result =3D (__s1[2] - ((__const unsigned char *) (__const char *)=
("pwr2"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (__s1=
[3] - ((__const unsigned char *) (__const char *) ("pwr2"))[3]); } } __re=
sult; }))) : strcmp (arg, "pwr2")))); }) =3D=3D 0)
ppc_cpu =3D (02) | (04) | (010);
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("pwr") && (__s1_len =3D strlen (ar=
g), __s2_len =3D strlen ("pwr"), (!((size_t)(const void *)((arg) + 1) - (=
size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(c=
onst void *)(("pwr") + 1) - (size_t)(const void *)("pwr") =3D=3D 1) || __=
s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__const char *) ("pwr"=
), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant=
_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(a=
rg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (__builtin_c=
onstant_p ("pwr") && ((size_t)(const void *)(("pwr") + 1) - (size_t)(cons=
t void *)("pwr") =3D=3D 1) ? (__extension__ ({ register int __result =3D =
(((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsign=
ed char *) (__const char *)("pwr"))[0]); if (__s1_len > 0 && __result =3D=
=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (arg))=
[1] - ((__const unsigned char *) (__const char *) ("pwr"))[1]); if (__s1_=
len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) =
(__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) =
("pwr"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__co=
nst unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char=
*) (__const char *) ("pwr"))[3]); } } __result; })) : (__extension__ ({ =
__const unsigned char *__s2 =3D (__const unsigned char *) (__const char *=
) ("pwr"); register int __result =3D (((__const unsigned char *) (__const=
char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (arg))[1] - __s2=
[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const un=
signed char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 &&=
__result =3D=3D 0) __result =3D (((__const unsigned char *) (__const cha=
r *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("p=
wr") && ((size_t)(const void *)(("pwr") + 1) - (size_t)(const void *)("pw=
r") =3D=3D 1) && (__s2_len =3D strlen ("pwr"), __s2_len < 4) ? (__builtin=
_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const =
void *)(arg) =3D=3D 1) ? (__extension__ ({ register int __result =3D (((_=
_const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned c=
har *) (__const char *)("pwr"))[0]); if (__s2_len > 0 && __result =3D=3D =
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[1] =
- ((__const unsigned char *) (__const char *) ("pwr"))[1]); if (__s2_len =
> 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__c=
onst char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("pw=
r"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (((__const =
unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) =
(__const char *) ("pwr"))[3]); } } __result; })) : (__extension__ ({ __co=
nst unsigned char *__s1 =3D (__const unsigned char *) (__const char *) (a=
rg); register int __result =3D __s1[0] - ((__const unsigned char *) (__co=
nst char *) ("pwr"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __resul=
t =3D (__s1[1] - ((__const unsigned char *) (__const char *) ("pwr"))[1])=
; if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__co=
nst unsigned char *) (__const char *) ("pwr"))[2]); if (__s2_len > 2 && _=
_result =3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *) (__c=
onst char *) ("pwr"))[3]); } } __result; }))) : strcmp (arg, "pwr")))); }=
) =3D=3D 0)
ppc_cpu =3D (02) | (010);
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("601") && (__s1_len =3D strlen (ar=
g), __s2_len =3D strlen ("601"), (!((size_t)(const void *)((arg) + 1) - (=
size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(c=
onst void *)(("601") + 1) - (size_t)(const void *)("601") =3D=3D 1) || __=
s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__const char *) ("601"=
), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant=
_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(a=
rg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (__builtin_c=
onstant_p ("601") && ((size_t)(const void *)(("601") + 1) - (size_t)(cons=
t void *)("601") =3D=3D 1) ? (__extension__ ({ register int __result =3D =
(((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsign=
ed char *) (__const char *)("601"))[0]); if (__s1_len > 0 && __result =3D=
=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (arg))=
[1] - ((__const unsigned char *) (__const char *) ("601"))[1]); if (__s1_=
len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) =
(__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) =
("601"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__co=
nst unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char=
*) (__const char *) ("601"))[3]); } } __result; })) : (__extension__ ({ =
__const unsigned char *__s2 =3D (__const unsigned char *) (__const char *=
) ("601"); register int __result =3D (((__const unsigned char *) (__const=
char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (arg))[1] - __s2=
[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const un=
signed char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 &&=
__result =3D=3D 0) __result =3D (((__const unsigned char *) (__const cha=
r *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("6=
01") && ((size_t)(const void *)(("601") + 1) - (size_t)(const void *)("60=
1") =3D=3D 1) && (__s2_len =3D strlen ("601"), __s2_len < 4) ? (__builtin=
_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const =
void *)(arg) =3D=3D 1) ? (__extension__ ({ register int __result =3D (((_=
_const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned c=
har *) (__const char *)("601"))[0]); if (__s2_len > 0 && __result =3D=3D =
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[1] =
- ((__const unsigned char *) (__const char *) ("601"))[1]); if (__s2_len =
> 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__c=
onst char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("60=
1"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (((__const =
unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) =
(__const char *) ("601"))[3]); } } __result; })) : (__extension__ ({ __co=
nst unsigned char *__s1 =3D (__const unsigned char *) (__const char *) (a=
rg); register int __result =3D __s1[0] - ((__const unsigned char *) (__co=
nst char *) ("601"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __resul=
t =3D (__s1[1] - ((__const unsigned char *) (__const char *) ("601"))[1])=
; if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__co=
nst unsigned char *) (__const char *) ("601"))[2]); if (__s2_len > 2 && _=
_result =3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *) (__c=
onst char *) ("601"))[3]); } } __result; }))) : strcmp (arg, "601")))); }=
) =3D=3D 0)
ppc_cpu =3D (01) | (040) | (010);
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("ppc") && (__s1_len =3D strlen (ar=
g), __s2_len =3D strlen ("ppc"), (!((size_t)(const void *)((arg) + 1) - (=
size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(c=
onst void *)(("ppc") + 1) - (size_t)(const void *)("ppc") =3D=3D 1) || __=
s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__const char *) ("ppc"=
), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant=
_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(a=
rg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (__builtin_c=
onstant_p ("ppc") && ((size_t)(const void *)(("ppc") + 1) - (size_t)(cons=
t void *)("ppc") =3D=3D 1) ? (__extension__ ({ register int __result =3D =
(((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsign=
ed char *) (__const char *)("ppc"))[0]); if (__s1_len > 0 && __result =3D=
=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (arg))=
[1] - ((__const unsigned char *) (__const char *) ("ppc"))[1]); if (__s1_=
len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) =
(__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) =
("ppc"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__co=
nst unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char=
*) (__const char *) ("ppc"))[3]); } } __result; })) : (__extension__ ({ =
__const unsigned char *__s2 =3D (__const unsigned char *) (__const char *=
) ("ppc"); register int __result =3D (((__const unsigned char *) (__const=
char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (arg))[1] - __s2=
[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const un=
signed char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 &&=
__result =3D=3D 0) __result =3D (((__const unsigned char *) (__const cha=
r *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("p=
pc") && ((size_t)(const void *)(("ppc") + 1) - (size_t)(const void *)("pp=
c") =3D=3D 1) && (__s2_len =3D strlen ("ppc"), __s2_len < 4) ? (__builtin=
_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const =
void *)(arg) =3D=3D 1) ? (__extension__ ({ register int __result =3D (((_=
_const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned c=
har *) (__const char *)("ppc"))[0]); if (__s2_len > 0 && __result =3D=3D =
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[1] =
- ((__const unsigned char *) (__const char *) ("ppc"))[1]); if (__s2_len =
> 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__c=
onst char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("pp=
c"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (((__const =
unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) =
(__const char *) ("ppc"))[3]); } } __result; })) : (__extension__ ({ __co=
nst unsigned char *__s1 =3D (__const unsigned char *) (__const char *) (a=
rg); register int __result =3D __s1[0] - ((__const unsigned char *) (__co=
nst char *) ("ppc"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __resul=
t =3D (__s1[1] - ((__const unsigned char *) (__const char *) ("ppc"))[1])=
; if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__co=
nst unsigned char *) (__const char *) ("ppc"))[2]); if (__s2_len > 2 && _=
_result =3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *) (__c=
onst char *) ("ppc"))[3]); } } __result; }))) : strcmp (arg, "ppc")))); }=
) =3D=3D 0
|| __extension__ ({ size_t __s1_len, __s2_len; (__builtin_=
constant_p (arg) && __builtin_constant_p ("ppc32") && (__s1_len =3D strle=
n (arg), __s2_len =3D strlen ("ppc32"), (!((size_t)(const void *)((arg) +=
1) - (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((si=
ze_t)(const void *)(("ppc32") + 1) - (size_t)(const void *)("ppc32") =3D=3D=
1) || __s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__const char =
*) ("ppc32"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__built=
in_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(cons=
t void *)(arg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (=
__builtin_constant_p ("ppc32") && ((size_t)(const void *)(("ppc32") + 1) =
- (size_t)(const void *)("ppc32") =3D=3D 1) ? (__extension__ ({ register =
int __result =3D (((__const unsigned char *) (__const char *) (arg))[0] -=
((__const unsigned char *) (__const char *)("ppc32"))[0]); if (__s1_len =
> 0 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__c=
onst char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("pp=
c32"))[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__co=
nst unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char=
*) (__const char *) ("ppc32"))[2]); if (__s1_len > 2 && __result =3D=3D =
0) __result =3D (((__const unsigned char *) (__const char *) (arg))[3] - =
((__const unsigned char *) (__const char *) ("ppc32"))[3]); } } __result;=
})) : (__extension__ ({ __const unsigned char *__s2 =3D (__const unsigne=
d char *) (__const char *) ("ppc32"); register int __result =3D (((__cons=
t unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > =
0 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__con=
st char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0) {=
__result =3D (((__const unsigned char *) (__const char *) (arg))[2] - __=
s2[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const un=
signed char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) =
: (__builtin_constant_p ("ppc32") && ((size_t)(const void *)(("ppc32") + =
1) - (size_t)(const void *)("ppc32") =3D=3D 1) && (__s2_len =3D strlen ("=
ppc32"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const v=
oid *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) ? (__extension_=
_ ({ register int __result =3D (((__const unsigned char *) (__const char =
*) (arg))[0] - ((__const unsigned char *) (__const char *)("ppc32"))[0]);=
if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigne=
d char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__cons=
t char *) ("ppc32"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __resu=
lt =3D (((__const unsigned char *) (__const char *) (arg))[2] - ((__const=
unsigned char *) (__const char *) ("ppc32"))[2]); if (__s2_len > 2 && __=
result =3D=3D 0) __result =3D (((__const unsigned char *) (__const char *=
) (arg))[3] - ((__const unsigned char *) (__const char *) ("ppc32"))[3]);=
} } __result; })) : (__extension__ ({ __const unsigned char *__s1 =3D (_=
_const unsigned char *) (__const char *) (arg); register int __result =3D=
__s1[0] - ((__const unsigned char *) (__const char *) ("ppc32"))[0]; if =
(__s2_len > 0 && __result =3D=3D 0) { __result =3D (__s1[1] - ((__const u=
nsigned char *) (__const char *) ("ppc32"))[1]); if (__s2_len > 1 && __re=
sult =3D=3D 0) { __result =3D (__s1[2] - ((__const unsigned char *) (__co=
nst char *) ("ppc32"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __resu=
lt =3D (__s1[3] - ((__const unsigned char *) (__const char *) ("ppc32"))[=
3]); } } __result; }))) : strcmp (arg, "ppc32")))); }) =3D=3D 0
|| __extension__ ({ size_t __s1_len, __s2_len; (__builtin_=
constant_p (arg) && __builtin_constant_p ("603") && (__s1_len =3D strlen =
(arg), __s2_len =3D strlen ("603"), (!((size_t)(const void *)((arg) + 1) =
- (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t=
)(const void *)(("603") + 1) - (size_t)(const void *)("603") =3D=3D 1) ||=
__s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__const char *) ("6=
03"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_const=
ant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *=
)(arg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (__builti=
n_constant_p ("603") && ((size_t)(const void *)(("603") + 1) - (size_t)(c=
onst void *)("603") =3D=3D 1) ? (__extension__ ({ register int __result =3D=
(((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsig=
ned char *) (__const char *)("603"))[0]); if (__s1_len > 0 && __result =3D=
=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (arg))=
[1] - ((__const unsigned char *) (__const char *) ("603"))[1]); if (__s1_=
len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) =
(__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) =
("603"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__co=
nst unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char=
*) (__const char *) ("603"))[3]); } } __result; })) : (__extension__ ({ =
__const unsigned char *__s2 =3D (__const unsigned char *) (__const char *=
) ("603"); register int __result =3D (((__const unsigned char *) (__const=
char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (arg))[1] - __s2=
[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const un=
signed char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 &&=
__result =3D=3D 0) __result =3D (((__const unsigned char *) (__const cha=
r *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("6=
03") && ((size_t)(const void *)(("603") + 1) - (size_t)(const void *)("60=
3") =3D=3D 1) && (__s2_len =3D strlen ("603"), __s2_len < 4) ? (__builtin=
_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const =
void *)(arg) =3D=3D 1) ? (__extension__ ({ register int __result =3D (((_=
_const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned c=
har *) (__const char *)("603"))[0]); if (__s2_len > 0 && __result =3D=3D =
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[1] =
- ((__const unsigned char *) (__const char *) ("603"))[1]); if (__s2_len =
> 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__c=
onst char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("60=
3"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (((__const =
unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) =
(__const char *) ("603"))[3]); } } __result; })) : (__extension__ ({ __co=
nst unsigned char *__s1 =3D (__const unsigned char *) (__const char *) (a=
rg); register int __result =3D __s1[0] - ((__const unsigned char *) (__co=
nst char *) ("603"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __resul=
t =3D (__s1[1] - ((__const unsigned char *) (__const char *) ("603"))[1])=
; if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__co=
nst unsigned char *) (__const char *) ("603"))[2]); if (__s2_len > 2 && _=
_result =3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *) (__c=
onst char *) ("603"))[3]); } } __result; }))) : strcmp (arg, "603")))); }=
) =3D=3D 0
|| __extension__ ({ size_t __s1_len, __s2_len; (__builtin_=
constant_p (arg) && __builtin_constant_p ("604") && (__s1_len =3D strlen =
(arg), __s2_len =3D strlen ("604"), (!((size_t)(const void *)((arg) + 1) =
- (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t=
)(const void *)(("604") + 1) - (size_t)(const void *)("604") =3D=3D 1) ||=
__s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__const char *) ("6=
04"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_const=
ant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *=
)(arg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (__builti=
n_constant_p ("604") && ((size_t)(const void *)(("604") + 1) - (size_t)(c=
onst void *)("604") =3D=3D 1) ? (__extension__ ({ register int __result =3D=
(((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsig=
ned char *) (__const char *)("604"))[0]); if (__s1_len > 0 && __result =3D=
=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (arg))=
[1] - ((__const unsigned char *) (__const char *) ("604"))[1]); if (__s1_=
len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) =
(__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) =
("604"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__co=
nst unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char=
*) (__const char *) ("604"))[3]); } } __result; })) : (__extension__ ({ =
__const unsigned char *__s2 =3D (__const unsigned char *) (__const char *=
) ("604"); register int __result =3D (((__const unsigned char *) (__const=
char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (arg))[1] - __s2=
[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const un=
signed char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 &&=
__result =3D=3D 0) __result =3D (((__const unsigned char *) (__const cha=
r *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("6=
04") && ((size_t)(const void *)(("604") + 1) - (size_t)(const void *)("60=
4") =3D=3D 1) && (__s2_len =3D strlen ("604"), __s2_len < 4) ? (__builtin=
_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const =
void *)(arg) =3D=3D 1) ? (__extension__ ({ register int __result =3D (((_=
_const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned c=
har *) (__const char *)("604"))[0]); if (__s2_len > 0 && __result =3D=3D =
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[1] =
- ((__const unsigned char *) (__const char *) ("604"))[1]); if (__s2_len =
> 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__c=
onst char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("60=
4"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (((__const =
unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) =
(__const char *) ("604"))[3]); } } __result; })) : (__extension__ ({ __co=
nst unsigned char *__s1 =3D (__const unsigned char *) (__const char *) (a=
rg); register int __result =3D __s1[0] - ((__const unsigned char *) (__co=
nst char *) ("604"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __resul=
t =3D (__s1[1] - ((__const unsigned char *) (__const char *) ("604"))[1])=
; if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__co=
nst unsigned char *) (__const char *) ("604"))[2]); if (__s2_len > 2 && _=
_result =3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *) (__c=
onst char *) ("604"))[3]); } } __result; }))) : strcmp (arg, "604")))); }=
) =3D=3D 0)
ppc_cpu =3D (01) | (010);
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("403") && (__s1_len =3D strlen (ar=
g), __s2_len =3D strlen ("403"), (!((size_t)(const void *)((arg) + 1) - (=
size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(c=
onst void *)(("403") + 1) - (size_t)(const void *)("403") =3D=3D 1) || __=
s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__const char *) ("403"=
), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant=
_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(a=
rg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (__builtin_c=
onstant_p ("403") && ((size_t)(const void *)(("403") + 1) - (size_t)(cons=
t void *)("403") =3D=3D 1) ? (__extension__ ({ register int __result =3D =
(((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsign=
ed char *) (__const char *)("403"))[0]); if (__s1_len > 0 && __result =3D=
=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (arg))=
[1] - ((__const unsigned char *) (__const char *) ("403"))[1]); if (__s1_=
len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) =
(__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) =
("403"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__co=
nst unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char=
*) (__const char *) ("403"))[3]); } } __result; })) : (__extension__ ({ =
__const unsigned char *__s2 =3D (__const unsigned char *) (__const char *=
) ("403"); register int __result =3D (((__const unsigned char *) (__const=
char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (arg))[1] - __s2=
[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const un=
signed char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 &&=
__result =3D=3D 0) __result =3D (((__const unsigned char *) (__const cha=
r *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("4=
03") && ((size_t)(const void *)(("403") + 1) - (size_t)(const void *)("40=
3") =3D=3D 1) && (__s2_len =3D strlen ("403"), __s2_len < 4) ? (__builtin=
_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const =
void *)(arg) =3D=3D 1) ? (__extension__ ({ register int __result =3D (((_=
_const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned c=
har *) (__const char *)("403"))[0]); if (__s2_len > 0 && __result =3D=3D =
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[1] =
- ((__const unsigned char *) (__const char *) ("403"))[1]); if (__s2_len =
> 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__c=
onst char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("40=
3"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (((__const =
unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) =
(__const char *) ("403"))[3]); } } __result; })) : (__extension__ ({ __co=
nst unsigned char *__s1 =3D (__const unsigned char *) (__const char *) (a=
rg); register int __result =3D __s1[0] - ((__const unsigned char *) (__co=
nst char *) ("403"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __resul=
t =3D (__s1[1] - ((__const unsigned char *) (__const char *) ("403"))[1])=
; if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__co=
nst unsigned char *) (__const char *) ("403"))[2]); if (__s2_len > 2 && _=
_result =3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *) (__c=
onst char *) ("403"))[3]); } } __result; }))) : strcmp (arg, "403")))); }=
) =3D=3D 0
|| __extension__ ({ size_t __s1_len, __s2_len; (__builtin_=
constant_p (arg) && __builtin_constant_p ("405") && (__s1_len =3D strlen =
(arg), __s2_len =3D strlen ("405"), (!((size_t)(const void *)((arg) + 1) =
- (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t=
)(const void *)(("405") + 1) - (size_t)(const void *)("405") =3D=3D 1) ||=
__s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__const char *) ("4=
05"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_const=
ant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *=
)(arg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (__builti=
n_constant_p ("405") && ((size_t)(const void *)(("405") + 1) - (size_t)(c=
onst void *)("405") =3D=3D 1) ? (__extension__ ({ register int __result =3D=
(((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsig=
ned char *) (__const char *)("405"))[0]); if (__s1_len > 0 && __result =3D=
=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (arg))=
[1] - ((__const unsigned char *) (__const char *) ("405"))[1]); if (__s1_=
len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) =
(__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) =
("405"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__co=
nst unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char=
*) (__const char *) ("405"))[3]); } } __result; })) : (__extension__ ({ =
__const unsigned char *__s2 =3D (__const unsigned char *) (__const char *=
) ("405"); register int __result =3D (((__const unsigned char *) (__const=
char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (arg))[1] - __s2=
[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const un=
signed char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 &&=
__result =3D=3D 0) __result =3D (((__const unsigned char *) (__const cha=
r *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("4=
05") && ((size_t)(const void *)(("405") + 1) - (size_t)(const void *)("40=
5") =3D=3D 1) && (__s2_len =3D strlen ("405"), __s2_len < 4) ? (__builtin=
_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const =
void *)(arg) =3D=3D 1) ? (__extension__ ({ register int __result =3D (((_=
_const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned c=
har *) (__const char *)("405"))[0]); if (__s2_len > 0 && __result =3D=3D =
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[1] =
- ((__const unsigned char *) (__const char *) ("405"))[1]); if (__s2_len =
> 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__c=
onst char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("40=
5"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (((__const =
unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) =
(__const char *) ("405"))[3]); } } __result; })) : (__extension__ ({ __co=
nst unsigned char *__s1 =3D (__const unsigned char *) (__const char *) (a=
rg); register int __result =3D __s1[0] - ((__const unsigned char *) (__co=
nst char *) ("405"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __resul=
t =3D (__s1[1] - ((__const unsigned char *) (__const char *) ("405"))[1])=
; if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__co=
nst unsigned char *) (__const char *) ("405"))[2]); if (__s2_len > 2 && _=
_result =3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *) (__c=
onst char *) ("405"))[3]); } } __result; }))) : strcmp (arg, "405")))); }=
) =3D=3D 0)
ppc_cpu =3D (01) | (02000) | (010);
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("7400") && (__s1_len =3D strlen (a=
rg), __s2_len =3D strlen ("7400"), (!((size_t)(const void *)((arg) + 1) -=
(size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)=
(const void *)(("7400") + 1) - (size_t)(const void *)("7400") =3D=3D 1) |=
| __s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__const char *) ("=
7400"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_con=
stant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void=
*)(arg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (__buil=
tin_constant_p ("7400") && ((size_t)(const void *)(("7400") + 1) - (size_=
t)(const void *)("7400") =3D=3D 1) ? (__extension__ ({ register int __res=
ult =3D (((__const unsigned char *) (__const char *) (arg))[0] - ((__cons=
t unsigned char *) (__const char *)("7400"))[0]); if (__s1_len > 0 && __r=
esult =3D=3D 0) { __result =3D (((__const unsigned char *) (__const char =
*) (arg))[1] - ((__const unsigned char *) (__const char *) ("7400"))[1]);=
if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigne=
d char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__cons=
t char *) ("7400"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =
=3D (((__const unsigned char *) (__const char *) (arg))[3] - ((__const un=
signed char *) (__const char *) ("7400"))[3]); } } __result; })) : (__ext=
ension__ ({ __const unsigned char *__s2 =3D (__const unsigned char *) (__=
const char *) ("7400"); register int __result =3D (((__const unsigned cha=
r *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result =
=3D=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (ar=
g))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D =
(((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__=
s1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *)=
(__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_c=
onstant_p ("7400") && ((size_t)(const void *)(("7400") + 1) - (size_t)(co=
nst void *)("7400") =3D=3D 1) && (__s2_len =3D strlen ("7400"), __s2_len =
< 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) =
- (size_t)(const void *)(arg) =3D=3D 1) ? (__extension__ ({ register int =
__result =3D (((__const unsigned char *) (__const char *) (arg))[0] - ((_=
_const unsigned char *) (__const char *)("7400"))[0]); if (__s2_len > 0 &=
& __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__const =
char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("7400"))=
[1]); if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (((__const un=
signed char *) (__const char *) (arg))[2] - ((__const unsigned char *) (_=
_const char *) ("7400"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __re=
sult =3D (((__const unsigned char *) (__const char *) (arg))[3] - ((__con=
st unsigned char *) (__const char *) ("7400"))[3]); } } __result; })) : (=
__extension__ ({ __const unsigned char *__s1 =3D (__const unsigned char *=
) (__const char *) (arg); register int __result =3D __s1[0] - ((__const u=
nsigned char *) (__const char *) ("7400"))[0]; if (__s2_len > 0 && __resu=
lt =3D=3D 0) { __result =3D (__s1[1] - ((__const unsigned char *) (__cons=
t char *) ("7400"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __resul=
t =3D (__s1[2] - ((__const unsigned char *) (__const char *) ("7400"))[2]=
); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (__s1[3] - ((__con=
st unsigned char *) (__const char *) ("7400"))[3]); } } __result; }))) : =
strcmp (arg, "7400")))); }) =3D=3D 0
|| __extension__ ({ size_t __s1_len, __s2_len; (__builtin_=
constant_p (arg) && __builtin_constant_p ("7410") && (__s1_len =3D strlen=
(arg), __s2_len =3D strlen ("7410"), (!((size_t)(const void *)((arg) + 1=
) - (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size=
_t)(const void *)(("7410") + 1) - (size_t)(const void *)("7410") =3D=3D 1=
) || __s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__const char *)=
("7410"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_=
constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const v=
oid *)(arg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (__b=
uiltin_constant_p ("7410") && ((size_t)(const void *)(("7410") + 1) - (si=
ze_t)(const void *)("7410") =3D=3D 1) ? (__extension__ ({ register int __=
result =3D (((__const unsigned char *) (__const char *) (arg))[0] - ((__c=
onst unsigned char *) (__const char *)("7410"))[0]); if (__s1_len > 0 && =
__result =3D=3D 0) { __result =3D (((__const unsigned char *) (__const ch=
ar *) (arg))[1] - ((__const unsigned char *) (__const char *) ("7410"))[1=
]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const unsi=
gned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__c=
onst char *) ("7410"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __resu=
lt =3D (((__const unsigned char *) (__const char *) (arg))[3] - ((__const=
unsigned char *) (__const char *) ("7410"))[3]); } } __result; })) : (__=
extension__ ({ __const unsigned char *__s2 =3D (__const unsigned char *) =
(__const char *) ("7410"); register int __result =3D (((__const unsigned =
char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __resu=
lt =3D=3D 0) { __result =3D (((__const unsigned char *) (__const char *) =
(arg))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D=
(((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (_=
_s1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *=
) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_=
constant_p ("7410") && ((size_t)(const void *)(("7410") + 1) - (size_t)(c=
onst void *)("7410") =3D=3D 1) && (__s2_len =3D strlen ("7410"), __s2_len=
< 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1)=
- (size_t)(const void *)(arg) =3D=3D 1) ? (__extension__ ({ register int=
__result =3D (((__const unsigned char *) (__const char *) (arg))[0] - ((=
__const unsigned char *) (__const char *)("7410"))[0]); if (__s2_len > 0 =
&& __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__const=
char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("7410")=
)[1]); if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (((__const u=
nsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (=
__const char *) ("7410"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __r=
esult =3D (((__const unsigned char *) (__const char *) (arg))[3] - ((__co=
nst unsigned char *) (__const char *) ("7410"))[3]); } } __result; })) : =
(__extension__ ({ __const unsigned char *__s1 =3D (__const unsigned char =
*) (__const char *) (arg); register int __result =3D __s1[0] - ((__const =
unsigned char *) (__const char *) ("7410"))[0]; if (__s2_len > 0 && __res=
ult =3D=3D 0) { __result =3D (__s1[1] - ((__const unsigned char *) (__con=
st char *) ("7410"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __resu=
lt =3D (__s1[2] - ((__const unsigned char *) (__const char *) ("7410"))[2=
]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (__s1[3] - ((__co=
nst unsigned char *) (__const char *) ("7410"))[3]); } } __result; }))) :=
strcmp (arg, "7410")))); }) =3D=3D 0
|| __extension__ ({ size_t __s1_len, __s2_len; (__builtin_=
constant_p (arg) && __builtin_constant_p ("7450") && (__s1_len =3D strlen=
(arg), __s2_len =3D strlen ("7450"), (!((size_t)(const void *)((arg) + 1=
) - (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size=
_t)(const void *)(("7450") + 1) - (size_t)(const void *)("7450") =3D=3D 1=
) || __s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__const char *)=
("7450"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_=
constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const v=
oid *)(arg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (__b=
uiltin_constant_p ("7450") && ((size_t)(const void *)(("7450") + 1) - (si=
ze_t)(const void *)("7450") =3D=3D 1) ? (__extension__ ({ register int __=
result =3D (((__const unsigned char *) (__const char *) (arg))[0] - ((__c=
onst unsigned char *) (__const char *)("7450"))[0]); if (__s1_len > 0 && =
__result =3D=3D 0) { __result =3D (((__const unsigned char *) (__const ch=
ar *) (arg))[1] - ((__const unsigned char *) (__const char *) ("7450"))[1=
]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const unsi=
gned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__c=
onst char *) ("7450"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __resu=
lt =3D (((__const unsigned char *) (__const char *) (arg))[3] - ((__const=
unsigned char *) (__const char *) ("7450"))[3]); } } __result; })) : (__=
extension__ ({ __const unsigned char *__s2 =3D (__const unsigned char *) =
(__const char *) ("7450"); register int __result =3D (((__const unsigned =
char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __resu=
lt =3D=3D 0) { __result =3D (((__const unsigned char *) (__const char *) =
(arg))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D=
(((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (_=
_s1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *=
) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_=
constant_p ("7450") && ((size_t)(const void *)(("7450") + 1) - (size_t)(c=
onst void *)("7450") =3D=3D 1) && (__s2_len =3D strlen ("7450"), __s2_len=
< 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1)=
- (size_t)(const void *)(arg) =3D=3D 1) ? (__extension__ ({ register int=
__result =3D (((__const unsigned char *) (__const char *) (arg))[0] - ((=
__const unsigned char *) (__const char *)("7450"))[0]); if (__s2_len > 0 =
&& __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__const=
char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("7450")=
)[1]); if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (((__const u=
nsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (=
__const char *) ("7450"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __r=
esult =3D (((__const unsigned char *) (__const char *) (arg))[3] - ((__co=
nst unsigned char *) (__const char *) ("7450"))[3]); } } __result; })) : =
(__extension__ ({ __const unsigned char *__s1 =3D (__const unsigned char =
*) (__const char *) (arg); register int __result =3D __s1[0] - ((__const =
unsigned char *) (__const char *) ("7450"))[0]; if (__s2_len > 0 && __res=
ult =3D=3D 0) { __result =3D (__s1[1] - ((__const unsigned char *) (__con=
st char *) ("7450"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __resu=
lt =3D (__s1[2] - ((__const unsigned char *) (__const char *) ("7450"))[2=
]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (__s1[3] - ((__co=
nst unsigned char *) (__const char *) ("7450"))[3]); } } __result; }))) :=
strcmp (arg, "7450")))); }) =3D=3D 0
|| __extension__ ({ size_t __s1_len, __s2_len; (__builtin_=
constant_p (arg) && __builtin_constant_p ("7455") && (__s1_len =3D strlen=
(arg), __s2_len =3D strlen ("7455"), (!((size_t)(const void *)((arg) + 1=
) - (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size=
_t)(const void *)(("7455") + 1) - (size_t)(const void *)("7455") =3D=3D 1=
) || __s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__const char *)=
("7455"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_=
constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const v=
oid *)(arg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (__b=
uiltin_constant_p ("7455") && ((size_t)(const void *)(("7455") + 1) - (si=
ze_t)(const void *)("7455") =3D=3D 1) ? (__extension__ ({ register int __=
result =3D (((__const unsigned char *) (__const char *) (arg))[0] - ((__c=
onst unsigned char *) (__const char *)("7455"))[0]); if (__s1_len > 0 && =
__result =3D=3D 0) { __result =3D (((__const unsigned char *) (__const ch=
ar *) (arg))[1] - ((__const unsigned char *) (__const char *) ("7455"))[1=
]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const unsi=
gned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__c=
onst char *) ("7455"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __resu=
lt =3D (((__const unsigned char *) (__const char *) (arg))[3] - ((__const=
unsigned char *) (__const char *) ("7455"))[3]); } } __result; })) : (__=
extension__ ({ __const unsigned char *__s2 =3D (__const unsigned char *) =
(__const char *) ("7455"); register int __result =3D (((__const unsigned =
char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __resu=
lt =3D=3D 0) { __result =3D (((__const unsigned char *) (__const char *) =
(arg))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D=
(((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (_=
_s1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *=
) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_=
constant_p ("7455") && ((size_t)(const void *)(("7455") + 1) - (size_t)(c=
onst void *)("7455") =3D=3D 1) && (__s2_len =3D strlen ("7455"), __s2_len=
< 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1)=
- (size_t)(const void *)(arg) =3D=3D 1) ? (__extension__ ({ register int=
__result =3D (((__const unsigned char *) (__const char *) (arg))[0] - ((=
__const unsigned char *) (__const char *)("7455"))[0]); if (__s2_len > 0 =
&& __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__const=
char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("7455")=
)[1]); if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (((__const u=
nsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (=
__const char *) ("7455"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __r=
esult =3D (((__const unsigned char *) (__const char *) (arg))[3] - ((__co=
nst unsigned char *) (__const char *) ("7455"))[3]); } } __result; })) : =
(__extension__ ({ __const unsigned char *__s1 =3D (__const unsigned char =
*) (__const char *) (arg); register int __result =3D __s1[0] - ((__const =
unsigned char *) (__const char *) ("7455"))[0]; if (__s2_len > 0 && __res=
ult =3D=3D 0) { __result =3D (__s1[1] - ((__const unsigned char *) (__con=
st char *) ("7455"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __resu=
lt =3D (__s1[2] - ((__const unsigned char *) (__const char *) ("7455"))[2=
]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (__s1[3] - ((__co=
nst unsigned char *) (__const char *) ("7455"))[3]); } } __result; }))) :=
strcmp (arg, "7455")))); }) =3D=3D 0)
ppc_cpu =3D (01) | (01000) | (010);
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("altivec") && (__s1_len =3D strlen=
(arg), __s2_len =3D strlen ("altivec"), (!((size_t)(const void *)((arg) =
+ 1) - (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((s=
ize_t)(const void *)(("altivec") + 1) - (size_t)(const void *)("altivec")=
=3D=3D 1) || __s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__cons=
t char *) ("altivec"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) :=
(__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (siz=
e_t)(const void *)(arg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len=
< 4) ? (__builtin_constant_p ("altivec") && ((size_t)(const void *)(("al=
tivec") + 1) - (size_t)(const void *)("altivec") =3D=3D 1) ? (__extension=
__ ({ register int __result =3D (((__const unsigned char *) (__const char=
*) (arg))[0] - ((__const unsigned char *) (__const char *)("altivec"))[0=
]); if (__s1_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsi=
gned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__c=
onst char *) ("altivec"))[1]); if (__s1_len > 1 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (arg))[2] - ((__=
const unsigned char *) (__const char *) ("altivec"))[2]); if (__s1_len > =
2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) (__const=
char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("altive=
c"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__=
s2 =3D (__const unsigned char *) (__const char *) ("altivec"); register i=
nt __result =3D (((__const unsigned char *) (__const char *) (arg))[0] - =
__s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { __result =3D (((__cons=
t unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > =
1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__con=
st char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result =3D=3D 0) _=
_result =3D (((__const unsigned char *) (__const char *) (arg))[3] - __s2=
[3]); } } __result; }))) : (__builtin_constant_p ("altivec") && ((size_t)=
(const void *)(("altivec") + 1) - (size_t)(const void *)("altivec") =3D=3D=
1) && (__s2_len =3D strlen ("altivec"), __s2_len < 4) ? (__builtin_const=
ant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *=
)(arg) =3D=3D 1) ? (__extension__ ({ register int __result =3D (((__const=
unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *)=
(__const char *)("altivec"))[0]); if (__s2_len > 0 && __result =3D=3D 0)=
{ __result =3D (((__const unsigned char *) (__const char *) (arg))[1] - =
((__const unsigned char *) (__const char *) ("altivec"))[1]); if (__s2_le=
n > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (_=
_const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("=
altivec"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (((__=
const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned ch=
ar *) (__const char *) ("altivec"))[3]); } } __result; })) : (__extension=
__ ({ __const unsigned char *__s1 =3D (__const unsigned char *) (__const =
char *) (arg); register int __result =3D __s1[0] - ((__const unsigned cha=
r *) (__const char *) ("altivec"))[0]; if (__s2_len > 0 && __result =3D=3D=
0) { __result =3D (__s1[1] - ((__const unsigned char *) (__const char *)=
("altivec"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __result =3D =
(__s1[2] - ((__const unsigned char *) (__const char *) ("altivec"))[2]); =
if (__s2_len > 2 && __result =3D=3D 0) __result =3D (__s1[3] - ((__const =
unsigned char *) (__const char *) ("altivec"))[3]); } } __result; }))) : =
strcmp (arg, "altivec")))); }) =3D=3D 0)
{
if (ppc_cpu =3D=3D 0)
ppc_cpu =3D (01) | (01000);
else
ppc_cpu |=3D (01000);
}
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("ppc64") && (__s1_len =3D strlen (=
arg), __s2_len =3D strlen ("ppc64"), (!((size_t)(const void *)((arg) + 1)=
- (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_=
t)(const void *)(("ppc64") + 1) - (size_t)(const void *)("ppc64") =3D=3D =
1) || __s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__const char *=
) ("ppc64"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builti=
n_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const=
void *)(arg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (_=
_builtin_constant_p ("ppc64") && ((size_t)(const void *)(("ppc64") + 1) -=
(size_t)(const void *)("ppc64") =3D=3D 1) ? (__extension__ ({ register i=
nt __result =3D (((__const unsigned char *) (__const char *) (arg))[0] - =
((__const unsigned char *) (__const char *)("ppc64"))[0]); if (__s1_len >=
0 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__co=
nst char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("ppc=
64"))[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__con=
st unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char =
*) (__const char *) ("ppc64"))[2]); if (__s1_len > 2 && __result =3D=3D 0=
) __result =3D (((__const unsigned char *) (__const char *) (arg))[3] - (=
(__const unsigned char *) (__const char *) ("ppc64"))[3]); } } __result; =
})) : (__extension__ ({ __const unsigned char *__s2 =3D (__const unsigned=
char *) (__const char *) ("ppc64"); register int __result =3D (((__const=
unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0=
&& __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__cons=
t char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0) { =
__result =3D (((__const unsigned char *) (__const char *) (arg))[2] - __s=
2[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const uns=
igned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) :=
(__builtin_constant_p ("ppc64") && ((size_t)(const void *)(("ppc64") + 1=
) - (size_t)(const void *)("ppc64") =3D=3D 1) && (__s2_len =3D strlen ("p=
pc64"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const vo=
id *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) ? (__extension__=
({ register int __result =3D (((__const unsigned char *) (__const char *=
) (arg))[0] - ((__const unsigned char *) (__const char *)("ppc64"))[0]); =
if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned=
char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const=
char *) ("ppc64"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __resul=
t =3D (((__const unsigned char *) (__const char *) (arg))[2] - ((__const =
unsigned char *) (__const char *) ("ppc64"))[2]); if (__s2_len > 2 && __r=
esult =3D=3D 0) __result =3D (((__const unsigned char *) (__const char *)=
(arg))[3] - ((__const unsigned char *) (__const char *) ("ppc64"))[3]); =
} } __result; })) : (__extension__ ({ __const unsigned char *__s1 =3D (__=
const unsigned char *) (__const char *) (arg); register int __result =3D =
__s1[0] - ((__const unsigned char *) (__const char *) ("ppc64"))[0]; if (=
__s2_len > 0 && __result =3D=3D 0) { __result =3D (__s1[1] - ((__const un=
signed char *) (__const char *) ("ppc64"))[1]); if (__s2_len > 1 && __res=
ult =3D=3D 0) { __result =3D (__s1[2] - ((__const unsigned char *) (__con=
st char *) ("ppc64"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __resul=
t =3D (__s1[3] - ((__const unsigned char *) (__const char *) ("ppc64"))[3=
]); } } __result; }))) : strcmp (arg, "ppc64")))); }) =3D=3D 0 || __exten=
sion__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __bui=
ltin_constant_p ("620") && (__s1_len =3D strlen (arg), __s2_len =3D strle=
n ("620"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(=
arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(const void *)(("620") +=
1) - (size_t)(const void *)("620") =3D=3D 1) || __s2_len >=3D 4)) ? memc=
mp ((__const char *) (arg), (__const char *) ("620"), (__s1_len < __s2_le=
n ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(=
const void *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) && (__s1=
_len =3D strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("620") && (=
(size_t)(const void *)(("620") + 1) - (size_t)(const void *)("620") =3D=3D=
1) ? (__extension__ ({ register int __result =3D (((__const unsigned cha=
r *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const cha=
r *)("620"))[0]); if (__s1_len > 0 && __result =3D=3D 0) { __result =3D (=
((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigne=
d char *) (__const char *) ("620"))[1]); if (__s1_len > 1 && __result =3D=
=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (arg))=
[2] - ((__const unsigned char *) (__const char *) ("620"))[2]); if (__s1_=
len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) (_=
_const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("=
620"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *=
__s2 =3D (__const unsigned char *) (__const char *) ("620"); register int=
__result =3D (((__const unsigned char *) (__const char *) (arg))[0] - __=
s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { __result =3D (((__const =
unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 =
&& __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__const=
char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result =3D=3D 0) __r=
esult =3D (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3=
]); } } __result; }))) : (__builtin_constant_p ("620") && ((size_t)(const=
void *)(("620") + 1) - (size_t)(const void *)("620") =3D=3D 1) && (__s2_=
len =3D strlen ("620"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((=
size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) =
? (__extension__ ({ register int __result =3D (((__const unsigned char *)=
(__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)=
("620"))[0]); if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (((__=
const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned ch=
ar *) (__const char *) ("620"))[1]); if (__s2_len > 1 && __result =3D=3D =
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[2] =
- ((__const unsigned char *) (__const char *) ("620"))[2]); if (__s2_len =
> 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) (__con=
st char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("620"=
))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1=
=3D (__const unsigned char *) (__const char *) (arg); register int __res=
ult =3D __s1[0] - ((__const unsigned char *) (__const char *) ("620"))[0]=
; if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (__s1[1] - ((__co=
nst unsigned char *) (__const char *) ("620"))[1]); if (__s2_len > 1 && _=
_result =3D=3D 0) { __result =3D (__s1[2] - ((__const unsigned char *) (_=
_const char *) ("620"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __res=
ult =3D (__s1[3] - ((__const unsigned char *) (__const char *) ("620"))[3=
]); } } __result; }))) : strcmp (arg, "620")))); }) =3D=3D 0)
{
ppc_cpu =3D (01) | (020);
}
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("ppc64bridge") && (__s1_len =3D st=
rlen (arg), __s2_len =3D strlen ("ppc64bridge"), (!((size_t)(const void *=
)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) =
&& (!((size_t)(const void *)(("ppc64bridge") + 1) - (size_t)(const void *=
)("ppc64bridge") =3D=3D 1) || __s2_len >=3D 4)) ? memcmp ((__const char *=
) (arg), (__const char *) ("ppc64bridge"), (__s1_len < __s2_len ? __s1_le=
n : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void =
*)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) && (__s1_len =3D st=
rlen (arg), __s1_len < 4) ? (__builtin_constant_p ("ppc64bridge") && ((si=
ze_t)(const void *)(("ppc64bridge") + 1) - (size_t)(const void *)("ppc64b=
ridge") =3D=3D 1) ? (__extension__ ({ register int __result =3D (((__cons=
t unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *=
) (__const char *)("ppc64bridge"))[0]); if (__s1_len > 0 && __result =3D=3D=
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[1]=
- ((__const unsigned char *) (__const char *) ("ppc64bridge"))[1]); if (=
__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned cha=
r *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const cha=
r *) ("ppc64bridge"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __resul=
t =3D (((__const unsigned char *) (__const char *) (arg))[3] - ((__const =
unsigned char *) (__const char *) ("ppc64bridge"))[3]); } } __result; }))=
: (__extension__ ({ __const unsigned char *__s2 =3D (__const unsigned ch=
ar *) (__const char *) ("ppc64bridge"); register int __result =3D (((__co=
nst unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len =
> 0 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__c=
onst char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0)=
{ __result =3D (((__const unsigned char *) (__const char *) (arg))[2] - =
__s2[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const =
unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))=
) : (__builtin_constant_p ("ppc64bridge") && ((size_t)(const void *)(("pp=
c64bridge") + 1) - (size_t)(const void *)("ppc64bridge") =3D=3D 1) && (__=
s2_len =3D strlen ("ppc64bridge"), __s2_len < 4) ? (__builtin_constant_p =
(arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg)=
=3D=3D 1) ? (__extension__ ({ register int __result =3D (((__const unsig=
ned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__co=
nst char *)("ppc64bridge"))[0]); if (__s2_len > 0 && __result =3D=3D 0) {=
__result =3D (((__const unsigned char *) (__const char *) (arg))[1] - ((=
__const unsigned char *) (__const char *) ("ppc64bridge"))[1]); if (__s2_=
len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) =
(__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) =
("ppc64bridge"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D=
(((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsig=
ned char *) (__const char *) ("ppc64bridge"))[3]); } } __result; })) : (_=
_extension__ ({ __const unsigned char *__s1 =3D (__const unsigned char *)=
(__const char *) (arg); register int __result =3D __s1[0] - ((__const un=
signed char *) (__const char *) ("ppc64bridge"))[0]; if (__s2_len > 0 && =
__result =3D=3D 0) { __result =3D (__s1[1] - ((__const unsigned char *) (=
__const char *) ("ppc64bridge"))[1]); if (__s2_len > 1 && __result =3D=3D=
0) { __result =3D (__s1[2] - ((__const unsigned char *) (__const char *)=
("ppc64bridge"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D=
(__s1[3] - ((__const unsigned char *) (__const char *) ("ppc64bridge"))[=
3]); } } __result; }))) : strcmp (arg, "ppc64bridge")))); }) =3D=3D 0)
{
ppc_cpu =3D (01) | (0400) | (020);
}
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("booke") && (__s1_len =3D strlen (=
arg), __s2_len =3D strlen ("booke"), (!((size_t)(const void *)((arg) + 1)=
- (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_=
t)(const void *)(("booke") + 1) - (size_t)(const void *)("booke") =3D=3D =
1) || __s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__const char *=
) ("booke"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builti=
n_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const=
void *)(arg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (_=
_builtin_constant_p ("booke") && ((size_t)(const void *)(("booke") + 1) -=
(size_t)(const void *)("booke") =3D=3D 1) ? (__extension__ ({ register i=
nt __result =3D (((__const unsigned char *) (__const char *) (arg))[0] - =
((__const unsigned char *) (__const char *)("booke"))[0]); if (__s1_len >=
0 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__co=
nst char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("boo=
ke"))[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__con=
st unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char =
*) (__const char *) ("booke"))[2]); if (__s1_len > 2 && __result =3D=3D 0=
) __result =3D (((__const unsigned char *) (__const char *) (arg))[3] - (=
(__const unsigned char *) (__const char *) ("booke"))[3]); } } __result; =
})) : (__extension__ ({ __const unsigned char *__s2 =3D (__const unsigned=
char *) (__const char *) ("booke"); register int __result =3D (((__const=
unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0=
&& __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__cons=
t char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0) { =
__result =3D (((__const unsigned char *) (__const char *) (arg))[2] - __s=
2[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const uns=
igned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) :=
(__builtin_constant_p ("booke") && ((size_t)(const void *)(("booke") + 1=
) - (size_t)(const void *)("booke") =3D=3D 1) && (__s2_len =3D strlen ("b=
ooke"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const vo=
id *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) ? (__extension__=
({ register int __result =3D (((__const unsigned char *) (__const char *=
) (arg))[0] - ((__const unsigned char *) (__const char *)("booke"))[0]); =
if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned=
char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const=
char *) ("booke"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __resul=
t =3D (((__const unsigned char *) (__const char *) (arg))[2] - ((__const =
unsigned char *) (__const char *) ("booke"))[2]); if (__s2_len > 2 && __r=
esult =3D=3D 0) __result =3D (((__const unsigned char *) (__const char *)=
(arg))[3] - ((__const unsigned char *) (__const char *) ("booke"))[3]); =
} } __result; })) : (__extension__ ({ __const unsigned char *__s1 =3D (__=
const unsigned char *) (__const char *) (arg); register int __result =3D =
__s1[0] - ((__const unsigned char *) (__const char *) ("booke"))[0]; if (=
__s2_len > 0 && __result =3D=3D 0) { __result =3D (__s1[1] - ((__const un=
signed char *) (__const char *) ("booke"))[1]); if (__s2_len > 1 && __res=
ult =3D=3D 0) { __result =3D (__s1[2] - ((__const unsigned char *) (__con=
st char *) ("booke"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __resul=
t =3D (__s1[3] - ((__const unsigned char *) (__const char *) ("booke"))[3=
]); } } __result; }))) : strcmp (arg, "booke")))); }) =3D=3D 0 || __exten=
sion__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __bui=
ltin_constant_p ("booke32") && (__s1_len =3D strlen (arg), __s2_len =3D s=
trlen ("booke32"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const =
void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(const void *)((=
"booke32") + 1) - (size_t)(const void *)("booke32") =3D=3D 1) || __s2_len=
>=3D 4)) ? memcmp ((__const char *) (arg), (__const char *) ("booke32"),=
(__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p=
(arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg=
) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (__builtin_con=
stant_p ("booke32") && ((size_t)(const void *)(("booke32") + 1) - (size_t=
)(const void *)("booke32") =3D=3D 1) ? (__extension__ ({ register int __r=
esult =3D (((__const unsigned char *) (__const char *) (arg))[0] - ((__co=
nst unsigned char *) (__const char *)("booke32"))[0]); if (__s1_len > 0 &=
& __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__const =
char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("booke32=
"))[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const=
unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *)=
(__const char *) ("booke32"))[2]); if (__s1_len > 2 && __result =3D=3D 0=
) __result =3D (((__const unsigned char *) (__const char *) (arg))[3] - (=
(__const unsigned char *) (__const char *) ("booke32"))[3]); } } __result=
; })) : (__extension__ ({ __const unsigned char *__s2 =3D (__const unsign=
ed char *) (__const char *) ("booke32"); register int __result =3D (((__c=
onst unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len=
> 0 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__=
const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0=
) { __result =3D (((__const unsigned char *) (__const char *) (arg))[2] -=
__s2[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const=
unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; })=
)) : (__builtin_constant_p ("booke32") && ((size_t)(const void *)(("booke=
32") + 1) - (size_t)(const void *)("booke32") =3D=3D 1) && (__s2_len =3D =
strlen ("booke32"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size=
_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) ? (_=
_extension__ ({ register int __result =3D (((__const unsigned char *) (__=
const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("bo=
oke32"))[0]); if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (((__=
const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned ch=
ar *) (__const char *) ("booke32"))[1]); if (__s2_len > 1 && __result =3D=
=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (arg))=
[2] - ((__const unsigned char *) (__const char *) ("booke32"))[2]); if (_=
_s2_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *=
) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *=
) ("booke32"))[3]); } } __result; })) : (__extension__ ({ __const unsigne=
d char *__s1 =3D (__const unsigned char *) (__const char *) (arg); regist=
er int __result =3D __s1[0] - ((__const unsigned char *) (__const char *)=
("booke32"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (=
__s1[1] - ((__const unsigned char *) (__const char *) ("booke32"))[1]); i=
f (__s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__const=
unsigned char *) (__const char *) ("booke32"))[2]); if (__s2_len > 2 && =
__result =3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *) (__=
const char *) ("booke32"))[3]); } } __result; }))) : strcmp (arg, "booke3=
2")))); }) =3D=3D 0)
ppc_cpu =3D (01) | (04000) | (010);
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("booke64") && (__s1_len =3D strlen=
(arg), __s2_len =3D strlen ("booke64"), (!((size_t)(const void *)((arg) =
+ 1) - (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((s=
ize_t)(const void *)(("booke64") + 1) - (size_t)(const void *)("booke64")=
=3D=3D 1) || __s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__cons=
t char *) ("booke64"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) :=
(__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (siz=
e_t)(const void *)(arg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len=
< 4) ? (__builtin_constant_p ("booke64") && ((size_t)(const void *)(("bo=
oke64") + 1) - (size_t)(const void *)("booke64") =3D=3D 1) ? (__extension=
__ ({ register int __result =3D (((__const unsigned char *) (__const char=
*) (arg))[0] - ((__const unsigned char *) (__const char *)("booke64"))[0=
]); if (__s1_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsi=
gned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__c=
onst char *) ("booke64"))[1]); if (__s1_len > 1 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (arg))[2] - ((__=
const unsigned char *) (__const char *) ("booke64"))[2]); if (__s1_len > =
2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) (__const=
char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("booke6=
4"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__=
s2 =3D (__const unsigned char *) (__const char *) ("booke64"); register i=
nt __result =3D (((__const unsigned char *) (__const char *) (arg))[0] - =
__s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { __result =3D (((__cons=
t unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > =
1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__con=
st char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result =3D=3D 0) _=
_result =3D (((__const unsigned char *) (__const char *) (arg))[3] - __s2=
[3]); } } __result; }))) : (__builtin_constant_p ("booke64") && ((size_t)=
(const void *)(("booke64") + 1) - (size_t)(const void *)("booke64") =3D=3D=
1) && (__s2_len =3D strlen ("booke64"), __s2_len < 4) ? (__builtin_const=
ant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *=
)(arg) =3D=3D 1) ? (__extension__ ({ register int __result =3D (((__const=
unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *)=
(__const char *)("booke64"))[0]); if (__s2_len > 0 && __result =3D=3D 0)=
{ __result =3D (((__const unsigned char *) (__const char *) (arg))[1] - =
((__const unsigned char *) (__const char *) ("booke64"))[1]); if (__s2_le=
n > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (_=
_const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("=
booke64"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (((__=
const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned ch=
ar *) (__const char *) ("booke64"))[3]); } } __result; })) : (__extension=
__ ({ __const unsigned char *__s1 =3D (__const unsigned char *) (__const =
char *) (arg); register int __result =3D __s1[0] - ((__const unsigned cha=
r *) (__const char *) ("booke64"))[0]; if (__s2_len > 0 && __result =3D=3D=
0) { __result =3D (__s1[1] - ((__const unsigned char *) (__const char *)=
("booke64"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __result =3D =
(__s1[2] - ((__const unsigned char *) (__const char *) ("booke64"))[2]); =
if (__s2_len > 2 && __result =3D=3D 0) __result =3D (__s1[3] - ((__const =
unsigned char *) (__const char *) ("booke64"))[3]); } } __result; }))) : =
strcmp (arg, "booke64")))); }) =3D=3D 0)
{
ppc_cpu =3D (01) | (04000) |
(010000) | (020);
}
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("power4") && (__s1_len =3D strlen =
(arg), __s2_len =3D strlen ("power4"), (!((size_t)(const void *)((arg) + =
1) - (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((siz=
e_t)(const void *)(("power4") + 1) - (size_t)(const void *)("power4") =3D=
=3D 1) || __s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__const ch=
ar *) ("power4"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__b=
uiltin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(=
const void *)(arg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4)=
? (__builtin_constant_p ("power4") && ((size_t)(const void *)(("power4")=
+ 1) - (size_t)(const void *)("power4") =3D=3D 1) ? (__extension__ ({ re=
gister int __result =3D (((__const unsigned char *) (__const char *) (arg=
))[0] - ((__const unsigned char *) (__const char *)("power4"))[0]); if (_=
_s1_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned char=
*) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char=
*) ("power4"))[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D=
(((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsig=
ned char *) (__const char *) ("power4"))[2]); if (__s1_len > 2 && __resul=
t =3D=3D 0) __result =3D (((__const unsigned char *) (__const char *) (ar=
g))[3] - ((__const unsigned char *) (__const char *) ("power4"))[3]); } }=
__result; })) : (__extension__ ({ __const unsigned char *__s2 =3D (__con=
st unsigned char *) (__const char *) ("power4"); register int __result =3D=
(((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (_=
_s1_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned char=
*) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=
=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (arg))=
[2] - __s2[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__=
const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __resul=
t; }))) : (__builtin_constant_p ("power4") && ((size_t)(const void *)(("p=
ower4") + 1) - (size_t)(const void *)("power4") =3D=3D 1) && (__s2_len =3D=
strlen ("power4"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size=
_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) ? (_=
_extension__ ({ register int __result =3D (((__const unsigned char *) (__=
const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("po=
wer4"))[0]); if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (((__c=
onst unsigned char *) (__const char *) (arg))[1] - ((__const unsigned cha=
r *) (__const char *) ("power4"))[1]); if (__s2_len > 1 && __result =3D=3D=
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[2]=
- ((__const unsigned char *) (__const char *) ("power4"))[2]); if (__s2_=
len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) (_=
_const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("=
power4"))[3]); } } __result; })) : (__extension__ ({ __const unsigned cha=
r *__s1 =3D (__const unsigned char *) (__const char *) (arg); register in=
t __result =3D __s1[0] - ((__const unsigned char *) (__const char *) ("po=
wer4"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (__s1[1=
] - ((__const unsigned char *) (__const char *) ("power4"))[1]); if (__s2=
_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__const unsign=
ed char *) (__const char *) ("power4"))[2]); if (__s2_len > 2 && __result=
=3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *) (__const ch=
ar *) ("power4"))[3]); } } __result; }))) : strcmp (arg, "power4")))); })=
=3D=3D 0)
{
ppc_cpu =3D (01) | (020) | (020000);
}
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("com") && (__s1_len =3D strlen (ar=
g), __s2_len =3D strlen ("com"), (!((size_t)(const void *)((arg) + 1) - (=
size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(c=
onst void *)(("com") + 1) - (size_t)(const void *)("com") =3D=3D 1) || __=
s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__const char *) ("com"=
), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant=
_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(a=
rg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (__builtin_c=
onstant_p ("com") && ((size_t)(const void *)(("com") + 1) - (size_t)(cons=
t void *)("com") =3D=3D 1) ? (__extension__ ({ register int __result =3D =
(((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsign=
ed char *) (__const char *)("com"))[0]); if (__s1_len > 0 && __result =3D=
=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (arg))=
[1] - ((__const unsigned char *) (__const char *) ("com"))[1]); if (__s1_=
len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) =
(__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) =
("com"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__co=
nst unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char=
*) (__const char *) ("com"))[3]); } } __result; })) : (__extension__ ({ =
__const unsigned char *__s2 =3D (__const unsigned char *) (__const char *=
) ("com"); register int __result =3D (((__const unsigned char *) (__const=
char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (arg))[1] - __s2=
[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const un=
signed char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 &&=
__result =3D=3D 0) __result =3D (((__const unsigned char *) (__const cha=
r *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("c=
om") && ((size_t)(const void *)(("com") + 1) - (size_t)(const void *)("co=
m") =3D=3D 1) && (__s2_len =3D strlen ("com"), __s2_len < 4) ? (__builtin=
_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const =
void *)(arg) =3D=3D 1) ? (__extension__ ({ register int __result =3D (((_=
_const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned c=
har *) (__const char *)("com"))[0]); if (__s2_len > 0 && __result =3D=3D =
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[1] =
- ((__const unsigned char *) (__const char *) ("com"))[1]); if (__s2_len =
> 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__c=
onst char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("co=
m"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (((__const =
unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) =
(__const char *) ("com"))[3]); } } __result; })) : (__extension__ ({ __co=
nst unsigned char *__s1 =3D (__const unsigned char *) (__const char *) (a=
rg); register int __result =3D __s1[0] - ((__const unsigned char *) (__co=
nst char *) ("com"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __resul=
t =3D (__s1[1] - ((__const unsigned char *) (__const char *) ("com"))[1])=
; if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__co=
nst unsigned char *) (__const char *) ("com"))[2]); if (__s2_len > 2 && _=
_result =3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *) (__c=
onst char *) ("com"))[3]); } } __result; }))) : strcmp (arg, "com")))); }=
) =3D=3D 0)
ppc_cpu =3D (0100) | (010);
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("any") && (__s1_len =3D strlen (ar=
g), __s2_len =3D strlen ("any"), (!((size_t)(const void *)((arg) + 1) - (=
size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(c=
onst void *)(("any") + 1) - (size_t)(const void *)("any") =3D=3D 1) || __=
s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__const char *) ("any"=
), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant=
_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(a=
rg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (__builtin_c=
onstant_p ("any") && ((size_t)(const void *)(("any") + 1) - (size_t)(cons=
t void *)("any") =3D=3D 1) ? (__extension__ ({ register int __result =3D =
(((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsign=
ed char *) (__const char *)("any"))[0]); if (__s1_len > 0 && __result =3D=
=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (arg))=
[1] - ((__const unsigned char *) (__const char *) ("any"))[1]); if (__s1_=
len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) =
(__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) =
("any"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__co=
nst unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char=
*) (__const char *) ("any"))[3]); } } __result; })) : (__extension__ ({ =
__const unsigned char *__s2 =3D (__const unsigned char *) (__const char *=
) ("any"); register int __result =3D (((__const unsigned char *) (__const=
char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (arg))[1] - __s2=
[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const un=
signed char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 &&=
__result =3D=3D 0) __result =3D (((__const unsigned char *) (__const cha=
r *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("a=
ny") && ((size_t)(const void *)(("any") + 1) - (size_t)(const void *)("an=
y") =3D=3D 1) && (__s2_len =3D strlen ("any"), __s2_len < 4) ? (__builtin=
_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const =
void *)(arg) =3D=3D 1) ? (__extension__ ({ register int __result =3D (((_=
_const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned c=
har *) (__const char *)("any"))[0]); if (__s2_len > 0 && __result =3D=3D =
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[1] =
- ((__const unsigned char *) (__const char *) ("any"))[1]); if (__s2_len =
> 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__c=
onst char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("an=
y"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (((__const =
unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) =
(__const char *) ("any"))[3]); } } __result; })) : (__extension__ ({ __co=
nst unsigned char *__s1 =3D (__const unsigned char *) (__const char *) (a=
rg); register int __result =3D __s1[0] - ((__const unsigned char *) (__co=
nst char *) ("any"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __resul=
t =3D (__s1[1] - ((__const unsigned char *) (__const char *) ("any"))[1])=
; if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__co=
nst unsigned char *) (__const char *) ("any"))[2]); if (__s2_len > 2 && _=
_result =3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *) (__c=
onst char *) ("any"))[3]); } } __result; }))) : strcmp (arg, "any")))); }=
) =3D=3D 0)
ppc_cpu =3D (0200) | (010);
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("regnames") && (__s1_len =3D strle=
n (arg), __s2_len =3D strlen ("regnames"), (!((size_t)(const void *)((arg=
) + 1) - (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!(=
(size_t)(const void *)(("regnames") + 1) - (size_t)(const void *)("regnam=
es") =3D=3D 1) || __s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__=
const char *) ("regnames"), (__s1_len < __s2_len ? __s1_len : __s2_len) +=
1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) -=
(size_t)(const void *)(arg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s=
1_len < 4) ? (__builtin_constant_p ("regnames") && ((size_t)(const void *=
)(("regnames") + 1) - (size_t)(const void *)("regnames") =3D=3D 1) ? (__e=
xtension__ ({ register int __result =3D (((__const unsigned char *) (__co=
nst char *) (arg))[0] - ((__const unsigned char *) (__const char *)("regn=
ames"))[0]); if (__s1_len > 0 && __result =3D=3D 0) { __result =3D (((__c=
onst unsigned char *) (__const char *) (arg))[1] - ((__const unsigned cha=
r *) (__const char *) ("regnames"))[1]); if (__s1_len > 1 && __result =3D=
=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (arg))=
[2] - ((__const unsigned char *) (__const char *) ("regnames"))[2]); if (=
__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char =
*) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char =
*) ("regnames"))[3]); } } __result; })) : (__extension__ ({ __const unsig=
ned char *__s2 =3D (__const unsigned char *) (__const char *) ("regnames"=
); register int __result =3D (((__const unsigned char *) (__const char *)=
(arg))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { __result =
=3D (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if=
(__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned c=
har *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __resul=
t =3D=3D 0) __result =3D (((__const unsigned char *) (__const char *) (ar=
g))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("regnames"=
) && ((size_t)(const void *)(("regnames") + 1) - (size_t)(const void *)("=
regnames") =3D=3D 1) && (__s2_len =3D strlen ("regnames"), __s2_len < 4) =
? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (si=
ze_t)(const void *)(arg) =3D=3D 1) ? (__extension__ ({ register int __res=
ult =3D (((__const unsigned char *) (__const char *) (arg))[0] - ((__cons=
t unsigned char *) (__const char *)("regnames"))[0]); if (__s2_len > 0 &&=
__result =3D=3D 0) { __result =3D (((__const unsigned char *) (__const c=
har *) (arg))[1] - ((__const unsigned char *) (__const char *) ("regnames=
"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (((__const=
unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *)=
(__const char *) ("regnames"))[2]); if (__s2_len > 2 && __result =3D=3D =
0) __result =3D (((__const unsigned char *) (__const char *) (arg))[3] - =
((__const unsigned char *) (__const char *) ("regnames"))[3]); } } __resu=
lt; })) : (__extension__ ({ __const unsigned char *__s1 =3D (__const unsi=
gned char *) (__const char *) (arg); register int __result =3D __s1[0] - =
((__const unsigned char *) (__const char *) ("regnames"))[0]; if (__s2_le=
n > 0 && __result =3D=3D 0) { __result =3D (__s1[1] - ((__const unsigned =
char *) (__const char *) ("regnames"))[1]); if (__s2_len > 1 && __result =
=3D=3D 0) { __result =3D (__s1[2] - ((__const unsigned char *) (__const c=
har *) ("regnames"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result=
=3D (__s1[3] - ((__const unsigned char *) (__const char *) ("regnames"))=
[3]); } } __result; }))) : strcmp (arg, "regnames")))); }) =3D=3D 0)
reg_names_p =3D true;
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("no-regnames") && (__s1_len =3D st=
rlen (arg), __s2_len =3D strlen ("no-regnames"), (!((size_t)(const void *=
)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) =
&& (!((size_t)(const void *)(("no-regnames") + 1) - (size_t)(const void *=
)("no-regnames") =3D=3D 1) || __s2_len >=3D 4)) ? memcmp ((__const char *=
) (arg), (__const char *) ("no-regnames"), (__s1_len < __s2_len ? __s1_le=
n : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void =
*)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) && (__s1_len =3D st=
rlen (arg), __s1_len < 4) ? (__builtin_constant_p ("no-regnames") && ((si=
ze_t)(const void *)(("no-regnames") + 1) - (size_t)(const void *)("no-reg=
names") =3D=3D 1) ? (__extension__ ({ register int __result =3D (((__cons=
t unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *=
) (__const char *)("no-regnames"))[0]); if (__s1_len > 0 && __result =3D=3D=
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[1]=
- ((__const unsigned char *) (__const char *) ("no-regnames"))[1]); if (=
__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned cha=
r *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const cha=
r *) ("no-regnames"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __resul=
t =3D (((__const unsigned char *) (__const char *) (arg))[3] - ((__const =
unsigned char *) (__const char *) ("no-regnames"))[3]); } } __result; }))=
: (__extension__ ({ __const unsigned char *__s2 =3D (__const unsigned ch=
ar *) (__const char *) ("no-regnames"); register int __result =3D (((__co=
nst unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len =
> 0 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__c=
onst char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0)=
{ __result =3D (((__const unsigned char *) (__const char *) (arg))[2] - =
__s2[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const =
unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))=
) : (__builtin_constant_p ("no-regnames") && ((size_t)(const void *)(("no=
-regnames") + 1) - (size_t)(const void *)("no-regnames") =3D=3D 1) && (__=
s2_len =3D strlen ("no-regnames"), __s2_len < 4) ? (__builtin_constant_p =
(arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg)=
=3D=3D 1) ? (__extension__ ({ register int __result =3D (((__const unsig=
ned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__co=
nst char *)("no-regnames"))[0]); if (__s2_len > 0 && __result =3D=3D 0) {=
__result =3D (((__const unsigned char *) (__const char *) (arg))[1] - ((=
__const unsigned char *) (__const char *) ("no-regnames"))[1]); if (__s2_=
len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) =
(__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) =
("no-regnames"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D=
(((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsig=
ned char *) (__const char *) ("no-regnames"))[3]); } } __result; })) : (_=
_extension__ ({ __const unsigned char *__s1 =3D (__const unsigned char *)=
(__const char *) (arg); register int __result =3D __s1[0] - ((__const un=
signed char *) (__const char *) ("no-regnames"))[0]; if (__s2_len > 0 && =
__result =3D=3D 0) { __result =3D (__s1[1] - ((__const unsigned char *) (=
__const char *) ("no-regnames"))[1]); if (__s2_len > 1 && __result =3D=3D=
0) { __result =3D (__s1[2] - ((__const unsigned char *) (__const char *)=
("no-regnames"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D=
(__s1[3] - ((__const unsigned char *) (__const char *) ("no-regnames"))[=
3]); } } __result; }))) : strcmp (arg, "no-regnames")))); }) =3D=3D 0)
reg_names_p =3D false;
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("relocatable") && (__s1_len =3D st=
rlen (arg), __s2_len =3D strlen ("relocatable"), (!((size_t)(const void *=
)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) =
&& (!((size_t)(const void *)(("relocatable") + 1) - (size_t)(const void *=
)("relocatable") =3D=3D 1) || __s2_len >=3D 4)) ? memcmp ((__const char *=
) (arg), (__const char *) ("relocatable"), (__s1_len < __s2_len ? __s1_le=
n : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void =
*)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) && (__s1_len =3D st=
rlen (arg), __s1_len < 4) ? (__builtin_constant_p ("relocatable") && ((si=
ze_t)(const void *)(("relocatable") + 1) - (size_t)(const void *)("reloca=
table") =3D=3D 1) ? (__extension__ ({ register int __result =3D (((__cons=
t unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *=
) (__const char *)("relocatable"))[0]); if (__s1_len > 0 && __result =3D=3D=
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[1]=
- ((__const unsigned char *) (__const char *) ("relocatable"))[1]); if (=
__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned cha=
r *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const cha=
r *) ("relocatable"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __resul=
t =3D (((__const unsigned char *) (__const char *) (arg))[3] - ((__const =
unsigned char *) (__const char *) ("relocatable"))[3]); } } __result; }))=
: (__extension__ ({ __const unsigned char *__s2 =3D (__const unsigned ch=
ar *) (__const char *) ("relocatable"); register int __result =3D (((__co=
nst unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len =
> 0 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__c=
onst char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0)=
{ __result =3D (((__const unsigned char *) (__const char *) (arg))[2] - =
__s2[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const =
unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))=
) : (__builtin_constant_p ("relocatable") && ((size_t)(const void *)(("re=
locatable") + 1) - (size_t)(const void *)("relocatable") =3D=3D 1) && (__=
s2_len =3D strlen ("relocatable"), __s2_len < 4) ? (__builtin_constant_p =
(arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg)=
=3D=3D 1) ? (__extension__ ({ register int __result =3D (((__const unsig=
ned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__co=
nst char *)("relocatable"))[0]); if (__s2_len > 0 && __result =3D=3D 0) {=
__result =3D (((__const unsigned char *) (__const char *) (arg))[1] - ((=
__const unsigned char *) (__const char *) ("relocatable"))[1]); if (__s2_=
len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) =
(__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) =
("relocatable"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D=
(((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsig=
ned char *) (__const char *) ("relocatable"))[3]); } } __result; })) : (_=
_extension__ ({ __const unsigned char *__s1 =3D (__const unsigned char *)=
(__const char *) (arg); register int __result =3D __s1[0] - ((__const un=
signed char *) (__const char *) ("relocatable"))[0]; if (__s2_len > 0 && =
__result =3D=3D 0) { __result =3D (__s1[1] - ((__const unsigned char *) (=
__const char *) ("relocatable"))[1]); if (__s2_len > 1 && __result =3D=3D=
0) { __result =3D (__s1[2] - ((__const unsigned char *) (__const char *)=
("relocatable"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D=
(__s1[3] - ((__const unsigned char *) (__const char *) ("relocatable"))[=
3]); } } __result; }))) : strcmp (arg, "relocatable")))); }) =3D=3D 0)
{
shlib =3D SHLIB_MRELOCATABLE;
ppc_flags |=3D 0x00010000;
}
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("relocatable-lib") && (__s1_len =3D=
strlen (arg), __s2_len =3D strlen ("relocatable-lib"), (!((size_t)(const=
void *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=
=3D 4) && (!((size_t)(const void *)(("relocatable-lib") + 1) - (size_t)(c=
onst void *)("relocatable-lib") =3D=3D 1) || __s2_len >=3D 4)) ? memcmp (=
(__const char *) (arg), (__const char *) ("relocatable-lib"), (__s1_len <=
__s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((=
size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) =
&& (__s1_len =3D strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("re=
locatable-lib") && ((size_t)(const void *)(("relocatable-lib") + 1) - (si=
ze_t)(const void *)("relocatable-lib") =3D=3D 1) ? (__extension__ ({ regi=
ster int __result =3D (((__const unsigned char *) (__const char *) (arg))=
[0] - ((__const unsigned char *) (__const char *)("relocatable-lib"))[0])=
; if (__s1_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsign=
ed char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__con=
st char *) ("relocatable-lib"))[1]); if (__s1_len > 1 && __result =3D=3D =
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[2] =
- ((__const unsigned char *) (__const char *) ("relocatable-lib"))[2]); i=
f (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned ch=
ar *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const ch=
ar *) ("relocatable-lib"))[3]); } } __result; })) : (__extension__ ({ __c=
onst unsigned char *__s2 =3D (__const unsigned char *) (__const char *) (=
"relocatable-lib"); register int __result =3D (((__const unsigned char *)=
(__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D=
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[1]=
- __s2[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__c=
onst unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len=
> 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) (__co=
nst char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constan=
t_p ("relocatable-lib") && ((size_t)(const void *)(("relocatable-lib") + =
1) - (size_t)(const void *)("relocatable-lib") =3D=3D 1) && (__s2_len =3D=
strlen ("relocatable-lib"), __s2_len < 4) ? (__builtin_constant_p (arg) =
&& ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D=
1) ? (__extension__ ({ register int __result =3D (((__const unsigned cha=
r *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const cha=
r *)("relocatable-lib"))[0]); if (__s2_len > 0 && __result =3D=3D 0) { __=
result =3D (((__const unsigned char *) (__const char *) (arg))[1] - ((__c=
onst unsigned char *) (__const char *) ("relocatable-lib"))[1]); if (__s2=
_len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *)=
(__const char *) (arg))[2] - ((__const unsigned char *) (__const char *)=
("relocatable-lib"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __resul=
t =3D (((__const unsigned char *) (__const char *) (arg))[3] - ((__const =
unsigned char *) (__const char *) ("relocatable-lib"))[3]); } } __result;=
})) : (__extension__ ({ __const unsigned char *__s1 =3D (__const unsigne=
d char *) (__const char *) (arg); register int __result =3D __s1[0] - ((_=
_const unsigned char *) (__const char *) ("relocatable-lib"))[0]; if (__s=
2_len > 0 && __result =3D=3D 0) { __result =3D (__s1[1] - ((__const unsig=
ned char *) (__const char *) ("relocatable-lib"))[1]); if (__s2_len > 1 &=
& __result =3D=3D 0) { __result =3D (__s1[2] - ((__const unsigned char *)=
(__const char *) ("relocatable-lib"))[2]); if (__s2_len > 2 && __result =
=3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *) (__const cha=
r *) ("relocatable-lib"))[3]); } } __result; }))) : strcmp (arg, "relocat=
able-lib")))); }) =3D=3D 0)
{
shlib =3D SHLIB_MRELOCATABLE;
ppc_flags |=3D 0x00008000;
}
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("emb") && (__s1_len =3D strlen (ar=
g), __s2_len =3D strlen ("emb"), (!((size_t)(const void *)((arg) + 1) - (=
size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(c=
onst void *)(("emb") + 1) - (size_t)(const void *)("emb") =3D=3D 1) || __=
s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__const char *) ("emb"=
), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant=
_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(a=
rg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (__builtin_c=
onstant_p ("emb") && ((size_t)(const void *)(("emb") + 1) - (size_t)(cons=
t void *)("emb") =3D=3D 1) ? (__extension__ ({ register int __result =3D =
(((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsign=
ed char *) (__const char *)("emb"))[0]); if (__s1_len > 0 && __result =3D=
=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (arg))=
[1] - ((__const unsigned char *) (__const char *) ("emb"))[1]); if (__s1_=
len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) =
(__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) =
("emb"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__co=
nst unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char=
*) (__const char *) ("emb"))[3]); } } __result; })) : (__extension__ ({ =
__const unsigned char *__s2 =3D (__const unsigned char *) (__const char *=
) ("emb"); register int __result =3D (((__const unsigned char *) (__const=
char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (arg))[1] - __s2=
[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const un=
signed char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 &&=
__result =3D=3D 0) __result =3D (((__const unsigned char *) (__const cha=
r *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("e=
mb") && ((size_t)(const void *)(("emb") + 1) - (size_t)(const void *)("em=
b") =3D=3D 1) && (__s2_len =3D strlen ("emb"), __s2_len < 4) ? (__builtin=
_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const =
void *)(arg) =3D=3D 1) ? (__extension__ ({ register int __result =3D (((_=
_const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned c=
har *) (__const char *)("emb"))[0]); if (__s2_len > 0 && __result =3D=3D =
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[1] =
- ((__const unsigned char *) (__const char *) ("emb"))[1]); if (__s2_len =
> 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__c=
onst char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("em=
b"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (((__const =
unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) =
(__const char *) ("emb"))[3]); } } __result; })) : (__extension__ ({ __co=
nst unsigned char *__s1 =3D (__const unsigned char *) (__const char *) (a=
rg); register int __result =3D __s1[0] - ((__const unsigned char *) (__co=
nst char *) ("emb"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __resul=
t =3D (__s1[1] - ((__const unsigned char *) (__const char *) ("emb"))[1])=
; if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__co=
nst unsigned char *) (__const char *) ("emb"))[2]); if (__s2_len > 2 && _=
_result =3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *) (__c=
onst char *) ("emb"))[3]); } } __result; }))) : strcmp (arg, "emb")))); }=
) =3D=3D 0)
ppc_flags |=3D 0x80000000;
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("little") && (__s1_len =3D strlen =
(arg), __s2_len =3D strlen ("little"), (!((size_t)(const void *)((arg) + =
1) - (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((siz=
e_t)(const void *)(("little") + 1) - (size_t)(const void *)("little") =3D=
=3D 1) || __s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__const ch=
ar *) ("little"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__b=
uiltin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(=
const void *)(arg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4)=
? (__builtin_constant_p ("little") && ((size_t)(const void *)(("little")=
+ 1) - (size_t)(const void *)("little") =3D=3D 1) ? (__extension__ ({ re=
gister int __result =3D (((__const unsigned char *) (__const char *) (arg=
))[0] - ((__const unsigned char *) (__const char *)("little"))[0]); if (_=
_s1_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned char=
*) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char=
*) ("little"))[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D=
(((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsig=
ned char *) (__const char *) ("little"))[2]); if (__s1_len > 2 && __resul=
t =3D=3D 0) __result =3D (((__const unsigned char *) (__const char *) (ar=
g))[3] - ((__const unsigned char *) (__const char *) ("little"))[3]); } }=
__result; })) : (__extension__ ({ __const unsigned char *__s2 =3D (__con=
st unsigned char *) (__const char *) ("little"); register int __result =3D=
(((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (_=
_s1_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned char=
*) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=
=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (arg))=
[2] - __s2[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__=
const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __resul=
t; }))) : (__builtin_constant_p ("little") && ((size_t)(const void *)(("l=
ittle") + 1) - (size_t)(const void *)("little") =3D=3D 1) && (__s2_len =3D=
strlen ("little"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size=
_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) ? (_=
_extension__ ({ register int __result =3D (((__const unsigned char *) (__=
const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("li=
ttle"))[0]); if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (((__c=
onst unsigned char *) (__const char *) (arg))[1] - ((__const unsigned cha=
r *) (__const char *) ("little"))[1]); if (__s2_len > 1 && __result =3D=3D=
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[2]=
- ((__const unsigned char *) (__const char *) ("little"))[2]); if (__s2_=
len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) (_=
_const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("=
little"))[3]); } } __result; })) : (__extension__ ({ __const unsigned cha=
r *__s1 =3D (__const unsigned char *) (__const char *) (arg); register in=
t __result =3D __s1[0] - ((__const unsigned char *) (__const char *) ("li=
ttle"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (__s1[1=
] - ((__const unsigned char *) (__const char *) ("little"))[1]); if (__s2=
_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__const unsign=
ed char *) (__const char *) ("little"))[2]); if (__s2_len > 2 && __result=
=3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *) (__const ch=
ar *) ("little"))[3]); } } __result; }))) : strcmp (arg, "little")))); })=
=3D=3D 0
|| __extension__ ({ size_t __s1_len, __s2_len; (__builtin_=
constant_p (arg) && __builtin_constant_p ("little-endian") && (__s1_len =3D=
strlen (arg), __s2_len =3D strlen ("little-endian"), (!((size_t)(const v=
oid *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D=
4) && (!((size_t)(const void *)(("little-endian") + 1) - (size_t)(const =
void *)("little-endian") =3D=3D 1) || __s2_len >=3D 4)) ? memcmp ((__cons=
t char *) (arg), (__const char *) ("little-endian"), (__s1_len < __s2_len=
? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(c=
onst void *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) && (__s1_=
len =3D strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("little-endi=
an") && ((size_t)(const void *)(("little-endian") + 1) - (size_t)(const v=
oid *)("little-endian") =3D=3D 1) ? (__extension__ ({ register int __resu=
lt =3D (((__const unsigned char *) (__const char *) (arg))[0] - ((__const=
unsigned char *) (__const char *)("little-endian"))[0]); if (__s1_len > =
0 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__con=
st char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("litt=
le-endian"))[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (=
((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigne=
d char *) (__const char *) ("little-endian"))[2]); if (__s1_len > 2 && __=
result =3D=3D 0) __result =3D (((__const unsigned char *) (__const char *=
) (arg))[3] - ((__const unsigned char *) (__const char *) ("little-endian=
"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s=
2 =3D (__const unsigned char *) (__const char *) ("little-endian"); regis=
ter int __result =3D (((__const unsigned char *) (__const char *) (arg))[=
0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { __result =3D (((_=
_const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_l=
en > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (=
__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result =3D=3D=
0) __result =3D (((__const unsigned char *) (__const char *) (arg))[3] -=
__s2[3]); } } __result; }))) : (__builtin_constant_p ("little-endian") &=
& ((size_t)(const void *)(("little-endian") + 1) - (size_t)(const void *)=
("little-endian") =3D=3D 1) && (__s2_len =3D strlen ("little-endian"), __=
s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg=
) + 1) - (size_t)(const void *)(arg) =3D=3D 1) ? (__extension__ ({ regist=
er int __result =3D (((__const unsigned char *) (__const char *) (arg))[0=
] - ((__const unsigned char *) (__const char *)("little-endian"))[0]); if=
(__s2_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned c=
har *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const c=
har *) ("little-endian"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (arg))[2] - ((__=
const unsigned char *) (__const char *) ("little-endian"))[2]); if (__s2_=
len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) (_=
_const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("=
little-endian"))[3]); } } __result; })) : (__extension__ ({ __const unsig=
ned char *__s1 =3D (__const unsigned char *) (__const char *) (arg); regi=
ster int __result =3D __s1[0] - ((__const unsigned char *) (__const char =
*) ("little-endian"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __resu=
lt =3D (__s1[1] - ((__const unsigned char *) (__const char *) ("little-en=
dian"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1[=
2] - ((__const unsigned char *) (__const char *) ("little-endian"))[2]); =
if (__s2_len > 2 && __result =3D=3D 0) __result =3D (__s1[3] - ((__const =
unsigned char *) (__const char *) ("little-endian"))[3]); } } __result; }=
))) : strcmp (arg, "little-endian")))); }) =3D=3D 0)
{
target_big_endian =3D 0;
set_target_endian =3D 1;
}
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("big") && (__s1_len =3D strlen (ar=
g), __s2_len =3D strlen ("big"), (!((size_t)(const void *)((arg) + 1) - (=
size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(c=
onst void *)(("big") + 1) - (size_t)(const void *)("big") =3D=3D 1) || __=
s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__const char *) ("big"=
), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant=
_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(a=
rg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len < 4) ? (__builtin_c=
onstant_p ("big") && ((size_t)(const void *)(("big") + 1) - (size_t)(cons=
t void *)("big") =3D=3D 1) ? (__extension__ ({ register int __result =3D =
(((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsign=
ed char *) (__const char *)("big"))[0]); if (__s1_len > 0 && __result =3D=
=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (arg))=
[1] - ((__const unsigned char *) (__const char *) ("big"))[1]); if (__s1_=
len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) =
(__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) =
("big"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__co=
nst unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char=
*) (__const char *) ("big"))[3]); } } __result; })) : (__extension__ ({ =
__const unsigned char *__s2 =3D (__const unsigned char *) (__const char *=
) ("big"); register int __result =3D (((__const unsigned char *) (__const=
char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (arg))[1] - __s2=
[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const un=
signed char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 &&=
__result =3D=3D 0) __result =3D (((__const unsigned char *) (__const cha=
r *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("b=
ig") && ((size_t)(const void *)(("big") + 1) - (size_t)(const void *)("bi=
g") =3D=3D 1) && (__s2_len =3D strlen ("big"), __s2_len < 4) ? (__builtin=
_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const =
void *)(arg) =3D=3D 1) ? (__extension__ ({ register int __result =3D (((_=
_const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned c=
har *) (__const char *)("big"))[0]); if (__s2_len > 0 && __result =3D=3D =
0) { __result =3D (((__const unsigned char *) (__const char *) (arg))[1] =
- ((__const unsigned char *) (__const char *) ("big"))[1]); if (__s2_len =
> 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__c=
onst char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("bi=
g"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (((__const =
unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) =
(__const char *) ("big"))[3]); } } __result; })) : (__extension__ ({ __co=
nst unsigned char *__s1 =3D (__const unsigned char *) (__const char *) (a=
rg); register int __result =3D __s1[0] - ((__const unsigned char *) (__co=
nst char *) ("big"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __resul=
t =3D (__s1[1] - ((__const unsigned char *) (__const char *) ("big"))[1])=
; if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__co=
nst unsigned char *) (__const char *) ("big"))[2]); if (__s2_len > 2 && _=
_result =3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *) (__c=
onst char *) ("big"))[3]); } } __result; }))) : strcmp (arg, "big")))); }=
) =3D=3D 0 || __extension__ ({ size_t __s1_len, __s2_len; (__builtin_cons=
tant_p (arg) && __builtin_constant_p ("big-endian") && (__s1_len =3D strl=
en (arg), __s2_len =3D strlen ("big-endian"), (!((size_t)(const void *)((=
arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && =
(!((size_t)(const void *)(("big-endian") + 1) - (size_t)(const void *)("b=
ig-endian") =3D=3D 1) || __s2_len >=3D 4)) ? memcmp ((__const char *) (ar=
g), (__const char *) ("big-endian"), (__s1_len < __s2_len ? __s1_len : __=
s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((ar=
g) + 1) - (size_t)(const void *)(arg) =3D=3D 1) && (__s1_len =3D strlen (=
arg), __s1_len < 4) ? (__builtin_constant_p ("big-endian") && ((size_t)(c=
onst void *)(("big-endian") + 1) - (size_t)(const void *)("big-endian") =3D=
=3D 1) ? (__extension__ ({ register int __result =3D (((__const unsigned =
char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const =
char *)("big-endian"))[0]); if (__s1_len > 0 && __result =3D=3D 0) { __re=
sult =3D (((__const unsigned char *) (__const char *) (arg))[1] - ((__con=
st unsigned char *) (__const char *) ("big-endian"))[1]); if (__s1_len > =
1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__con=
st char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("big-=
endian"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__c=
onst unsigned char *) (__const char *) (arg))[3] - ((__const unsigned cha=
r *) (__const char *) ("big-endian"))[3]); } } __result; })) : (__extensi=
on__ ({ __const unsigned char *__s2 =3D (__const unsigned char *) (__cons=
t char *) ("big-endian"); register int __result =3D (((__const unsigned c=
har *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __resul=
t =3D=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (=
arg))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D=
(((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (_=
_s1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *=
) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_=
constant_p ("big-endian") && ((size_t)(const void *)(("big-endian") + 1) =
- (size_t)(const void *)("big-endian") =3D=3D 1) && (__s2_len =3D strlen =
("big-endian"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(=
const void *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) ? (__ext=
ension__ ({ register int __result =3D (((__const unsigned char *) (__cons=
t char *) (arg))[0] - ((__const unsigned char *) (__const char *)("big-en=
dian"))[0]); if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (((__c=
onst unsigned char *) (__const char *) (arg))[1] - ((__const unsigned cha=
r *) (__const char *) ("big-endian"))[1]); if (__s2_len > 1 && __result =3D=
=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (arg))=
[2] - ((__const unsigned char *) (__const char *) ("big-endian"))[2]); if=
(__s2_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned cha=
r *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const cha=
r *) ("big-endian"))[3]); } } __result; })) : (__extension__ ({ __const u=
nsigned char *__s1 =3D (__const unsigned char *) (__const char *) (arg); =
register int __result =3D __s1[0] - ((__const unsigned char *) (__const c=
har *) ("big-endian"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __res=
ult =3D (__s1[1] - ((__const unsigned char *) (__const char *) ("big-endi=
an"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2]=
- ((__const unsigned char *) (__const char *) ("big-endian"))[2]); if (_=
_s2_len > 2 && __result =3D=3D 0) __result =3D (__s1[3] - ((__const unsig=
ned char *) (__const char *) ("big-endian"))[3]); } } __result; }))) : st=
rcmp (arg, "big-endian")))); }) =3D=3D 0)
{
target_big_endian =3D 1;
set_target_endian =3D 1;
}
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("solaris") && (__s1_len =3D strlen=
(arg), __s2_len =3D strlen ("solaris"), (!((size_t)(const void *)((arg) =
+ 1) - (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) && (!((s=
ize_t)(const void *)(("solaris") + 1) - (size_t)(const void *)("solaris")=
=3D=3D 1) || __s2_len >=3D 4)) ? memcmp ((__const char *) (arg), (__cons=
t char *) ("solaris"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) :=
(__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (siz=
e_t)(const void *)(arg) =3D=3D 1) && (__s1_len =3D strlen (arg), __s1_len=
< 4) ? (__builtin_constant_p ("solaris") && ((size_t)(const void *)(("so=
laris") + 1) - (size_t)(const void *)("solaris") =3D=3D 1) ? (__extension=
__ ({ register int __result =3D (((__const unsigned char *) (__const char=
*) (arg))[0] - ((__const unsigned char *) (__const char *)("solaris"))[0=
]); if (__s1_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsi=
gned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__c=
onst char *) ("solaris"))[1]); if (__s1_len > 1 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (arg))[2] - ((__=
const unsigned char *) (__const char *) ("solaris"))[2]); if (__s1_len > =
2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) (__const=
char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("solari=
s"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__=
s2 =3D (__const unsigned char *) (__const char *) ("solaris"); register i=
nt __result =3D (((__const unsigned char *) (__const char *) (arg))[0] - =
__s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { __result =3D (((__cons=
t unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > =
1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__con=
st char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result =3D=3D 0) _=
_result =3D (((__const unsigned char *) (__const char *) (arg))[3] - __s2=
[3]); } } __result; }))) : (__builtin_constant_p ("solaris") && ((size_t)=
(const void *)(("solaris") + 1) - (size_t)(const void *)("solaris") =3D=3D=
1) && (__s2_len =3D strlen ("solaris"), __s2_len < 4) ? (__builtin_const=
ant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *=
)(arg) =3D=3D 1) ? (__extension__ ({ register int __result =3D (((__const=
unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *)=
(__const char *)("solaris"))[0]); if (__s2_len > 0 && __result =3D=3D 0)=
{ __result =3D (((__const unsigned char *) (__const char *) (arg))[1] - =
((__const unsigned char *) (__const char *) ("solaris"))[1]); if (__s2_le=
n > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (_=
_const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("=
solaris"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (((__=
const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned ch=
ar *) (__const char *) ("solaris"))[3]); } } __result; })) : (__extension=
__ ({ __const unsigned char *__s1 =3D (__const unsigned char *) (__const =
char *) (arg); register int __result =3D __s1[0] - ((__const unsigned cha=
r *) (__const char *) ("solaris"))[0]; if (__s2_len > 0 && __result =3D=3D=
0) { __result =3D (__s1[1] - ((__const unsigned char *) (__const char *)=
("solaris"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __result =3D =
(__s1[2] - ((__const unsigned char *) (__const char *) ("solaris"))[2]); =
if (__s2_len > 2 && __result =3D=3D 0) __result =3D (__s1[3] - ((__const =
unsigned char *) (__const char *) ("solaris"))[3]); } } __result; }))) : =
strcmp (arg, "solaris")))); }) =3D=3D 0)
{
msolaris =3D true;
ppc_comment_chars =3D ppc_solaris_comment_chars;
}
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (arg) && __builtin_constant_p ("no-solaris") && (__s1_len =3D str=
len (arg), __s2_len =3D strlen ("no-solaris"), (!((size_t)(const void *)(=
(arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) || __s1_len >=3D 4) &&=
(!((size_t)(const void *)(("no-solaris") + 1) - (size_t)(const void *)("=
no-solaris") =3D=3D 1) || __s2_len >=3D 4)) ? memcmp ((__const char *) (a=
rg), (__const char *) ("no-solaris"), (__s1_len < __s2_len ? __s1_len : _=
_s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((a=
rg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) && (__s1_len =3D strlen =
(arg), __s1_len < 4) ? (__builtin_constant_p ("no-solaris") && ((size_t)(=
const void *)(("no-solaris") + 1) - (size_t)(const void *)("no-solaris") =
=3D=3D 1) ? (__extension__ ({ register int __result =3D (((__const unsign=
ed char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__con=
st char *)("no-solaris"))[0]); if (__s1_len > 0 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (arg))[1] - ((__=
const unsigned char *) (__const char *) ("no-solaris"))[1]); if (__s1_len=
> 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__=
const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("n=
o-solaris"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((=
__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned =
char *) (__const char *) ("no-solaris"))[3]); } } __result; })) : (__exte=
nsion__ ({ __const unsigned char *__s2 =3D (__const unsigned char *) (__c=
onst char *) ("no-solaris"); register int __result =3D (((__const unsigne=
d char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __re=
sult =3D=3D 0) { __result =3D (((__const unsigned char *) (__const char *=
) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result=
=3D (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); i=
f (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned ch=
ar *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__buil=
tin_constant_p ("no-solaris") && ((size_t)(const void *)(("no-solaris") +=
1) - (size_t)(const void *)("no-solaris") =3D=3D 1) && (__s2_len =3D str=
len ("no-solaris"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size=
_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) =3D=3D 1) ? (_=
_extension__ ({ register int __result =3D (((__const unsigned char *) (__=
const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("no=
-solaris"))[0]); if (__s2_len > 0 && __result =3D=3D 0) { __result =3D ((=
(__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned=
char *) (__const char *) ("no-solaris"))[1]); if (__s2_len > 1 && __resu=
lt =3D=3D 0) { __result =3D (((__const unsigned char *) (__const char *) =
(arg))[2] - ((__const unsigned char *) (__const char *) ("no-solaris"))[2=
]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (((__const unsign=
ed char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__con=
st char *) ("no-solaris"))[3]); } } __result; })) : (__extension__ ({ __c=
onst unsigned char *__s1 =3D (__const unsigned char *) (__const char *) (=
arg); register int __result =3D __s1[0] - ((__const unsigned char *) (__c=
onst char *) ("no-solaris"))[0]; if (__s2_len > 0 && __result =3D=3D 0) {=
__result =3D (__s1[1] - ((__const unsigned char *) (__const char *) ("no=
-solaris"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (_=
_s1[2] - ((__const unsigned char *) (__const char *) ("no-solaris"))[2]);=
if (__s2_len > 2 && __result =3D=3D 0) __result =3D (__s1[3] - ((__const=
unsigned char *) (__const char *) ("no-solaris"))[3]); } } __result; }))=
) : strcmp (arg, "no-solaris")))); }) =3D=3D 0)
{
msolaris =3D false;
ppc_comment_chars =3D ppc_eabi_comment_chars;
}
else
{
as_bad (dcgettext (((void *)0), "invalid switch -m%s", __LC_MES=
SAGES), arg);
return 0;
}
break;
case 'V':
print_version_id ();
break;
case 'Q':
break;
case 's':
if (arg)
return 0;
break;
default:
return 0;
}
return 1;
}
void
md_show_usage (stream)
FILE *stream;
{
fprintf (stream, dcgettext (((void *)0), "PowerPC options:\n-u=09=09=09=
ignored\n-mpwrx, -mpwr2=09=09generate code for POWER/2 (RIOS2)\n-mpwr=09=09=
=09generate code for POWER (RIOS1)\n-m601=09=09=09generate code for Power=
PC 601\n-mppc, -mppc32, -m603, -m604\n=09=09=09generate code for PowerPC =
603/604\n-m403, -m405 generate code for PowerPC 403/405\n-m740=
0, -m7410, -m7450, -m7455\n=09=09=09generate code For PowerPC 7400/7410/7=
450/7455\n-mppc64, -m620=09=09generate code for PowerPC 620/625/630\n-mpp=
c64bridge=09=09generate code for PowerPC 64, including bridge insns\n-mbo=
oke64=09=09generate code for 64-bit PowerPC BookE\n-mbooke, mbooke32=09ge=
nerate code for 32-bit PowerPC BookE\n-mpower4=09=09generate code for Pow=
er4 architecture\n-maltivec=09=09generate code for AltiVec\n-mcom=09=09=09=
generate code Power/PowerPC common instructions\n-many=09=09=09generate c=
ode for any architecture (PWR/PWRX/PPC)\n-mregnames=09=09Allow symbolic n=
ames for registers\n-mno-regnames=09=09Do not allow symbolic names for re=
gisters\n", __LC_MESSAGES));
# 1041 "../../binutils-2.13.1/gas/config/tc-ppc.c"
fprintf (stream, dcgettext (((void *)0), "-mrelocatable=09=09support fo=
r GCC's -mrelocatble option\n-mrelocatable-lib=09support for GCC's -mrelo=
catble-lib option\n-memb=09=09=09set PPC_EMB bit in ELF flags\n-mlittle, =
-mlittle-endian\n=09=09=09generate code for a little endian machine\n-mbi=
g, -mbig-endian=09generate code for a big endian machine\n-msolaris=09=09=
generate code for Solaris\n-mno-solaris=09=09do not generate code for Sol=
aris\n-V=09=09=09print assembler version number\n-Qy, -Qn=09=09ignored\n"=
, __LC_MESSAGES));
# 1053 "../../binutils-2.13.1/gas/config/tc-ppc.c"
}
static void
ppc_set_cpu ()
{
const char *default_os =3D "linux-gnu";
const char *default_cpu =3D "powerpc";
if (ppc_cpu =3D=3D 0)
{
if ((__extension__ (__builtin_constant_p (3) && ((__builtin_constan=
t_p (default_os) && strlen (default_os) < ((size_t) (3))) || (__builtin_c=
onstant_p ("aix") && strlen ("aix") < ((size_t) (3)))) ? __extension__ ({=
size_t __s1_len, __s2_len; (__builtin_constant_p (default_os) && __built=
in_constant_p ("aix") && (__s1_len =3D strlen (default_os), __s2_len =3D =
strlen ("aix"), (!((size_t)(const void *)((default_os) + 1) - (size_t)(co=
nst void *)(default_os) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(cons=
t void *)(("aix") + 1) - (size_t)(const void *)("aix") =3D=3D 1) || __s2_=
len >=3D 4)) ? memcmp ((__const char *) (default_os), (__const char *) ("=
aix"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_cons=
tant_p (default_os) && ((size_t)(const void *)((default_os) + 1) - (size_=
t)(const void *)(default_os) =3D=3D 1) && (__s1_len =3D strlen (default_o=
s), __s1_len < 4) ? (__builtin_constant_p ("aix") && ((size_t)(const void=
*)(("aix") + 1) - (size_t)(const void *)("aix") =3D=3D 1) ? (__extension=
__ ({ register int __result =3D (((__const unsigned char *) (__const char=
*) (default_os))[0] - ((__const unsigned char *) (__const char *)("aix")=
)[0]); if (__s1_len > 0 && __result =3D=3D 0) { __result =3D (((__const u=
nsigned char *) (__const char *) (default_os))[1] - ((__const unsigned ch=
ar *) (__const char *) ("aix"))[1]); if (__s1_len > 1 && __result =3D=3D =
0) { __result =3D (((__const unsigned char *) (__const char *) (default_o=
s))[2] - ((__const unsigned char *) (__const char *) ("aix"))[2]); if (__=
s1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *)=
(__const char *) (default_os))[3] - ((__const unsigned char *) (__const =
char *) ("aix"))[3]); } } __result; })) : (__extension__ ({ __const unsig=
ned char *__s2 =3D (__const unsigned char *) (__const char *) ("aix"); re=
gister int __result =3D (((__const unsigned char *) (__const char *) (def=
ault_os))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { __resul=
t =3D (((__const unsigned char *) (__const char *) (default_os))[1] - __s=
2[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const u=
nsigned char *) (__const char *) (default_os))[2] - __s2[2]); if (__s1_le=
n > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) (__c=
onst char *) (default_os))[3] - __s2[3]); } } __result; }))) : (__builtin=
_constant_p ("aix") && ((size_t)(const void *)(("aix") + 1) - (size_t)(co=
nst void *)("aix") =3D=3D 1) && (__s2_len =3D strlen ("aix"), __s2_len < =
4) ? (__builtin_constant_p (default_os) && ((size_t)(const void *)((defau=
lt_os) + 1) - (size_t)(const void *)(default_os) =3D=3D 1) ? (__extension=
__ ({ register int __result =3D (((__const unsigned char *) (__const char=
*) (default_os))[0] - ((__const unsigned char *) (__const char *)("aix")=
)[0]); if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (((__const u=
nsigned char *) (__const char *) (default_os))[1] - ((__const unsigned ch=
ar *) (__const char *) ("aix"))[1]); if (__s2_len > 1 && __result =3D=3D =
0) { __result =3D (((__const unsigned char *) (__const char *) (default_o=
s))[2] - ((__const unsigned char *) (__const char *) ("aix"))[2]); if (__=
s2_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *)=
(__const char *) (default_os))[3] - ((__const unsigned char *) (__const =
char *) ("aix"))[3]); } } __result; })) : (__extension__ ({ __const unsig=
ned char *__s1 =3D (__const unsigned char *) (__const char *) (default_os=
); register int __result =3D __s1[0] - ((__const unsigned char *) (__cons=
t char *) ("aix"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __result =
=3D (__s1[1] - ((__const unsigned char *) (__const char *) ("aix"))[1]); =
if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__cons=
t unsigned char *) (__const char *) ("aix"))[2]); if (__s2_len > 2 && __r=
esult =3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *) (__con=
st char *) ("aix"))[3]); } } __result; }))) : strcmp (default_os, "aix"))=
)); }) : strncmp (default_os, "aix", 3))) =3D=3D 0
&& default_os[3] >=3D '4' && default_os[3] <=3D '9')
ppc_cpu =3D (0100) | (010);
else if ((__extension__ (__builtin_constant_p (4) && ((__builtin_co=
nstant_p (default_os) && strlen (default_os) < ((size_t) (4))) || (__buil=
tin_constant_p ("aix3") && strlen ("aix3") < ((size_t) (4)))) ? __extensi=
on__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (default_os) && =
__builtin_constant_p ("aix3") && (__s1_len =3D strlen (default_os), __s2_=
len =3D strlen ("aix3"), (!((size_t)(const void *)((default_os) + 1) - (s=
ize_t)(const void *)(default_os) =3D=3D 1) || __s1_len >=3D 4) && (!((siz=
e_t)(const void *)(("aix3") + 1) - (size_t)(const void *)("aix3") =3D=3D =
1) || __s2_len >=3D 4)) ? memcmp ((__const char *) (default_os), (__const=
char *) ("aix3"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__=
builtin_constant_p (default_os) && ((size_t)(const void *)((default_os) +=
1) - (size_t)(const void *)(default_os) =3D=3D 1) && (__s1_len =3D strle=
n (default_os), __s1_len < 4) ? (__builtin_constant_p ("aix3") && ((size_=
t)(const void *)(("aix3") + 1) - (size_t)(const void *)("aix3") =3D=3D 1)=
? (__extension__ ({ register int __result =3D (((__const unsigned char *=
) (__const char *) (default_os))[0] - ((__const unsigned char *) (__const=
char *)("aix3"))[0]); if (__s1_len > 0 && __result =3D=3D 0) { __result =
=3D (((__const unsigned char *) (__const char *) (default_os))[1] - ((__c=
onst unsigned char *) (__const char *) ("aix3"))[1]); if (__s1_len > 1 &&=
__result =3D=3D 0) { __result =3D (((__const unsigned char *) (__const c=
har *) (default_os))[2] - ((__const unsigned char *) (__const char *) ("a=
ix3"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__cons=
t unsigned char *) (__const char *) (default_os))[3] - ((__const unsigned=
char *) (__const char *) ("aix3"))[3]); } } __result; })) : (__extension=
__ ({ __const unsigned char *__s2 =3D (__const unsigned char *) (__const =
char *) ("aix3"); register int __result =3D (((__const unsigned char *) (=
__const char *) (default_os))[0] - __s2[0]); if (__s1_len > 0 && __result=
=3D=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (d=
efault_os))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0) { __res=
ult =3D (((__const unsigned char *) (__const char *) (default_os))[2] - _=
_s2[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const u=
nsigned char *) (__const char *) (default_os))[3] - __s2[3]); } } __resul=
t; }))) : (__builtin_constant_p ("aix3") && ((size_t)(const void *)(("aix=
3") + 1) - (size_t)(const void *)("aix3") =3D=3D 1) && (__s2_len =3D strl=
en ("aix3"), __s2_len < 4) ? (__builtin_constant_p (default_os) && ((size=
_t)(const void *)((default_os) + 1) - (size_t)(const void *)(default_os) =
=3D=3D 1) ? (__extension__ ({ register int __result =3D (((__const unsign=
ed char *) (__const char *) (default_os))[0] - ((__const unsigned char *)=
(__const char *)("aix3"))[0]); if (__s2_len > 0 && __result =3D=3D 0) { =
__result =3D (((__const unsigned char *) (__const char *) (default_os))[1=
] - ((__const unsigned char *) (__const char *) ("aix3"))[1]); if (__s2_l=
en > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (=
__const char *) (default_os))[2] - ((__const unsigned char *) (__const ch=
ar *) ("aix3"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D =
(((__const unsigned char *) (__const char *) (default_os))[3] - ((__const=
unsigned char *) (__const char *) ("aix3"))[3]); } } __result; })) : (__=
extension__ ({ __const unsigned char *__s1 =3D (__const unsigned char *) =
(__const char *) (default_os); register int __result =3D __s1[0] - ((__co=
nst unsigned char *) (__const char *) ("aix3"))[0]; if (__s2_len > 0 && _=
_result =3D=3D 0) { __result =3D (__s1[1] - ((__const unsigned char *) (_=
_const char *) ("aix3"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __=
result =3D (__s1[2] - ((__const unsigned char *) (__const char *) ("aix3"=
))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (__s1[3] - ((=
__const unsigned char *) (__const char *) ("aix3"))[3]); } } __result; })=
)) : strcmp (default_os, "aix3")))); }) : strncmp (default_os, "aix3", 4)=
)) =3D=3D 0)
ppc_cpu =3D (02) | (010);
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_con=
stant_p (default_cpu) && __builtin_constant_p ("rs6000") && (__s1_len =3D=
strlen (default_cpu), __s2_len =3D strlen ("rs6000"), (!((size_t)(const =
void *)((default_cpu) + 1) - (size_t)(const void *)(default_cpu) =3D=3D 1=
) || __s1_len >=3D 4) && (!((size_t)(const void *)(("rs6000") + 1) - (siz=
e_t)(const void *)("rs6000") =3D=3D 1) || __s2_len >=3D 4)) ? memcmp ((__=
const char *) (default_cpu), (__const char *) ("rs6000"), (__s1_len < __s=
2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (default_cpu) &=
& ((size_t)(const void *)((default_cpu) + 1) - (size_t)(const void *)(def=
ault_cpu) =3D=3D 1) && (__s1_len =3D strlen (default_cpu), __s1_len < 4) =
? (__builtin_constant_p ("rs6000") && ((size_t)(const void *)(("rs6000") =
+ 1) - (size_t)(const void *)("rs6000") =3D=3D 1) ? (__extension__ ({ reg=
ister int __result =3D (((__const unsigned char *) (__const char *) (defa=
ult_cpu))[0] - ((__const unsigned char *) (__const char *)("rs6000"))[0])=
; if (__s1_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsign=
ed char *) (__const char *) (default_cpu))[1] - ((__const unsigned char *=
) (__const char *) ("rs6000"))[1]); if (__s1_len > 1 && __result =3D=3D 0=
) { __result =3D (((__const unsigned char *) (__const char *) (default_cp=
u))[2] - ((__const unsigned char *) (__const char *) ("rs6000"))[2]); if =
(__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char=
*) (__const char *) (default_cpu))[3] - ((__const unsigned char *) (__co=
nst char *) ("rs6000"))[3]); } } __result; })) : (__extension__ ({ __cons=
t unsigned char *__s2 =3D (__const unsigned char *) (__const char *) ("rs=
6000"); register int __result =3D (((__const unsigned char *) (__const ch=
ar *) (default_cpu))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0=
) { __result =3D (((__const unsigned char *) (__const char *) (default_cp=
u))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D =
(((__const unsigned char *) (__const char *) (default_cpu))[2] - __s2[2])=
; if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned=
char *) (__const char *) (default_cpu))[3] - __s2[3]); } } __result; }))=
) : (__builtin_constant_p ("rs6000") && ((size_t)(const void *)(("rs6000"=
) + 1) - (size_t)(const void *)("rs6000") =3D=3D 1) && (__s2_len =3D strl=
en ("rs6000"), __s2_len < 4) ? (__builtin_constant_p (default_cpu) && ((s=
ize_t)(const void *)((default_cpu) + 1) - (size_t)(const void *)(default_=
cpu) =3D=3D 1) ? (__extension__ ({ register int __result =3D (((__const u=
nsigned char *) (__const char *) (default_cpu))[0] - ((__const unsigned c=
har *) (__const char *)("rs6000"))[0]); if (__s2_len > 0 && __result =3D=3D=
0) { __result =3D (((__const unsigned char *) (__const char *) (default_=
cpu))[1] - ((__const unsigned char *) (__const char *) ("rs6000"))[1]); i=
f (__s2_len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned =
char *) (__const char *) (default_cpu))[2] - ((__const unsigned char *) (=
__const char *) ("rs6000"))[2]); if (__s2_len > 2 && __result =3D=3D 0) _=
_result =3D (((__const unsigned char *) (__const char *) (default_cpu))[3=
] - ((__const unsigned char *) (__const char *) ("rs6000"))[3]); } } __re=
sult; })) : (__extension__ ({ __const unsigned char *__s1 =3D (__const un=
signed char *) (__const char *) (default_cpu); register int __result =3D =
__s1[0] - ((__const unsigned char *) (__const char *) ("rs6000"))[0]; if =
(__s2_len > 0 && __result =3D=3D 0) { __result =3D (__s1[1] - ((__const u=
nsigned char *) (__const char *) ("rs6000"))[1]); if (__s2_len > 1 && __r=
esult =3D=3D 0) { __result =3D (__s1[2] - ((__const unsigned char *) (__c=
onst char *) ("rs6000"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __re=
sult =3D (__s1[3] - ((__const unsigned char *) (__const char *) ("rs6000"=
))[3]); } } __result; }))) : strcmp (default_cpu, "rs6000")))); }) =3D=3D=
0)
ppc_cpu =3D (02) | (010);
else if ((__extension__ (__builtin_constant_p (7) && ((__builtin_co=
nstant_p (default_cpu) && strlen (default_cpu) < ((size_t) (7))) || (__bu=
iltin_constant_p ("powerpc") && strlen ("powerpc") < ((size_t) (7)))) ? _=
_extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (default=
_cpu) && __builtin_constant_p ("powerpc") && (__s1_len =3D strlen (defaul=
t_cpu), __s2_len =3D strlen ("powerpc"), (!((size_t)(const void *)((defau=
lt_cpu) + 1) - (size_t)(const void *)(default_cpu) =3D=3D 1) || __s1_len =
>=3D 4) && (!((size_t)(const void *)(("powerpc") + 1) - (size_t)(const vo=
id *)("powerpc") =3D=3D 1) || __s2_len >=3D 4)) ? memcmp ((__const char *=
) (default_cpu), (__const char *) ("powerpc"), (__s1_len < __s2_len ? __s=
1_len : __s2_len) + 1) : (__builtin_constant_p (default_cpu) && ((size_t)=
(const void *)((default_cpu) + 1) - (size_t)(const void *)(default_cpu) =3D=
=3D 1) && (__s1_len =3D strlen (default_cpu), __s1_len < 4) ? (__builtin_=
constant_p ("powerpc") && ((size_t)(const void *)(("powerpc") + 1) - (siz=
e_t)(const void *)("powerpc") =3D=3D 1) ? (__extension__ ({ register int =
__result =3D (((__const unsigned char *) (__const char *) (default_cpu))[=
0] - ((__const unsigned char *) (__const char *)("powerpc"))[0]); if (__s=
1_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned char *=
) (__const char *) (default_cpu))[1] - ((__const unsigned char *) (__cons=
t char *) ("powerpc"))[1]); if (__s1_len > 1 && __result =3D=3D 0) { __re=
sult =3D (((__const unsigned char *) (__const char *) (default_cpu))[2] -=
((__const unsigned char *) (__const char *) ("powerpc"))[2]); if (__s1_l=
en > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) (__=
const char *) (default_cpu))[3] - ((__const unsigned char *) (__const cha=
r *) ("powerpc"))[3]); } } __result; })) : (__extension__ ({ __const unsi=
gned char *__s2 =3D (__const unsigned char *) (__const char *) ("powerpc"=
); register int __result =3D (((__const unsigned char *) (__const char *)=
(default_cpu))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (default_cpu))[1=
] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__=
const unsigned char *) (__const char *) (default_cpu))[2] - __s2[2]); if =
(__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char=
*) (__const char *) (default_cpu))[3] - __s2[3]); } } __result; }))) : (=
__builtin_constant_p ("powerpc") && ((size_t)(const void *)(("powerpc") +=
1) - (size_t)(const void *)("powerpc") =3D=3D 1) && (__s2_len =3D strlen=
("powerpc"), __s2_len < 4) ? (__builtin_constant_p (default_cpu) && ((si=
ze_t)(const void *)((default_cpu) + 1) - (size_t)(const void *)(default_c=
pu) =3D=3D 1) ? (__extension__ ({ register int __result =3D (((__const un=
signed char *) (__const char *) (default_cpu))[0] - ((__const unsigned ch=
ar *) (__const char *)("powerpc"))[0]); if (__s2_len > 0 && __result =3D=3D=
0) { __result =3D (((__const unsigned char *) (__const char *) (default_=
cpu))[1] - ((__const unsigned char *) (__const char *) ("powerpc"))[1]); =
if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned=
char *) (__const char *) (default_cpu))[2] - ((__const unsigned char *) =
(__const char *) ("powerpc"))[2]); if (__s2_len > 2 && __result =3D=3D 0)=
__result =3D (((__const unsigned char *) (__const char *) (default_cpu))=
[3] - ((__const unsigned char *) (__const char *) ("powerpc"))[3]); } } _=
_result; })) : (__extension__ ({ __const unsigned char *__s1 =3D (__const=
unsigned char *) (__const char *) (default_cpu); register int __result =3D=
__s1[0] - ((__const unsigned char *) (__const char *) ("powerpc"))[0]; i=
f (__s2_len > 0 && __result =3D=3D 0) { __result =3D (__s1[1] - ((__const=
unsigned char *) (__const char *) ("powerpc"))[1]); if (__s2_len > 1 && =
__result =3D=3D 0) { __result =3D (__s1[2] - ((__const unsigned char *) (=
__const char *) ("powerpc"))[2]); if (__s2_len > 2 && __result =3D=3D 0) =
__result =3D (__s1[3] - ((__const unsigned char *) (__const char *) ("pow=
erpc"))[3]); } } __result; }))) : strcmp (default_cpu, "powerpc")))); }) =
: strncmp (default_cpu, "powerpc", 7))) =3D=3D 0)
{
if (default_cpu[7] =3D=3D '6' && default_cpu[8] =3D=3D '4')
ppc_cpu =3D (01) | (020);
else
ppc_cpu =3D (01) | (010);
}
else
as_fatal (dcgettext (((void *)0), "Unknown default cpu =3D %s, os=
=3D %s", __LC_MESSAGES),
default_cpu, default_os);
}
}
enum bfd_architecture
ppc_arch ()
{
const char *default_cpu =3D "powerpc";
ppc_set_cpu ();
if ((ppc_cpu & (01)) !=3D 0)
return bfd_arch_powerpc;
else if ((ppc_cpu & (02)) !=3D 0)
return bfd_arch_rs6000;
else if ((ppc_cpu & ((0100) | (0200))) !=3D 0)
{
if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant=
_p (default_cpu) && __builtin_constant_p ("rs6000") && (__s1_len =3D strl=
en (default_cpu), __s2_len =3D strlen ("rs6000"), (!((size_t)(const void =
*)((default_cpu) + 1) - (size_t)(const void *)(default_cpu) =3D=3D 1) || =
__s1_len >=3D 4) && (!((size_t)(const void *)(("rs6000") + 1) - (size_t)(=
const void *)("rs6000") =3D=3D 1) || __s2_len >=3D 4)) ? memcmp ((__const=
char *) (default_cpu), (__const char *) ("rs6000"), (__s1_len < __s2_len=
? __s1_len : __s2_len) + 1) : (__builtin_constant_p (default_cpu) && ((s=
ize_t)(const void *)((default_cpu) + 1) - (size_t)(const void *)(default_=
cpu) =3D=3D 1) && (__s1_len =3D strlen (default_cpu), __s1_len < 4) ? (__=
builtin_constant_p ("rs6000") && ((size_t)(const void *)(("rs6000") + 1) =
- (size_t)(const void *)("rs6000") =3D=3D 1) ? (__extension__ ({ register=
int __result =3D (((__const unsigned char *) (__const char *) (default_c=
pu))[0] - ((__const unsigned char *) (__const char *)("rs6000"))[0]); if =
(__s1_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned ch=
ar *) (__const char *) (default_cpu))[1] - ((__const unsigned char *) (__=
const char *) ("rs6000"))[1]); if (__s1_len > 1 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (default_cpu))[2=
] - ((__const unsigned char *) (__const char *) ("rs6000"))[2]); if (__s1=
_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) (=
__const char *) (default_cpu))[3] - ((__const unsigned char *) (__const c=
har *) ("rs6000"))[3]); } } __result; })) : (__extension__ ({ __const uns=
igned char *__s2 =3D (__const unsigned char *) (__const char *) ("rs6000"=
); register int __result =3D (((__const unsigned char *) (__const char *)=
(default_cpu))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (default_cpu))[1=
] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__=
const unsigned char *) (__const char *) (default_cpu))[2] - __s2[2]); if =
(__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char=
*) (__const char *) (default_cpu))[3] - __s2[3]); } } __result; }))) : (=
__builtin_constant_p ("rs6000") && ((size_t)(const void *)(("rs6000") + 1=
) - (size_t)(const void *)("rs6000") =3D=3D 1) && (__s2_len =3D strlen ("=
rs6000"), __s2_len < 4) ? (__builtin_constant_p (default_cpu) && ((size_t=
)(const void *)((default_cpu) + 1) - (size_t)(const void *)(default_cpu) =
=3D=3D 1) ? (__extension__ ({ register int __result =3D (((__const unsign=
ed char *) (__const char *) (default_cpu))[0] - ((__const unsigned char *=
) (__const char *)("rs6000"))[0]); if (__s2_len > 0 && __result =3D=3D 0)=
{ __result =3D (((__const unsigned char *) (__const char *) (default_cpu=
))[1] - ((__const unsigned char *) (__const char *) ("rs6000"))[1]); if (=
__s2_len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned cha=
r *) (__const char *) (default_cpu))[2] - ((__const unsigned char *) (__c=
onst char *) ("rs6000"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __re=
sult =3D (((__const unsigned char *) (__const char *) (default_cpu))[3] -=
((__const unsigned char *) (__const char *) ("rs6000"))[3]); } } __resul=
t; })) : (__extension__ ({ __const unsigned char *__s1 =3D (__const unsig=
ned char *) (__const char *) (default_cpu); register int __result =3D __s=
1[0] - ((__const unsigned char *) (__const char *) ("rs6000"))[0]; if (__=
s2_len > 0 && __result =3D=3D 0) { __result =3D (__s1[1] - ((__const unsi=
gned char *) (__const char *) ("rs6000"))[1]); if (__s2_len > 1 && __resu=
lt =3D=3D 0) { __result =3D (__s1[2] - ((__const unsigned char *) (__cons=
t char *) ("rs6000"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __resul=
t =3D (__s1[3] - ((__const unsigned char *) (__const char *) ("rs6000"))[=
3]); } } __result; }))) : strcmp (default_cpu, "rs6000")))); }) =3D=3D 0)
return bfd_arch_rs6000;
else if ((__extension__ (__builtin_constant_p (7) && ((__builtin_co=
nstant_p (default_cpu) && strlen (default_cpu) < ((size_t) (7))) || (__bu=
iltin_constant_p ("powerpc") && strlen ("powerpc") < ((size_t) (7)))) ? _=
_extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (default=
_cpu) && __builtin_constant_p ("powerpc") && (__s1_len =3D strlen (defaul=
t_cpu), __s2_len =3D strlen ("powerpc"), (!((size_t)(const void *)((defau=
lt_cpu) + 1) - (size_t)(const void *)(default_cpu) =3D=3D 1) || __s1_len =
>=3D 4) && (!((size_t)(const void *)(("powerpc") + 1) - (size_t)(const vo=
id *)("powerpc") =3D=3D 1) || __s2_len >=3D 4)) ? memcmp ((__const char *=
) (default_cpu), (__const char *) ("powerpc"), (__s1_len < __s2_len ? __s=
1_len : __s2_len) + 1) : (__builtin_constant_p (default_cpu) && ((size_t)=
(const void *)((default_cpu) + 1) - (size_t)(const void *)(default_cpu) =3D=
=3D 1) && (__s1_len =3D strlen (default_cpu), __s1_len < 4) ? (__builtin_=
constant_p ("powerpc") && ((size_t)(const void *)(("powerpc") + 1) - (siz=
e_t)(const void *)("powerpc") =3D=3D 1) ? (__extension__ ({ register int =
__result =3D (((__const unsigned char *) (__const char *) (default_cpu))[=
0] - ((__const unsigned char *) (__const char *)("powerpc"))[0]); if (__s=
1_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned char *=
) (__const char *) (default_cpu))[1] - ((__const unsigned char *) (__cons=
t char *) ("powerpc"))[1]); if (__s1_len > 1 && __result =3D=3D 0) { __re=
sult =3D (((__const unsigned char *) (__const char *) (default_cpu))[2] -=
((__const unsigned char *) (__const char *) ("powerpc"))[2]); if (__s1_l=
en > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) (__=
const char *) (default_cpu))[3] - ((__const unsigned char *) (__const cha=
r *) ("powerpc"))[3]); } } __result; })) : (__extension__ ({ __const unsi=
gned char *__s2 =3D (__const unsigned char *) (__const char *) ("powerpc"=
); register int __result =3D (((__const unsigned char *) (__const char *)=
(default_cpu))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (default_cpu))[1=
] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__=
const unsigned char *) (__const char *) (default_cpu))[2] - __s2[2]); if =
(__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char=
*) (__const char *) (default_cpu))[3] - __s2[3]); } } __result; }))) : (=
__builtin_constant_p ("powerpc") && ((size_t)(const void *)(("powerpc") +=
1) - (size_t)(const void *)("powerpc") =3D=3D 1) && (__s2_len =3D strlen=
("powerpc"), __s2_len < 4) ? (__builtin_constant_p (default_cpu) && ((si=
ze_t)(const void *)((default_cpu) + 1) - (size_t)(const void *)(default_c=
pu) =3D=3D 1) ? (__extension__ ({ register int __result =3D (((__const un=
signed char *) (__const char *) (default_cpu))[0] - ((__const unsigned ch=
ar *) (__const char *)("powerpc"))[0]); if (__s2_len > 0 && __result =3D=3D=
0) { __result =3D (((__const unsigned char *) (__const char *) (default_=
cpu))[1] - ((__const unsigned char *) (__const char *) ("powerpc"))[1]); =
if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned=
char *) (__const char *) (default_cpu))[2] - ((__const unsigned char *) =
(__const char *) ("powerpc"))[2]); if (__s2_len > 2 && __result =3D=3D 0)=
__result =3D (((__const unsigned char *) (__const char *) (default_cpu))=
[3] - ((__const unsigned char *) (__const char *) ("powerpc"))[3]); } } _=
_result; })) : (__extension__ ({ __const unsigned char *__s1 =3D (__const=
unsigned char *) (__const char *) (default_cpu); register int __result =3D=
__s1[0] - ((__const unsigned char *) (__const char *) ("powerpc"))[0]; i=
f (__s2_len > 0 && __result =3D=3D 0) { __result =3D (__s1[1] - ((__const=
unsigned char *) (__const char *) ("powerpc"))[1]); if (__s2_len > 1 && =
__result =3D=3D 0) { __result =3D (__s1[2] - ((__const unsigned char *) (=
__const char *) ("powerpc"))[2]); if (__s2_len > 2 && __result =3D=3D 0) =
__result =3D (__s1[3] - ((__const unsigned char *) (__const char *) ("pow=
erpc"))[3]); } } __result; }))) : strcmp (default_cpu, "powerpc")))); }) =
: strncmp (default_cpu, "powerpc", 7))) =3D=3D 0)
return bfd_arch_powerpc;
}
as_fatal (dcgettext (((void *)0), "Neither Power nor PowerPC opcodes we=
re selected.", __LC_MESSAGES));
return bfd_arch_unknown;
}
unsigned long
ppc_mach ()
{
return ppc_obj64 ? 1 : 0;
}
extern char*
ppc_target_format ()
{
# 1132 "../../binutils-2.13.1/gas/config/tc-ppc.c"
return (target_big_endian
? (ppc_obj64 ? "elf64-powerpc" : "elf32-powerpc")
: (ppc_obj64 ? "elf64-powerpcle" : "elf32-powerpcle"));
}
void
md_begin ()
{
register const struct powerpc_opcode *op;
const struct powerpc_opcode *op_end;
const struct powerpc_macro *macro;
const struct powerpc_macro *macro_end;
boolean dup_insn =3D false;
ppc_set_cpu ();
if (ppc_flags && !msolaris)
((*((stdoutput)->xvec->_bfd_set_private_flags)) (stdoutput, ppc_flags=
));
ppc_hash =3D hash_new ();
op_end =3D powerpc_opcodes + powerpc_num_opcodes;
for (op =3D powerpc_opcodes; op < op_end; op++)
{
;
if ((op->flags & ppc_cpu & ~((010) | (020))) !=3D 0
&& ((op->flags & ((010) | (020))) =3D=3D 0
|| ((op->flags & ((010) | (020)))
=3D=3D (ppc_cpu & ((010) | (020))))
|| (ppc_cpu & (0400)) !=3D 0)
&& ((op->flags & (010000)) =3D=3D 0
|| (ppc_cpu & (010000)) =3D=3D (010000)
|| (ppc_cpu & (04000)) =3D=3D 0)
&& ((op->flags & ((020000) | (040000))) =3D=3D 0
|| ((op->flags & (020000))
=3D=3D (ppc_cpu & (020000)))))
{
const char *retval;
retval =3D hash_insert (ppc_hash, op->name, (void *) op);
if (retval !=3D (const char *) ((void *)0))
{
if ((ppc_cpu & (040)) !=3D 0
&& (op->flags & (02)) !=3D 0)
continue;
as_bad (dcgettext (((void *)0), "Internal assembler error f=
or instruction %s", __LC_MESSAGES),
op->name);
dup_insn =3D true;
}
}
}
ppc_macro_hash =3D hash_new ();
macro_end =3D powerpc_macros + powerpc_num_macros;
for (macro =3D powerpc_macros; macro < macro_end; macro++)
{
if ((macro->flags & ppc_cpu) !=3D 0)
{
const char *retval;
retval =3D hash_insert (ppc_macro_hash, macro->name, (void *) m=
acro);
if (retval !=3D (const char *) ((void *)0))
{
as_bad (dcgettext (((void *)0), "Internal assembler error f=
or macro %s", __LC_MESSAGES), macro->name);
dup_insn =3D true;
}
}
}
if (dup_insn)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 1221, __PRETTY=
_FUNCTION__);
if (!set_target_endian)
{
set_target_endian =3D 1;
target_big_endian =3D 1;
}
# 1249 "../../binutils-2.13.1/gas/config/tc-ppc.c"
}
static unsigned long
ppc_insert_operand (insn, operand, val, file, line)
unsigned long insn;
const struct powerpc_operand *operand;
offsetT val;
char *file;
unsigned int line;
{
if (operand->bits !=3D 32)
{
long min, max;
offsetT test;
if ((operand->flags & (01)) !=3D 0)
{
if ((operand->flags & (02)) !=3D 0)
max =3D (1 << operand->bits) - 1;
else
max =3D (1 << (operand->bits - 1)) - 1;
min =3D - (1 << (operand->bits - 1));
if (!ppc_obj64)
{
if (val > 0
&& (val & (offsetT) 0x80000000) !=3D 0
&& (val & (offsetT) 0xffffffff) =3D=3D val)
{
val -=3D 0x80000000;
val -=3D 0x80000000;
}
}
}
else
{
max =3D (1 << operand->bits) - 1;
min =3D 0;
}
if ((operand->flags & (04000)) !=3D 0)
test =3D - val;
else
test =3D val;
if (test < (offsetT) min || test > (offsetT) max)
{
const char *err =3D
dcgettext (((void *)0), "operand out of range (%s not between=
%ld and %ld)", __LC_MESSAGES);
char buf[100];
sprint_value (buf, test);
as_bad_where (file, line, err, buf, min, max);
}
}
if (operand->insert)
{
const char *errmsg;
errmsg =3D ((void *)0);
insn =3D (*operand->insert) (insn, (long) val, ppc_cpu, &errmsg);
if (errmsg !=3D (const char *) ((void *)0))
as_bad_where (file, line, errmsg);
}
else
insn |=3D (((long) val & ((1 << operand->bits) - 1))
<< operand->shift);
return insn;
}
static bfd_reloc_code_real_type
ppc_elf_suffix (str_p, exp_p)
char **str_p;
expressionS *exp_p;
{
struct map_bfd {
char *string;
int length;
int reloc;
};
char ident[20];
char *str =3D *str_p;
char *str2;
int ch;
int len;
const struct map_bfd *ptr;
static const struct map_bfd mapping[] =3D {
{ "l", sizeof ("l")-1, (int) BFD_RELOC_LO16 },
{ "h", sizeof ("h")-1, (int) BFD_RELOC_HI16 },
{ "ha", sizeof ("ha")-1, (int) BFD_RELOC_HI16_S },
{ "brtaken", sizeof ("brtaken")-1, (int) BFD_RELOC_PPC_B16_BRTAKEN },
{ "brntaken", sizeof ("brntaken")-1, (int) BFD_RELOC_PPC_B16_BRNTAKEN=
},
{ "got", sizeof ("got")-1, (int) BFD_RELOC_16_GOTOFF },
{ "got@l", sizeof ("got@l")-1, (int) BFD_RELOC_LO16_GOTOFF },
{ "got@h", sizeof ("got@h")-1, (int) BFD_RELOC_HI16_GOTOFF },
{ "got@ha", sizeof ("got@ha")-1, (int) BFD_RELOC_HI16_S_GOTOFF },
{ "fixup", sizeof ("fixup")-1, (int) BFD_RELOC_CTOR },
{ "plt", sizeof ("plt")-1, (int) BFD_RELOC_24_PLT_PCREL },
{ "pltrel24", sizeof ("pltrel24")-1, (int) BFD_RELOC_24_PLT_PCREL },
{ "copy", sizeof ("copy")-1, (int) BFD_RELOC_PPC_COPY },
{ "globdat", sizeof ("globdat")-1, (int) BFD_RELOC_PPC_GLOB_DAT },
{ "local24pc", sizeof ("local24pc")-1, (int) BFD_RELOC_PPC_LOCAL24PC =
},
{ "local", sizeof ("local")-1, (int) BFD_RELOC_PPC_LOCAL24PC },
{ "pltrel", sizeof ("pltrel")-1, (int) BFD_RELOC_32_PLT_PCREL },
{ "plt@l", sizeof ("plt@l")-1, (int) BFD_RELOC_LO16_PLTOFF },
{ "plt@h", sizeof ("plt@h")-1, (int) BFD_RELOC_HI16_PLTOFF },
{ "plt@ha", sizeof ("plt@ha")-1, (int) BFD_RELOC_HI16_S_PLTOFF },
{ "sdarel", sizeof ("sdarel")-1, (int) BFD_RELOC_GPREL16 },
{ "sectoff", sizeof ("sectoff")-1, (int) BFD_RELOC_16_BASEREL },
{ "sectoff@l", sizeof ("sectoff@l")-1, (int) BFD_RELOC_LO16_BASEREL }=
,
{ "sectoff@h", sizeof ("sectoff@h")-1, (int) BFD_RELOC_HI16_BASEREL }=
,
{ "sectoff@ha", sizeof ("sectoff@ha")-1, (int) BFD_RELOC_HI16_S_BASER=
EL },
{ "naddr", sizeof ("naddr")-1, (int) BFD_RELOC_PPC_EMB_NADDR32 },
{ "naddr16", sizeof ("naddr16")-1, (int) BFD_RELOC_PPC_EMB_NADDR16 },
{ "naddr@l", sizeof ("naddr@l")-1, (int) BFD_RELOC_PPC_EMB_NADDR16_LO=
},
{ "naddr@h", sizeof ("naddr@h")-1, (int) BFD_RELOC_PPC_EMB_NADDR16_HI=
},
{ "naddr@ha", sizeof ("naddr@ha")-1, (int) BFD_RELOC_PPC_EMB_NADDR16_=
HA },
{ "sdai16", sizeof ("sdai16")-1, (int) BFD_RELOC_PPC_EMB_SDAI16 },
{ "sda2rel", sizeof ("sda2rel")-1, (int) BFD_RELOC_PPC_EMB_SDA2REL },
{ "sda2i16", sizeof ("sda2i16")-1, (int) BFD_RELOC_PPC_EMB_SDA2I16 },
{ "sda21", sizeof ("sda21")-1, (int) BFD_RELOC_PPC_EMB_SDA21 },
{ "mrkref", sizeof ("mrkref")-1, (int) BFD_RELOC_PPC_EMB_MRKREF },
{ "relsect", sizeof ("relsect")-1, (int) BFD_RELOC_PPC_EMB_RELSEC16 }=
,
{ "relsect@l", sizeof ("relsect@l")-1, (int) BFD_RELOC_PPC_EMB_RELST_=
LO },
{ "relsect@h", sizeof ("relsect@h")-1, (int) BFD_RELOC_PPC_EMB_RELST_=
HI },
{ "relsect@ha", sizeof ("relsect@ha")-1, (int) BFD_RELOC_PPC_EMB_RELS=
T_HA },
{ "bitfld", sizeof ("bitfld")-1, (int) BFD_RELOC_PPC_EMB_BIT_FLD },
{ "relsda", sizeof ("relsda")-1, (int) BFD_RELOC_PPC_EMB_RELSDA },
{ "xgot", sizeof ("xgot")-1, (int) BFD_RELOC_PPC_TOC16 },
{ "higher", sizeof ("higher")-1, - (int) BFD_RELOC_PPC64_HIGHER },
{ "highera", sizeof ("highera")-1, - (int) BFD_RELOC_PPC64_HIGHER_S }=
,
{ "highest", sizeof ("highest")-1, - (int) BFD_RELOC_PPC64_HIGHEST },
{ "highesta", sizeof ("highesta")-1, - (int) BFD_RELOC_PPC64_HIGHEST_=
S },
{ "tocbase", sizeof ("tocbase")-1, - (int) BFD_RELOC_PPC64_TOC },
{ "toc", sizeof ("toc")-1, - (int) BFD_RELOC_PPC_TOC16 },
{ "toc@l", sizeof ("toc@l")-1, - (int) BFD_RELOC_PPC64_TOC16_LO },
{ "toc@h", sizeof ("toc@h")-1, - (int) BFD_RELOC_PPC64_TOC16_HI },
{ "toc@ha", sizeof ("toc@ha")-1, - (int) BFD_RELOC_PPC64_TOC16_HA },
{ (char *) 0, 0, (int) BFD_RELOC_UNUSED }
};
if (*str++ !=3D '@')
return BFD_RELOC_UNUSED;
for (ch =3D *str, str2 =3D ident;
(str2 < ident + sizeof (ident) - 1
&& ((_sch_istable[(ch) & 0xff] & (unsigned short)(_sch_isalnum)) =
|| ch =3D=3D '@'));
ch =3D *++str)
{
*str2++ =3D _sch_tolower[(ch) & 0xff];
}
*str2 =3D '\0';
len =3D str2 - ident;
ch =3D ident[0];
for (ptr =3D &mapping[0]; ptr->length > 0; ptr++)
if (ch =3D=3D ptr->string[0]
&& len =3D=3D ptr->length
&& memcmp (ident, ptr->string, ptr->length) =3D=3D 0)
{
int reloc =3D ptr->reloc;
if (reloc < 0)
{
if (!ppc_obj64)
return BFD_RELOC_UNUSED;
reloc =3D -reloc;
}
if (exp_p->X_add_number !=3D 0
&& (reloc =3D=3D (int) BFD_RELOC_16_GOTOFF
|| reloc =3D=3D (int) BFD_RELOC_LO16_GOTOFF
|| reloc =3D=3D (int) BFD_RELOC_HI16_GOTOFF
|| reloc =3D=3D (int) BFD_RELOC_HI16_S_GOTOFF))
as_warn (dcgettext (((void *)0), "identifier+constant@got means=
identifier@got+constant", __LC_MESSAGES));
if (*str =3D=3D '-' || *str =3D=3D '+')
{
char *orig_line =3D input_line_pointer;
expressionS new_exp;
input_line_pointer =3D str;
expr (0, &new_exp);
if (new_exp.X_op =3D=3D O_constant)
{
exp_p->X_add_number +=3D new_exp.X_add_number;
str =3D input_line_pointer;
}
if (&input_line_pointer !=3D str_p)
input_line_pointer =3D orig_line;
}
*str_p =3D str;
if (reloc =3D=3D (int) BFD_RELOC_PPC64_TOC
&& exp_p->X_op =3D=3D O_symbol)
{
exp_p->X_add_symbol =3D &abs_symbol;
}
return (bfd_reloc_code_real_type) reloc;
}
return BFD_RELOC_UNUSED;
}
static void
ppc_elf_cons (nbytes)
register int nbytes;
{
expressionS exp;
bfd_reloc_code_real_type reloc;
if (is_it_end_of_statement ())
{
demand_empty_rest_of_line ();
return;
}
do
{
expr (0, &exp);
if (exp.X_op =3D=3D O_symbol
&& *input_line_pointer =3D=3D '@'
&& (reloc =3D ppc_elf_suffix (&input_line_pointer,
&exp)) !=3D BFD_RELOC_UNUSED)
{
reloc_howto_type *reloc_howto;
int size;
reloc_howto =3D bfd_reloc_type_lookup (stdoutput, reloc);
size =3D bfd_get_reloc_size (reloc_howto);
if (size > nbytes)
{
as_bad (dcgettext (((void *)0), "%s relocations do not fit =
in %d bytes\n", __LC_MESSAGES),
reloc_howto->name, nbytes);
}
else
{
char *p;
int offset;
p =3D frag_more (nbytes);
offset =3D 0;
if (target_big_endian)
offset =3D nbytes - size;
fix_new_exp (frag_now, p - frag_now->fr_literal + offset, s=
ize,
&exp, 0, reloc);
}
}
else
emit_expr (&exp, (unsigned int) nbytes);
}
while (*input_line_pointer++ =3D=3D ',');
input_line_pointer--;
demand_empty_rest_of_line ();
}
static void
ppc_elf_rdata (xxx)
int xxx;
{
char *save_line =3D input_line_pointer;
static char section[] =3D ".rodata\n";
input_line_pointer =3D section;
obj_elf_section (xxx);
input_line_pointer =3D save_line;
}
static void
ppc_elf_lcomm (xxx)
int xxx __attribute__ ((__unused__));
{
register char *name;
register char c;
register char *p;
offsetT size;
register symbolS *symbolP;
offsetT align;
segT old_sec;
int old_subsec;
char *pfrag;
int align2;
name =3D input_line_pointer;
c =3D get_symbol_end ();
p =3D input_line_pointer;
*p =3D c;
{ if (* input_line_pointer =3D=3D ' ') ++ input_line_pointer; };
if (*input_line_pointer !=3D ',')
{
as_bad (dcgettext (((void *)0), "Expected comma after symbol-name: =
rest of line ignored.", __LC_MESSAGES));
ignore_rest_of_line ();
return;
}
input_line_pointer++;
if ((size =3D get_absolute_expression ()) < 0)
{
as_warn (dcgettext (((void *)0), ".COMMon length (%ld.) <0! Ignored=
=2E", __LC_MESSAGES), (long) size);
ignore_rest_of_line ();
return;
}
if (*input_line_pointer !=3D ',')
align =3D 8;
else
{
++input_line_pointer;
align =3D get_absolute_expression ();
if (align <=3D 0)
{
as_warn (dcgettext (((void *)0), "ignoring bad alignment", __LC=
_MESSAGES));
align =3D 8;
}
}
*p =3D 0;
symbolP =3D symbol_find_or_make (name);
*p =3D c;
if (S_IS_DEFINED (symbolP) && ! S_IS_COMMON (symbolP))
{
as_bad (dcgettext (((void *)0), "Ignoring attempt to re-define symb=
ol `%s'.", __LC_MESSAGES),
S_GET_NAME (symbolP));
ignore_rest_of_line ();
return;
}
if (S_GET_VALUE (symbolP) && S_GET_VALUE (symbolP) !=3D (valueT) size)
{
as_bad (dcgettext (((void *)0), "Length of .lcomm \"%s\" is already=
%ld. Not changed to %ld.", __LC_MESSAGES),
S_GET_NAME (symbolP),
(long) S_GET_VALUE (symbolP),
(long) size);
ignore_rest_of_line ();
return;
}
old_sec =3D now_seg;
old_subsec =3D now_subseg;
if (align)
{
for (align2 =3D 0; (align & 1) =3D=3D 0; align >>=3D 1, ++align2);
if (align !=3D 1)
{
as_bad (dcgettext (((void *)0), "Common alignment not a power o=
f 2", __LC_MESSAGES));
ignore_rest_of_line ();
return;
}
}
else
align2 =3D 0;
record_alignment (bss_section, align2);
subseg_set (bss_section, 0);
if (align2)
frag_align (align2, 0, 0);
if (S_GET_SEGMENT (symbolP) =3D=3D bss_section)
symbol_get_frag (symbolP)->fr_symbol =3D 0;
symbol_set_frag (symbolP, frag_now);
pfrag =3D frag_var (rs_org, 1, 1, (relax_substateT) 0, symbolP, size,
(char *) 0);
*pfrag =3D 0;
(((elf_symbol_type *) (&(symbol_get_bfdsym (symbolP))->the_bfd))->inter=
nal_elf_sym.st_size =3D (size));
S_SET_SEGMENT (symbolP, bss_section);
subseg_set (old_sec, old_subsec);
demand_empty_rest_of_line ();
}
static void
ppc_elf_validate_fix (fixp, seg)
fixS *fixp;
segT seg;
{
if (fixp->fx_done || fixp->fx_pcrel)
return;
switch (shlib)
{
case SHLIB_NONE:
case SHLIB_PIC:
return;
case SHLIB_MRELOCATABLE:
if (fixp->fx_r_type <=3D BFD_RELOC_UNUSED
&& fixp->fx_r_type !=3D BFD_RELOC_16_GOTOFF
&& fixp->fx_r_type !=3D BFD_RELOC_HI16_GOTOFF
&& fixp->fx_r_type !=3D BFD_RELOC_LO16_GOTOFF
&& fixp->fx_r_type !=3D BFD_RELOC_HI16_S_GOTOFF
&& fixp->fx_r_type !=3D BFD_RELOC_16_BASEREL
&& fixp->fx_r_type !=3D BFD_RELOC_LO16_BASEREL
&& fixp->fx_r_type !=3D BFD_RELOC_HI16_BASEREL
&& fixp->fx_r_type !=3D BFD_RELOC_HI16_S_BASEREL
&& (seg->flags & 0x002) !=3D 0
&& __extension__ ({ size_t __s1_len, __s2_len; (__builtin_const=
ant_p (((seg)->name + 0)) && __builtin_constant_p (".got2") && (__s1_len =
=3D strlen (((seg)->name + 0)), __s2_len =3D strlen (".got2"), (!((size_t=
)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)-=
>name + 0)) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(const void *)(("=
=2Egot2") + 1) - (size_t)(const void *)(".got2") =3D=3D 1) || __s2_len >=3D=
4)) ? memcmp ((__const char *) (((seg)->name + 0)), (__const char *) (".=
got2"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_con=
stant_p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name + 0)=
) + 1) - (size_t)(const void *)(((seg)->name + 0)) =3D=3D 1) && (__s1_len=
=3D strlen (((seg)->name + 0)), __s1_len < 4) ? (__builtin_constant_p ("=
=2Egot2") && ((size_t)(const void *)((".got2") + 1) - (size_t)(const void=
*)(".got2") =3D=3D 1) ? (__extension__ ({ register int __result =3D (((_=
_const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - ((__co=
nst unsigned char *) (__const char *)(".got2"))[0]); if (__s1_len > 0 && =
__result =3D=3D 0) { __result =3D (((__const unsigned char *) (__const ch=
ar *) (((seg)->name + 0)))[1] - ((__const unsigned char *) (__const char =
*) (".got2"))[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D =
(((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - ((=
__const unsigned char *) (__const char *) (".got2"))[2]); if (__s1_len > =
2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) (__const=
char *) (((seg)->name + 0)))[3] - ((__const unsigned char *) (__const ch=
ar *) (".got2"))[3]); } } __result; })) : (__extension__ ({ __const unsig=
ned char *__s2 =3D (__const unsigned char *) (__const char *) (".got2"); =
register int __result =3D (((__const unsigned char *) (__const char *) ((=
(seg)->name + 0)))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) =
{ __result =3D (((__const unsigned char *) (__const char *) (((seg)->name=
+ 0)))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =
=3D (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] =
- __s2[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__cons=
t unsigned char *) (__const char *) (((seg)->name + 0)))[3] - __s2[3]); }=
} __result; }))) : (__builtin_constant_p (".got2") && ((size_t)(const vo=
id *)((".got2") + 1) - (size_t)(const void *)(".got2") =3D=3D 1) && (__s2=
_len =3D strlen (".got2"), __s2_len < 4) ? (__builtin_constant_p (((seg)-=
>name + 0)) && ((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t=
)(const void *)(((seg)->name + 0)) =3D=3D 1) ? (__extension__ ({ register=
int __result =3D (((__const unsigned char *) (__const char *) (((seg)->n=
ame + 0)))[0] - ((__const unsigned char *) (__const char *)(".got2"))[0])=
; if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsign=
ed char *) (__const char *) (((seg)->name + 0)))[1] - ((__const unsigned =
char *) (__const char *) (".got2"))[1]); if (__s2_len > 1 && __result =3D=
=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (((seg=
)->name + 0)))[2] - ((__const unsigned char *) (__const char *) (".got2")=
)[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (((__const uns=
igned char *) (__const char *) (((seg)->name + 0)))[3] - ((__const unsign=
ed char *) (__const char *) (".got2"))[3]); } } __result; })) : (__extens=
ion__ ({ __const unsigned char *__s1 =3D (__const unsigned char *) (__con=
st char *) (((seg)->name + 0)); register int __result =3D __s1[0] - ((__c=
onst unsigned char *) (__const char *) (".got2"))[0]; if (__s2_len > 0 &&=
__result =3D=3D 0) { __result =3D (__s1[1] - ((__const unsigned char *) =
(__const char *) (".got2"))[1]); if (__s2_len > 1 && __result =3D=3D 0) {=
__result =3D (__s1[2] - ((__const unsigned char *) (__const char *) (".g=
ot2"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (__s1[3] =
- ((__const unsigned char *) (__const char *) (".got2"))[3]); } } __resul=
t; }))) : strcmp (((seg)->name + 0), ".got2")))); }) !=3D 0
&& __extension__ ({ size_t __s1_len, __s2_len; (__builtin_const=
ant_p (((seg)->name + 0)) && __builtin_constant_p (".dtors") && (__s1_len=
=3D strlen (((seg)->name + 0)), __s2_len =3D strlen (".dtors"), (!((size=
_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg=
)->name + 0)) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(const void *)(=
(".dtors") + 1) - (size_t)(const void *)(".dtors") =3D=3D 1) || __s2_len =
>=3D 4)) ? memcmp ((__const char *) (((seg)->name + 0)), (__const char *)=
(".dtors"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builti=
n_constant_p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name=
+ 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) =3D=3D 1) && (__s=
1_len =3D strlen (((seg)->name + 0)), __s1_len < 4) ? (__builtin_constant=
_p (".dtors") && ((size_t)(const void *)((".dtors") + 1) - (size_t)(const=
void *)(".dtors") =3D=3D 1) ? (__extension__ ({ register int __result =3D=
(((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - (=
(__const unsigned char *) (__const char *)(".dtors"))[0]); if (__s1_len >=
0 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__co=
nst char *) (((seg)->name + 0)))[1] - ((__const unsigned char *) (__const=
char *) (".dtors"))[1]); if (__s1_len > 1 && __result =3D=3D 0) { __resu=
lt =3D (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[=
2] - ((__const unsigned char *) (__const char *) (".dtors"))[2]); if (__s=
1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) =
(__const char *) (((seg)->name + 0)))[3] - ((__const unsigned char *) (__=
const char *) (".dtors"))[3]); } } __result; })) : (__extension__ ({ __co=
nst unsigned char *__s2 =3D (__const unsigned char *) (__const char *) ("=
=2Edtors"); register int __result =3D (((__const unsigned char *) (__cons=
t char *) (((seg)->name + 0)))[0] - __s2[0]); if (__s1_len > 0 && __resul=
t =3D=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (=
((seg)->name + 0)))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0)=
{ __result =3D (((__const unsigned char *) (__const char *) (((seg)->nam=
e + 0)))[2] - __s2[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D=
(((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - _=
_s2[3]); } } __result; }))) : (__builtin_constant_p (".dtors") && ((size_=
t)(const void *)((".dtors") + 1) - (size_t)(const void *)(".dtors") =3D=3D=
1) && (__s2_len =3D strlen (".dtors"), __s2_len < 4) ? (__builtin_consta=
nt_p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name + 0)) +=
1) - (size_t)(const void *)(((seg)->name + 0)) =3D=3D 1) ? (__extension_=
_ ({ register int __result =3D (((__const unsigned char *) (__const char =
*) (((seg)->name + 0)))[0] - ((__const unsigned char *) (__const char *)(=
".dtors"))[0]); if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (((=
__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - ((__c=
onst unsigned char *) (__const char *) (".dtors"))[1]); if (__s2_len > 1 =
&& __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__const=
char *) (((seg)->name + 0)))[2] - ((__const unsigned char *) (__const ch=
ar *) (".dtors"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D=
(((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - (=
(__const unsigned char *) (__const char *) (".dtors"))[3]); } } __result;=
})) : (__extension__ ({ __const unsigned char *__s1 =3D (__const unsigne=
d char *) (__const char *) (((seg)->name + 0)); register int __result =3D=
__s1[0] - ((__const unsigned char *) (__const char *) (".dtors"))[0]; if=
(__s2_len > 0 && __result =3D=3D 0) { __result =3D (__s1[1] - ((__const =
unsigned char *) (__const char *) (".dtors"))[1]); if (__s2_len > 1 && __=
result =3D=3D 0) { __result =3D (__s1[2] - ((__const unsigned char *) (__=
const char *) (".dtors"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __r=
esult =3D (__s1[3] - ((__const unsigned char *) (__const char *) (".dtors=
"))[3]); } } __result; }))) : strcmp (((seg)->name + 0), ".dtors")))); })=
!=3D 0
&& __extension__ ({ size_t __s1_len, __s2_len; (__builtin_const=
ant_p (((seg)->name + 0)) && __builtin_constant_p (".ctors") && (__s1_len=
=3D strlen (((seg)->name + 0)), __s2_len =3D strlen (".ctors"), (!((size=
_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg=
)->name + 0)) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(const void *)(=
(".ctors") + 1) - (size_t)(const void *)(".ctors") =3D=3D 1) || __s2_len =
>=3D 4)) ? memcmp ((__const char *) (((seg)->name + 0)), (__const char *)=
(".ctors"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builti=
n_constant_p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name=
+ 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) =3D=3D 1) && (__s=
1_len =3D strlen (((seg)->name + 0)), __s1_len < 4) ? (__builtin_constant=
_p (".ctors") && ((size_t)(const void *)((".ctors") + 1) - (size_t)(const=
void *)(".ctors") =3D=3D 1) ? (__extension__ ({ register int __result =3D=
(((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - (=
(__const unsigned char *) (__const char *)(".ctors"))[0]); if (__s1_len >=
0 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__co=
nst char *) (((seg)->name + 0)))[1] - ((__const unsigned char *) (__const=
char *) (".ctors"))[1]); if (__s1_len > 1 && __result =3D=3D 0) { __resu=
lt =3D (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[=
2] - ((__const unsigned char *) (__const char *) (".ctors"))[2]); if (__s=
1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) =
(__const char *) (((seg)->name + 0)))[3] - ((__const unsigned char *) (__=
const char *) (".ctors"))[3]); } } __result; })) : (__extension__ ({ __co=
nst unsigned char *__s2 =3D (__const unsigned char *) (__const char *) ("=
=2Ectors"); register int __result =3D (((__const unsigned char *) (__cons=
t char *) (((seg)->name + 0)))[0] - __s2[0]); if (__s1_len > 0 && __resul=
t =3D=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (=
((seg)->name + 0)))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0)=
{ __result =3D (((__const unsigned char *) (__const char *) (((seg)->nam=
e + 0)))[2] - __s2[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D=
(((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - _=
_s2[3]); } } __result; }))) : (__builtin_constant_p (".ctors") && ((size_=
t)(const void *)((".ctors") + 1) - (size_t)(const void *)(".ctors") =3D=3D=
1) && (__s2_len =3D strlen (".ctors"), __s2_len < 4) ? (__builtin_consta=
nt_p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name + 0)) +=
1) - (size_t)(const void *)(((seg)->name + 0)) =3D=3D 1) ? (__extension_=
_ ({ register int __result =3D (((__const unsigned char *) (__const char =
*) (((seg)->name + 0)))[0] - ((__const unsigned char *) (__const char *)(=
".ctors"))[0]); if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (((=
__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - ((__c=
onst unsigned char *) (__const char *) (".ctors"))[1]); if (__s2_len > 1 =
&& __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__const=
char *) (((seg)->name + 0)))[2] - ((__const unsigned char *) (__const ch=
ar *) (".ctors"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D=
(((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - (=
(__const unsigned char *) (__const char *) (".ctors"))[3]); } } __result;=
})) : (__extension__ ({ __const unsigned char *__s1 =3D (__const unsigne=
d char *) (__const char *) (((seg)->name + 0)); register int __result =3D=
__s1[0] - ((__const unsigned char *) (__const char *) (".ctors"))[0]; if=
(__s2_len > 0 && __result =3D=3D 0) { __result =3D (__s1[1] - ((__const =
unsigned char *) (__const char *) (".ctors"))[1]); if (__s2_len > 1 && __=
result =3D=3D 0) { __result =3D (__s1[2] - ((__const unsigned char *) (__=
const char *) (".ctors"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __r=
esult =3D (__s1[3] - ((__const unsigned char *) (__const char *) (".ctors=
"))[3]); } } __result; }))) : strcmp (((seg)->name + 0), ".ctors")))); })=
!=3D 0
&& __extension__ ({ size_t __s1_len, __s2_len; (__builtin_const=
ant_p (((seg)->name + 0)) && __builtin_constant_p (".fixup") && (__s1_len=
=3D strlen (((seg)->name + 0)), __s2_len =3D strlen (".fixup"), (!((size=
_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg=
)->name + 0)) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(const void *)(=
(".fixup") + 1) - (size_t)(const void *)(".fixup") =3D=3D 1) || __s2_len =
>=3D 4)) ? memcmp ((__const char *) (((seg)->name + 0)), (__const char *)=
(".fixup"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builti=
n_constant_p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name=
+ 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) =3D=3D 1) && (__s=
1_len =3D strlen (((seg)->name + 0)), __s1_len < 4) ? (__builtin_constant=
_p (".fixup") && ((size_t)(const void *)((".fixup") + 1) - (size_t)(const=
void *)(".fixup") =3D=3D 1) ? (__extension__ ({ register int __result =3D=
(((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - (=
(__const unsigned char *) (__const char *)(".fixup"))[0]); if (__s1_len >=
0 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__co=
nst char *) (((seg)->name + 0)))[1] - ((__const unsigned char *) (__const=
char *) (".fixup"))[1]); if (__s1_len > 1 && __result =3D=3D 0) { __resu=
lt =3D (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[=
2] - ((__const unsigned char *) (__const char *) (".fixup"))[2]); if (__s=
1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) =
(__const char *) (((seg)->name + 0)))[3] - ((__const unsigned char *) (__=
const char *) (".fixup"))[3]); } } __result; })) : (__extension__ ({ __co=
nst unsigned char *__s2 =3D (__const unsigned char *) (__const char *) ("=
=2Efixup"); register int __result =3D (((__const unsigned char *) (__cons=
t char *) (((seg)->name + 0)))[0] - __s2[0]); if (__s1_len > 0 && __resul=
t =3D=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (=
((seg)->name + 0)))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0)=
{ __result =3D (((__const unsigned char *) (__const char *) (((seg)->nam=
e + 0)))[2] - __s2[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D=
(((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - _=
_s2[3]); } } __result; }))) : (__builtin_constant_p (".fixup") && ((size_=
t)(const void *)((".fixup") + 1) - (size_t)(const void *)(".fixup") =3D=3D=
1) && (__s2_len =3D strlen (".fixup"), __s2_len < 4) ? (__builtin_consta=
nt_p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name + 0)) +=
1) - (size_t)(const void *)(((seg)->name + 0)) =3D=3D 1) ? (__extension_=
_ ({ register int __result =3D (((__const unsigned char *) (__const char =
*) (((seg)->name + 0)))[0] - ((__const unsigned char *) (__const char *)(=
".fixup"))[0]); if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (((=
__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - ((__c=
onst unsigned char *) (__const char *) (".fixup"))[1]); if (__s2_len > 1 =
&& __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__const=
char *) (((seg)->name + 0)))[2] - ((__const unsigned char *) (__const ch=
ar *) (".fixup"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D=
(((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - (=
(__const unsigned char *) (__const char *) (".fixup"))[3]); } } __result;=
})) : (__extension__ ({ __const unsigned char *__s1 =3D (__const unsigne=
d char *) (__const char *) (((seg)->name + 0)); register int __result =3D=
__s1[0] - ((__const unsigned char *) (__const char *) (".fixup"))[0]; if=
(__s2_len > 0 && __result =3D=3D 0) { __result =3D (__s1[1] - ((__const =
unsigned char *) (__const char *) (".fixup"))[1]); if (__s2_len > 1 && __=
result =3D=3D 0) { __result =3D (__s1[2] - ((__const unsigned char *) (__=
const char *) (".fixup"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __r=
esult =3D (__s1[3] - ((__const unsigned char *) (__const char *) (".fixup=
"))[3]); } } __result; }))) : strcmp (((seg)->name + 0), ".fixup")))); })=
!=3D 0
&& __extension__ ({ size_t __s1_len, __s2_len; (__builtin_const=
ant_p (((seg)->name + 0)) && __builtin_constant_p (".gcc_except_table") &=
& (__s1_len =3D strlen (((seg)->name + 0)), __s2_len =3D strlen (".gcc_ex=
cept_table"), (!((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_=
t)(const void *)(((seg)->name + 0)) =3D=3D 1) || __s1_len >=3D 4) && (!((=
size_t)(const void *)((".gcc_except_table") + 1) - (size_t)(const void *)=
(".gcc_except_table") =3D=3D 1) || __s2_len >=3D 4)) ? memcmp ((__const c=
har *) (((seg)->name + 0)), (__const char *) (".gcc_except_table"), (__s1=
_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (((se=
g)->name + 0)) && ((size_t)(const void *)((((seg)->name + 0)) + 1) - (siz=
e_t)(const void *)(((seg)->name + 0)) =3D=3D 1) && (__s1_len =3D strlen (=
((seg)->name + 0)), __s1_len < 4) ? (__builtin_constant_p (".gcc_except_t=
able") && ((size_t)(const void *)((".gcc_except_table") + 1) - (size_t)(c=
onst void *)(".gcc_except_table") =3D=3D 1) ? (__extension__ ({ register =
int __result =3D (((__const unsigned char *) (__const char *) (((seg)->na=
me + 0)))[0] - ((__const unsigned char *) (__const char *)(".gcc_except_t=
able"))[0]); if (__s1_len > 0 && __result =3D=3D 0) { __result =3D (((__c=
onst unsigned char *) (__const char *) (((seg)->name + 0)))[1] - ((__cons=
t unsigned char *) (__const char *) (".gcc_except_table"))[1]); if (__s1_=
len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) =
(__const char *) (((seg)->name + 0)))[2] - ((__const unsigned char *) (__=
const char *) (".gcc_except_table"))[2]); if (__s1_len > 2 && __result =3D=
=3D 0) __result =3D (((__const unsigned char *) (__const char *) (((seg)-=
>name + 0)))[3] - ((__const unsigned char *) (__const char *) (".gcc_exce=
pt_table"))[3]); } } __result; })) : (__extension__ ({ __const unsigned c=
har *__s2 =3D (__const unsigned char *) (__const char *) (".gcc_except_ta=
ble"); register int __result =3D (((__const unsigned char *) (__const cha=
r *) (((seg)->name + 0)))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=
=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (((seg=
)->name + 0)))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0) { __=
result =3D (((__const unsigned char *) (__const char *) (((seg)->name + 0=
)))[2] - __s2[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D ((=
(__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - __s2=
[3]); } } __result; }))) : (__builtin_constant_p (".gcc_except_table") &&=
((size_t)(const void *)((".gcc_except_table") + 1) - (size_t)(const void=
*)(".gcc_except_table") =3D=3D 1) && (__s2_len =3D strlen (".gcc_except_=
table"), __s2_len < 4) ? (__builtin_constant_p (((seg)->name + 0)) && ((s=
ize_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((=
seg)->name + 0)) =3D=3D 1) ? (__extension__ ({ register int __result =3D =
(((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - ((=
__const unsigned char *) (__const char *)(".gcc_except_table"))[0]); if (=
__s2_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned cha=
r *) (__const char *) (((seg)->name + 0)))[1] - ((__const unsigned char *=
) (__const char *) (".gcc_except_table"))[1]); if (__s2_len > 1 && __resu=
lt =3D=3D 0) { __result =3D (((__const unsigned char *) (__const char *) =
(((seg)->name + 0)))[2] - ((__const unsigned char *) (__const char *) (".=
gcc_except_table"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =
=3D (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] =
- ((__const unsigned char *) (__const char *) (".gcc_except_table"))[3]);=
} } __result; })) : (__extension__ ({ __const unsigned char *__s1 =3D (_=
_const unsigned char *) (__const char *) (((seg)->name + 0)); register in=
t __result =3D __s1[0] - ((__const unsigned char *) (__const char *) (".g=
cc_except_table"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __result =
=3D (__s1[1] - ((__const unsigned char *) (__const char *) (".gcc_except_=
table"))[1]); if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1=
[2] - ((__const unsigned char *) (__const char *) (".gcc_except_table"))[=
2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (__s1[3] - ((__c=
onst unsigned char *) (__const char *) (".gcc_except_table"))[3]); } } __=
result; }))) : strcmp (((seg)->name + 0), ".gcc_except_table")))); }) !=3D=
0
&& __extension__ ({ size_t __s1_len, __s2_len; (__builtin_const=
ant_p (((seg)->name + 0)) && __builtin_constant_p (".eh_frame") && (__s1_=
len =3D strlen (((seg)->name + 0)), __s2_len =3D strlen (".eh_frame"), (!=
((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)=
(((seg)->name + 0)) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(const vo=
id *)((".eh_frame") + 1) - (size_t)(const void *)(".eh_frame") =3D=3D 1) =
|| __s2_len >=3D 4)) ? memcmp ((__const char *) (((seg)->name + 0)), (__c=
onst char *) (".eh_frame"), (__s1_len < __s2_len ? __s1_len : __s2_len) +=
1) : (__builtin_constant_p (((seg)->name + 0)) && ((size_t)(const void *=
)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) =3D=
=3D 1) && (__s1_len =3D strlen (((seg)->name + 0)), __s1_len < 4) ? (__bu=
iltin_constant_p (".eh_frame") && ((size_t)(const void *)((".eh_frame") +=
1) - (size_t)(const void *)(".eh_frame") =3D=3D 1) ? (__extension__ ({ r=
egister int __result =3D (((__const unsigned char *) (__const char *) (((=
seg)->name + 0)))[0] - ((__const unsigned char *) (__const char *)(".eh_f=
rame"))[0]); if (__s1_len > 0 && __result =3D=3D 0) { __result =3D (((__c=
onst unsigned char *) (__const char *) (((seg)->name + 0)))[1] - ((__cons=
t unsigned char *) (__const char *) (".eh_frame"))[1]); if (__s1_len > 1 =
&& __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__const=
char *) (((seg)->name + 0)))[2] - ((__const unsigned char *) (__const ch=
ar *) (".eh_frame"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __result=
=3D (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3]=
- ((__const unsigned char *) (__const char *) (".eh_frame"))[3]); } } __=
result; })) : (__extension__ ({ __const unsigned char *__s2 =3D (__const =
unsigned char *) (__const char *) (".eh_frame"); register int __result =3D=
(((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - _=
_s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { __result =3D (((__const=
unsigned char *) (__const char *) (((seg)->name + 0)))[1] - __s2[1]); if=
(__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned c=
har *) (__const char *) (((seg)->name + 0)))[2] - __s2[2]); if (__s1_len =
> 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) (__con=
st char *) (((seg)->name + 0)))[3] - __s2[3]); } } __result; }))) : (__bu=
iltin_constant_p (".eh_frame") && ((size_t)(const void *)((".eh_frame") +=
1) - (size_t)(const void *)(".eh_frame") =3D=3D 1) && (__s2_len =3D strl=
en (".eh_frame"), __s2_len < 4) ? (__builtin_constant_p (((seg)->name + 0=
)) && ((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const v=
oid *)(((seg)->name + 0)) =3D=3D 1) ? (__extension__ ({ register int __re=
sult =3D (((__const unsigned char *) (__const char *) (((seg)->name + 0))=
)[0] - ((__const unsigned char *) (__const char *)(".eh_frame"))[0]); if =
(__s2_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned ch=
ar *) (__const char *) (((seg)->name + 0)))[1] - ((__const unsigned char =
*) (__const char *) (".eh_frame"))[1]); if (__s2_len > 1 && __result =3D=3D=
0) { __result =3D (((__const unsigned char *) (__const char *) (((seg)->=
name + 0)))[2] - ((__const unsigned char *) (__const char *) (".eh_frame"=
))[2]); if (__s2_len > 2 && __result =3D=3D 0) __result =3D (((__const un=
signed char *) (__const char *) (((seg)->name + 0)))[3] - ((__const unsig=
ned char *) (__const char *) (".eh_frame"))[3]); } } __result; })) : (__e=
xtension__ ({ __const unsigned char *__s1 =3D (__const unsigned char *) (=
__const char *) (((seg)->name + 0)); register int __result =3D __s1[0] - =
((__const unsigned char *) (__const char *) (".eh_frame"))[0]; if (__s2_l=
en > 0 && __result =3D=3D 0) { __result =3D (__s1[1] - ((__const unsigned=
char *) (__const char *) (".eh_frame"))[1]); if (__s2_len > 1 && __resul=
t =3D=3D 0) { __result =3D (__s1[2] - ((__const unsigned char *) (__const=
char *) (".eh_frame"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __res=
ult =3D (__s1[3] - ((__const unsigned char *) (__const char *) (".eh_fram=
e"))[3]); } } __result; }))) : strcmp (((seg)->name + 0), ".eh_frame"))))=
; }) !=3D 0
&& __extension__ ({ size_t __s1_len, __s2_len; (__builtin_const=
ant_p (((seg)->name + 0)) && __builtin_constant_p (".ex_shared") && (__s1=
_len =3D strlen (((seg)->name + 0)), __s2_len =3D strlen (".ex_shared"), =
(!((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void =
*)(((seg)->name + 0)) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(const =
void *)((".ex_shared") + 1) - (size_t)(const void *)(".ex_shared") =3D=3D=
1) || __s2_len >=3D 4)) ? memcmp ((__const char *) (((seg)->name + 0)), =
(__const char *) (".ex_shared"), (__s1_len < __s2_len ? __s1_len : __s2_l=
en) + 1) : (__builtin_constant_p (((seg)->name + 0)) && ((size_t)(const v=
oid *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0=
)) =3D=3D 1) && (__s1_len =3D strlen (((seg)->name + 0)), __s1_len < 4) ?=
(__builtin_constant_p (".ex_shared") && ((size_t)(const void *)((".ex_sh=
ared") + 1) - (size_t)(const void *)(".ex_shared") =3D=3D 1) ? (__extensi=
on__ ({ register int __result =3D (((__const unsigned char *) (__const ch=
ar *) (((seg)->name + 0)))[0] - ((__const unsigned char *) (__const char =
*)(".ex_shared"))[0]); if (__s1_len > 0 && __result =3D=3D 0) { __result =
=3D (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] =
- ((__const unsigned char *) (__const char *) (".ex_shared"))[1]); if (__=
s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char =
*) (__const char *) (((seg)->name + 0)))[2] - ((__const unsigned char *) =
(__const char *) (".ex_shared"))[2]); if (__s1_len > 2 && __result =3D=3D=
0) __result =3D (((__const unsigned char *) (__const char *) (((seg)->na=
me + 0)))[3] - ((__const unsigned char *) (__const char *) (".ex_shared")=
)[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 =
=3D (__const unsigned char *) (__const char *) (".ex_shared"); register i=
nt __result =3D (((__const unsigned char *) (__const char *) (((seg)->nam=
e + 0)))[0] - __s2[0]); if (__s1_len > 0 && __result =3D=3D 0) { __result=
=3D (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1]=
- __s2[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__c=
onst unsigned char *) (__const char *) (((seg)->name + 0)))[2] - __s2[2])=
; if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned=
char *) (__const char *) (((seg)->name + 0)))[3] - __s2[3]); } } __resul=
t; }))) : (__builtin_constant_p (".ex_shared") && ((size_t)(const void *)=
((".ex_shared") + 1) - (size_t)(const void *)(".ex_shared") =3D=3D 1) && =
(__s2_len =3D strlen (".ex_shared"), __s2_len < 4) ? (__builtin_constant_=
p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name + 0)) + 1)=
- (size_t)(const void *)(((seg)->name + 0)) =3D=3D 1) ? (__extension__ (=
{ register int __result =3D (((__const unsigned char *) (__const char *) =
(((seg)->name + 0)))[0] - ((__const unsigned char *) (__const char *)(".e=
x_shared"))[0]); if (__s2_len > 0 && __result =3D=3D 0) { __result =3D ((=
(__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - ((__=
const unsigned char *) (__const char *) (".ex_shared"))[1]); if (__s2_len=
> 1 && __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__=
const char *) (((seg)->name + 0)))[2] - ((__const unsigned char *) (__con=
st char *) (".ex_shared"))[2]); if (__s2_len > 2 && __result =3D=3D 0) __=
result =3D (((__const unsigned char *) (__const char *) (((seg)->name + 0=
)))[3] - ((__const unsigned char *) (__const char *) (".ex_shared"))[3]);=
} } __result; })) : (__extension__ ({ __const unsigned char *__s1 =3D (_=
_const unsigned char *) (__const char *) (((seg)->name + 0)); register in=
t __result =3D __s1[0] - ((__const unsigned char *) (__const char *) (".e=
x_shared"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (__=
s1[1] - ((__const unsigned char *) (__const char *) (".ex_shared"))[1]); =
if (__s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__cons=
t unsigned char *) (__const char *) (".ex_shared"))[2]); if (__s2_len > 2=
&& __result =3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *)=
(__const char *) (".ex_shared"))[3]); } } __result; }))) : strcmp (((seg=
)->name + 0), ".ex_shared")))); }) !=3D 0)
{
if ((seg->flags & (0x010 | 0x020)) !=3D 0
|| fixp->fx_r_type !=3D BFD_RELOC_CTOR)
{
as_bad_where (fixp->fx_file, fixp->fx_line,
dcgettext (((void *)0), "Relocation cannot be=
done when using -mrelocatable", __LC_MESSAGES));
}
}
return;
}
}
void
ppc_frob_file_before_adjust ()
{
symbolS *symp;
if (!ppc_obj64)
return;
for (symp =3D symbol_rootP; symp; symp =3D symbol_next (symp))
{
const char *name;
char *dotname;
symbolS *dotsym;
size_t len;
name =3D S_GET_NAME (symp);
if (name[0] =3D=3D '.')
continue;
if (! S_IS_WEAK (symp)
|| S_IS_DEFINED (symp))
continue;
len =3D strlen (name) + 1;
dotname =3D xmalloc (len + 1);
dotname[0] =3D '.';
memcpy (dotname + 1, name, len);
dotsym =3D symbol_find (dotname);
free (dotname);
if (dotsym !=3D ((void *)0) && (symbol_used_p (dotsym)
|| symbol_used_in_reloc_p (dotsym)))
{
symbol_mark_used (symp);
}
}
symp =3D symbol_find (".TOC.");
if (symp !=3D ((void *)0))
symbol_remove (symp, &symbol_rootP, &symbol_lastP);
}
# 1852 "../../binutils-2.13.1/gas/config/tc-ppc.c"
struct ppc_fixup
{
expressionS exp;
int opindex;
bfd_reloc_code_real_type reloc;
};
void
md_assemble (str)
char *str;
{
char *s;
const struct powerpc_opcode *opcode;
unsigned long insn;
const unsigned char *opindex_ptr;
int skip_optional;
int need_paren;
int next_opindex;
struct ppc_fixup fixups[(5)];
int fc;
char *f;
int i;
bfd_reloc_code_real_type reloc;
for (s =3D str; *s !=3D '\0' && ! (_sch_istable[(*s) & 0xff] & (unsigne=
d short)(_sch_isspace)); s++)
;
if (*s !=3D '\0')
*s++ =3D '\0';
opcode =3D (const struct powerpc_opcode *) hash_find (ppc_hash, str);
if (opcode =3D=3D (const struct powerpc_opcode *) ((void *)0))
{
const struct powerpc_macro *macro;
macro =3D (const struct powerpc_macro *) hash_find (ppc_macro_hash,=
str);
if (macro =3D=3D (const struct powerpc_macro *) ((void *)0))
as_bad (dcgettext (((void *)0), "Unrecognized opcode: `%s'", __LC=
_MESSAGES), str);
else
ppc_macro (s, macro);
return;
}
insn =3D opcode->opcode;
str =3D s;
while ((_sch_istable[(*str) & 0xff] & (unsigned short)(_sch_isspace)))
++str;
# 1918 "../../binutils-2.13.1/gas/config/tc-ppc.c"
skip_optional =3D 0;
for (opindex_ptr =3D opcode->operands; *opindex_ptr !=3D 0; opindex_ptr=
++)
{
const struct powerpc_operand *operand;
operand =3D &powerpc_operands[*opindex_ptr];
if ((operand->flags & (01000)) !=3D 0)
{
unsigned int opcount;
unsigned int num_operands_expected;
unsigned int i;
if (*str =3D=3D '\0')
opcount =3D 0;
else
{
opcount =3D 1;
s =3D str;
while ((s =3D (__extension__ (__builtin_constant_p (',') &&=
(',') =3D=3D '\0' ? (char *) __rawmemchr (s, ',') : strchr (s, ',')))) !=
=3D (char *) ((void *)0))
{
++opcount;
++s;
}
}
for (num_operands_expected =3D 0, i =3D 0; opcode->operands[i];=
i ++)
if ((powerpc_operands [opcode->operands[i]].flags & (04)) =3D=
=3D 0)
++ num_operands_expected;
if (opcount < num_operands_expected)
skip_optional =3D 1;
break;
}
}
need_paren =3D 0;
next_opindex =3D 0;
fc =3D 0;
for (opindex_ptr =3D opcode->operands; *opindex_ptr !=3D 0; opindex_ptr=
++)
{
const struct powerpc_operand *operand;
const char *errmsg;
char *hold;
expressionS ex;
char endc;
if (next_opindex =3D=3D 0)
operand =3D &powerpc_operands[*opindex_ptr];
else
{
operand =3D &powerpc_operands[next_opindex];
next_opindex =3D 0;
}
errmsg =3D ((void *)0);
if ((operand->flags & (04)) !=3D 0)
{
insn =3D (*operand->insert) (insn, 0L, ppc_cpu, &errmsg);
if (errmsg !=3D (const char *) ((void *)0))
as_bad (errmsg);
continue;
}
if ((operand->flags & (01000)) !=3D 0
&& skip_optional)
{
if (operand->insert)
{
insn =3D (*operand->insert) (insn, 0L, ppc_cpu, &errmsg);
if (errmsg !=3D (const char *) ((void *)0))
as_bad (errmsg);
}
if ((operand->flags & (02000)) !=3D 0)
next_opindex =3D *opindex_ptr + 1;
continue;
}
hold =3D input_line_pointer;
input_line_pointer =3D str;
# 2127 "../../binutils-2.13.1/gas/config/tc-ppc.c"
{
if (! register_name (&ex))
{
if ((operand->flags & (020)) !=3D 0)
cr_operand =3D true;
expr (0, &ex);
cr_operand =3D false;
}
}
str =3D input_line_pointer;
input_line_pointer =3D hold;
if (ex.X_op =3D=3D O_illegal)
as_bad (dcgettext (((void *)0), "illegal operand", __LC_MESSAGES)=
);
else if (ex.X_op =3D=3D O_absent)
as_bad (dcgettext (((void *)0), "missing operand", __LC_MESSAGES)=
);
else if (ex.X_op =3D=3D O_register)
{
insn =3D ppc_insert_operand (insn, operand, ex.X_add_number,
(char *) ((void *)0), 0);
}
else if (ex.X_op =3D=3D O_constant)
{
char *orig_str =3D str;
if ((reloc =3D ppc_elf_suffix (&str, &ex)) !=3D BFD_RELOC_UNUSE=
D)
switch (reloc)
{
default:
str =3D orig_str;
break;
case BFD_RELOC_LO16:
if (ex.X_unsigned && ! (operand->flags & (01)))
ex.X_add_number &=3D 0xffff;
else
ex.X_add_number =3D ((((ex.X_add_number) & 0xffff) ^ 0x=
8000) - 0x8000);
break;
case BFD_RELOC_HI16:
if (ex.X_unsigned && ! (operand->flags & (01)))
ex.X_add_number =3D (((ex.X_add_number) >> 16) & 0xffff=
);
else
ex.X_add_number =3D (((((((ex.X_add_number) >> 16) & 0x=
ffff)) & 0xffff) ^ 0x8000) - 0x8000);
break;
case BFD_RELOC_HI16_S:
if (ex.X_unsigned && ! (operand->flags & (01)))
ex.X_add_number =3D ((((ex.X_add_number) + 0x8000) >> 1=
6) & 0xffff);
else
ex.X_add_number =3D ((((((((ex.X_add_number) + 0x8000) =
>> 16) & 0xffff)) & 0xffff) ^ 0x8000) - 0x8000);
break;
case BFD_RELOC_PPC64_HIGHER:
if (ex.X_unsigned && ! (operand->flags & (01)))
ex.X_add_number =3D (((ex.X_add_number) >> 32) & 0xffff=
);
else
ex.X_add_number =3D (((((((ex.X_add_number) >> 32) & 0x=
ffff)) & 0xffff) ^ 0x8000) - 0x8000);
break;
case BFD_RELOC_PPC64_HIGHER_S:
if (ex.X_unsigned && ! (operand->flags & (01)))
ex.X_add_number =3D ((((ex.X_add_number) + 0x8000) >> 3=
2) & 0xffff);
else
ex.X_add_number =3D ((((((((ex.X_add_number) + 0x8000) =
>> 32) & 0xffff)) & 0xffff) ^ 0x8000) - 0x8000);
break;
case BFD_RELOC_PPC64_HIGHEST:
if (ex.X_unsigned && ! (operand->flags & (01)))
ex.X_add_number =3D (((ex.X_add_number) >> 48) & 0xffff=
);
else
ex.X_add_number =3D (((((((ex.X_add_number) >> 48) & 0x=
ffff)) & 0xffff) ^ 0x8000) - 0x8000);
break;
case BFD_RELOC_PPC64_HIGHEST_S:
if (ex.X_unsigned && ! (operand->flags & (01)))
ex.X_add_number =3D ((((ex.X_add_number) + 0x8000) >> 4=
8) & 0xffff);
else
ex.X_add_number =3D ((((((((ex.X_add_number) + 0x8000) =
>> 48) & 0xffff)) & 0xffff) ^ 0x8000) - 0x8000);
break;
}
insn =3D ppc_insert_operand (insn, operand, ex.X_add_number,
(char *) ((void *)0), 0);
}
else if ((reloc =3D ppc_elf_suffix (&str, &ex)) !=3D BFD_RELOC_UNUS=
ED)
{
if ((operand->flags & (0400)) !=3D 0)
{
switch (reloc)
{
case BFD_RELOC_PPC_B26:
reloc =3D BFD_RELOC_PPC_BA26;
break;
case BFD_RELOC_PPC_B16:
reloc =3D BFD_RELOC_PPC_BA16;
break;
case BFD_RELOC_PPC_B16_BRTAKEN:
reloc =3D BFD_RELOC_PPC_BA16_BRTAKEN;
break;
case BFD_RELOC_PPC_B16_BRNTAKEN:
reloc =3D BFD_RELOC_PPC_BA16_BRNTAKEN;
break;
default:
break;
}
}
if (ppc_obj64
&& (operand->flags & (020000)) !=3D 0)
{
switch (reloc)
{
case BFD_RELOC_16:
reloc =3D BFD_RELOC_PPC64_ADDR16_DS;
break;
case BFD_RELOC_LO16:
reloc =3D BFD_RELOC_PPC64_ADDR16_LO_DS;
break;
case BFD_RELOC_16_GOTOFF:
reloc =3D BFD_RELOC_PPC64_GOT16_DS;
break;
case BFD_RELOC_LO16_GOTOFF:
reloc =3D BFD_RELOC_PPC64_GOT16_LO_DS;
break;
case BFD_RELOC_LO16_PLTOFF:
reloc =3D BFD_RELOC_PPC64_PLT16_LO_DS;
break;
case BFD_RELOC_16_BASEREL:
reloc =3D BFD_RELOC_PPC64_SECTOFF_DS;
break;
case BFD_RELOC_LO16_BASEREL:
reloc =3D BFD_RELOC_PPC64_SECTOFF_LO_DS;
break;
case BFD_RELOC_PPC_TOC16:
reloc =3D BFD_RELOC_PPC64_TOC16_DS;
break;
case BFD_RELOC_PPC64_TOC16_LO:
reloc =3D BFD_RELOC_PPC64_TOC16_LO_DS;
break;
case BFD_RELOC_PPC64_PLTGOT16:
reloc =3D BFD_RELOC_PPC64_PLTGOT16_DS;
break;
case BFD_RELOC_PPC64_PLTGOT16_LO:
reloc =3D BFD_RELOC_PPC64_PLTGOT16_LO_DS;
break;
default:
as_bad (dcgettext (((void *)0), "unsupported relocation=
for DS offset field", __LC_MESSAGES));
break;
}
}
if (fc >=3D (5))
as_fatal (dcgettext (((void *)0), "too many fixups", __LC_MES=
SAGES));
fixups[fc].exp =3D ex;
fixups[fc].opindex =3D 0;
fixups[fc].reloc =3D reloc;
++fc;
}
else
{
if (fc >=3D (5))
as_fatal (dcgettext (((void *)0), "too many fixups", __LC_MES=
SAGES));
fixups[fc].exp =3D ex;
fixups[fc].opindex =3D *opindex_ptr;
fixups[fc].reloc =3D BFD_RELOC_UNUSED;
++fc;
}
if (need_paren)
{
endc =3D ')';
need_paren =3D 0;
}
else if ((operand->flags & (010)) !=3D 0)
{
endc =3D '(';
need_paren =3D 1;
}
else
endc =3D ',';
if (*str !=3D endc
&& (endc !=3D ',' || *str !=3D '\0'))
{
as_bad (dcgettext (((void *)0), "syntax error; found `%c' but e=
xpected `%c'", __LC_MESSAGES), *str, endc);
break;
}
if (*str !=3D '\0')
++str;
}
while ((_sch_istable[(*str) & 0xff] & (unsigned short)(_sch_isspace)))
++str;
if (*str !=3D '\0')
as_bad (dcgettext (((void *)0), "junk at end of line: `%s'", __LC_MES=
SAGES), str);
f =3D frag_more (4);
md_number_to_chars (f, insn, 4);
dwarf2_emit_insn (4);
# 2355 "../../binutils-2.13.1/gas/config/tc-ppc.c"
for (i =3D 0; i < fc; i++)
{
const struct powerpc_operand *operand;
operand =3D &powerpc_operands[fixups[i].opindex];
if (fixups[i].reloc !=3D BFD_RELOC_UNUSED)
{
reloc_howto_type *reloc_howto;
int size;
int offset;
fixS *fixP;
reloc_howto =3D bfd_reloc_type_lookup (stdoutput, fixups[i].rel=
oc);
if (!reloc_howto)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 2369, =
__PRETTY_FUNCTION__);
size =3D bfd_get_reloc_size (reloc_howto);
offset =3D target_big_endian ? (4 - size) : 0;
if (size < 1 || size > 4)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 2375, =
__PRETTY_FUNCTION__);
fixP =3D fix_new_exp (frag_now,
f - frag_now->fr_literal + offset,
size,
&fixups[i].exp,
reloc_howto->pc_relative,
fixups[i].reloc);
switch (fixups[i].reloc)
{
case BFD_RELOC_16_GOTOFF:
case BFD_RELOC_PPC_TOC16:
case BFD_RELOC_LO16:
case BFD_RELOC_HI16:
case BFD_RELOC_HI16_S:
case BFD_RELOC_PPC64_HIGHER:
case BFD_RELOC_PPC64_HIGHER_S:
case BFD_RELOC_PPC64_HIGHEST:
case BFD_RELOC_PPC64_HIGHEST_S:
fixP->fx_no_overflow =3D 1;
break;
default:
break;
}
}
else
fix_new_exp (frag_now,
f - frag_now->fr_literal,
4,
&fixups[i].exp,
(operand->flags & (0200)) !=3D 0,
((bfd_reloc_code_real_type)
(fixups[i].opindex + (int) BFD_RELOC_UNUSED)));
}
}
static void
ppc_macro (str, macro)
char *str;
const struct powerpc_macro *macro;
{
char *operands[10];
unsigned int count;
char *s;
unsigned int len;
const char *format;
int arg;
char *send;
char *complete;
count =3D 0;
s =3D str;
while (1)
{
if (count >=3D sizeof operands / sizeof operands[0])
break;
operands[count++] =3D s;
s =3D (__extension__ (__builtin_constant_p (',') && (',') =3D=3D '\=
0' ? (char *) __rawmemchr (s, ',') : strchr (s, ',')));
if (s =3D=3D (char *) ((void *)0))
break;
*s++ =3D '\0';
}
if (count !=3D macro->operands)
{
as_bad (dcgettext (((void *)0), "wrong number of operands", __LC_ME=
SSAGES));
return;
}
len =3D 0;
format =3D macro->format;
while (*format !=3D '\0')
{
if (*format !=3D '%')
{
++len;
++format;
}
else
{
arg =3D strtol (format + 1, &send, 10);
;
len +=3D strlen (operands[arg]);
format =3D send;
}
}
complete =3D s =3D (char *) __builtin_alloca(len + 1);
format =3D macro->format;
while (*format !=3D '\0')
{
if (*format !=3D '%')
*s++ =3D *format++;
else
{
arg =3D strtol (format + 1, &send, 10);
strcpy (s, operands[arg]);
s +=3D strlen (s);
format =3D send;
}
}
*s =3D '\0';
md_assemble (complete);
}
int
ppc_section_letter (letter, ptr_msg)
int letter;
char **ptr_msg;
{
if (letter =3D=3D 'e')
return 0x80000000;
*ptr_msg =3D dcgettext (((void *)0), "Bad .section directive: want a,e,=
w,x,M,S,G,T in string", __LC_MESSAGES);
return 0;
}
int
ppc_section_word (str, len)
char *str;
size_t len;
{
if (len =3D=3D 7 && (__extension__ (__builtin_constant_p (7) && ((__bui=
ltin_constant_p (str) && strlen (str) < ((size_t) (7))) || (__builtin_con=
stant_p ("exclude") && strlen ("exclude") < ((size_t) (7)))) ? __extensio=
n__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (str) && __builti=
n_constant_p ("exclude") && (__s1_len =3D strlen (str), __s2_len =3D strl=
en ("exclude"), (!((size_t)(const void *)((str) + 1) - (size_t)(const voi=
d *)(str) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(const void *)(("ex=
clude") + 1) - (size_t)(const void *)("exclude") =3D=3D 1) || __s2_len >=3D=
4)) ? memcmp ((__const char *) (str), (__const char *) ("exclude"), (__s=
1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (str=
) && ((size_t)(const void *)((str) + 1) - (size_t)(const void *)(str) =3D=
=3D 1) && (__s1_len =3D strlen (str), __s1_len < 4) ? (__builtin_constant=
_p ("exclude") && ((size_t)(const void *)(("exclude") + 1) - (size_t)(con=
st void *)("exclude") =3D=3D 1) ? (__extension__ ({ register int __result=
=3D (((__const unsigned char *) (__const char *) (str))[0] - ((__const u=
nsigned char *) (__const char *)("exclude"))[0]); if (__s1_len > 0 && __r=
esult =3D=3D 0) { __result =3D (((__const unsigned char *) (__const char =
*) (str))[1] - ((__const unsigned char *) (__const char *) ("exclude"))[1=
]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const unsi=
gned char *) (__const char *) (str))[2] - ((__const unsigned char *) (__c=
onst char *) ("exclude"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __r=
esult =3D (((__const unsigned char *) (__const char *) (str))[3] - ((__co=
nst unsigned char *) (__const char *) ("exclude"))[3]); } } __result; }))=
: (__extension__ ({ __const unsigned char *__s2 =3D (__const unsigned ch=
ar *) (__const char *) ("exclude"); register int __result =3D (((__const =
unsigned char *) (__const char *) (str))[0] - __s2[0]); if (__s1_len > 0 =
&& __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__const=
char *) (str))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (str))[2] - __s2=
[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsi=
gned char *) (__const char *) (str))[3] - __s2[3]); } } __result; }))) : =
(__builtin_constant_p ("exclude") && ((size_t)(const void *)(("exclude") =
+ 1) - (size_t)(const void *)("exclude") =3D=3D 1) && (__s2_len =3D strle=
n ("exclude"), __s2_len < 4) ? (__builtin_constant_p (str) && ((size_t)(c=
onst void *)((str) + 1) - (size_t)(const void *)(str) =3D=3D 1) ? (__exte=
nsion__ ({ register int __result =3D (((__const unsigned char *) (__const=
char *) (str))[0] - ((__const unsigned char *) (__const char *)("exclude=
"))[0]); if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (((__const=
unsigned char *) (__const char *) (str))[1] - ((__const unsigned char *)=
(__const char *) ("exclude"))[1]); if (__s2_len > 1 && __result =3D=3D 0=
) { __result =3D (((__const unsigned char *) (__const char *) (str))[2] -=
((__const unsigned char *) (__const char *) ("exclude"))[2]); if (__s2_l=
en > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) (__=
const char *) (str))[3] - ((__const unsigned char *) (__const char *) ("e=
xclude"))[3]); } } __result; })) : (__extension__ ({ __const unsigned cha=
r *__s1 =3D (__const unsigned char *) (__const char *) (str); register in=
t __result =3D __s1[0] - ((__const unsigned char *) (__const char *) ("ex=
clude"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (__s1[=
1] - ((__const unsigned char *) (__const char *) ("exclude"))[1]); if (__=
s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__const unsi=
gned char *) (__const char *) ("exclude"))[2]); if (__s2_len > 2 && __res=
ult =3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *) (__const=
char *) ("exclude"))[3]); } } __result; }))) : strcmp (str, "exclude")))=
); }) : strncmp (str, "exclude", 7))) =3D=3D 0)
return 0x80000000;
return -1;
}
int
ppc_section_type (str, len)
char *str;
size_t len;
{
if (len =3D=3D 7 && (__extension__ (__builtin_constant_p (7) && ((__bui=
ltin_constant_p (str) && strlen (str) < ((size_t) (7))) || (__builtin_con=
stant_p ("ordered") && strlen ("ordered") < ((size_t) (7)))) ? __extensio=
n__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (str) && __builti=
n_constant_p ("ordered") && (__s1_len =3D strlen (str), __s2_len =3D strl=
en ("ordered"), (!((size_t)(const void *)((str) + 1) - (size_t)(const voi=
d *)(str) =3D=3D 1) || __s1_len >=3D 4) && (!((size_t)(const void *)(("or=
dered") + 1) - (size_t)(const void *)("ordered") =3D=3D 1) || __s2_len >=3D=
4)) ? memcmp ((__const char *) (str), (__const char *) ("ordered"), (__s=
1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (str=
) && ((size_t)(const void *)((str) + 1) - (size_t)(const void *)(str) =3D=
=3D 1) && (__s1_len =3D strlen (str), __s1_len < 4) ? (__builtin_constant=
_p ("ordered") && ((size_t)(const void *)(("ordered") + 1) - (size_t)(con=
st void *)("ordered") =3D=3D 1) ? (__extension__ ({ register int __result=
=3D (((__const unsigned char *) (__const char *) (str))[0] - ((__const u=
nsigned char *) (__const char *)("ordered"))[0]); if (__s1_len > 0 && __r=
esult =3D=3D 0) { __result =3D (((__const unsigned char *) (__const char =
*) (str))[1] - ((__const unsigned char *) (__const char *) ("ordered"))[1=
]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D (((__const unsi=
gned char *) (__const char *) (str))[2] - ((__const unsigned char *) (__c=
onst char *) ("ordered"))[2]); if (__s1_len > 2 && __result =3D=3D 0) __r=
esult =3D (((__const unsigned char *) (__const char *) (str))[3] - ((__co=
nst unsigned char *) (__const char *) ("ordered"))[3]); } } __result; }))=
: (__extension__ ({ __const unsigned char *__s2 =3D (__const unsigned ch=
ar *) (__const char *) ("ordered"); register int __result =3D (((__const =
unsigned char *) (__const char *) (str))[0] - __s2[0]); if (__s1_len > 0 =
&& __result =3D=3D 0) { __result =3D (((__const unsigned char *) (__const=
char *) (str))[1] - __s2[1]); if (__s1_len > 1 && __result =3D=3D 0) { _=
_result =3D (((__const unsigned char *) (__const char *) (str))[2] - __s2=
[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D (((__const unsi=
gned char *) (__const char *) (str))[3] - __s2[3]); } } __result; }))) : =
(__builtin_constant_p ("ordered") && ((size_t)(const void *)(("ordered") =
+ 1) - (size_t)(const void *)("ordered") =3D=3D 1) && (__s2_len =3D strle=
n ("ordered"), __s2_len < 4) ? (__builtin_constant_p (str) && ((size_t)(c=
onst void *)((str) + 1) - (size_t)(const void *)(str) =3D=3D 1) ? (__exte=
nsion__ ({ register int __result =3D (((__const unsigned char *) (__const=
char *) (str))[0] - ((__const unsigned char *) (__const char *)("ordered=
"))[0]); if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (((__const=
unsigned char *) (__const char *) (str))[1] - ((__const unsigned char *)=
(__const char *) ("ordered"))[1]); if (__s2_len > 1 && __result =3D=3D 0=
) { __result =3D (((__const unsigned char *) (__const char *) (str))[2] -=
((__const unsigned char *) (__const char *) ("ordered"))[2]); if (__s2_l=
en > 2 && __result =3D=3D 0) __result =3D (((__const unsigned char *) (__=
const char *) (str))[3] - ((__const unsigned char *) (__const char *) ("o=
rdered"))[3]); } } __result; })) : (__extension__ ({ __const unsigned cha=
r *__s1 =3D (__const unsigned char *) (__const char *) (str); register in=
t __result =3D __s1[0] - ((__const unsigned char *) (__const char *) ("or=
dered"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __result =3D (__s1[=
1] - ((__const unsigned char *) (__const char *) ("ordered"))[1]); if (__=
s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__const unsi=
gned char *) (__const char *) ("ordered"))[2]); if (__s2_len > 2 && __res=
ult =3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *) (__const=
char *) ("ordered"))[3]); } } __result; }))) : strcmp (str, "ordered")))=
); }) : strncmp (str, "ordered", 7))) =3D=3D 0)
return 0x7FFFFFFF;
return -1;
}
int
ppc_section_flags (flags, attr, type)
int flags;
int attr;
int type;
{
if (type =3D=3D 0x7FFFFFFF)
flags |=3D 0x001 | 0x002 | 0x80000;
if (attr & 0x80000000)
flags |=3D 0x40000;
return flags;
}
# 2555 "../../binutils-2.13.1/gas/config/tc-ppc.c"
static void
ppc_byte (ignore)
int ignore __attribute__ ((__unused__));
{
if (*input_line_pointer !=3D '\"')
{
cons (1);
return;
}
++input_line_pointer;
while (1)
{
char c;
c =3D *input_line_pointer++;
if (c =3D=3D '\"')
{
if (*input_line_pointer !=3D '\"')
break;
++input_line_pointer;
}
frag_append_1_char (c);
}
demand_empty_rest_of_line ();
}
# 3611 "../../binutils-2.13.1/gas/config/tc-ppc.c"
static void
ppc_tc (ignore)
int ignore __attribute__ ((__unused__));
{
# 3671 "../../binutils-2.13.1/gas/config/tc-ppc.c"
int align;
while (( lex_type[(unsigned char) (*input_line_pointer)] & (1) )
|| *input_line_pointer =3D=3D '['
|| *input_line_pointer =3D=3D ']'
|| *input_line_pointer =3D=3D '{'
|| *input_line_pointer =3D=3D '}')
++input_line_pointer;
align =3D ppc_obj64 ? 3 : 2;
frag_align (align, 0, 0);
record_alignment (now_seg, align);
if (*input_line_pointer !=3D ',')
demand_empty_rest_of_line ();
else
{
++input_line_pointer;
cons (ppc_obj64 ? 8 : 4);
}
}
# 3704 "../../binutils-2.13.1/gas/config/tc-ppc.c"
static void
ppc_machine (ignore)
int ignore __attribute__ ((__unused__));
{
discard_rest_of_line ();
}
static int
ppc_is_toc_sym (sym)
symbolS *sym;
{
const char *sname =3D ((S_GET_SEGMENT (sym))->name + 0);
if (ppc_obj64)
return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constan=
t_p (sname) && __builtin_constant_p (".toc") && (__s1_len =3D strlen (sna=
me), __s2_len =3D strlen (".toc"), (!((size_t)(const void *)((sname) + 1)=
- (size_t)(const void *)(sname) =3D=3D 1) || __s1_len >=3D 4) && (!((siz=
e_t)(const void *)((".toc") + 1) - (size_t)(const void *)(".toc") =3D=3D =
1) || __s2_len >=3D 4)) ? memcmp ((__const char *) (sname), (__const char=
*) (".toc"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__built=
in_constant_p (sname) && ((size_t)(const void *)((sname) + 1) - (size_t)(=
const void *)(sname) =3D=3D 1) && (__s1_len =3D strlen (sname), __s1_len =
< 4) ? (__builtin_constant_p (".toc") && ((size_t)(const void *)((".toc")=
+ 1) - (size_t)(const void *)(".toc") =3D=3D 1) ? (__extension__ ({ regi=
ster int __result =3D (((__const unsigned char *) (__const char *) (sname=
))[0] - ((__const unsigned char *) (__const char *)(".toc"))[0]); if (__s=
1_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned char *=
) (__const char *) (sname))[1] - ((__const unsigned char *) (__const char=
*) (".toc"))[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D =
(((__const unsigned char *) (__const char *) (sname))[2] - ((__const unsi=
gned char *) (__const char *) (".toc"))[2]); if (__s1_len > 2 && __result=
=3D=3D 0) __result =3D (((__const unsigned char *) (__const char *) (sna=
me))[3] - ((__const unsigned char *) (__const char *) (".toc"))[3]); } } =
__result; })) : (__extension__ ({ __const unsigned char *__s2 =3D (__cons=
t unsigned char *) (__const char *) (".toc"); register int __result =3D (=
((__const unsigned char *) (__const char *) (sname))[0] - __s2[0]); if (_=
_s1_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned char=
*) (__const char *) (sname))[1] - __s2[1]); if (__s1_len > 1 && __result=
=3D=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (s=
name))[2] - __s2[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D=
(((__const unsigned char *) (__const char *) (sname))[3] - __s2[3]); } }=
__result; }))) : (__builtin_constant_p (".toc") && ((size_t)(const void =
*)((".toc") + 1) - (size_t)(const void *)(".toc") =3D=3D 1) && (__s2_len =
=3D strlen (".toc"), __s2_len < 4) ? (__builtin_constant_p (sname) && ((s=
ize_t)(const void *)((sname) + 1) - (size_t)(const void *)(sname) =3D=3D =
1) ? (__extension__ ({ register int __result =3D (((__const unsigned char=
*) (__const char *) (sname))[0] - ((__const unsigned char *) (__const ch=
ar *)(".toc"))[0]); if (__s2_len > 0 && __result =3D=3D 0) { __result =3D=
(((__const unsigned char *) (__const char *) (sname))[1] - ((__const uns=
igned char *) (__const char *) (".toc"))[1]); if (__s2_len > 1 && __resul=
t =3D=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (=
sname))[2] - ((__const unsigned char *) (__const char *) (".toc"))[2]); i=
f (__s2_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned ch=
ar *) (__const char *) (sname))[3] - ((__const unsigned char *) (__const =
char *) (".toc"))[3]); } } __result; })) : (__extension__ ({ __const unsi=
gned char *__s1 =3D (__const unsigned char *) (__const char *) (sname); r=
egister int __result =3D __s1[0] - ((__const unsigned char *) (__const ch=
ar *) (".toc"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __result =3D=
(__s1[1] - ((__const unsigned char *) (__const char *) (".toc"))[1]); if=
(__s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__const =
unsigned char *) (__const char *) (".toc"))[2]); if (__s2_len > 2 && __re=
sult =3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *) (__cons=
t char *) (".toc"))[3]); } } __result; }))) : strcmp (sname, ".toc")))); =
}) =3D=3D 0;
else
return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constan=
t_p (sname) && __builtin_constant_p (".got") && (__s1_len =3D strlen (sna=
me), __s2_len =3D strlen (".got"), (!((size_t)(const void *)((sname) + 1)=
- (size_t)(const void *)(sname) =3D=3D 1) || __s1_len >=3D 4) && (!((siz=
e_t)(const void *)((".got") + 1) - (size_t)(const void *)(".got") =3D=3D =
1) || __s2_len >=3D 4)) ? memcmp ((__const char *) (sname), (__const char=
*) (".got"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__built=
in_constant_p (sname) && ((size_t)(const void *)((sname) + 1) - (size_t)(=
const void *)(sname) =3D=3D 1) && (__s1_len =3D strlen (sname), __s1_len =
< 4) ? (__builtin_constant_p (".got") && ((size_t)(const void *)((".got")=
+ 1) - (size_t)(const void *)(".got") =3D=3D 1) ? (__extension__ ({ regi=
ster int __result =3D (((__const unsigned char *) (__const char *) (sname=
))[0] - ((__const unsigned char *) (__const char *)(".got"))[0]); if (__s=
1_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned char *=
) (__const char *) (sname))[1] - ((__const unsigned char *) (__const char=
*) (".got"))[1]); if (__s1_len > 1 && __result =3D=3D 0) { __result =3D =
(((__const unsigned char *) (__const char *) (sname))[2] - ((__const unsi=
gned char *) (__const char *) (".got"))[2]); if (__s1_len > 2 && __result=
=3D=3D 0) __result =3D (((__const unsigned char *) (__const char *) (sna=
me))[3] - ((__const unsigned char *) (__const char *) (".got"))[3]); } } =
__result; })) : (__extension__ ({ __const unsigned char *__s2 =3D (__cons=
t unsigned char *) (__const char *) (".got"); register int __result =3D (=
((__const unsigned char *) (__const char *) (sname))[0] - __s2[0]); if (_=
_s1_len > 0 && __result =3D=3D 0) { __result =3D (((__const unsigned char=
*) (__const char *) (sname))[1] - __s2[1]); if (__s1_len > 1 && __result=
=3D=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (s=
name))[2] - __s2[2]); if (__s1_len > 2 && __result =3D=3D 0) __result =3D=
(((__const unsigned char *) (__const char *) (sname))[3] - __s2[3]); } }=
__result; }))) : (__builtin_constant_p (".got") && ((size_t)(const void =
*)((".got") + 1) - (size_t)(const void *)(".got") =3D=3D 1) && (__s2_len =
=3D strlen (".got"), __s2_len < 4) ? (__builtin_constant_p (sname) && ((s=
ize_t)(const void *)((sname) + 1) - (size_t)(const void *)(sname) =3D=3D =
1) ? (__extension__ ({ register int __result =3D (((__const unsigned char=
*) (__const char *) (sname))[0] - ((__const unsigned char *) (__const ch=
ar *)(".got"))[0]); if (__s2_len > 0 && __result =3D=3D 0) { __result =3D=
(((__const unsigned char *) (__const char *) (sname))[1] - ((__const uns=
igned char *) (__const char *) (".got"))[1]); if (__s2_len > 1 && __resul=
t =3D=3D 0) { __result =3D (((__const unsigned char *) (__const char *) (=
sname))[2] - ((__const unsigned char *) (__const char *) (".got"))[2]); i=
f (__s2_len > 2 && __result =3D=3D 0) __result =3D (((__const unsigned ch=
ar *) (__const char *) (sname))[3] - ((__const unsigned char *) (__const =
char *) (".got"))[3]); } } __result; })) : (__extension__ ({ __const unsi=
gned char *__s1 =3D (__const unsigned char *) (__const char *) (sname); r=
egister int __result =3D __s1[0] - ((__const unsigned char *) (__const ch=
ar *) (".got"))[0]; if (__s2_len > 0 && __result =3D=3D 0) { __result =3D=
(__s1[1] - ((__const unsigned char *) (__const char *) (".got"))[1]); if=
(__s2_len > 1 && __result =3D=3D 0) { __result =3D (__s1[2] - ((__const =
unsigned char *) (__const char *) (".got"))[2]); if (__s2_len > 2 && __re=
sult =3D=3D 0) __result =3D (__s1[3] - ((__const unsigned char *) (__cons=
t char *) (".got"))[3]); } } __result; }))) : strcmp (sname, ".got")))); =
}) =3D=3D 0;
}
# 4812 "../../binutils-2.13.1/gas/config/tc-ppc.c"
char *
md_atof (type, litp, sizep)
int type;
char *litp;
int *sizep;
{
int prec;
LITTLENUM_TYPE words[4];
char *t;
int i;
switch (type)
{
case 'f':
prec =3D 2;
break;
case 'd':
prec =3D 4;
break;
default:
*sizep =3D 0;
return dcgettext (((void *)0), "bad call to md_atof", __LC_MESSAGES=
);
}
t =3D atof_ieee (input_line_pointer, type, words);
if (t)
input_line_pointer =3D t;
*sizep =3D prec * 2;
if (target_big_endian)
{
for (i =3D 0; i < prec; i++)
{
md_number_to_chars (litp, (valueT) words[i], 2);
litp +=3D 2;
}
}
else
{
for (i =3D prec - 1; i >=3D 0; i--)
{
md_number_to_chars (litp, (valueT) words[i], 2);
litp +=3D 2;
}
}
return ((void *)0);
}
void
md_number_to_chars (buf, val, n)
char *buf;
valueT val;
int n;
{
if (target_big_endian)
number_to_chars_bigendian (buf, val, n);
else
number_to_chars_littleendian (buf, val, n);
}
valueT
md_section_align (seg, addr)
asection *seg;
valueT addr;
{
int align =3D ((seg)->alignment_power + 0);
return ((addr + (1 << align) - 1) & (-1 << align));
}
int
md_estimate_size_before_relax (fragp, seg)
fragS *fragp __attribute__ ((__unused__));
asection *seg __attribute__ ((__unused__));
{
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 4898, __PRETTY_F=
UNCTION__);
return 0;
}
void
md_convert_frag (abfd, sec, fragp)
bfd *abfd __attribute__ ((__unused__));
asection *sec __attribute__ ((__unused__));
fragS *fragp __attribute__ ((__unused__));
{
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 4910, __PRETTY_F=
UNCTION__);
}
symbolS *
md_undefined_symbol (name)
char *name __attribute__ ((__unused__));
{
return 0;
}
long
md_pcrel_from_section (fixp, sec)
fixS *fixp;
segT sec __attribute__ ((__unused__));
{
return fixp->fx_frag->fr_address + fixp->fx_where;
}
# 5090 "../../binutils-2.13.1/gas/config/tc-ppc.c"
int
ppc_fix_adjustable (fix)
fixS *fix;
{
return (fix->fx_r_type !=3D BFD_RELOC_16_GOTOFF
&& fix->fx_r_type !=3D BFD_RELOC_LO16_GOTOFF
&& fix->fx_r_type !=3D BFD_RELOC_HI16_GOTOFF
&& fix->fx_r_type !=3D BFD_RELOC_HI16_S_GOTOFF
&& fix->fx_r_type !=3D BFD_RELOC_GPREL16
&& fix->fx_r_type !=3D BFD_RELOC_VTABLE_INHERIT
&& fix->fx_r_type !=3D BFD_RELOC_VTABLE_ENTRY
&& ! S_IS_EXTERNAL (fix->fx_addsy)
&& ! S_IS_WEAK (fix->fx_addsy)
&& (fix->fx_pcrel
|| (fix->fx_subsy !=3D ((void *)0)
&& (S_GET_SEGMENT (fix->fx_subsy)
=3D=3D S_GET_SEGMENT (fix->fx_addsy)))
|| S_IS_LOCAL (fix->fx_addsy)));
}
# 5120 "../../binutils-2.13.1/gas/config/tc-ppc.c"
void
md_apply_fix3 (fixP, valP, seg)
fixS *fixP;
valueT * valP;
segT seg __attribute__ ((__unused__));
{
valueT value =3D * valP;
if (fixP->fx_addsy !=3D ((void *)0))
{
if (symbol_used_in_reloc_p (fixP->fx_addsy)
&& S_GET_SEGMENT (fixP->fx_addsy) !=3D ((asection *) &bfd_abs_s=
ection)
&& S_GET_SEGMENT (fixP->fx_addsy) !=3D ((asection *) &bfd_und_s=
ection)
&& ! (((S_GET_SEGMENT (fixP->fx_addsy))->flags & 0x8000) !=3D 0=
))
value -=3D S_GET_VALUE (fixP->fx_addsy);
if (fixP->fx_pcrel)
value +=3D fixP->fx_frag->fr_address + fixP->fx_where;
}
else
fixP->fx_done =3D 1;
# 5181 "../../binutils-2.13.1/gas/config/tc-ppc.c"
if ((int) fixP->fx_r_type >=3D (int) BFD_RELOC_UNUSED)
{
int opindex;
const struct powerpc_operand *operand;
char *where;
unsigned long insn;
opindex =3D (int) fixP->fx_r_type - (int) BFD_RELOC_UNUSED;
operand =3D &powerpc_operands[opindex];
# 5214 "../../binutils-2.13.1/gas/config/tc-ppc.c"
where =3D fixP->fx_frag->fr_literal + fixP->fx_where;
if (target_big_endian)
insn =3D bfd_getb32 ((unsigned char *) where);
else
insn =3D bfd_getl32 ((unsigned char *) where);
insn =3D ppc_insert_operand (insn, operand, (offsetT) value,
fixP->fx_file, fixP->fx_line);
if (target_big_endian)
bfd_putb32 ((bfd_vma) insn, (unsigned char *) where);
else
bfd_putl32 ((bfd_vma) insn, (unsigned char *) where);
if (fixP->fx_done)
return;
((fixP->fx_addsy !=3D ((void *)0)) ? 0 : (as_assert ("../../binutil=
s-2.13.1/gas/config/tc-ppc.c", 5230, __PRETTY_FUNCTION__), 0));
if ((operand->flags & (0200)) !=3D 0
&& operand->bits =3D=3D 26
&& operand->shift =3D=3D 0)
fixP->fx_r_type =3D BFD_RELOC_PPC_B26;
else if ((operand->flags & (0200)) !=3D 0
&& operand->bits =3D=3D 16
&& operand->shift =3D=3D 0)
{
fixP->fx_r_type =3D BFD_RELOC_PPC_B16;
}
else if ((operand->flags & (0400)) !=3D 0
&& operand->bits =3D=3D 26
&& operand->shift =3D=3D 0)
fixP->fx_r_type =3D BFD_RELOC_PPC_BA26;
else if ((operand->flags & (0400)) !=3D 0
&& operand->bits =3D=3D 16
&& operand->shift =3D=3D 0)
{
fixP->fx_r_type =3D BFD_RELOC_PPC_BA16;
}
else if ((operand->flags & (010)) !=3D 0
&& operand->bits =3D=3D 16
&& operand->shift =3D=3D 0
&& ppc_is_toc_sym (fixP->fx_addsy))
{
fixP->fx_r_type =3D BFD_RELOC_PPC_TOC16;
if (ppc_obj64
&& (operand->flags & (020000)) !=3D 0)
fixP->fx_r_type =3D BFD_RELOC_PPC64_TOC16_DS;
fixP->fx_size =3D 2;
if (target_big_endian)
fixP->fx_where +=3D 2;
}
else
{
char *sfile;
unsigned int sline;
if (expr_symbol_where (fixP->fx_addsy, &sfile, &sline))
as_bad_where (fixP->fx_file, fixP->fx_line,
dcgettext (((void *)0), "unresolved expression =
that must be resolved", __LC_MESSAGES));
else
as_bad_where (fixP->fx_file, fixP->fx_line,
dcgettext (((void *)0), "unsupported relocation=
against %s", __LC_MESSAGES),
S_GET_NAME (fixP->fx_addsy));
fixP->fx_done =3D 1;
return;
}
}
else
{
ppc_elf_validate_fix (fixP, seg);
switch (fixP->fx_r_type)
{
case BFD_RELOC_CTOR:
if (ppc_obj64)
goto ctor64;
case BFD_RELOC_32:
if (fixP->fx_pcrel)
fixP->fx_r_type =3D BFD_RELOC_32_PCREL;
case BFD_RELOC_RVA:
case BFD_RELOC_32_PCREL:
case BFD_RELOC_PPC_EMB_NADDR32:
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where,
value, 4);
break;
case BFD_RELOC_64:
ctor64:
if (fixP->fx_pcrel)
fixP->fx_r_type =3D BFD_RELOC_64_PCREL;
case BFD_RELOC_64_PCREL:
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where,
value, 8);
break;
case BFD_RELOC_LO16:
case BFD_RELOC_16:
case BFD_RELOC_GPREL16:
case BFD_RELOC_16_GOT_PCREL:
case BFD_RELOC_16_GOTOFF:
case BFD_RELOC_LO16_GOTOFF:
case BFD_RELOC_HI16_GOTOFF:
case BFD_RELOC_HI16_S_GOTOFF:
case BFD_RELOC_16_BASEREL:
case BFD_RELOC_LO16_BASEREL:
case BFD_RELOC_HI16_BASEREL:
case BFD_RELOC_HI16_S_BASEREL:
case BFD_RELOC_PPC_EMB_NADDR16:
case BFD_RELOC_PPC_EMB_NADDR16_LO:
case BFD_RELOC_PPC_EMB_NADDR16_HI:
case BFD_RELOC_PPC_EMB_NADDR16_HA:
case BFD_RELOC_PPC_EMB_SDAI16:
case BFD_RELOC_PPC_EMB_SDA2REL:
case BFD_RELOC_PPC_EMB_SDA2I16:
case BFD_RELOC_PPC_EMB_RELSEC16:
case BFD_RELOC_PPC_EMB_RELST_LO:
case BFD_RELOC_PPC_EMB_RELST_HI:
case BFD_RELOC_PPC_EMB_RELST_HA:
case BFD_RELOC_PPC_EMB_RELSDA:
case BFD_RELOC_PPC_TOC16:
case BFD_RELOC_PPC64_TOC16_LO:
case BFD_RELOC_PPC64_TOC16_HI:
case BFD_RELOC_PPC64_TOC16_HA:
if (fixP->fx_pcrel)
{
if (fixP->fx_addsy !=3D ((void *)0))
as_bad_where (fixP->fx_file, fixP->fx_line,
dcgettext (((void *)0), "cannot emit PC rel=
ative %s relocation against %s", __LC_MESSAGES),
bfd_get_reloc_code_name (fixP->fx_r_type),
S_GET_NAME (fixP->fx_addsy));
else
as_bad_where (fixP->fx_file, fixP->fx_line,
dcgettext (((void *)0), "cannot emit PC rel=
ative %s relocation", __LC_MESSAGES),
bfd_get_reloc_code_name (fixP->fx_r_type));
}
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where,
value, 2);
break;
case BFD_RELOC_HI16:
if (fixP->fx_pcrel)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5387, =
__PRETTY_FUNCTION__);
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where,
(((value) >> 16) & 0xffff), 2);
break;
case BFD_RELOC_HI16_S:
if (fixP->fx_pcrel)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5394, =
__PRETTY_FUNCTION__);
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where,
((((value) + 0x8000) >> 16) & 0xffff), 2);
break;
case BFD_RELOC_PPC64_HIGHER:
if (fixP->fx_pcrel)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5402, =
__PRETTY_FUNCTION__);
# 5413 "../../binutils-2.13.1/gas/config/tc-ppc.c"
as_abort("../../binutils-2.13.1/gas/config/tc-ppc.c" " OG patch=
ed error!", 5413, __FUNCTION__);
break;
case BFD_RELOC_PPC64_HIGHER_S:
if (fixP->fx_pcrel)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5418, =
__PRETTY_FUNCTION__);
as_abort("../../binutils-2.13.1/gas/config/tc-ppc.c" " OG patch=
ed error!", 5423, __FUNCTION__);
break;
case BFD_RELOC_PPC64_HIGHEST:
if (fixP->fx_pcrel)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5428, =
__PRETTY_FUNCTION__);
as_abort("../../binutils-2.13.1/gas/config/tc-ppc.c" " OG patch=
ed error!", 5433, __FUNCTION__);
break;
case BFD_RELOC_PPC64_HIGHEST_S:
if (fixP->fx_pcrel)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5438, =
__PRETTY_FUNCTION__);
as_abort("../../binutils-2.13.1/gas/config/tc-ppc.c" " OG patch=
ed error!", 5443, __FUNCTION__);
break;
case BFD_RELOC_PPC64_ADDR16_DS:
case BFD_RELOC_PPC64_ADDR16_LO_DS:
case BFD_RELOC_PPC64_GOT16_DS:
case BFD_RELOC_PPC64_GOT16_LO_DS:
case BFD_RELOC_PPC64_PLT16_LO_DS:
case BFD_RELOC_PPC64_SECTOFF_DS:
case BFD_RELOC_PPC64_SECTOFF_LO_DS:
case BFD_RELOC_PPC64_TOC16_DS:
case BFD_RELOC_PPC64_TOC16_LO_DS:
case BFD_RELOC_PPC64_PLTGOT16_DS:
case BFD_RELOC_PPC64_PLTGOT16_LO_DS:
if (fixP->fx_pcrel)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5458, =
__PRETTY_FUNCTION__);
{
unsigned char *where =3D fixP->fx_frag->fr_literal + fixP->fx=
_where;
unsigned long val;
if (target_big_endian)
val =3D bfd_getb16 (where);
else
val =3D bfd_getl16 (where);
val |=3D (value & 0xfffc);
if (target_big_endian)
bfd_putb16 ((bfd_vma) val, where);
else
bfd_putl16 ((bfd_vma) val, where);
}
break;
case BFD_RELOC_PPC_EMB_SDA21:
if (fixP->fx_pcrel)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5479, =
__PRETTY_FUNCTION__);
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where
+ ((target_big_endian) ? 2 : 0),
value, 2);
break;
case BFD_RELOC_8:
if (fixP->fx_pcrel)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5488, =
__PRETTY_FUNCTION__);
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where,
value, 1);
break;
case BFD_RELOC_24_PLT_PCREL:
case BFD_RELOC_PPC_LOCAL24PC:
if (!fixP->fx_pcrel && !fixP->fx_done)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5497, =
__PRETTY_FUNCTION__);
if (fixP->fx_done)
{
char *where;
unsigned long insn;
where =3D fixP->fx_frag->fr_literal + fixP->fx_where;
if (target_big_endian)
insn =3D bfd_getb32 ((unsigned char *) where);
else
insn =3D bfd_getl32 ((unsigned char *) where);
if ((value & 3) !=3D 0)
as_bad_where (fixP->fx_file, fixP->fx_line,
dcgettext (((void *)0), "must branch to an =
address a multiple of 4", __LC_MESSAGES));
if ((offsetT) value < -0x40000000
|| (offsetT) value >=3D 0x40000000)
as_bad_where (fixP->fx_file, fixP->fx_line,
dcgettext (((void *)0), "@local or @plt bra=
nch destination is too far away, %ld bytes", __LC_MESSAGES),
(long) value);
insn =3D insn | (value & 0x03fffffc);
if (target_big_endian)
bfd_putb32 ((bfd_vma) insn, (unsigned char *) where);
else
bfd_putl32 ((bfd_vma) insn, (unsigned char *) where);
}
break;
case BFD_RELOC_VTABLE_INHERIT:
fixP->fx_done =3D 0;
if (fixP->fx_addsy
&& !S_IS_DEFINED (fixP->fx_addsy)
&& !S_IS_WEAK (fixP->fx_addsy))
S_SET_WEAK (fixP->fx_addsy);
break;
case BFD_RELOC_VTABLE_ENTRY:
fixP->fx_done =3D 0;
break;
case BFD_RELOC_PPC64_TOC:
fixP->fx_done =3D 0;
break;
default:
fprintf (stderr,
dcgettext (((void *)0), "Gas failure, reloc value %d\n=
", __LC_MESSAGES), fixP->fx_r_type);
fflush (stderr);
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5550, __=
PRETTY_FUNCTION__);
}
}
fixP->fx_addnumber =3D value;
# 5571 "../../binutils-2.13.1/gas/config/tc-ppc.c"
}
arelent *
tc_gen_reloc (seg, fixp)
asection *seg __attribute__ ((__unused__));
fixS *fixp;
{
arelent *reloc;
reloc =3D (arelent *) xmalloc (sizeof (arelent));
reloc->sym_ptr_ptr =3D (asymbol **) xmalloc (sizeof (asymbol *));
*reloc->sym_ptr_ptr =3D symbol_get_bfdsym (fixp->fx_addsy);
reloc->address =3D fixp->fx_frag->fr_address + fixp->fx_where;
reloc->howto =3D bfd_reloc_type_lookup (stdoutput, fixp->fx_r_type);
if (reloc->howto =3D=3D (reloc_howto_type *) ((void *)0))
{
as_bad_where (fixp->fx_file, fixp->fx_line,
dcgettext (((void *)0), "reloc %d not supported by ob=
ject file format", __LC_MESSAGES),
(int) fixp->fx_r_type);
return ((void *)0);
}
reloc->addend =3D fixp->fx_addnumber;
return reloc;
}
--------------Boundary-00=_UTCH4TK8JIHUCD697UZS
Content-Type: text/x-diff;
charset="us-ascii";
name="tc-ppc.c.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="tc-ppc.c.patch"
*** tc-ppc.c Thu Apr 17 10:05:44 2003
--- tc-ppc.c.patched Thu Apr 17 10:04:17 2003
*************** md_apply_fix3 (fixP, valP, seg)
*** 5400,5428 ****
--- 5400,5446 ----
case BFD_RELOC_PPC64_HIGHER:
if (fixP->fx_pcrel)
abort ();
+ /* patch from OG, to avoid ICE-on-legal-code for gcc 3.2 */
+ /* OG: I found no way around it. But as I am just interested
+ * in a compiler for the 603e core (32 bit) I think it
+ * is save to delete it. Nevertheless, crash the whole
+ * stuff is somebody would like to use it!
+ */
+ #if 0
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where,
PPC_HIGHER (value), 2);
+ #endif
+ as_abort(__FILE__ " OG patched error!", __LINE__, __FUNCTION__);
break;
case BFD_RELOC_PPC64_HIGHER_S:
if (fixP->fx_pcrel)
abort ();
+ #if 0
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where,
PPC_HIGHERA (value), 2);
+ #endif
+ as_abort(__FILE__ " OG patched error!", __LINE__, __FUNCTION__);
break;
case BFD_RELOC_PPC64_HIGHEST:
if (fixP->fx_pcrel)
abort ();
+ #if 0
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where,
PPC_HIGHEST (value), 2);
+ #endif
+ as_abort(__FILE__ " OG patched error!", __LINE__, __FUNCTION__);
break;
case BFD_RELOC_PPC64_HIGHEST_S:
if (fixP->fx_pcrel)
abort ();
+ #if 0
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where,
PPC_HIGHESTA (value), 2);
+ #endif
+ as_abort(__FILE__ " OG patched error!", __LINE__, __FUNCTION__);
break;
case BFD_RELOC_PPC64_ADDR16_DS:
--------------Boundary-00=_UTCH4TK8JIHUCD697UZS--
^ permalink raw reply [flat|nested] 3+ messages in thread
* c/10422: Internal compiler error in simplify_subreg, at simplify-rtx.c:2452
@ 2003-04-16 13:36 oliver.graebner
0 siblings, 0 replies; 3+ messages in thread
From: oliver.graebner @ 2003-04-16 13:36 UTC (permalink / raw)
To: gcc-gnats
>Number: 10422
>Category: c
>Synopsis: Internal compiler error in simplify_subreg, at simplify-rtx.c:2452
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: ice-on-legal-code
>Submitter-Id: net
>Arrival-Date: Wed Apr 16 13:36:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator: Oliver Graebner
>Release: gcc version 3.2
>Organization:
>Environment:
Operating System: Linux (standard installation from SuSE 8.1) - 'uname -a' returns:
Linux linux 2.4.19-4GB #1 Fri Sep 13 13:14:56 UTC 2002 i686 unknown
gcc -v returns:
Reading specs from /usr/lib/gcc-lib/i486-suse-linux/3.2/specs
Configured with: ../configure --enable-threads=posix --prefix=/usr
--with-local-prefix=/usr/local --infodir=/usr/share/info
--mandir=/usr/share/man --libdir=/usr/lib
--enable-languages=c,c++,f77,objc,java,ada --enable-libgcj
--with-gxx-include-dir=/usr/include/g++ --with-slibdir=/lib
--with-system-zlib --enable-shared --enable-__cxa_atexit i486-suse-linux
Thread model: posix
gcc version 3.2
>Description:
While compiling binutils-2.13.1 for a x86-powerpc cross compiler on Linux the following ICE occurs:
gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.13.1/gas -I. -D_GNU_SOURCE -I. -I../../binutils-2.13.1/gas -I../bfd -I../../binutils-2.13.1/gas/config -I../../binutils-2.13.1/gas/../include -I../../binutils-2.13.1/gas/.. -I../../binutils-2.13.1/gas/../bfd -I../../binutils-2.13.1/gas/../intl -I../intl -DLOCALEDIR="\"/opt/cross/powerpc-linux/share/locale\"" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c
../../binutils-2.13.1/gas/config/tc-ppc.c
../../binutils-2.13.1/gas/config/tc-ppc.c: In function `md_assemble':
../../binutils-2.13.1/gas/config/tc-ppc.c:2188: warning: right shift count >= width of type
../../binutils-2.13.1/gas/config/tc-ppc.c:2190: warning: right shift count >= width of type
../../binutils-2.13.1/gas/config/tc-ppc.c:2195: warning: right shift count >= width of type
../../binutils-2.13.1/gas/config/tc-ppc.c:2197: warning: right shift count >= width of type
../../binutils-2.13.1/gas/config/tc-ppc.c:2202: warning: right shift count >= width of type
../../binutils-2.13.1/gas/config/tc-ppc.c:2204: warning: right shift count >= width of type
../../binutils-2.13.1/gas/config/tc-ppc.c:2209: warning: right shift count >= width of type
../../binutils-2.13.1/gas/config/tc-ppc.c:2211: warning: right shift count >= width of type
../../binutils-2.13.1/gas/config/tc-ppc.c: In function `md_apply_fix3':
../../binutils-2.13.1/gas/config/tc-ppc.c:5404: warning: right shift count >= width of type
../../binutils-2.13.1/gas/config/tc-ppc.c:5411: warning: right shift count >= width of type
../../binutils-2.13.1/gas/config/tc-ppc.c:5418: warning: right shift count >= width of type
../../binutils-2.13.1/gas/config/tc-ppc.c:5425: warning: right shift count >= width of type
../../binutils-2.13.1/gas/config/tc-ppc.c:5553: Internal compiler error in simplify_subreg, at simplify-rtx.c:2452
Please submit a full bug report, with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
make[3]: *** [tc-ppc.o] Error 1
make[3]: Leaving directory `/opt/cross/powerpc-linux/src/build-binutils/gas'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/opt/cross/powerpc-linux/src/build-binutils/gas'
make[1]: *** [all-recursive-am] Error 2
make[1]: Leaving directory `/opt/cross/powerpc-linux/src/build-binutils/gas'
make: *** [all-gas] Error 2
>How-To-Repeat:
Take the attached file tc-ppc.i and run
gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c tc-ppc.i
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/plain; name="tc-ppc.i"
Content-Disposition: inline; filename="tc-ppc.i"
# 1 "../../binutils-2.13.1/gas/config/tc-ppc.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "../../binutils-2.13.1/gas/config/tc-ppc.c"
# 23 "../../binutils-2.13.1/gas/config/tc-ppc.c"
# 1 "/usr/include/stdio.h" 1 3
# 28 "/usr/include/stdio.h" 3
# 1 "/usr/include/features.h" 1 3
# 283 "/usr/include/features.h" 3
# 1 "/usr/include/sys/cdefs.h" 1 3
# 284 "/usr/include/features.h" 2 3
# 312 "/usr/include/features.h" 3
# 1 "/usr/include/gnu/stubs.h" 1 3
# 313 "/usr/include/features.h" 2 3
# 29 "/usr/include/stdio.h" 2 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 201 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 3
typedef unsigned int size_t;
# 35 "/usr/include/stdio.h" 2 3
# 1 "/usr/include/bits/types.h" 1 3
# 29 "/usr/include/bits/types.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 30 "/usr/include/bits/types.h" 2 3
typedef unsigned char __u_char;
typedef unsigned short __u_short;
typedef unsigned int __u_int;
typedef unsigned long __u_long;
__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef long long int __quad_t;
# 49 "/usr/include/bits/types.h" 3
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;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
typedef __quad_t *__qaddr_t;
typedef __u_quad_t __dev_t;
typedef __u_int __uid_t;
typedef __u_int __gid_t;
typedef __u_long __ino_t;
typedef __u_int __mode_t;
typedef __u_int __nlink_t;
typedef long int __off_t;
typedef __quad_t __loff_t;
typedef int __pid_t;
typedef int __ssize_t;
typedef __u_long __rlim_t;
typedef __u_quad_t __rlim64_t;
typedef __u_int __id_t;
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 __clockid_t;
typedef int __timer_t;
typedef int __key_t;
typedef unsigned short int __ipc_pid_t;
typedef long int __blksize_t;
typedef long int __blkcnt_t;
typedef __quad_t __blkcnt64_t;
typedef __u_long __fsblkcnt_t;
typedef __u_quad_t __fsblkcnt64_t;
typedef __u_long __fsfilcnt_t;
typedef __u_quad_t __fsfilcnt64_t;
typedef __u_quad_t __ino64_t;
typedef __loff_t __off64_t;
typedef long int __t_scalar_t;
typedef unsigned long int __t_uscalar_t;
typedef int __intptr_t;
typedef unsigned int __socklen_t;
# 1 "/usr/include/bits/pthreadtypes.h" 1 3
# 23 "/usr/include/bits/pthreadtypes.h" 3
# 1 "/usr/include/bits/sched.h" 1 3
# 68 "/usr/include/bits/sched.h" 3
struct __sched_param
{
int __sched_priority;
};
# 24 "/usr/include/bits/pthreadtypes.h" 2 3
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;
# 144 "/usr/include/bits/types.h" 2 3
# 37 "/usr/include/stdio.h" 2 3
# 45 "/usr/include/stdio.h" 3
typedef struct _IO_FILE FILE;
# 55 "/usr/include/stdio.h" 3
typedef struct _IO_FILE __FILE;
# 65 "/usr/include/stdio.h" 3
# 1 "/usr/include/libio.h" 1 3
# 32 "/usr/include/libio.h" 3
# 1 "/usr/include/_G_config.h" 1 3
# 14 "/usr/include/_G_config.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 294 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 3
typedef long int wchar_t;
# 321 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 3
typedef unsigned int wint_t;
# 15 "/usr/include/_G_config.h" 2 3
# 24 "/usr/include/_G_config.h" 3
# 1 "/usr/include/wchar.h" 1 3
# 48 "/usr/include/wchar.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 49 "/usr/include/wchar.h" 2 3
# 1 "/usr/include/bits/wchar.h" 1 3
# 51 "/usr/include/wchar.h" 2 3
# 67 "/usr/include/wchar.h" 3
typedef struct
{
int __count;
union
{
wint_t __wch;
char __wchb[4];
} __value;
} __mbstate_t;
# 25 "/usr/include/_G_config.h" 2 3
typedef struct
{
__off_t __pos;
__mbstate_t __state;
} _G_fpos_t;
typedef struct
{
__off64_t __pos;
__mbstate_t __state;
} _G_fpos64_t;
# 44 "/usr/include/_G_config.h" 3
# 1 "/usr/include/gconv.h" 1 3
# 28 "/usr/include/gconv.h" 3
# 1 "/usr/include/wchar.h" 1 3
# 48 "/usr/include/wchar.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 49 "/usr/include/wchar.h" 2 3
# 29 "/usr/include/gconv.h" 2 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 32 "/usr/include/gconv.h" 2 3
enum
{
__GCONV_OK = 0,
__GCONV_NOCONV,
__GCONV_NODB,
__GCONV_NOMEM,
__GCONV_EMPTY_INPUT,
__GCONV_FULL_OUTPUT,
__GCONV_ILLEGAL_INPUT,
__GCONV_INCOMPLETE_INPUT,
__GCONV_ILLEGAL_DESCRIPTOR,
__GCONV_INTERNAL_ERROR
};
enum
{
__GCONV_IS_LAST = 0x0001,
__GCONV_IGNORE_ERRORS = 0x0002
};
struct __gconv_step;
struct __gconv_step_data;
struct __gconv_loaded_object;
struct __gconv_trans_data;
typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *,
__const unsigned char **, __const unsigned char *,
unsigned char **, size_t *, int, int);
typedef int (*__gconv_init_fct) (struct __gconv_step *);
typedef void (*__gconv_end_fct) (struct __gconv_step *);
typedef int (*__gconv_trans_fct) (struct __gconv_step *,
struct __gconv_step_data *, void *,
__const unsigned char *,
__const unsigned char **,
__const unsigned char *, unsigned char **,
size_t *);
typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *,
__const unsigned char *,
unsigned char *, unsigned char *);
typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***,
size_t *);
typedef int (*__gconv_trans_init_fct) (void **, const char *);
typedef void (*__gconv_trans_end_fct) (void *);
struct __gconv_trans_data
{
__gconv_trans_fct __trans_fct;
__gconv_trans_context_fct __trans_context_fct;
__gconv_trans_end_fct __trans_end_fct;
void *__data;
struct __gconv_trans_data *__next;
};
struct __gconv_step
{
struct __gconv_loaded_object *__shlib_handle;
__const char *__modname;
int __counter;
char *__from_name;
char *__to_name;
__gconv_fct __fct;
__gconv_init_fct __init_fct;
__gconv_end_fct __end_fct;
int __min_needed_from;
int __max_needed_from;
int __min_needed_to;
int __max_needed_to;
int __stateful;
void *__data;
};
struct __gconv_step_data
{
unsigned char *__outbuf;
unsigned char *__outbufend;
int __flags;
int __invocation_counter;
int __internal_use;
__mbstate_t *__statep;
__mbstate_t __state;
struct __gconv_trans_data *__trans;
};
typedef struct __gconv_info
{
size_t __nsteps;
struct __gconv_step *__steps;
__extension__ struct __gconv_step_data __data [];
} *__gconv_t;
# 45 "/usr/include/_G_config.h" 2 3
typedef union
{
struct __gconv_info __cd;
struct
{
struct __gconv_info __cd;
struct __gconv_step_data __data;
} __combined;
} _G_iconv_t;
typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
# 33 "/usr/include/libio.h" 2 3
# 53 "/usr/include/libio.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stdarg.h" 1 3
# 43 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stdarg.h" 3
typedef __builtin_va_list __gnuc_va_list;
# 54 "/usr/include/libio.h" 2 3
# 160 "/usr/include/libio.h" 3
struct _IO_jump_t; struct _IO_FILE;
# 170 "/usr/include/libio.h" 3
typedef void _IO_lock_t;
struct _IO_marker {
struct _IO_marker *_next;
struct _IO_FILE *_sbuf;
int _pos;
# 193 "/usr/include/libio.h" 3
};
enum __codecvt_result
{
__codecvt_ok,
__codecvt_partial,
__codecvt_error,
__codecvt_noconv
};
# 261 "/usr/include/libio.h" 3
struct _IO_FILE {
int _flags;
char* _IO_read_ptr;
char* _IO_read_end;
char* _IO_read_base;
char* _IO_write_base;
char* _IO_write_ptr;
char* _IO_write_end;
char* _IO_buf_base;
char* _IO_buf_end;
char *_IO_save_base;
char *_IO_backup_base;
char *_IO_save_end;
struct _IO_marker *_markers;
struct _IO_FILE *_chain;
int _fileno;
int _blksize;
__off_t _old_offset;
unsigned short _cur_column;
signed char _vtable_offset;
char _shortbuf[1];
_IO_lock_t *_lock;
# 305 "/usr/include/libio.h" 3
__off64_t _offset;
void *__pad1;
void *__pad2;
int _mode;
char _unused2[15 * sizeof (int) - 2 * sizeof (void *)];
};
typedef struct _IO_FILE _IO_FILE;
struct _IO_FILE_plus;
extern struct _IO_FILE_plus _IO_2_1_stdin_;
extern struct _IO_FILE_plus _IO_2_1_stdout_;
extern struct _IO_FILE_plus _IO_2_1_stderr_;
# 344 "/usr/include/libio.h" 3
typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
size_t __n);
typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
typedef int __io_close_fn (void *__cookie);
typedef __io_read_fn cookie_read_function_t;
typedef __io_write_fn cookie_write_function_t;
typedef __io_seek_fn cookie_seek_function_t;
typedef __io_close_fn cookie_close_function_t;
typedef struct
{
__io_read_fn *read;
__io_write_fn *write;
__io_seek_fn *seek;
__io_close_fn *close;
} _IO_cookie_io_functions_t;
typedef _IO_cookie_io_functions_t cookie_io_functions_t;
struct _IO_cookie_file;
extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write,
void *__cookie, _IO_cookie_io_functions_t __fns);
extern int __underflow (_IO_FILE *) ;
extern int __uflow (_IO_FILE *) ;
extern int __overflow (_IO_FILE *, int) ;
extern wint_t __wunderflow (_IO_FILE *) ;
extern wint_t __wuflow (_IO_FILE *) ;
extern wint_t __woverflow (_IO_FILE *, wint_t) ;
# 426 "/usr/include/libio.h" 3
extern int _IO_getc (_IO_FILE *__fp) ;
extern int _IO_putc (int __c, _IO_FILE *__fp) ;
extern int _IO_feof (_IO_FILE *__fp) ;
extern int _IO_ferror (_IO_FILE *__fp) ;
extern int _IO_peekc_locked (_IO_FILE *__fp) ;
extern void _IO_flockfile (_IO_FILE *) ;
extern void _IO_funlockfile (_IO_FILE *) ;
extern int _IO_ftrylockfile (_IO_FILE *) ;
# 456 "/usr/include/libio.h" 3
extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
__gnuc_va_list, int *__restrict) ;
extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
__gnuc_va_list) ;
extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) ;
extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) ;
extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) ;
extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) ;
extern void _IO_free_backup_area (_IO_FILE *) ;
# 66 "/usr/include/stdio.h" 2 3
typedef __gnuc_va_list va_list;
# 80 "/usr/include/stdio.h" 3
typedef _G_fpos_t fpos_t;
typedef _G_fpos64_t fpos64_t;
# 129 "/usr/include/stdio.h" 3
# 1 "/usr/include/bits/stdio_lim.h" 1 3
# 130 "/usr/include/stdio.h" 2 3
extern FILE *stdin;
extern FILE *stdout;
extern FILE *stderr;
extern int remove (__const char *__filename) ;
extern int rename (__const char *__old, __const char *__new) ;
extern FILE *tmpfile (void) ;
# 158 "/usr/include/stdio.h" 3
extern FILE *tmpfile64 (void) ;
extern char *tmpnam (char *__s) ;
extern char *tmpnam_r (char *__s) ;
# 178 "/usr/include/stdio.h" 3
extern char *tempnam (__const char *__dir, __const char *__pfx)
__attribute__ ((__malloc__));
extern int fclose (FILE *__stream) ;
extern int fflush (FILE *__stream) ;
extern int fflush_unlocked (FILE *__stream) ;
extern int fcloseall (void) ;
extern FILE *fopen (__const char *__restrict __filename,
__const char *__restrict __modes) ;
extern FILE *freopen (__const char *__restrict __filename,
__const char *__restrict __modes,
FILE *__restrict __stream) ;
# 222 "/usr/include/stdio.h" 3
extern FILE *fopen64 (__const char *__restrict __filename,
__const char *__restrict __modes) ;
extern FILE *freopen64 (__const char *__restrict __filename,
__const char *__restrict __modes,
FILE *__restrict __stream) ;
extern FILE *fdopen (int __fd, __const char *__modes) ;
extern FILE *fopencookie (void *__restrict __magic_cookie,
__const char *__restrict __modes,
_IO_cookie_io_functions_t __io_funcs) ;
extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) ;
extern FILE *open_memstream (char **__restrict __bufloc,
size_t *__restrict __sizeloc) ;
extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) ;
extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
int __modes, size_t __n) ;
extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
size_t __size) ;
extern void setlinebuf (FILE *__stream) ;
extern int fprintf (FILE *__restrict __stream,
__const char *__restrict __format, ...) ;
extern int printf (__const char *__restrict __format, ...) ;
extern int sprintf (char *__restrict __s,
__const char *__restrict __format, ...) ;
extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
__gnuc_va_list __arg) ;
extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg)
;
extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
__gnuc_va_list __arg) ;
extern int snprintf (char *__restrict __s, size_t __maxlen,
__const char *__restrict __format, ...)
__attribute__ ((__format__ (__printf__, 3, 4)));
extern int vsnprintf (char *__restrict __s, size_t __maxlen,
__const char *__restrict __format, __gnuc_va_list __arg)
__attribute__ ((__format__ (__printf__, 3, 0)));
extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f,
__gnuc_va_list __arg)
__attribute__ ((__format__ (__printf__, 2, 0)));
extern int __asprintf (char **__restrict __ptr,
__const char *__restrict __fmt, ...)
__attribute__ ((__format__ (__printf__, 2, 3)));
extern int asprintf (char **__restrict __ptr,
__const char *__restrict __fmt, ...)
__attribute__ ((__format__ (__printf__, 2, 3)));
extern int vdprintf (int __fd, __const char *__restrict __fmt,
__gnuc_va_list __arg)
__attribute__ ((__format__ (__printf__, 2, 0)));
extern int dprintf (int __fd, __const char *__restrict __fmt, ...)
__attribute__ ((__format__ (__printf__, 2, 3)));
extern int fscanf (FILE *__restrict __stream,
__const char *__restrict __format, ...) ;
extern int scanf (__const char *__restrict __format, ...) ;
extern int sscanf (__const char *__restrict __s,
__const char *__restrict __format, ...) ;
extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format,
__gnuc_va_list __arg)
__attribute__ ((__format__ (__scanf__, 2, 0)));
extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg)
__attribute__ ((__format__ (__scanf__, 1, 0)));
extern int vsscanf (__const char *__restrict __s,
__const char *__restrict __format, __gnuc_va_list __arg)
__attribute__ ((__format__ (__scanf__, 2, 0)));
extern int fgetc (FILE *__stream) ;
extern int getc (FILE *__stream) ;
extern int getchar (void) ;
extern int getc_unlocked (FILE *__stream) ;
extern int getchar_unlocked (void) ;
extern int fgetc_unlocked (FILE *__stream) ;
extern int fputc (int __c, FILE *__stream) ;
extern int putc (int __c, FILE *__stream) ;
extern int putchar (int __c) ;
extern int fputc_unlocked (int __c, FILE *__stream) ;
extern int putc_unlocked (int __c, FILE *__stream) ;
extern int putchar_unlocked (int __c) ;
extern int getw (FILE *__stream) ;
extern int putw (int __w, FILE *__stream) ;
extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
;
extern char *fgets_unlocked (char *__restrict __s, int __n,
FILE *__restrict __stream) ;
extern char *gets (char *__s) ;
# 426 "/usr/include/stdio.h" 3
extern __ssize_t __getdelim (char **__restrict __lineptr,
size_t *__restrict __n, int __delimiter,
FILE *__restrict __stream) ;
extern __ssize_t getdelim (char **__restrict __lineptr,
size_t *__restrict __n, int __delimiter,
FILE *__restrict __stream) ;
extern __ssize_t getline (char **__restrict __lineptr,
size_t *__restrict __n,
FILE *__restrict __stream) ;
extern int fputs (__const char *__restrict __s, FILE *__restrict __stream)
;
extern int fputs_unlocked (__const char *__restrict __s,
FILE *__restrict __stream) ;
extern int puts (__const char *__s) ;
extern int ungetc (int __c, FILE *__stream) ;
extern size_t fread (void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream) ;
extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __s) ;
extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream) ;
extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream) ;
extern int fseek (FILE *__stream, long int __off, int __whence) ;
extern long int ftell (FILE *__stream) ;
extern void rewind (FILE *__stream) ;
# 489 "/usr/include/stdio.h" 3
extern int fseeko (FILE *__stream, __off_t __off, int __whence) ;
extern __off_t ftello (FILE *__stream) ;
extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos)
;
extern int fsetpos (FILE *__stream, __const fpos_t *__pos) ;
# 523 "/usr/include/stdio.h" 3
extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence) ;
extern __off64_t ftello64 (FILE *__stream) ;
extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos)
;
extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos) ;
extern void clearerr (FILE *__stream) ;
extern int feof (FILE *__stream) ;
extern int ferror (FILE *__stream) ;
extern void clearerr_unlocked (FILE *__stream) ;
extern int feof_unlocked (FILE *__stream) ;
extern int ferror_unlocked (FILE *__stream) ;
extern void perror (__const char *__s) ;
# 1 "/usr/include/bits/sys_errlist.h" 1 3
# 27 "/usr/include/bits/sys_errlist.h" 3
extern int sys_nerr;
extern __const char *__const sys_errlist[];
extern int _sys_nerr;
extern __const char *__const _sys_errlist[];
# 553 "/usr/include/stdio.h" 2 3
extern int fileno (FILE *__stream) ;
extern int fileno_unlocked (FILE *__stream) ;
extern FILE *popen (__const char *__command, __const char *__modes) ;
extern int pclose (FILE *__stream) ;
extern char *ctermid (char *__s) ;
extern char *cuserid (char *__s) ;
struct obstack;
extern int obstack_printf (struct obstack *__restrict __obstack,
__const char *__restrict __format, ...) ;
extern int obstack_vprintf (struct obstack *__restrict __obstack,
__const char *__restrict __format,
__gnuc_va_list __args) ;
extern void flockfile (FILE *__stream) ;
extern int ftrylockfile (FILE *__stream) ;
extern void funlockfile (FILE *__stream) ;
# 625 "/usr/include/stdio.h" 3
# 1 "/usr/include/bits/stdio.h" 1 3
# 33 "/usr/include/bits/stdio.h" 3
extern __inline int
vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg)
{
return vfprintf (stdout, __fmt, __arg);
}
extern __inline int
getchar (void)
{
return _IO_getc (stdin);
}
extern __inline int
getc_unlocked (FILE *__fp)
{
return ((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
}
extern __inline int
getchar_unlocked (void)
{
return ((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
}
extern __inline int
putchar (int __c)
{
return _IO_putc (__c, stdout);
}
extern __inline int
fputc_unlocked (int __c, FILE *__stream)
{
return (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
}
extern __inline int
putc_unlocked (int __c, FILE *__stream)
{
return (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
}
extern __inline int
putchar_unlocked (int __c)
{
return (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
}
extern __inline __ssize_t
getline (char **__lineptr, size_t *__n, FILE *__stream)
{
return __getdelim (__lineptr, __n, '\n', __stream);
}
extern __inline int
feof_unlocked (FILE *__stream)
{
return (((__stream)->_flags & 0x10) != 0);
}
extern __inline int
ferror_unlocked (FILE *__stream)
{
return (((__stream)->_flags & 0x20) != 0);
}
# 626 "/usr/include/stdio.h" 2 3
# 24 "../../binutils-2.13.1/gas/config/tc-ppc.c" 2
# 1 "../../binutils-2.13.1/gas/as.h" 1
# 40 "../../binutils-2.13.1/gas/as.h"
# 1 "config.h" 1
# 41 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/include/bin-bugs.h" 1
# 42 "../../binutils-2.13.1/gas/as.h" 2
# 77 "../../binutils-2.13.1/gas/as.h"
# 1 "/usr/include/string.h" 1 3
# 28 "/usr/include/string.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 34 "/usr/include/string.h" 2 3
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 "/usr/include/xlocale.h" 1 3
# 28 "/usr/include/xlocale.h" 3
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;
# 109 "/usr/include/string.h" 2 3
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 "/usr/include/string.h" 3
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 "/usr/include/string.h" 3
# 1 "/usr/include/bits/string.h" 1 3
# 358 "/usr/include/string.h" 2 3
# 1 "/usr/include/bits/string2.h" 1 3
# 52 "/usr/include/bits/string2.h" 3
# 1 "/usr/include/endian.h" 1 3
# 37 "/usr/include/endian.h" 3
# 1 "/usr/include/bits/endian.h" 1 3
# 38 "/usr/include/endian.h" 2 3
# 53 "/usr/include/bits/string2.h" 2 3
# 387 "/usr/include/bits/string2.h" 3
extern void *__rawmemchr (const void *__s, int __c);
# 917 "/usr/include/bits/string2.h" 3
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 "/usr/include/bits/string2.h" 3
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 "/usr/include/bits/string2.h" 3
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 "/usr/include/bits/string2.h" 3
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 "/usr/include/bits/string2.h" 3
extern char *__strsep_g (char **__stringp, __const char *__delim);
# 1133 "/usr/include/bits/string2.h" 3
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 "/usr/include/bits/string2.h" 3
# 1 "/usr/include/stdlib.h" 1 3
# 33 "/usr/include/stdlib.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 34 "/usr/include/stdlib.h" 2 3
# 527 "/usr/include/stdlib.h" 3
extern void *malloc (size_t __size) __attribute__ ((__malloc__));
extern void *calloc (size_t __nmemb, size_t __size)
__attribute__ ((__malloc__));
# 864 "/usr/include/stdlib.h" 3
# 1210 "/usr/include/bits/string2.h" 2 3
extern char *__strdup (__const char *__string) __attribute__ ((__malloc__));
# 1233 "/usr/include/bits/string2.h" 3
extern char *__strndup (__const char *__string, size_t __n)
__attribute__ ((__malloc__));
# 361 "/usr/include/string.h" 2 3
# 78 "../../binutils-2.13.1/gas/as.h" 2
# 1 "/usr/include/stdlib.h" 1 3
# 33 "/usr/include/stdlib.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 34 "/usr/include/stdlib.h" 2 3
# 1 "/usr/include/bits/waitflags.h" 1 3
# 43 "/usr/include/stdlib.h" 2 3
# 1 "/usr/include/bits/waitstatus.h" 1 3
# 65 "/usr/include/bits/waitstatus.h" 3
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 "/usr/include/stdlib.h" 2 3
# 68 "/usr/include/stdlib.h" 3
typedef union
{
union wait *__uptr;
int *__iptr;
} __WAIT_STATUS __attribute__ ((__transparent_union__));
# 94 "/usr/include/stdlib.h" 3
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 "/usr/include/stdlib.h" 3
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)
;
# 215 "/usr/include/stdlib.h" 3
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 "/usr/include/stdlib.h" 3
extern char *l64a (long int __n) ;
extern long int a64l (__const char *__s) __attribute__ ((__pure__));
# 1 "/usr/include/sys/types.h" 1 3
# 28 "/usr/include/sys/types.h" 3
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 "/usr/include/sys/types.h" 3
# 1 "/usr/include/time.h" 1 3
# 59 "/usr/include/time.h" 3
typedef __clock_t clock_t;
# 70 "/usr/include/time.h" 3
typedef __time_t time_t;
# 82 "/usr/include/time.h" 3
typedef __clockid_t clockid_t;
# 94 "/usr/include/time.h" 3
typedef __timer_t timer_t;
# 133 "/usr/include/sys/types.h" 2 3
typedef __useconds_t useconds_t;
typedef __suseconds_t suseconds_t;
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 147 "/usr/include/sys/types.h" 2 3
typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
# 190 "/usr/include/sys/types.h" 3
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__)));
# 215 "/usr/include/sys/types.h" 3
# 1 "/usr/include/sys/select.h" 1 3
# 31 "/usr/include/sys/select.h" 3
# 1 "/usr/include/bits/select.h" 1 3
# 32 "/usr/include/sys/select.h" 2 3
# 1 "/usr/include/bits/sigset.h" 1 3
# 23 "/usr/include/bits/sigset.h" 3
typedef int __sig_atomic_t;
typedef struct
{
unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
} __sigset_t;
# 35 "/usr/include/sys/select.h" 2 3
typedef __sigset_t sigset_t;
# 1 "/usr/include/time.h" 1 3
# 106 "/usr/include/time.h" 3
struct timespec
{
__time_t tv_sec;
long int tv_nsec;
};
# 45 "/usr/include/sys/select.h" 2 3
# 1 "/usr/include/bits/time.h" 1 3
# 67 "/usr/include/bits/time.h" 3
struct timeval
{
__time_t tv_sec;
__suseconds_t tv_usec;
};
# 47 "/usr/include/sys/select.h" 2 3
# 55 "/usr/include/sys/select.h" 3
typedef long int __fd_mask;
typedef struct
{
__fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))];
} fd_set;
typedef __fd_mask fd_mask;
# 95 "/usr/include/sys/select.h" 3
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) ;
# 216 "/usr/include/sys/types.h" 2 3
# 1 "/usr/include/sys/sysmacros.h" 1 3
# 219 "/usr/include/sys/types.h" 2 3
typedef __blksize_t blksize_t;
typedef __blkcnt_t blkcnt_t;
typedef __fsblkcnt_t fsblkcnt_t;
typedef __fsfilcnt_t fsfilcnt_t;
# 257 "/usr/include/sys/types.h" 3
typedef __blkcnt64_t blkcnt64_t;
typedef __fsblkcnt64_t fsblkcnt64_t;
typedef __fsfilcnt64_t fsfilcnt64_t;
# 391 "/usr/include/stdlib.h" 2 3
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 "/usr/include/stdlib.h" 3
extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__malloc__));
extern void free (void *__ptr) ;
extern void cfree (void *__ptr) ;
# 1 "/usr/include/alloca.h" 1 3
# 25 "/usr/include/alloca.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 26 "/usr/include/alloca.h" 2 3
extern void *alloca (size_t __size) ;
# 547 "/usr/include/stdlib.h" 2 3
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 "/usr/include/stdlib.h" 3
extern char *mktemp (char *__template) ;
extern int mkstemp (char *__template) ;
# 640 "/usr/include/stdlib.h" 3
extern int mkstemp64 (char *__template) ;
# 650 "/usr/include/stdlib.h" 3
extern char *mkdtemp (char *__template) ;
extern int system (__const char *__command) ;
extern char *canonicalize_file_name (__const char *__name) ;
# 672 "/usr/include/stdlib.h" 3
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 "/usr/include/stdlib.h" 3
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 "/usr/include/stdlib.h" 3
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) ;
# 85 "../../binutils-2.13.1/gas/as.h" 2
# 1 "/usr/include/unistd.h" 1 3
# 28 "/usr/include/unistd.h" 3
# 175 "/usr/include/unistd.h" 3
# 1 "/usr/include/bits/posix_opt.h" 1 3
# 176 "/usr/include/unistd.h" 2 3
# 1 "/usr/include/bits/environments.h" 1 3
# 23 "/usr/include/bits/environments.h" 3
# 1 "/usr/include/bits/wordsize.h" 1 3
# 24 "/usr/include/bits/environments.h" 2 3
# 180 "/usr/include/unistd.h" 2 3
# 199 "/usr/include/unistd.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 200 "/usr/include/unistd.h" 2 3
# 240 "/usr/include/unistd.h" 3
typedef __intptr_t intptr_t;
typedef __socklen_t socklen_t;
# 260 "/usr/include/unistd.h" 3
extern int access (__const char *__name, int __type) ;
extern int euidaccess (__const char *__name, int __type) ;
# 290 "/usr/include/unistd.h" 3
extern __off_t lseek (int __fd, __off_t __offset, int __whence) ;
# 302 "/usr/include/unistd.h" 3
extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) ;
extern int close (int __fd) ;
extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ;
extern ssize_t write (int __fd, __const void *__buf, size_t __n) ;
extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset)
;
extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n,
__off_t __offset) ;
# 340 "/usr/include/unistd.h" 3
extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes,
__off64_t __offset) ;
extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n,
__off64_t __offset) ;
extern int pipe (int __pipedes[2]) ;
# 362 "/usr/include/unistd.h" 3
extern unsigned int alarm (unsigned int __seconds) ;
# 371 "/usr/include/unistd.h" 3
extern unsigned int sleep (unsigned int __seconds) ;
extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval)
;
extern int usleep (__useconds_t __useconds) ;
extern int pause (void) ;
extern int chown (__const char *__file, __uid_t __owner, __gid_t __group)
;
extern int fchown (int __fd, __uid_t __owner, __gid_t __group) ;
extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group)
;
extern int chdir (__const char *__path) ;
extern int fchdir (int __fd) ;
# 423 "/usr/include/unistd.h" 3
extern char *getcwd (char *__buf, size_t __size) ;
extern char *get_current_dir_name (void) ;
extern char *getwd (char *__buf) ;
extern int dup (int __fd) ;
extern int dup2 (int __fd, int __fd2) ;
extern char **__environ;
extern char **environ;
extern int execve (__const char *__path, char *__const __argv[],
char *__const __envp[]) ;
extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[])
;
extern int execv (__const char *__path, char *__const __argv[]) ;
extern int execle (__const char *__path, __const char *__arg, ...) ;
extern int execl (__const char *__path, __const char *__arg, ...) ;
extern int execvp (__const char *__file, char *__const __argv[]) ;
extern int execlp (__const char *__file, __const char *__arg, ...) ;
extern int nice (int __inc) ;
extern void _exit (int __status) __attribute__ ((__noreturn__));
# 1 "/usr/include/bits/confname.h" 1 3
# 25 "/usr/include/bits/confname.h" 3
enum
{
_PC_LINK_MAX,
_PC_MAX_CANON,
_PC_MAX_INPUT,
_PC_NAME_MAX,
_PC_PATH_MAX,
_PC_PIPE_BUF,
_PC_CHOWN_RESTRICTED,
_PC_NO_TRUNC,
_PC_VDISABLE,
_PC_SYNC_IO,
_PC_ASYNC_IO,
_PC_PRIO_IO,
_PC_SOCK_MAXBUF,
_PC_FILESIZEBITS,
_PC_REC_INCR_XFER_SIZE,
_PC_REC_MAX_XFER_SIZE,
_PC_REC_MIN_XFER_SIZE,
_PC_REC_XFER_ALIGN,
_PC_ALLOC_SIZE_MIN,
_PC_SYMLINK_MAX
};
enum
{
_SC_ARG_MAX,
_SC_CHILD_MAX,
_SC_CLK_TCK,
_SC_NGROUPS_MAX,
_SC_OPEN_MAX,
_SC_STREAM_MAX,
_SC_TZNAME_MAX,
_SC_JOB_CONTROL,
_SC_SAVED_IDS,
_SC_REALTIME_SIGNALS,
_SC_PRIORITY_SCHEDULING,
_SC_TIMERS,
_SC_ASYNCHRONOUS_IO,
_SC_PRIORITIZED_IO,
_SC_SYNCHRONIZED_IO,
_SC_FSYNC,
_SC_MAPPED_FILES,
_SC_MEMLOCK,
_SC_MEMLOCK_RANGE,
_SC_MEMORY_PROTECTION,
_SC_MESSAGE_PASSING,
_SC_SEMAPHORES,
_SC_SHARED_MEMORY_OBJECTS,
_SC_AIO_LISTIO_MAX,
_SC_AIO_MAX,
_SC_AIO_PRIO_DELTA_MAX,
_SC_DELAYTIMER_MAX,
_SC_MQ_OPEN_MAX,
_SC_MQ_PRIO_MAX,
_SC_VERSION,
_SC_PAGESIZE,
_SC_RTSIG_MAX,
_SC_SEM_NSEMS_MAX,
_SC_SEM_VALUE_MAX,
_SC_SIGQUEUE_MAX,
_SC_TIMER_MAX,
_SC_BC_BASE_MAX,
_SC_BC_DIM_MAX,
_SC_BC_SCALE_MAX,
_SC_BC_STRING_MAX,
_SC_COLL_WEIGHTS_MAX,
_SC_EQUIV_CLASS_MAX,
_SC_EXPR_NEST_MAX,
_SC_LINE_MAX,
_SC_RE_DUP_MAX,
_SC_CHARCLASS_NAME_MAX,
_SC_2_VERSION,
_SC_2_C_BIND,
_SC_2_C_DEV,
_SC_2_FORT_DEV,
_SC_2_FORT_RUN,
_SC_2_SW_DEV,
_SC_2_LOCALEDEF,
_SC_PII,
_SC_PII_XTI,
_SC_PII_SOCKET,
_SC_PII_INTERNET,
_SC_PII_OSI,
_SC_POLL,
_SC_SELECT,
_SC_UIO_MAXIOV,
_SC_IOV_MAX = _SC_UIO_MAXIOV,
_SC_PII_INTERNET_STREAM,
_SC_PII_INTERNET_DGRAM,
_SC_PII_OSI_COTS,
_SC_PII_OSI_CLTS,
_SC_PII_OSI_M,
_SC_T_IOV_MAX,
_SC_THREADS,
_SC_THREAD_SAFE_FUNCTIONS,
_SC_GETGR_R_SIZE_MAX,
_SC_GETPW_R_SIZE_MAX,
_SC_LOGIN_NAME_MAX,
_SC_TTY_NAME_MAX,
_SC_THREAD_DESTRUCTOR_ITERATIONS,
_SC_THREAD_KEYS_MAX,
_SC_THREAD_STACK_MIN,
_SC_THREAD_THREADS_MAX,
_SC_THREAD_ATTR_STACKADDR,
_SC_THREAD_ATTR_STACKSIZE,
_SC_THREAD_PRIORITY_SCHEDULING,
_SC_THREAD_PRIO_INHERIT,
_SC_THREAD_PRIO_PROTECT,
_SC_THREAD_PROCESS_SHARED,
_SC_NPROCESSORS_CONF,
_SC_NPROCESSORS_ONLN,
_SC_PHYS_PAGES,
_SC_AVPHYS_PAGES,
_SC_ATEXIT_MAX,
_SC_PASS_MAX,
_SC_XOPEN_VERSION,
_SC_XOPEN_XCU_VERSION,
_SC_XOPEN_UNIX,
_SC_XOPEN_CRYPT,
_SC_XOPEN_ENH_I18N,
_SC_XOPEN_SHM,
_SC_2_CHAR_TERM,
_SC_2_C_VERSION,
_SC_2_UPE,
_SC_XOPEN_XPG2,
_SC_XOPEN_XPG3,
_SC_XOPEN_XPG4,
_SC_CHAR_BIT,
_SC_CHAR_MAX,
_SC_CHAR_MIN,
_SC_INT_MAX,
_SC_INT_MIN,
_SC_LONG_BIT,
_SC_WORD_BIT,
_SC_MB_LEN_MAX,
_SC_NZERO,
_SC_SSIZE_MAX,
_SC_SCHAR_MAX,
_SC_SCHAR_MIN,
_SC_SHRT_MAX,
_SC_SHRT_MIN,
_SC_UCHAR_MAX,
_SC_UINT_MAX,
_SC_ULONG_MAX,
_SC_USHRT_MAX,
_SC_NL_ARGMAX,
_SC_NL_LANGMAX,
_SC_NL_MSGMAX,
_SC_NL_NMAX,
_SC_NL_SETMAX,
_SC_NL_TEXTMAX,
_SC_XBS5_ILP32_OFF32,
_SC_XBS5_ILP32_OFFBIG,
_SC_XBS5_LP64_OFF64,
_SC_XBS5_LPBIG_OFFBIG,
_SC_XOPEN_LEGACY,
_SC_XOPEN_REALTIME,
_SC_XOPEN_REALTIME_THREADS,
_SC_ADVISORY_INFO,
_SC_BARRIERS,
_SC_BASE,
_SC_C_LANG_SUPPORT,
_SC_C_LANG_SUPPORT_R,
_SC_CLOCK_SELECTION,
_SC_CPUTIME,
_SC_THREAD_CPUTIME,
_SC_DEVICE_IO,
_SC_DEVICE_SPECIFIC,
_SC_DEVICE_SPECIFIC_R,
_SC_FD_MGMT,
_SC_FIFO,
_SC_PIPE,
_SC_FILE_ATTRIBUTES,
_SC_FILE_LOCKING,
_SC_FILE_SYSTEM,
_SC_MONOTONIC_CLOCK,
_SC_MULTI_PROCESS,
_SC_SINGLE_PROCESS,
_SC_NETWORKING,
_SC_READER_WRITER_LOCKS,
_SC_SPIN_LOCKS,
_SC_REGEXP,
_SC_REGEX_VERSION,
_SC_SHELL,
_SC_SIGNALS,
_SC_SPAWN,
_SC_SPORADIC_SERVER,
_SC_THREAD_SPORADIC_SERVER,
_SC_SYSTEM_DATABASE,
_SC_SYSTEM_DATABASE_R,
_SC_TIMEOUTS,
_SC_TYPED_MEMORY_OBJECTS,
_SC_USER_GROUPS,
_SC_USER_GROUPS_R,
_SC_2_PBS,
_SC_2_PBS_ACCOUNTING,
_SC_2_PBS_LOCATE,
_SC_2_PBS_MESSAGE,
_SC_2_PBS_TRACK,
_SC_SYMLOOP_MAX,
_SC_STREAMS,
_SC_2_PBS_CHECKPOINT,
_SC_V6_ILP32_OFF32,
_SC_V6_ILP32_OFFBIG,
_SC_V6_LP64_OFF64,
_SC_V6_LPBIG_OFFBIG,
_SC_HOST_NAME_MAX,
_SC_TRACE,
_SC_TRACE_EVENT_FILTER,
_SC_TRACE_INHERIT,
_SC_TRACE_LOG
};
enum
{
_CS_PATH,
_CS_LFS_CFLAGS = 1000,
_CS_LFS_LDFLAGS,
_CS_LFS_LIBS,
_CS_LFS_LINTFLAGS,
_CS_LFS64_CFLAGS,
_CS_LFS64_LDFLAGS,
_CS_LFS64_LIBS,
_CS_LFS64_LINTFLAGS,
_CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
_CS_XBS5_ILP32_OFF32_LDFLAGS,
_CS_XBS5_ILP32_OFF32_LIBS,
_CS_XBS5_ILP32_OFF32_LINTFLAGS,
_CS_XBS5_ILP32_OFFBIG_CFLAGS,
_CS_XBS5_ILP32_OFFBIG_LDFLAGS,
_CS_XBS5_ILP32_OFFBIG_LIBS,
_CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
_CS_XBS5_LP64_OFF64_CFLAGS,
_CS_XBS5_LP64_OFF64_LDFLAGS,
_CS_XBS5_LP64_OFF64_LIBS,
_CS_XBS5_LP64_OFF64_LINTFLAGS,
_CS_XBS5_LPBIG_OFFBIG_CFLAGS,
_CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
_CS_XBS5_LPBIG_OFFBIG_LIBS,
_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
_CS_POSIX_V6_ILP32_OFF32_CFLAGS,
_CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
_CS_POSIX_V6_ILP32_OFF32_LIBS,
_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
_CS_POSIX_V6_ILP32_OFFBIG_LIBS,
_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
_CS_POSIX_V6_LP64_OFF64_CFLAGS,
_CS_POSIX_V6_LP64_OFF64_LDFLAGS,
_CS_POSIX_V6_LP64_OFF64_LIBS,
_CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS,
_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
_CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS,
_CS_V6_WIDTH_RESTRICTED_ENVS
};
# 501 "/usr/include/unistd.h" 2 3
extern long int pathconf (__const char *__path, int __name) ;
extern long int fpathconf (int __fd, int __name) ;
extern long int sysconf (int __name) __attribute__ ((__const__));
extern size_t confstr (int __name, char *__buf, size_t __len) ;
extern __pid_t getpid (void) ;
extern __pid_t getppid (void) ;
extern __pid_t getpgrp (void) ;
# 536 "/usr/include/unistd.h" 3
extern __pid_t __getpgid (__pid_t __pid) ;
extern __pid_t getpgid (__pid_t __pid) ;
extern int setpgid (__pid_t __pid, __pid_t __pgid) ;
# 562 "/usr/include/unistd.h" 3
extern int setpgrp (void) ;
# 580 "/usr/include/unistd.h" 3
extern __pid_t setsid (void) ;
extern __pid_t getsid (__pid_t __pid) ;
extern __uid_t getuid (void) ;
extern __uid_t geteuid (void) ;
extern __gid_t getgid (void) ;
extern __gid_t getegid (void) ;
extern int getgroups (int __size, __gid_t __list[]) ;
extern int group_member (__gid_t __gid) ;
extern int setuid (__uid_t __uid) ;
extern int setreuid (__uid_t __ruid, __uid_t __euid) ;
extern int seteuid (__uid_t __uid) ;
extern int setgid (__gid_t __gid) ;
extern int setregid (__gid_t __rgid, __gid_t __egid) ;
extern int setegid (__gid_t __gid) ;
extern __pid_t fork (void) ;
extern __pid_t vfork (void) ;
extern char *ttyname (int __fd) ;
extern int ttyname_r (int __fd, char *__buf, size_t __buflen) ;
extern int isatty (int __fd) ;
extern int ttyslot (void) ;
extern int link (__const char *__from, __const char *__to) ;
extern int symlink (__const char *__from, __const char *__to) ;
extern int readlink (__const char *__restrict __path, char *__restrict __buf,
size_t __len) ;
extern int unlink (__const char *__name) ;
extern int rmdir (__const char *__path) ;
extern __pid_t tcgetpgrp (int __fd) ;
extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) ;
extern char *getlogin (void) ;
extern int getlogin_r (char *__name, size_t __name_len) ;
extern int setlogin (__const char *__name) ;
# 726 "/usr/include/unistd.h" 3
# 1 "../../binutils-2.13.1/include/getopt.h" 1 3
# 36 "../../binutils-2.13.1/include/getopt.h" 3
extern char *optarg;
# 50 "../../binutils-2.13.1/include/getopt.h" 3
extern int optind;
extern int opterr;
extern int optopt;
# 82 "../../binutils-2.13.1/include/getopt.h" 3
struct option
{
const char *name;
int has_arg;
int *flag;
int val;
};
# 113 "../../binutils-2.13.1/include/getopt.h" 3
extern int getopt (int argc, char *const *argv, const char *shortopts);
extern int getopt_long (int argc, char *const *argv, const char *shortopts,
const struct option *longopts, int *longind);
extern int getopt_long_only (int argc, char *const *argv,
const char *shortopts,
const struct option *longopts, int *longind);
extern int _getopt_internal (int argc, char *const *argv,
const char *shortopts,
const struct option *longopts, int *longind,
int long_only);
# 727 "/usr/include/unistd.h" 2 3
extern int gethostname (char *__name, size_t __len) ;
extern int sethostname (__const char *__name, size_t __len) ;
extern int sethostid (long int __id) ;
extern int getdomainname (char *__name, size_t __len) ;
extern int setdomainname (__const char *__name, size_t __len) ;
extern int vhangup (void) ;
extern int revoke (__const char *__file) ;
extern int profil (unsigned short int *__sample_buffer, size_t __size,
size_t __offset, unsigned int __scale) ;
extern int acct (__const char *__name) ;
extern char *getusershell (void) ;
extern void endusershell (void) ;
extern void setusershell (void) ;
extern int daemon (int __nochdir, int __noclose) ;
extern int chroot (__const char *__path) ;
extern char *getpass (__const char *__prompt) ;
extern int fsync (int __fd) ;
extern long int gethostid (void) ;
extern void sync (void) ;
extern int getpagesize (void) __attribute__ ((__const__));
extern int truncate (__const char *__file, __off_t __length) ;
# 836 "/usr/include/unistd.h" 3
extern int truncate64 (__const char *__file, __off64_t __length) ;
extern int ftruncate (int __fd, __off_t __length) ;
# 851 "/usr/include/unistd.h" 3
extern int ftruncate64 (int __fd, __off64_t __length) ;
extern int getdtablesize (void) ;
# 866 "/usr/include/unistd.h" 3
extern int brk (void *__addr) ;
extern void *sbrk (intptr_t __delta) ;
# 887 "/usr/include/unistd.h" 3
extern long int syscall (long int __sysno, ...) ;
# 907 "/usr/include/unistd.h" 3
extern int lockf (int __fd, int __cmd, __off_t __len) ;
# 917 "/usr/include/unistd.h" 3
extern int lockf64 (int __fd, int __cmd, __off64_t __len) ;
# 938 "/usr/include/unistd.h" 3
extern int fdatasync (int __fildes) ;
extern char *crypt (__const char *__key, __const char *__salt) ;
extern void encrypt (char *__block, int __edflag) ;
extern void swab (__const void *__restrict __from, void *__restrict __to,
ssize_t __n) ;
extern char *ctermid (char *__s) ;
# 983 "/usr/include/unistd.h" 3
extern int pthread_atfork (void (*__prepare) (void),
void (*__parent) (void),
void (*__child) (void)) ;
# 88 "../../binutils-2.13.1/gas/as.h" 2
# 130 "../../binutils-2.13.1/gas/as.h"
# 1 "../../binutils-2.13.1/include/ansidecl.h" 1
# 131 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../bfd/bfd.h" 1
# 37 "../bfd/bfd.h"
# 1 "../../binutils-2.13.1/include/symcat.h" 1
# 38 "../bfd/bfd.h" 2
# 81 "../bfd/bfd.h"
typedef struct _bfd bfd;
# 114 "../bfd/bfd.h"
typedef enum bfd_boolean {false, true} boolean;
# 171 "../bfd/bfd.h"
typedef unsigned long bfd_vma;
typedef long bfd_signed_vma;
typedef unsigned long symvalue;
typedef unsigned long bfd_size_type;
# 196 "../bfd/bfd.h"
typedef bfd_signed_vma file_ptr;
typedef bfd_vma ufile_ptr;
extern void bfd_sprintf_vma (bfd *, char *, bfd_vma);
extern void bfd_fprintf_vma (bfd *, void *, bfd_vma);
typedef unsigned int flagword;
typedef unsigned char bfd_byte;
typedef enum bfd_format
{
bfd_unknown = 0,
bfd_object,
bfd_archive,
bfd_core,
bfd_type_end
}
bfd_format;
# 280 "../bfd/bfd.h"
typedef unsigned long symindex;
typedef const struct reloc_howto_struct reloc_howto_type;
# 302 "../bfd/bfd.h"
typedef struct carsym
{
char *name;
file_ptr file_offset;
}
carsym;
struct orl
{
char **name;
union
{
file_ptr pos;
bfd *abfd;
} u;
int namidx;
};
typedef struct lineno_cache_entry
{
unsigned int line_number;
union
{
struct symbol_cache_entry *sym;
bfd_vma offset;
} u;
}
alent;
typedef struct sec *sec_ptr;
# 359 "../bfd/bfd.h"
typedef struct stat stat_type;
typedef enum bfd_print_symbol
{
bfd_print_symbol_name,
bfd_print_symbol_more,
bfd_print_symbol_all
} bfd_print_symbol_type;
typedef struct _symbol_info
{
symvalue value;
char type;
const char *name;
unsigned char stab_type;
char stab_other;
short stab_desc;
const char *stab_name;
} symbol_info;
extern const char *bfd_get_stab_name (int);
struct bfd_hash_entry
{
struct bfd_hash_entry *next;
const char *string;
unsigned long hash;
};
struct bfd_hash_table
{
struct bfd_hash_entry **table;
unsigned int size;
struct bfd_hash_entry *(*newfunc) (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
void * memory;
};
extern boolean bfd_hash_table_init
(struct bfd_hash_table *, struct bfd_hash_entry *(*) (struct bfd_hash_entry *, struct bfd_hash_table *, const char *));
extern boolean bfd_hash_table_init_n
(struct bfd_hash_table *, struct bfd_hash_entry *(*) (struct bfd_hash_entry *, struct bfd_hash_table *, const char *), unsigned int size);
extern void bfd_hash_table_free (struct bfd_hash_table *);
extern struct bfd_hash_entry *bfd_hash_lookup
(struct bfd_hash_table *, const char *, boolean create, boolean copy);
extern void bfd_hash_replace
(struct bfd_hash_table *, struct bfd_hash_entry *old, struct bfd_hash_entry *nw);
extern struct bfd_hash_entry *bfd_hash_newfunc
(struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
extern void * bfd_hash_allocate (struct bfd_hash_table *, unsigned int);
extern void bfd_hash_traverse (struct bfd_hash_table *, boolean (*) (struct bfd_hash_entry *, void *), void * info);
# 479 "../bfd/bfd.h"
extern bfd_size_type bfd_bread (void *, bfd_size_type, bfd *);
extern bfd_size_type bfd_bwrite (const void *, bfd_size_type, bfd *);
extern int bfd_seek (bfd *, file_ptr, int);
extern ufile_ptr bfd_tell (bfd *);
extern int bfd_flush (bfd *);
extern int bfd_stat (bfd *, struct stat *);
# 502 "../bfd/bfd.h"
extern void warn_deprecated
(const char *, const char *, int, const char *);
# 541 "../bfd/bfd.h"
extern boolean bfd_cache_close (bfd *abfd);
extern boolean bfd_record_phdr
(bfd *, unsigned long, boolean, flagword, boolean, bfd_vma, boolean, boolean, unsigned int, struct sec **);
bfd_vma bfd_getb64 (const unsigned char *);
bfd_vma bfd_getl64 (const unsigned char *);
bfd_signed_vma bfd_getb_signed_64 (const unsigned char *);
bfd_signed_vma bfd_getl_signed_64 (const unsigned char *);
bfd_vma bfd_getb32 (const unsigned char *);
bfd_vma bfd_getl32 (const unsigned char *);
bfd_signed_vma bfd_getb_signed_32 (const unsigned char *);
bfd_signed_vma bfd_getl_signed_32 (const unsigned char *);
bfd_vma bfd_getb16 (const unsigned char *);
bfd_vma bfd_getl16 (const unsigned char *);
bfd_signed_vma bfd_getb_signed_16 (const unsigned char *);
bfd_signed_vma bfd_getl_signed_16 (const unsigned char *);
void bfd_putb64 (bfd_vma, unsigned char *);
void bfd_putl64 (bfd_vma, unsigned char *);
void bfd_putb32 (bfd_vma, unsigned char *);
void bfd_putl32 (bfd_vma, unsigned char *);
void bfd_putb16 (bfd_vma, unsigned char *);
void bfd_putl16 (bfd_vma, unsigned char *);
bfd_vma bfd_get_bits (bfd_byte *, int, boolean);
void bfd_put_bits (bfd_vma, bfd_byte *, int, boolean);
struct ecoff_debug_info;
struct ecoff_debug_swap;
struct ecoff_extr;
struct symbol_cache_entry;
struct bfd_link_info;
struct bfd_link_hash_entry;
struct bfd_elf_version_tree;
extern bfd_vma bfd_ecoff_get_gp_value (bfd * abfd);
extern boolean bfd_ecoff_set_gp_value (bfd *abfd, bfd_vma gp_value);
extern boolean bfd_ecoff_set_regmasks
(bfd *abfd, unsigned long gprmask, unsigned long fprmask, unsigned long *cprmask);
extern void * bfd_ecoff_debug_init
(bfd *output_bfd, struct ecoff_debug_info *output_debug, const struct ecoff_debug_swap *output_swap, struct bfd_link_info *);
extern void bfd_ecoff_debug_free
(void * handle, bfd *output_bfd, struct ecoff_debug_info *output_debug, const struct ecoff_debug_swap *output_swap, struct bfd_link_info *);
extern boolean bfd_ecoff_debug_accumulate
(void * handle, bfd *output_bfd, struct ecoff_debug_info *output_debug, const struct ecoff_debug_swap *output_swap, bfd *input_bfd, struct ecoff_debug_info *input_debug, const struct ecoff_debug_swap *input_swap, struct bfd_link_info *);
extern boolean bfd_ecoff_debug_accumulate_other
(void * handle, bfd *output_bfd, struct ecoff_debug_info *output_debug, const struct ecoff_debug_swap *output_swap, bfd *input_bfd, struct bfd_link_info *);
extern boolean bfd_ecoff_debug_externals
(bfd *abfd, struct ecoff_debug_info *debug, const struct ecoff_debug_swap *swap, boolean relocateable, boolean (*get_extr) (struct symbol_cache_entry *, struct ecoff_extr *), void (*set_index) (struct symbol_cache_entry *, bfd_size_type));
extern boolean bfd_ecoff_debug_one_external
(bfd *abfd, struct ecoff_debug_info *debug, const struct ecoff_debug_swap *swap, const char *name, struct ecoff_extr *esym);
extern bfd_size_type bfd_ecoff_debug_size
(bfd *abfd, struct ecoff_debug_info *debug, const struct ecoff_debug_swap *swap);
extern boolean bfd_ecoff_write_debug
(bfd *abfd, struct ecoff_debug_info *debug, const struct ecoff_debug_swap *swap, file_ptr where);
extern boolean bfd_ecoff_write_accumulated_debug
(void * handle, bfd *abfd, struct ecoff_debug_info *debug, const struct ecoff_debug_swap *swap, struct bfd_link_info *info, file_ptr where);
extern boolean bfd_mips_ecoff_create_embedded_relocs
(bfd *, struct bfd_link_info *, struct sec *, struct sec *, char **);
struct bfd_link_needed_list
{
struct bfd_link_needed_list *next;
bfd *by;
const char *name;
};
extern boolean bfd_elf32_record_link_assignment
(bfd *, struct bfd_link_info *, const char *, boolean);
extern boolean bfd_elf64_record_link_assignment
(bfd *, struct bfd_link_info *, const char *, boolean);
extern struct bfd_link_needed_list *bfd_elf_get_needed_list
(bfd *, struct bfd_link_info *);
extern boolean bfd_elf_get_bfd_needed_list
(bfd *, struct bfd_link_needed_list **);
extern boolean bfd_elf32_size_dynamic_sections
(bfd *, const char *, const char *, const char *, const char * const *, struct bfd_link_info *, struct sec **, struct bfd_elf_version_tree *);
extern boolean bfd_elf64_size_dynamic_sections
(bfd *, const char *, const char *, const char *, const char * const *, struct bfd_link_info *, struct sec **, struct bfd_elf_version_tree *);
extern void bfd_elf_set_dt_needed_name (bfd *, const char *);
extern void bfd_elf_set_dt_needed_soname (bfd *, const char *);
extern const char *bfd_elf_get_dt_soname (bfd *);
extern struct bfd_link_needed_list *bfd_elf_get_runpath_list
(bfd *, struct bfd_link_info *);
extern boolean bfd_elf32_discard_info
(bfd *, struct bfd_link_info *);
extern boolean bfd_elf64_discard_info
(bfd *, struct bfd_link_info *);
extern long bfd_get_elf_phdr_upper_bound (bfd *abfd);
# 681 "../bfd/bfd.h"
extern int bfd_get_elf_phdrs (bfd *abfd, void *phdrs);
extern int bfd_get_arch_size (bfd *);
extern int bfd_get_sign_extend_vma (bfd *);
extern boolean bfd_m68k_elf32_create_embedded_relocs
(bfd *, struct bfd_link_info *, struct sec *, struct sec *, char **);
extern boolean bfd_mips_elf32_create_embedded_relocs
(bfd *, struct bfd_link_info *, struct sec *, struct sec *, char **);
extern struct bfd_link_needed_list *bfd_sunos_get_needed_list
(bfd *, struct bfd_link_info *);
extern boolean bfd_sunos_record_link_assignment
(bfd *, struct bfd_link_info *, const char *);
extern boolean bfd_sunos_size_dynamic_sections
(bfd *, struct bfd_link_info *, struct sec **, struct sec **, struct sec **);
extern boolean bfd_i386linux_size_dynamic_sections
(bfd *, struct bfd_link_info *);
extern boolean bfd_m68klinux_size_dynamic_sections
(bfd *, struct bfd_link_info *);
extern boolean bfd_sparclinux_size_dynamic_sections
(bfd *, struct bfd_link_info *);
struct _bfd_window_internal;
typedef struct _bfd_window_internal bfd_window_internal;
typedef struct _bfd_window
{
void * data;
bfd_size_type size;
struct _bfd_window_internal *i;
}
bfd_window;
extern void bfd_init_window (bfd_window *);
extern void bfd_free_window (bfd_window *);
extern boolean bfd_get_file_window
(bfd *, file_ptr, bfd_size_type, bfd_window *, boolean);
extern boolean bfd_xcoff_link_record_set
(bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_size_type);
extern boolean bfd_xcoff_import_symbol
(bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_vma, const char *, const char *, const char *, unsigned int);
extern boolean bfd_xcoff_export_symbol
(bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *);
extern boolean bfd_xcoff_link_count_reloc
(bfd *, struct bfd_link_info *, const char *);
extern boolean bfd_xcoff_record_link_assignment
(bfd *, struct bfd_link_info *, const char *);
extern boolean bfd_xcoff_size_dynamic_sections
(bfd *, struct bfd_link_info *, const char *, const char *, unsigned long, unsigned long, unsigned long, boolean, int, boolean, boolean, struct sec **, boolean);
extern boolean bfd_xcoff_link_generate_rtinit
(bfd *, const char *, const char *, boolean);
extern boolean bfd_xcoff_ar_archive_set_magic (bfd *, char *);
struct internal_syment;
union internal_auxent;
extern boolean bfd_coff_get_syment
(bfd *, struct symbol_cache_entry *, struct internal_syment *);
extern boolean bfd_coff_get_auxent
(bfd *, struct symbol_cache_entry *, int, union internal_auxent *);
extern boolean bfd_coff_set_symbol_class
(bfd *, struct symbol_cache_entry *, unsigned int);
extern boolean bfd_m68k_coff_create_embedded_relocs
(bfd *, struct bfd_link_info *, struct sec *, struct sec *, char **);
extern boolean bfd_arm_allocate_interworking_sections
(struct bfd_link_info *);
extern boolean bfd_arm_process_before_allocation
(bfd *, struct bfd_link_info *, int);
extern boolean bfd_arm_get_bfd_for_interworking
(bfd *, struct bfd_link_info *);
extern boolean bfd_arm_pe_allocate_interworking_sections
(struct bfd_link_info *);
extern boolean bfd_arm_pe_process_before_allocation
(bfd *, struct bfd_link_info *, int);
extern boolean bfd_arm_pe_get_bfd_for_interworking
(bfd *, struct bfd_link_info *);
extern boolean bfd_elf32_arm_allocate_interworking_sections
(struct bfd_link_info *);
extern boolean bfd_elf32_arm_process_before_allocation
(bfd *, struct bfd_link_info *, int);
extern boolean bfd_elf32_arm_get_bfd_for_interworking
(bfd *, struct bfd_link_info *);
extern boolean bfd_elf32_arm_add_glue_sections_to_bfd
(bfd *, struct bfd_link_info *);
extern void bfd_ticoff_set_section_load_page
(struct sec *, int);
extern int bfd_ticoff_get_section_load_page
(struct sec *);
void
bfd_init (void);
bfd *
bfd_openr (const char *filename, const char *target);
bfd *
bfd_fdopenr (const char *filename, const char *target, int fd);
bfd *
bfd_openstreamr (const char *, const char *, void *);
bfd *
bfd_openw (const char *filename, const char *target);
boolean
bfd_close (bfd *abfd);
boolean
bfd_close_all_done (bfd *);
bfd *
bfd_create (const char *filename, bfd *templ);
boolean
bfd_make_writable (bfd *abfd);
boolean
bfd_make_readable (bfd *abfd);
# 1003 "../bfd/bfd.h"
struct bfd_comdat_info
{
const char *name;
long symbol;
};
typedef struct sec
{
const char *name;
int id;
int index;
struct sec *next;
flagword flags;
# 1211 "../bfd/bfd.h"
unsigned int user_set_vma : 1;
unsigned int reloc_done : 1;
unsigned int linker_mark : 1;
unsigned int linker_has_input : 1;
unsigned int gc_mark : 1;
unsigned int segment_mark : 1;
# 1238 "../bfd/bfd.h"
bfd_vma vma;
bfd_vma lma;
bfd_size_type _cooked_size;
bfd_size_type _raw_size;
# 1262 "../bfd/bfd.h"
bfd_vma output_offset;
struct sec *output_section;
unsigned int alignment_power;
struct reloc_cache_entry *relocation;
struct reloc_cache_entry **orelocation;
unsigned reloc_count;
file_ptr filepos;
file_ptr rel_filepos;
file_ptr line_filepos;
void * userdata;
unsigned char *contents;
alent *lineno;
unsigned int lineno_count;
unsigned int entsize;
struct bfd_comdat_info *comdat;
file_ptr moving_line_filepos;
int target_index;
void * used_by_bfd;
struct relent_chain *constructor_chain;
bfd *owner;
struct symbol_cache_entry *symbol;
struct symbol_cache_entry **symbol_ptr_ptr;
struct bfd_link_order *link_order_head;
struct bfd_link_order *link_order_tail;
} asection;
# 1348 "../bfd/bfd.h"
extern const asection bfd_abs_section;
extern const asection bfd_und_section;
extern const asection bfd_com_section;
extern const asection bfd_ind_section;
# 1369 "../bfd/bfd.h"
extern const struct symbol_cache_entry * const bfd_abs_symbol;
extern const struct symbol_cache_entry * const bfd_com_symbol;
extern const struct symbol_cache_entry * const bfd_und_symbol;
extern const struct symbol_cache_entry * const bfd_ind_symbol;
# 1405 "../bfd/bfd.h"
void
bfd_section_list_clear (bfd *);
asection *
bfd_get_section_by_name (bfd *abfd, const char *name);
char *
bfd_get_unique_section_name (bfd *abfd, const char *templat, int *count);
asection *
bfd_make_section_old_way (bfd *abfd, const char *name);
asection *
bfd_make_section_anyway (bfd *abfd, const char *name);
asection *
bfd_make_section (bfd *, const char *name);
boolean
bfd_set_section_flags (bfd *abfd, asection *sec, flagword flags);
void
bfd_map_over_sections (bfd *abfd, void (*func) (bfd *abfd, asection *sect, void * obj), void * obj);
boolean
bfd_set_section_size (bfd *abfd, asection *sec, bfd_size_type val);
boolean
bfd_set_section_contents (bfd *abfd, asection *section, void * data, file_ptr offset, bfd_size_type count);
boolean
bfd_get_section_contents (bfd *abfd, asection *section, void * location, file_ptr offset, bfd_size_type count);
boolean
bfd_copy_private_section_data (bfd *ibfd, asection *isec, bfd *obfd, asection *osec);
void
_bfd_strip_section_from_output (struct bfd_link_info *info, asection *section);
boolean
bfd_generic_discard_group (bfd *abfd, asection *group);
enum bfd_architecture
{
bfd_arch_unknown,
bfd_arch_obscure,
bfd_arch_m68k,
# 1479 "../bfd/bfd.h"
bfd_arch_vax,
bfd_arch_i960,
# 1498 "../bfd/bfd.h"
bfd_arch_or32,
bfd_arch_a29k,
bfd_arch_sparc,
# 1517 "../bfd/bfd.h"
bfd_arch_mips,
# 1538 "../bfd/bfd.h"
bfd_arch_i386,
bfd_arch_we32k,
bfd_arch_tahoe,
bfd_arch_i860,
bfd_arch_i370,
bfd_arch_romp,
bfd_arch_alliant,
bfd_arch_convex,
bfd_arch_m88k,
bfd_arch_pyramid,
bfd_arch_h8300,
bfd_arch_pdp11,
bfd_arch_powerpc,
# 1577 "../bfd/bfd.h"
bfd_arch_rs6000,
bfd_arch_hppa,
bfd_arch_d10v,
bfd_arch_d30v,
bfd_arch_dlx,
bfd_arch_m68hc11,
bfd_arch_m68hc12,
bfd_arch_z8k,
bfd_arch_h8500,
bfd_arch_sh,
# 1604 "../bfd/bfd.h"
bfd_arch_alpha,
bfd_arch_arm,
# 1619 "../bfd/bfd.h"
bfd_arch_ns32k,
bfd_arch_w65,
bfd_arch_tic30,
bfd_arch_tic54x,
bfd_arch_tic80,
bfd_arch_v850,
bfd_arch_arc,
bfd_arch_m32r,
bfd_arch_mn10200,
bfd_arch_mn10300,
bfd_arch_fr30,
bfd_arch_frv,
bfd_arch_mcore,
bfd_arch_ia64,
bfd_arch_pj,
bfd_arch_avr,
bfd_arch_cris,
bfd_arch_s390,
bfd_arch_openrisc,
bfd_arch_mmix,
bfd_arch_xstormy16,
bfd_arch_last
};
typedef struct bfd_arch_info
{
int bits_per_word;
int bits_per_address;
int bits_per_byte;
enum bfd_architecture arch;
unsigned long mach;
const char *arch_name;
const char *printable_name;
unsigned int section_align_power;
boolean the_default;
const struct bfd_arch_info * (*compatible)
(const struct bfd_arch_info *a, const struct bfd_arch_info *b);
boolean (*scan) (const struct bfd_arch_info *, const char *);
const struct bfd_arch_info *next;
}
bfd_arch_info_type;
const char *
bfd_printable_name (bfd *abfd);
const bfd_arch_info_type *
bfd_scan_arch (const char *string);
const char **
bfd_arch_list (void);
const bfd_arch_info_type *
bfd_arch_get_compatible ( const bfd *abfd, const bfd *bbfd);
void
bfd_set_arch_info (bfd *abfd, const bfd_arch_info_type *arg);
enum bfd_architecture
bfd_get_arch (bfd *abfd);
unsigned long
bfd_get_mach (bfd *abfd);
unsigned int
bfd_arch_bits_per_byte (bfd *abfd);
unsigned int
bfd_arch_bits_per_address (bfd *abfd);
const bfd_arch_info_type *
bfd_get_arch_info (bfd *abfd);
const bfd_arch_info_type *
bfd_lookup_arch (enum bfd_architecture arch, unsigned long machine);
const char *
bfd_printable_arch_mach (enum bfd_architecture arch, unsigned long machine);
unsigned int
bfd_octets_per_byte (bfd *abfd);
unsigned int
bfd_arch_mach_octets_per_byte (enum bfd_architecture arch, unsigned long machine);
typedef enum bfd_reloc_status
{
bfd_reloc_ok,
bfd_reloc_overflow,
bfd_reloc_outofrange,
bfd_reloc_continue,
bfd_reloc_notsupported,
bfd_reloc_other,
bfd_reloc_undefined,
bfd_reloc_dangerous
}
bfd_reloc_status_type;
typedef struct reloc_cache_entry
{
struct symbol_cache_entry **sym_ptr_ptr;
bfd_size_type address;
bfd_vma addend;
reloc_howto_type *howto;
}
arelent;
enum complain_overflow
{
complain_overflow_dont,
complain_overflow_bitfield,
complain_overflow_signed,
complain_overflow_unsigned
};
struct reloc_howto_struct
{
unsigned int type;
unsigned int rightshift;
int size;
unsigned int bitsize;
boolean pc_relative;
unsigned int bitpos;
enum complain_overflow complain_on_overflow;
bfd_reloc_status_type (*special_function)
(bfd *, arelent *, struct symbol_cache_entry *, void *, asection *, bfd *, char **);
char *name;
# 1873 "../bfd/bfd.h"
boolean partial_inplace;
# 1882 "../bfd/bfd.h"
bfd_vma src_mask;
bfd_vma dst_mask;
boolean pcrel_offset;
};
# 1924 "../bfd/bfd.h"
unsigned int
bfd_get_reloc_size (reloc_howto_type *);
typedef struct relent_chain
{
arelent relent;
struct relent_chain *next;
}
arelent_chain;
bfd_reloc_status_type
bfd_check_overflow (enum complain_overflow how, unsigned int bitsize, unsigned int rightshift, unsigned int addrsize, bfd_vma relocation);
bfd_reloc_status_type
bfd_perform_relocation (bfd *abfd, arelent *reloc_entry, void * data, asection *input_section, bfd *output_bfd, char **error_message);
bfd_reloc_status_type
bfd_install_relocation (bfd *abfd, arelent *reloc_entry, void * data, bfd_vma data_start, asection *input_section, char **error_message);
enum bfd_reloc_code_real {
_dummy_first_bfd_reloc_code_real,
BFD_RELOC_64,
BFD_RELOC_32,
BFD_RELOC_26,
BFD_RELOC_24,
BFD_RELOC_16,
BFD_RELOC_14,
BFD_RELOC_8,
BFD_RELOC_64_PCREL,
BFD_RELOC_32_PCREL,
BFD_RELOC_24_PCREL,
BFD_RELOC_16_PCREL,
BFD_RELOC_12_PCREL,
BFD_RELOC_8_PCREL,
BFD_RELOC_32_GOT_PCREL,
BFD_RELOC_16_GOT_PCREL,
BFD_RELOC_8_GOT_PCREL,
BFD_RELOC_32_GOTOFF,
BFD_RELOC_16_GOTOFF,
BFD_RELOC_LO16_GOTOFF,
BFD_RELOC_HI16_GOTOFF,
BFD_RELOC_HI16_S_GOTOFF,
BFD_RELOC_8_GOTOFF,
BFD_RELOC_64_PLT_PCREL,
BFD_RELOC_32_PLT_PCREL,
BFD_RELOC_24_PLT_PCREL,
BFD_RELOC_16_PLT_PCREL,
BFD_RELOC_8_PLT_PCREL,
BFD_RELOC_64_PLTOFF,
BFD_RELOC_32_PLTOFF,
BFD_RELOC_16_PLTOFF,
BFD_RELOC_LO16_PLTOFF,
BFD_RELOC_HI16_PLTOFF,
BFD_RELOC_HI16_S_PLTOFF,
BFD_RELOC_8_PLTOFF,
BFD_RELOC_68K_GLOB_DAT,
BFD_RELOC_68K_JMP_SLOT,
BFD_RELOC_68K_RELATIVE,
BFD_RELOC_32_BASEREL,
BFD_RELOC_16_BASEREL,
BFD_RELOC_LO16_BASEREL,
BFD_RELOC_HI16_BASEREL,
BFD_RELOC_HI16_S_BASEREL,
BFD_RELOC_8_BASEREL,
BFD_RELOC_RVA,
BFD_RELOC_8_FFnn,
BFD_RELOC_32_PCREL_S2,
BFD_RELOC_16_PCREL_S2,
BFD_RELOC_23_PCREL_S2,
BFD_RELOC_HI22,
BFD_RELOC_LO10,
BFD_RELOC_GPREL16,
BFD_RELOC_GPREL32,
BFD_RELOC_I960_CALLJ,
BFD_RELOC_NONE,
BFD_RELOC_SPARC_WDISP22,
BFD_RELOC_SPARC22,
BFD_RELOC_SPARC13,
BFD_RELOC_SPARC_GOT10,
BFD_RELOC_SPARC_GOT13,
BFD_RELOC_SPARC_GOT22,
BFD_RELOC_SPARC_PC10,
BFD_RELOC_SPARC_PC22,
BFD_RELOC_SPARC_WPLT30,
BFD_RELOC_SPARC_COPY,
BFD_RELOC_SPARC_GLOB_DAT,
BFD_RELOC_SPARC_JMP_SLOT,
BFD_RELOC_SPARC_RELATIVE,
BFD_RELOC_SPARC_UA16,
BFD_RELOC_SPARC_UA32,
BFD_RELOC_SPARC_UA64,
BFD_RELOC_SPARC_BASE13,
BFD_RELOC_SPARC_BASE22,
BFD_RELOC_SPARC_10,
BFD_RELOC_SPARC_11,
BFD_RELOC_SPARC_OLO10,
BFD_RELOC_SPARC_HH22,
BFD_RELOC_SPARC_HM10,
BFD_RELOC_SPARC_LM22,
BFD_RELOC_SPARC_PC_HH22,
BFD_RELOC_SPARC_PC_HM10,
BFD_RELOC_SPARC_PC_LM22,
BFD_RELOC_SPARC_WDISP16,
BFD_RELOC_SPARC_WDISP19,
BFD_RELOC_SPARC_7,
BFD_RELOC_SPARC_6,
BFD_RELOC_SPARC_5,
BFD_RELOC_SPARC_PLT32,
BFD_RELOC_SPARC_PLT64,
BFD_RELOC_SPARC_HIX22,
BFD_RELOC_SPARC_LOX10,
BFD_RELOC_SPARC_H44,
BFD_RELOC_SPARC_M44,
BFD_RELOC_SPARC_L44,
BFD_RELOC_SPARC_REGISTER,
BFD_RELOC_SPARC_REV32,
BFD_RELOC_ALPHA_GPDISP_HI16,
BFD_RELOC_ALPHA_GPDISP_LO16,
BFD_RELOC_ALPHA_GPDISP,
# 2141 "../bfd/bfd.h"
BFD_RELOC_ALPHA_LITERAL,
BFD_RELOC_ALPHA_ELF_LITERAL,
BFD_RELOC_ALPHA_LITUSE,
BFD_RELOC_ALPHA_HINT,
BFD_RELOC_ALPHA_LINKAGE,
BFD_RELOC_ALPHA_CODEADDR,
BFD_RELOC_ALPHA_GPREL_HI16,
BFD_RELOC_ALPHA_GPREL_LO16,
BFD_RELOC_ALPHA_BRSGP,
BFD_RELOC_ALPHA_TLSGD,
BFD_RELOC_ALPHA_TLSLDM,
BFD_RELOC_ALPHA_DTPMOD64,
BFD_RELOC_ALPHA_GOTDTPREL16,
BFD_RELOC_ALPHA_DTPREL64,
BFD_RELOC_ALPHA_DTPREL_HI16,
BFD_RELOC_ALPHA_DTPREL_LO16,
BFD_RELOC_ALPHA_DTPREL16,
BFD_RELOC_ALPHA_GOTTPREL16,
BFD_RELOC_ALPHA_TPREL64,
BFD_RELOC_ALPHA_TPREL_HI16,
BFD_RELOC_ALPHA_TPREL_LO16,
BFD_RELOC_ALPHA_TPREL16,
BFD_RELOC_MIPS_JMP,
BFD_RELOC_MIPS16_JMP,
BFD_RELOC_MIPS16_GPREL,
BFD_RELOC_HI16,
BFD_RELOC_HI16_S,
BFD_RELOC_LO16,
BFD_RELOC_PCREL_HI16_S,
BFD_RELOC_PCREL_LO16,
BFD_RELOC_MIPS_LITERAL,
BFD_RELOC_MIPS_GOT16,
BFD_RELOC_MIPS_CALL16,
BFD_RELOC_MIPS_GOT_HI16,
BFD_RELOC_MIPS_GOT_LO16,
BFD_RELOC_MIPS_CALL_HI16,
BFD_RELOC_MIPS_CALL_LO16,
BFD_RELOC_MIPS_SUB,
BFD_RELOC_MIPS_GOT_PAGE,
BFD_RELOC_MIPS_GOT_OFST,
BFD_RELOC_MIPS_GOT_DISP,
BFD_RELOC_MIPS_SHIFT5,
BFD_RELOC_MIPS_SHIFT6,
BFD_RELOC_MIPS_INSERT_A,
BFD_RELOC_MIPS_INSERT_B,
BFD_RELOC_MIPS_DELETE,
BFD_RELOC_MIPS_HIGHEST,
BFD_RELOC_MIPS_HIGHER,
BFD_RELOC_MIPS_SCN_DISP,
BFD_RELOC_MIPS_REL16,
BFD_RELOC_MIPS_RELGOT,
BFD_RELOC_MIPS_JALR,
BFD_RELOC_FRV_LABEL16,
BFD_RELOC_FRV_LABEL24,
BFD_RELOC_FRV_LO16,
BFD_RELOC_FRV_HI16,
BFD_RELOC_FRV_GPREL12,
BFD_RELOC_FRV_GPRELU12,
BFD_RELOC_FRV_GPREL32,
BFD_RELOC_FRV_GPRELHI,
BFD_RELOC_FRV_GPRELLO,
BFD_RELOC_386_GOT32,
BFD_RELOC_386_PLT32,
BFD_RELOC_386_COPY,
BFD_RELOC_386_GLOB_DAT,
BFD_RELOC_386_JUMP_SLOT,
BFD_RELOC_386_RELATIVE,
BFD_RELOC_386_GOTOFF,
BFD_RELOC_386_GOTPC,
BFD_RELOC_386_TLS_TPOFF,
BFD_RELOC_386_TLS_IE,
BFD_RELOC_386_TLS_GOTIE,
BFD_RELOC_386_TLS_LE,
BFD_RELOC_386_TLS_GD,
BFD_RELOC_386_TLS_LDM,
BFD_RELOC_386_TLS_LDO_32,
BFD_RELOC_386_TLS_IE_32,
BFD_RELOC_386_TLS_LE_32,
BFD_RELOC_386_TLS_DTPMOD32,
BFD_RELOC_386_TLS_DTPOFF32,
BFD_RELOC_386_TLS_TPOFF32,
BFD_RELOC_X86_64_GOT32,
BFD_RELOC_X86_64_PLT32,
BFD_RELOC_X86_64_COPY,
BFD_RELOC_X86_64_GLOB_DAT,
BFD_RELOC_X86_64_JUMP_SLOT,
BFD_RELOC_X86_64_RELATIVE,
BFD_RELOC_X86_64_GOTPCREL,
BFD_RELOC_X86_64_32S,
BFD_RELOC_NS32K_IMM_8,
BFD_RELOC_NS32K_IMM_16,
BFD_RELOC_NS32K_IMM_32,
BFD_RELOC_NS32K_IMM_8_PCREL,
BFD_RELOC_NS32K_IMM_16_PCREL,
BFD_RELOC_NS32K_IMM_32_PCREL,
BFD_RELOC_NS32K_DISP_8,
BFD_RELOC_NS32K_DISP_16,
BFD_RELOC_NS32K_DISP_32,
BFD_RELOC_NS32K_DISP_8_PCREL,
BFD_RELOC_NS32K_DISP_16_PCREL,
BFD_RELOC_NS32K_DISP_32_PCREL,
BFD_RELOC_PDP11_DISP_8_PCREL,
BFD_RELOC_PDP11_DISP_6_PCREL,
BFD_RELOC_PJ_CODE_HI16,
BFD_RELOC_PJ_CODE_LO16,
BFD_RELOC_PJ_CODE_DIR16,
BFD_RELOC_PJ_CODE_DIR32,
BFD_RELOC_PJ_CODE_REL16,
BFD_RELOC_PJ_CODE_REL32,
BFD_RELOC_PPC_B26,
BFD_RELOC_PPC_BA26,
BFD_RELOC_PPC_TOC16,
BFD_RELOC_PPC_B16,
BFD_RELOC_PPC_B16_BRTAKEN,
BFD_RELOC_PPC_B16_BRNTAKEN,
BFD_RELOC_PPC_BA16,
BFD_RELOC_PPC_BA16_BRTAKEN,
BFD_RELOC_PPC_BA16_BRNTAKEN,
BFD_RELOC_PPC_COPY,
BFD_RELOC_PPC_GLOB_DAT,
BFD_RELOC_PPC_JMP_SLOT,
BFD_RELOC_PPC_RELATIVE,
BFD_RELOC_PPC_LOCAL24PC,
BFD_RELOC_PPC_EMB_NADDR32,
BFD_RELOC_PPC_EMB_NADDR16,
BFD_RELOC_PPC_EMB_NADDR16_LO,
BFD_RELOC_PPC_EMB_NADDR16_HI,
BFD_RELOC_PPC_EMB_NADDR16_HA,
BFD_RELOC_PPC_EMB_SDAI16,
BFD_RELOC_PPC_EMB_SDA2I16,
BFD_RELOC_PPC_EMB_SDA2REL,
BFD_RELOC_PPC_EMB_SDA21,
BFD_RELOC_PPC_EMB_MRKREF,
BFD_RELOC_PPC_EMB_RELSEC16,
BFD_RELOC_PPC_EMB_RELST_LO,
BFD_RELOC_PPC_EMB_RELST_HI,
BFD_RELOC_PPC_EMB_RELST_HA,
BFD_RELOC_PPC_EMB_BIT_FLD,
BFD_RELOC_PPC_EMB_RELSDA,
BFD_RELOC_PPC64_HIGHER,
BFD_RELOC_PPC64_HIGHER_S,
BFD_RELOC_PPC64_HIGHEST,
BFD_RELOC_PPC64_HIGHEST_S,
BFD_RELOC_PPC64_TOC16_LO,
BFD_RELOC_PPC64_TOC16_HI,
BFD_RELOC_PPC64_TOC16_HA,
BFD_RELOC_PPC64_TOC,
BFD_RELOC_PPC64_PLTGOT16,
BFD_RELOC_PPC64_PLTGOT16_LO,
BFD_RELOC_PPC64_PLTGOT16_HI,
BFD_RELOC_PPC64_PLTGOT16_HA,
BFD_RELOC_PPC64_ADDR16_DS,
BFD_RELOC_PPC64_ADDR16_LO_DS,
BFD_RELOC_PPC64_GOT16_DS,
BFD_RELOC_PPC64_GOT16_LO_DS,
BFD_RELOC_PPC64_PLT16_LO_DS,
BFD_RELOC_PPC64_SECTOFF_DS,
BFD_RELOC_PPC64_SECTOFF_LO_DS,
BFD_RELOC_PPC64_TOC16_DS,
BFD_RELOC_PPC64_TOC16_LO_DS,
BFD_RELOC_PPC64_PLTGOT16_DS,
BFD_RELOC_PPC64_PLTGOT16_LO_DS,
BFD_RELOC_I370_D12,
BFD_RELOC_CTOR,
BFD_RELOC_ARM_PCREL_BRANCH,
BFD_RELOC_ARM_PCREL_BLX,
BFD_RELOC_THUMB_PCREL_BLX,
BFD_RELOC_ARM_IMMEDIATE,
BFD_RELOC_ARM_ADRL_IMMEDIATE,
BFD_RELOC_ARM_OFFSET_IMM,
BFD_RELOC_ARM_SHIFT_IMM,
BFD_RELOC_ARM_SWI,
BFD_RELOC_ARM_MULTI,
BFD_RELOC_ARM_CP_OFF_IMM,
BFD_RELOC_ARM_ADR_IMM,
BFD_RELOC_ARM_LDR_IMM,
BFD_RELOC_ARM_LITERAL,
BFD_RELOC_ARM_IN_POOL,
BFD_RELOC_ARM_OFFSET_IMM8,
BFD_RELOC_ARM_HWLITERAL,
BFD_RELOC_ARM_THUMB_ADD,
BFD_RELOC_ARM_THUMB_IMM,
BFD_RELOC_ARM_THUMB_SHIFT,
BFD_RELOC_ARM_THUMB_OFFSET,
BFD_RELOC_ARM_GOT12,
BFD_RELOC_ARM_GOT32,
BFD_RELOC_ARM_JUMP_SLOT,
BFD_RELOC_ARM_COPY,
BFD_RELOC_ARM_GLOB_DAT,
BFD_RELOC_ARM_PLT32,
BFD_RELOC_ARM_RELATIVE,
BFD_RELOC_ARM_GOTOFF,
BFD_RELOC_ARM_GOTPC,
BFD_RELOC_SH_PCDISP8BY2,
BFD_RELOC_SH_PCDISP12BY2,
BFD_RELOC_SH_IMM4,
BFD_RELOC_SH_IMM4BY2,
BFD_RELOC_SH_IMM4BY4,
BFD_RELOC_SH_IMM8,
BFD_RELOC_SH_IMM8BY2,
BFD_RELOC_SH_IMM8BY4,
BFD_RELOC_SH_PCRELIMM8BY2,
BFD_RELOC_SH_PCRELIMM8BY4,
BFD_RELOC_SH_SWITCH16,
BFD_RELOC_SH_SWITCH32,
BFD_RELOC_SH_USES,
BFD_RELOC_SH_COUNT,
BFD_RELOC_SH_ALIGN,
BFD_RELOC_SH_CODE,
BFD_RELOC_SH_DATA,
BFD_RELOC_SH_LABEL,
BFD_RELOC_SH_LOOP_START,
BFD_RELOC_SH_LOOP_END,
BFD_RELOC_SH_COPY,
BFD_RELOC_SH_GLOB_DAT,
BFD_RELOC_SH_JMP_SLOT,
BFD_RELOC_SH_RELATIVE,
BFD_RELOC_SH_GOTPC,
BFD_RELOC_SH_GOT_LOW16,
BFD_RELOC_SH_GOT_MEDLOW16,
BFD_RELOC_SH_GOT_MEDHI16,
BFD_RELOC_SH_GOT_HI16,
BFD_RELOC_SH_GOTPLT_LOW16,
BFD_RELOC_SH_GOTPLT_MEDLOW16,
BFD_RELOC_SH_GOTPLT_MEDHI16,
BFD_RELOC_SH_GOTPLT_HI16,
BFD_RELOC_SH_PLT_LOW16,
BFD_RELOC_SH_PLT_MEDLOW16,
BFD_RELOC_SH_PLT_MEDHI16,
BFD_RELOC_SH_PLT_HI16,
BFD_RELOC_SH_GOTOFF_LOW16,
BFD_RELOC_SH_GOTOFF_MEDLOW16,
BFD_RELOC_SH_GOTOFF_MEDHI16,
BFD_RELOC_SH_GOTOFF_HI16,
BFD_RELOC_SH_GOTPC_LOW16,
BFD_RELOC_SH_GOTPC_MEDLOW16,
BFD_RELOC_SH_GOTPC_MEDHI16,
BFD_RELOC_SH_GOTPC_HI16,
BFD_RELOC_SH_COPY64,
BFD_RELOC_SH_GLOB_DAT64,
BFD_RELOC_SH_JMP_SLOT64,
BFD_RELOC_SH_RELATIVE64,
BFD_RELOC_SH_GOT10BY4,
BFD_RELOC_SH_GOT10BY8,
BFD_RELOC_SH_GOTPLT10BY4,
BFD_RELOC_SH_GOTPLT10BY8,
BFD_RELOC_SH_GOTPLT32,
BFD_RELOC_SH_SHMEDIA_CODE,
BFD_RELOC_SH_IMMU5,
BFD_RELOC_SH_IMMS6,
BFD_RELOC_SH_IMMS6BY32,
BFD_RELOC_SH_IMMU6,
BFD_RELOC_SH_IMMS10,
BFD_RELOC_SH_IMMS10BY2,
BFD_RELOC_SH_IMMS10BY4,
BFD_RELOC_SH_IMMS10BY8,
BFD_RELOC_SH_IMMS16,
BFD_RELOC_SH_IMMU16,
BFD_RELOC_SH_IMM_LOW16,
BFD_RELOC_SH_IMM_LOW16_PCREL,
BFD_RELOC_SH_IMM_MEDLOW16,
BFD_RELOC_SH_IMM_MEDLOW16_PCREL,
BFD_RELOC_SH_IMM_MEDHI16,
BFD_RELOC_SH_IMM_MEDHI16_PCREL,
BFD_RELOC_SH_IMM_HI16,
BFD_RELOC_SH_IMM_HI16_PCREL,
BFD_RELOC_SH_PT_16,
BFD_RELOC_THUMB_PCREL_BRANCH9,
BFD_RELOC_THUMB_PCREL_BRANCH12,
BFD_RELOC_THUMB_PCREL_BRANCH23,
BFD_RELOC_ARC_B22_PCREL,
BFD_RELOC_ARC_B26,
BFD_RELOC_D10V_10_PCREL_R,
BFD_RELOC_D10V_10_PCREL_L,
BFD_RELOC_D10V_18,
BFD_RELOC_D10V_18_PCREL,
BFD_RELOC_D30V_6,
BFD_RELOC_D30V_9_PCREL,
BFD_RELOC_D30V_9_PCREL_R,
BFD_RELOC_D30V_15,
BFD_RELOC_D30V_15_PCREL,
BFD_RELOC_D30V_15_PCREL_R,
BFD_RELOC_D30V_21,
BFD_RELOC_D30V_21_PCREL,
BFD_RELOC_D30V_21_PCREL_R,
BFD_RELOC_D30V_32,
BFD_RELOC_D30V_32_PCREL,
BFD_RELOC_DLX_HI16_S,
BFD_RELOC_DLX_LO16,
BFD_RELOC_DLX_JMP26,
BFD_RELOC_M32R_24,
BFD_RELOC_M32R_10_PCREL,
BFD_RELOC_M32R_18_PCREL,
BFD_RELOC_M32R_26_PCREL,
BFD_RELOC_M32R_HI16_ULO,
BFD_RELOC_M32R_HI16_SLO,
BFD_RELOC_M32R_LO16,
BFD_RELOC_M32R_SDA16,
BFD_RELOC_V850_9_PCREL,
BFD_RELOC_V850_22_PCREL,
BFD_RELOC_V850_SDA_16_16_OFFSET,
BFD_RELOC_V850_SDA_15_16_OFFSET,
BFD_RELOC_V850_ZDA_16_16_OFFSET,
BFD_RELOC_V850_ZDA_15_16_OFFSET,
BFD_RELOC_V850_TDA_6_8_OFFSET,
BFD_RELOC_V850_TDA_7_8_OFFSET,
BFD_RELOC_V850_TDA_7_7_OFFSET,
BFD_RELOC_V850_TDA_16_16_OFFSET,
BFD_RELOC_V850_TDA_4_5_OFFSET,
BFD_RELOC_V850_TDA_4_4_OFFSET,
BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET,
BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET,
BFD_RELOC_V850_CALLT_6_7_OFFSET,
BFD_RELOC_V850_CALLT_16_16_OFFSET,
BFD_RELOC_MN10300_32_PCREL,
BFD_RELOC_MN10300_16_PCREL,
BFD_RELOC_TIC30_LDP,
BFD_RELOC_TIC54X_PARTLS7,
BFD_RELOC_TIC54X_PARTMS9,
BFD_RELOC_TIC54X_23,
BFD_RELOC_TIC54X_16_OF_23,
BFD_RELOC_TIC54X_MS7_OF_23,
BFD_RELOC_FR30_48,
BFD_RELOC_FR30_20,
BFD_RELOC_FR30_6_IN_4,
BFD_RELOC_FR30_8_IN_8,
BFD_RELOC_FR30_9_IN_8,
BFD_RELOC_FR30_10_IN_8,
BFD_RELOC_FR30_9_PCREL,
BFD_RELOC_FR30_12_PCREL,
BFD_RELOC_MCORE_PCREL_IMM8BY4,
BFD_RELOC_MCORE_PCREL_IMM11BY2,
BFD_RELOC_MCORE_PCREL_IMM4BY2,
BFD_RELOC_MCORE_PCREL_32,
BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2,
BFD_RELOC_MCORE_RVA,
BFD_RELOC_MMIX_GETA,
BFD_RELOC_MMIX_GETA_1,
BFD_RELOC_MMIX_GETA_2,
BFD_RELOC_MMIX_GETA_3,
BFD_RELOC_MMIX_CBRANCH,
BFD_RELOC_MMIX_CBRANCH_J,
BFD_RELOC_MMIX_CBRANCH_1,
BFD_RELOC_MMIX_CBRANCH_2,
BFD_RELOC_MMIX_CBRANCH_3,
BFD_RELOC_MMIX_PUSHJ,
BFD_RELOC_MMIX_PUSHJ_1,
BFD_RELOC_MMIX_PUSHJ_2,
BFD_RELOC_MMIX_PUSHJ_3,
BFD_RELOC_MMIX_JMP,
BFD_RELOC_MMIX_JMP_1,
BFD_RELOC_MMIX_JMP_2,
BFD_RELOC_MMIX_JMP_3,
BFD_RELOC_MMIX_ADDR19,
BFD_RELOC_MMIX_ADDR27,
BFD_RELOC_MMIX_REG_OR_BYTE,
BFD_RELOC_MMIX_REG,
BFD_RELOC_MMIX_BASE_PLUS_OFFSET,
BFD_RELOC_MMIX_LOCAL,
BFD_RELOC_AVR_7_PCREL,
BFD_RELOC_AVR_13_PCREL,
BFD_RELOC_AVR_16_PM,
BFD_RELOC_AVR_LO8_LDI,
BFD_RELOC_AVR_HI8_LDI,
BFD_RELOC_AVR_HH8_LDI,
BFD_RELOC_AVR_LO8_LDI_NEG,
BFD_RELOC_AVR_HI8_LDI_NEG,
BFD_RELOC_AVR_HH8_LDI_NEG,
BFD_RELOC_AVR_LO8_LDI_PM,
BFD_RELOC_AVR_HI8_LDI_PM,
BFD_RELOC_AVR_HH8_LDI_PM,
BFD_RELOC_AVR_LO8_LDI_PM_NEG,
BFD_RELOC_AVR_HI8_LDI_PM_NEG,
BFD_RELOC_AVR_HH8_LDI_PM_NEG,
BFD_RELOC_AVR_CALL,
BFD_RELOC_390_12,
BFD_RELOC_390_GOT12,
BFD_RELOC_390_PLT32,
BFD_RELOC_390_COPY,
BFD_RELOC_390_GLOB_DAT,
BFD_RELOC_390_JMP_SLOT,
BFD_RELOC_390_RELATIVE,
BFD_RELOC_390_GOTPC,
BFD_RELOC_390_GOT16,
BFD_RELOC_390_PC16DBL,
BFD_RELOC_390_PLT16DBL,
BFD_RELOC_390_PC32DBL,
BFD_RELOC_390_PLT32DBL,
BFD_RELOC_390_GOTPCDBL,
BFD_RELOC_390_GOT64,
BFD_RELOC_390_PLT64,
BFD_RELOC_390_GOTENT,
# 2926 "../bfd/bfd.h"
BFD_RELOC_VTABLE_INHERIT,
BFD_RELOC_VTABLE_ENTRY,
BFD_RELOC_IA64_IMM14,
BFD_RELOC_IA64_IMM22,
BFD_RELOC_IA64_IMM64,
BFD_RELOC_IA64_DIR32MSB,
BFD_RELOC_IA64_DIR32LSB,
BFD_RELOC_IA64_DIR64MSB,
BFD_RELOC_IA64_DIR64LSB,
BFD_RELOC_IA64_GPREL22,
BFD_RELOC_IA64_GPREL64I,
BFD_RELOC_IA64_GPREL32MSB,
BFD_RELOC_IA64_GPREL32LSB,
BFD_RELOC_IA64_GPREL64MSB,
BFD_RELOC_IA64_GPREL64LSB,
BFD_RELOC_IA64_LTOFF22,
BFD_RELOC_IA64_LTOFF64I,
BFD_RELOC_IA64_PLTOFF22,
BFD_RELOC_IA64_PLTOFF64I,
BFD_RELOC_IA64_PLTOFF64MSB,
BFD_RELOC_IA64_PLTOFF64LSB,
BFD_RELOC_IA64_FPTR64I,
BFD_RELOC_IA64_FPTR32MSB,
BFD_RELOC_IA64_FPTR32LSB,
BFD_RELOC_IA64_FPTR64MSB,
BFD_RELOC_IA64_FPTR64LSB,
BFD_RELOC_IA64_PCREL21B,
BFD_RELOC_IA64_PCREL21BI,
BFD_RELOC_IA64_PCREL21M,
BFD_RELOC_IA64_PCREL21F,
BFD_RELOC_IA64_PCREL22,
BFD_RELOC_IA64_PCREL60B,
BFD_RELOC_IA64_PCREL64I,
BFD_RELOC_IA64_PCREL32MSB,
BFD_RELOC_IA64_PCREL32LSB,
BFD_RELOC_IA64_PCREL64MSB,
BFD_RELOC_IA64_PCREL64LSB,
BFD_RELOC_IA64_LTOFF_FPTR22,
BFD_RELOC_IA64_LTOFF_FPTR64I,
BFD_RELOC_IA64_LTOFF_FPTR32MSB,
BFD_RELOC_IA64_LTOFF_FPTR32LSB,
BFD_RELOC_IA64_LTOFF_FPTR64MSB,
BFD_RELOC_IA64_LTOFF_FPTR64LSB,
BFD_RELOC_IA64_SEGREL32MSB,
BFD_RELOC_IA64_SEGREL32LSB,
BFD_RELOC_IA64_SEGREL64MSB,
BFD_RELOC_IA64_SEGREL64LSB,
BFD_RELOC_IA64_SECREL32MSB,
BFD_RELOC_IA64_SECREL32LSB,
BFD_RELOC_IA64_SECREL64MSB,
BFD_RELOC_IA64_SECREL64LSB,
BFD_RELOC_IA64_REL32MSB,
BFD_RELOC_IA64_REL32LSB,
BFD_RELOC_IA64_REL64MSB,
BFD_RELOC_IA64_REL64LSB,
BFD_RELOC_IA64_LTV32MSB,
BFD_RELOC_IA64_LTV32LSB,
BFD_RELOC_IA64_LTV64MSB,
BFD_RELOC_IA64_LTV64LSB,
BFD_RELOC_IA64_IPLTMSB,
BFD_RELOC_IA64_IPLTLSB,
BFD_RELOC_IA64_COPY,
BFD_RELOC_IA64_LTOFF22X,
BFD_RELOC_IA64_LDXMOV,
BFD_RELOC_IA64_TPREL14,
BFD_RELOC_IA64_TPREL22,
BFD_RELOC_IA64_TPREL64I,
BFD_RELOC_IA64_TPREL64MSB,
BFD_RELOC_IA64_TPREL64LSB,
BFD_RELOC_IA64_LTOFF_TPREL22,
BFD_RELOC_IA64_DTPMOD64MSB,
BFD_RELOC_IA64_DTPMOD64LSB,
BFD_RELOC_IA64_LTOFF_DTPMOD22,
BFD_RELOC_IA64_DTPREL14,
BFD_RELOC_IA64_DTPREL22,
BFD_RELOC_IA64_DTPREL64I,
BFD_RELOC_IA64_DTPREL32MSB,
BFD_RELOC_IA64_DTPREL32LSB,
BFD_RELOC_IA64_DTPREL64MSB,
BFD_RELOC_IA64_DTPREL64LSB,
BFD_RELOC_IA64_LTOFF_DTPREL22,
BFD_RELOC_M68HC11_HI8,
BFD_RELOC_M68HC11_LO8,
BFD_RELOC_M68HC11_3B,
BFD_RELOC_CRIS_BDISP8,
BFD_RELOC_CRIS_UNSIGNED_5,
BFD_RELOC_CRIS_SIGNED_6,
BFD_RELOC_CRIS_UNSIGNED_6,
BFD_RELOC_CRIS_UNSIGNED_4,
BFD_RELOC_CRIS_COPY,
BFD_RELOC_CRIS_GLOB_DAT,
BFD_RELOC_CRIS_JUMP_SLOT,
BFD_RELOC_CRIS_RELATIVE,
BFD_RELOC_CRIS_32_GOT,
BFD_RELOC_CRIS_16_GOT,
BFD_RELOC_CRIS_32_GOTPLT,
BFD_RELOC_CRIS_16_GOTPLT,
BFD_RELOC_CRIS_32_GOTREL,
BFD_RELOC_CRIS_32_PLT_GOTREL,
BFD_RELOC_CRIS_32_PLT_PCREL,
BFD_RELOC_860_COPY,
BFD_RELOC_860_GLOB_DAT,
BFD_RELOC_860_JUMP_SLOT,
BFD_RELOC_860_RELATIVE,
BFD_RELOC_860_PC26,
BFD_RELOC_860_PLT26,
BFD_RELOC_860_PC16,
BFD_RELOC_860_LOW0,
BFD_RELOC_860_SPLIT0,
BFD_RELOC_860_LOW1,
BFD_RELOC_860_SPLIT1,
BFD_RELOC_860_LOW2,
BFD_RELOC_860_SPLIT2,
BFD_RELOC_860_LOW3,
BFD_RELOC_860_LOGOT0,
BFD_RELOC_860_SPGOT0,
BFD_RELOC_860_LOGOT1,
BFD_RELOC_860_SPGOT1,
BFD_RELOC_860_LOGOTOFF0,
BFD_RELOC_860_SPGOTOFF0,
BFD_RELOC_860_LOGOTOFF1,
BFD_RELOC_860_SPGOTOFF1,
BFD_RELOC_860_LOGOTOFF2,
BFD_RELOC_860_LOGOTOFF3,
BFD_RELOC_860_LOPC,
BFD_RELOC_860_HIGHADJ,
BFD_RELOC_860_HAGOT,
BFD_RELOC_860_HAGOTOFF,
BFD_RELOC_860_HAPC,
BFD_RELOC_860_HIGH,
BFD_RELOC_860_HIGOT,
BFD_RELOC_860_HIGOTOFF,
BFD_RELOC_OPENRISC_ABS_26,
BFD_RELOC_OPENRISC_REL_26,
BFD_RELOC_H8_DIR16A8,
BFD_RELOC_H8_DIR16R8,
BFD_RELOC_H8_DIR24A8,
BFD_RELOC_H8_DIR24R8,
BFD_RELOC_H8_DIR32A16,
BFD_RELOC_XSTORMY16_REL_12,
BFD_RELOC_XSTORMY16_24,
BFD_RELOC_XSTORMY16_FPTR16,
BFD_RELOC_VAX_GLOB_DAT,
BFD_RELOC_VAX_JMP_SLOT,
BFD_RELOC_VAX_RELATIVE,
BFD_RELOC_UNUSED };
typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
reloc_howto_type *
bfd_reloc_type_lookup (bfd *abfd, bfd_reloc_code_real_type code);
const char *
bfd_get_reloc_code_name (bfd_reloc_code_real_type code);
typedef struct symbol_cache_entry
{
# 3132 "../bfd/bfd.h"
struct _bfd *the_bfd;
const char *name;
symvalue value;
# 3228 "../bfd/bfd.h"
flagword flags;
struct sec *section;
union
{
void * p;
bfd_vma i;
}
udata;
}
asymbol;
boolean
bfd_is_local_label (bfd *abfd, asymbol *sym);
boolean
bfd_is_local_label_name (bfd *abfd, const char *name);
# 3261 "../bfd/bfd.h"
boolean
bfd_set_symtab (bfd *abfd, asymbol **location, unsigned int count);
void
bfd_print_symbol_vandf (bfd *abfd, void * file, asymbol *symbol);
asymbol *
_bfd_generic_make_empty_symbol (bfd *);
int
bfd_decode_symclass (asymbol *symbol);
boolean
bfd_is_undefined_symclass (int symclass);
void
bfd_symbol_info (asymbol *symbol, symbol_info *ret);
boolean
bfd_copy_private_symbol_data (bfd *ibfd, asymbol *isym, bfd *obfd, asymbol *osym);
struct _bfd
{
const char *filename;
const struct bfd_target *xvec;
# 3308 "../bfd/bfd.h"
void * iostream;
boolean cacheable;
boolean target_defaulted;
struct _bfd *lru_prev, *lru_next;
ufile_ptr where;
boolean opened_once;
boolean mtime_set;
long mtime;
int ifd;
bfd_format format;
enum bfd_direction
{
no_direction = 0,
read_direction = 1,
write_direction = 2,
both_direction = 3
}
direction;
flagword flags;
ufile_ptr origin;
boolean output_has_begun;
struct bfd_hash_table section_htab;
struct sec *sections;
struct sec **section_tail;
unsigned int section_count;
bfd_vma start_address;
unsigned int symcount;
struct symbol_cache_entry **outsymbols;
unsigned int dynsymcount;
const struct bfd_arch_info *arch_info;
void * arelt_data;
struct _bfd *my_archive;
struct _bfd *next;
struct _bfd *archive_head;
boolean has_armap;
struct _bfd *link_next;
int archive_pass;
union
{
struct aout_data_struct *aout_data;
struct artdata *aout_ar_data;
struct _oasys_data *oasys_obj_data;
struct _oasys_ar_data *oasys_ar_data;
struct coff_tdata *coff_obj_data;
struct pe_tdata *pe_obj_data;
struct xcoff_tdata *xcoff_obj_data;
struct ecoff_tdata *ecoff_obj_data;
struct ieee_data_struct *ieee_data;
struct ieee_ar_data_struct *ieee_ar_data;
struct srec_data_struct *srec_data;
struct ihex_data_struct *ihex_data;
struct tekhex_data_struct *tekhex_data;
struct elf_obj_tdata *elf_obj_data;
struct nlm_obj_tdata *nlm_obj_data;
struct bout_data_struct *bout_data;
struct mmo_data_struct *mmo_data;
struct sun_core_struct *sun_core_data;
struct sco5_core_struct *sco5_core_data;
struct trad_core_struct *trad_core_data;
struct som_data_struct *som_data;
struct hpux_core_struct *hpux_core_data;
struct hppabsd_core_struct *hppabsd_core_data;
struct sgi_core_struct *sgi_core_data;
struct lynx_core_struct *lynx_core_data;
struct osf_core_struct *osf_core_data;
struct cisco_core_struct *cisco_core_data;
struct versados_data_struct *versados_data;
struct netbsd_core_struct *netbsd_core_data;
void * any;
}
tdata;
void * usrdata;
void * memory;
};
typedef enum bfd_error
{
bfd_error_no_error = 0,
bfd_error_system_call,
bfd_error_invalid_target,
bfd_error_wrong_format,
bfd_error_wrong_object_format,
bfd_error_invalid_operation,
bfd_error_no_memory,
bfd_error_no_symbols,
bfd_error_no_armap,
bfd_error_no_more_archived_files,
bfd_error_malformed_archive,
bfd_error_file_not_recognized,
bfd_error_file_ambiguously_recognized,
bfd_error_no_contents,
bfd_error_nonrepresentable_section,
bfd_error_no_debug_section,
bfd_error_bad_value,
bfd_error_file_truncated,
bfd_error_file_too_big,
bfd_error_invalid_error_code
}
bfd_error_type;
bfd_error_type
bfd_get_error (void);
void
bfd_set_error (bfd_error_type error_tag);
const char *
bfd_errmsg (bfd_error_type error_tag);
void
bfd_perror (const char *message);
typedef void (*bfd_error_handler_type) (const char *, ...);
bfd_error_handler_type
bfd_set_error_handler (bfd_error_handler_type);
void
bfd_set_error_program_name (const char *);
bfd_error_handler_type
bfd_get_error_handler (void);
const char *
bfd_archive_filename (bfd *);
long
bfd_get_reloc_upper_bound (bfd *abfd, asection *sect);
long
bfd_canonicalize_reloc (bfd *abfd, asection *sec, arelent **loc, asymbol **syms);
void
bfd_set_reloc (bfd *abfd, asection *sec, arelent **rel, unsigned int count);
boolean
bfd_set_file_flags (bfd *abfd, flagword flags);
int
bfd_get_arch_size (bfd *abfd);
int
bfd_get_sign_extend_vma (bfd *abfd);
boolean
bfd_set_start_address (bfd *abfd, bfd_vma vma);
long
bfd_get_mtime (bfd *abfd);
long
bfd_get_size (bfd *abfd);
unsigned int
bfd_get_gp_size (bfd *abfd);
void
bfd_set_gp_size (bfd *abfd, unsigned int i);
bfd_vma
bfd_scan_vma (const char *string, const char **end, int base);
boolean
bfd_copy_private_bfd_data (bfd *ibfd, bfd *obfd);
boolean
bfd_merge_private_bfd_data (bfd *ibfd, bfd *obfd);
boolean
bfd_set_private_flags (bfd *abfd, flagword flags);
# 3631 "../bfd/bfd.h"
extern bfd_byte *bfd_get_relocated_section_contents
(bfd *, struct bfd_link_info *, struct bfd_link_order *, bfd_byte *, boolean, asymbol **);
boolean
bfd_alt_mach_code (bfd *abfd, int alternative);
symindex
bfd_get_next_mapent (bfd *abfd, symindex previous, carsym **sym);
boolean
bfd_set_archive_head (bfd *output, bfd *new_head);
bfd *
bfd_openr_next_archived_file (bfd *archive, bfd *previous);
const char *
bfd_core_file_failing_command (bfd *abfd);
int
bfd_core_file_failing_signal (bfd *abfd);
boolean
core_file_matches_executable_p (bfd *core_bfd, bfd *exec_bfd);
# 3681 "../bfd/bfd.h"
enum bfd_flavour
{
bfd_target_unknown_flavour,
bfd_target_aout_flavour,
bfd_target_coff_flavour,
bfd_target_ecoff_flavour,
bfd_target_xcoff_flavour,
bfd_target_elf_flavour,
bfd_target_ieee_flavour,
bfd_target_nlm_flavour,
bfd_target_oasys_flavour,
bfd_target_tekhex_flavour,
bfd_target_srec_flavour,
bfd_target_ihex_flavour,
bfd_target_som_flavour,
bfd_target_os9k_flavour,
bfd_target_versados_flavour,
bfd_target_msdos_flavour,
bfd_target_ovax_flavour,
bfd_target_evax_flavour,
bfd_target_mmo_flavour
};
enum bfd_endian { BFD_ENDIAN_BIG, BFD_ENDIAN_LITTLE, BFD_ENDIAN_UNKNOWN };
typedef struct bfd_link_info _bfd_link_info;
typedef struct bfd_target
{
char *name;
enum bfd_flavour flavour;
enum bfd_endian byteorder;
enum bfd_endian header_byteorder;
flagword object_flags;
flagword section_flags;
char symbol_leading_char;
char ar_pad_char;
unsigned short ar_max_namelen;
bfd_vma (*bfd_getx64) (const bfd_byte *);
bfd_signed_vma (*bfd_getx_signed_64) (const bfd_byte *);
void (*bfd_putx64) (bfd_vma, bfd_byte *);
bfd_vma (*bfd_getx32) (const bfd_byte *);
bfd_signed_vma (*bfd_getx_signed_32) (const bfd_byte *);
void (*bfd_putx32) (bfd_vma, bfd_byte *);
bfd_vma (*bfd_getx16) (const bfd_byte *);
bfd_signed_vma (*bfd_getx_signed_16) (const bfd_byte *);
void (*bfd_putx16) (bfd_vma, bfd_byte *);
bfd_vma (*bfd_h_getx64) (const bfd_byte *);
bfd_signed_vma (*bfd_h_getx_signed_64) (const bfd_byte *);
void (*bfd_h_putx64) (bfd_vma, bfd_byte *);
bfd_vma (*bfd_h_getx32) (const bfd_byte *);
bfd_signed_vma (*bfd_h_getx_signed_32) (const bfd_byte *);
void (*bfd_h_putx32) (bfd_vma, bfd_byte *);
bfd_vma (*bfd_h_getx16) (const bfd_byte *);
bfd_signed_vma (*bfd_h_getx_signed_16) (const bfd_byte *);
void (*bfd_h_putx16) (bfd_vma, bfd_byte *);
const struct bfd_target *(*_bfd_check_format[bfd_type_end]) (bfd *);
boolean (*_bfd_set_format[bfd_type_end]) (bfd *);
boolean (*_bfd_write_contents[bfd_type_end]) (bfd *);
# 3788 "../bfd/bfd.h"
boolean (*_close_and_cleanup) (bfd *);
boolean (*_bfd_free_cached_info) (bfd *);
boolean (*_new_section_hook) (bfd *, sec_ptr);
boolean (*_bfd_get_section_contents) (bfd *, sec_ptr, void *, file_ptr, bfd_size_type);
boolean (*_bfd_get_section_contents_in_window)
(bfd *, sec_ptr, bfd_window *, file_ptr, bfd_size_type);
# 3809 "../bfd/bfd.h"
boolean (*_bfd_copy_private_bfd_data) (bfd *, bfd *);
boolean (*_bfd_merge_private_bfd_data) (bfd *, bfd *);
boolean (*_bfd_copy_private_section_data) (bfd *, sec_ptr, bfd *, sec_ptr);
boolean (*_bfd_copy_private_symbol_data) (bfd *, asymbol *, bfd *, asymbol *);
boolean (*_bfd_set_private_flags) (bfd *, flagword);
boolean (*_bfd_print_private_bfd_data) (bfd *, void *);
char * (*_core_file_failing_command) (bfd *);
int (*_core_file_failing_signal) (bfd *);
boolean (*_core_file_matches_executable_p) (bfd *, bfd *);
# 3848 "../bfd/bfd.h"
boolean (*_bfd_slurp_armap) (bfd *);
boolean (*_bfd_slurp_extended_name_table) (bfd *);
boolean (*_bfd_construct_extended_name_table)
(bfd *, char **, bfd_size_type *, const char **);
void (*_bfd_truncate_arname) (bfd *, const char *, char *);
boolean (*write_armap)
(bfd *, unsigned int, struct orl *, unsigned int, int);
void * (*_bfd_read_ar_hdr_fn) (bfd *);
bfd * (*openr_next_archived_file) (bfd *, bfd *);
bfd * (*_bfd_get_elt_at_index) (bfd *, symindex);
int (*_bfd_stat_arch_elt) (bfd *, struct stat *);
boolean (*_bfd_update_armap_timestamp) (bfd *);
# 3875 "../bfd/bfd.h"
long (*_bfd_get_symtab_upper_bound) (bfd *);
long (*_bfd_canonicalize_symtab) (bfd *, struct symbol_cache_entry **);
struct symbol_cache_entry *
(*_bfd_make_empty_symbol) (bfd *);
void (*_bfd_print_symbol) (bfd *, void *, struct symbol_cache_entry *, bfd_print_symbol_type);
void (*_bfd_get_symbol_info) (bfd *, struct symbol_cache_entry *, symbol_info *);
boolean (*_bfd_is_local_label_name) (bfd *, const char *);
alent * (*_get_lineno) (bfd *, struct symbol_cache_entry *);
boolean (*_bfd_find_nearest_line)
(bfd *, struct sec *, struct symbol_cache_entry **, bfd_vma, const char **, const char **, unsigned int *);
asymbol *(*_bfd_make_debug_symbol) (bfd *, void *, unsigned long size);
long (*_read_minisymbols) (bfd *, boolean, void * *, unsigned int *);
asymbol *(*_minisymbol_to_symbol) (bfd *, boolean, const void *, asymbol *);
long (*_get_reloc_upper_bound) (bfd *, sec_ptr);
long (*_bfd_canonicalize_reloc) (bfd *, sec_ptr, arelent **, struct symbol_cache_entry **);
reloc_howto_type *
(*reloc_type_lookup) (bfd *, bfd_reloc_code_real_type);
boolean (*_bfd_set_arch_mach) (bfd *, enum bfd_architecture, unsigned long);
boolean (*_bfd_set_section_contents) (bfd *, sec_ptr, void *, file_ptr, bfd_size_type);
# 3943 "../bfd/bfd.h"
int (*_bfd_sizeof_headers) (bfd *, boolean);
bfd_byte *(*_bfd_get_relocated_section_contents)
(bfd *, struct bfd_link_info *, struct bfd_link_order *, bfd_byte *, boolean, struct symbol_cache_entry **);
boolean (*_bfd_relax_section)
(bfd *, struct sec *, struct bfd_link_info *, boolean *);
struct bfd_link_hash_table *(*_bfd_link_hash_table_create) (bfd *);
void (*_bfd_link_hash_table_free) (struct bfd_link_hash_table *);
boolean (*_bfd_link_add_symbols) (bfd *, struct bfd_link_info *);
void (*_bfd_link_just_syms) (asection *, struct bfd_link_info *);
boolean (*_bfd_final_link) (bfd *, struct bfd_link_info *);
boolean (*_bfd_link_split_section) (bfd *, struct sec *);
boolean (*_bfd_gc_sections) (bfd *, struct bfd_link_info *);
boolean (*_bfd_merge_sections) (bfd *, struct bfd_link_info *);
boolean (*_bfd_discard_group) (bfd *, struct sec *);
# 3987 "../bfd/bfd.h"
long (*_bfd_get_dynamic_symtab_upper_bound) (bfd *);
long (*_bfd_canonicalize_dynamic_symtab)
(bfd *, struct symbol_cache_entry **);
long (*_bfd_get_dynamic_reloc_upper_bound) (bfd *);
long (*_bfd_canonicalize_dynamic_reloc)
(bfd *, arelent **, struct symbol_cache_entry **);
const struct bfd_target * alternative_target;
void * backend_data;
} bfd_target;
boolean
bfd_set_default_target (const char *name);
const bfd_target *
bfd_find_target (const char *target_name, bfd *abfd);
const char **
bfd_target_list (void);
const bfd_target *
bfd_search_for_target (int (* search_func) (const bfd_target *, void *), void *);
boolean
bfd_check_format (bfd *abfd, bfd_format format);
boolean
bfd_check_format_matches (bfd *abfd, bfd_format format, char ***matching);
boolean
bfd_set_format (bfd *abfd, bfd_format format);
const char *
bfd_format_string (bfd_format format);
# 133 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/include/libiberty.h" 1
# 46 "../../binutils-2.13.1/include/libiberty.h"
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 147 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 3
typedef int ptrdiff_t;
# 47 "../../binutils-2.13.1/include/libiberty.h" 2
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stdarg.h" 1 3
# 49 "../../binutils-2.13.1/include/libiberty.h" 2
extern char **buildargv (const char *) __attribute__ ((__malloc__));
extern void freeargv (char **);
extern char **dupargv (char **) __attribute__ ((__malloc__));
# 78 "../../binutils-2.13.1/include/libiberty.h"
extern char *basename (const char *);
extern const char *lbasename (const char *);
extern char *concat (const char *, ...) __attribute__ ((__malloc__));
# 101 "../../binutils-2.13.1/include/libiberty.h"
extern char *reconcat (char *, const char *, ...) __attribute__ ((__malloc__));
extern unsigned long concat_length (const char *, ...);
extern char *concat_copy (char *, const char *, ...);
extern char *concat_copy2 (const char *, ...);
extern char *libiberty_concat_ptr;
# 137 "../../binutils-2.13.1/include/libiberty.h"
extern int fdmatch (int fd1, int fd2);
extern char * getpwd (void);
extern long get_run_time (void);
extern char *choose_temp_base (void) __attribute__ ((__malloc__));
extern char *make_temp_file (const char *) __attribute__ ((__malloc__));
extern const char *spaces (int count);
extern int errno_max (void);
extern const char *strerrno (int);
extern int strtoerrno (const char *);
extern char *xstrerror (int);
extern int signo_max (void);
# 193 "../../binutils-2.13.1/include/libiberty.h"
extern const char *strsigno (int);
extern int strtosigno (const char *);
extern int xatexit (void (*fn) (void));
extern void xexit (int status) __attribute__ ((__noreturn__));
extern void xmalloc_set_program_name (const char *);
extern void xmalloc_failed (size_t) __attribute__ ((__noreturn__));
extern void * xmalloc (size_t) __attribute__ ((__malloc__));
extern void * xrealloc (void *, size_t);
extern void * xcalloc (size_t, size_t) __attribute__ ((__malloc__));
extern char *xstrdup (const char *) __attribute__ ((__malloc__));
extern void * xmemdup (const void *, size_t, size_t) __attribute__ ((__malloc__));
extern const char _hex_value[256];
extern void hex_init (void);
# 260 "../../binutils-2.13.1/include/libiberty.h"
extern int pexecute (const char *, char * const *, const char *, const char *, char **, char **, int);
extern int pwait (int, int *, int);
extern int asprintf (char **, const char *, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
extern int vasprintf (char **, const char *, va_list)
__attribute__ ((__format__ (__printf__, 2, 0)));
# 286 "../../binutils-2.13.1/include/libiberty.h"
extern void * C_alloca (size_t) __attribute__ ((__malloc__));
# 135 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/include/progress.h" 1
# 138 "../../binutils-2.13.1/gas/as.h" 2
# 161 "../../binutils-2.13.1/gas/as.h"
extern char **environ;
# 194 "../../binutils-2.13.1/gas/as.h"
# 1 "../../binutils-2.13.1/include/fopen-same.h" 1
# 195 "../../binutils-2.13.1/gas/as.h" 2
# 212 "../../binutils-2.13.1/gas/as.h"
# 1 "../../binutils-2.13.1/gas/asintl.h" 1
# 24 "../../binutils-2.13.1/gas/asintl.h"
# 1 "/usr/include/locale.h" 1 3
# 29 "/usr/include/locale.h" 3
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 30 "/usr/include/locale.h" 2 3
# 1 "/usr/include/bits/locale.h" 1 3
# 27 "/usr/include/bits/locale.h" 3
enum
{
__LC_CTYPE = 0,
__LC_NUMERIC = 1,
__LC_TIME = 2,
__LC_COLLATE = 3,
__LC_MONETARY = 4,
__LC_MESSAGES = 5,
__LC_ALL = 6,
__LC_PAPER = 7,
__LC_NAME = 8,
__LC_ADDRESS = 9,
__LC_TELEPHONE = 10,
__LC_MEASUREMENT = 11,
__LC_IDENTIFICATION = 12
};
# 31 "/usr/include/locale.h" 2 3
# 52 "/usr/include/locale.h" 3
struct lconv
{
char *decimal_point;
char *thousands_sep;
char *grouping;
char *int_curr_symbol;
char *currency_symbol;
char *mon_decimal_point;
char *mon_thousands_sep;
char *mon_grouping;
char *positive_sign;
char *negative_sign;
char int_frac_digits;
char frac_digits;
char p_cs_precedes;
char p_sep_by_space;
char n_cs_precedes;
char n_sep_by_space;
char p_sign_posn;
char n_sign_posn;
char int_p_cs_precedes;
char int_p_sep_by_space;
char int_n_cs_precedes;
char int_n_sep_by_space;
char int_p_sign_posn;
char int_n_sign_posn;
# 119 "/usr/include/locale.h" 3
};
extern char *setlocale (int __category, __const char *__locale) ;
extern struct lconv *localeconv (void) ;
# 149 "/usr/include/locale.h" 3
extern __locale_t __newlocale (int __category_mask, __const char *__locale,
__locale_t __base) ;
extern __locale_t __duplocale (__locale_t __dataset) ;
extern void __freelocale (__locale_t __dataset) ;
# 25 "../../binutils-2.13.1/gas/asintl.h" 2
# 1 "/usr/include/libintl.h" 1 3
# 30 "/usr/include/libintl.h" 3
extern char *gettext (__const char *__msgid) ;
extern char *dgettext (__const char *__domainname, __const char *__msgid)
;
extern char *__dgettext (__const char *__domainname, __const char *__msgid)
__attribute__ ((__format_arg__ (2)));
extern char *dcgettext (__const char *__domainname,
__const char *__msgid, int __category) ;
extern char *__dcgettext (__const char *__domainname,
__const char *__msgid, int __category)
__attribute__ ((__format_arg__ (2)));
extern char *ngettext (__const char *__msgid1, __const char *__msgid2,
unsigned long int __n)
__attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ (2)));
extern char *dngettext (__const char *__domainname, __const char *__msgid1,
__const char *__msgid2, unsigned long int __n)
__attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
extern char *dcngettext (__const char *__domainname, __const char *__msgid1,
__const char *__msgid2, unsigned long int __n,
int __category)
__attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
extern char *textdomain (__const char *__domainname) ;
extern char *bindtextdomain (__const char *__domainname,
__const char *__dirname) ;
extern char *bind_textdomain_codeset (__const char *__domainname,
__const char *__codeset) ;
# 1 "/usr/lib/gcc-lib/i486-suse-linux/3.2/include/stddef.h" 1 3
# 95 "/usr/include/libintl.h" 2 3
# 115 "/usr/include/libintl.h" 3
# 29 "../../binutils-2.13.1/gas/asintl.h" 2
# 213 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/gas/flonum.h" 1
# 35 "../../binutils-2.13.1/gas/flonum.h"
# 1 "../../binutils-2.13.1/gas/bignum.h" 1
# 41 "../../binutils-2.13.1/gas/bignum.h"
typedef unsigned short LITTLENUM_TYPE;
int bignum_copy (LITTLENUM_TYPE * in, int in_length, LITTLENUM_TYPE * out, int out_length);
# 36 "../../binutils-2.13.1/gas/flonum.h" 2
# 52 "../../binutils-2.13.1/gas/flonum.h"
struct FLONUM_STRUCT {
LITTLENUM_TYPE *low;
LITTLENUM_TYPE *high;
LITTLENUM_TYPE *leader;
long exponent;
char sign;
};
typedef struct FLONUM_STRUCT FLONUM_TYPE;
# 75 "../../binutils-2.13.1/gas/flonum.h"
extern const FLONUM_TYPE flonum_positive_powers_of_ten[];
extern const FLONUM_TYPE flonum_negative_powers_of_ten[];
extern const int table_size_of_flonum_powers_of_ten;
# 87 "../../binutils-2.13.1/gas/flonum.h"
int atof_generic (char **address_of_string_pointer, const char *string_of_decimal_marks, const char *string_of_decimal_exponent_marks, FLONUM_TYPE * address_of_generic_floating_point_number);
void flonum_copy (FLONUM_TYPE * in, FLONUM_TYPE * out);
void flonum_multip (const FLONUM_TYPE * a, const FLONUM_TYPE * b, FLONUM_TYPE * product);
# 221 "../../binutils-2.13.1/gas/as.h" 2
extern bfd *stdoutput;
typedef bfd_vma addressT;
typedef bfd_signed_vma offsetT;
typedef addressT valueT;
# 296 "../../binutils-2.13.1/gas/as.h"
typedef asection *segT;
typedef int subsegT;
extern subsegT now_subseg;
extern segT now_seg;
# 322 "../../binutils-2.13.1/gas/as.h"
extern segT reg_section, expr_section;
extern segT text_section, data_section, bss_section;
# 339 "../../binutils-2.13.1/gas/as.h"
enum _relax_state {
rs_fill = 1,
rs_align,
rs_align_code,
rs_align_test,
rs_org,
rs_broken_word,
rs_machine_dependent,
rs_space,
rs_leb128,
rs_cfa,
rs_dwarf2dbg
};
typedef enum _relax_state relax_stateT;
typedef unsigned int relax_substateT;
typedef addressT relax_addressT;
extern unsigned char flag_no_comments;
extern unsigned char flag_debug;
extern unsigned char flag_signed_overflow_ok;
extern unsigned char flag_warn_displacement;
extern int flag_keep_locals;
extern int flag_mri;
extern unsigned char flag_readonly_data_in_text;
extern int flag_no_warnings;
extern int flag_fatal_warnings;
extern unsigned char flag_always_generate_output;
extern unsigned char flag_print_statistics;
extern int flag_strip_local_absolute;
extern int flag_traditional_format;
extern char *out_file_name;
extern char *insttbl_file_name;
extern int need_pass_2;
extern int linkrelax;
extern int listing;
# 463 "../../binutils-2.13.1/gas/as.h"
enum debug_info_type {
DEBUG_UNSPECIFIED,
DEBUG_NONE,
DEBUG_STABS,
DEBUG_ECOFF,
DEBUG_DWARF,
DEBUG_DWARF2
};
extern enum debug_info_type debug_type;
extern int max_macro_nest;
extern int chunksize;
struct _pseudo_type {
const char *poc_name;
void (*poc_handler) (int);
int poc_val;
};
typedef struct _pseudo_type pseudo_typeS;
# 539 "../../binutils-2.13.1/gas/as.h"
void as_bad (const char *format, ...) __attribute__ ((__format__ (__printf__, 1, 2)));
void as_fatal (const char *format, ...) __attribute__ ((__format__ (__printf__, 1, 2))) __attribute__ ((__noreturn__));
void as_tsktsk (const char *format, ...) __attribute__ ((__format__ (__printf__, 1, 2)));
void as_warn (const char *format, ...) __attribute__ ((__format__ (__printf__, 1, 2)));
void as_bad_where (char *file, unsigned int line, const char *format, ...) __attribute__ ((__format__ (__printf__, 3, 4)));
void as_warn_where (char *file, unsigned int line, const char *format, ...) __attribute__ ((__format__ (__printf__, 3, 4)));
void as_assert (const char *, int, const char *);
void as_abort (const char *, int, const char *) __attribute__ ((__noreturn__));
void fprint_value (FILE *file, addressT value);
void sprint_value (char *buf, addressT value);
int had_errors (void);
int had_warnings (void);
void print_version_id (void);
char *app_push (void);
char *atof_ieee (char *str, int what_kind, LITTLENUM_TYPE * words);
char *input_scrub_include_file (char *filename, char *position);
extern void input_scrub_insert_line (const char *line);
extern void input_scrub_insert_file (char *path);
char *input_scrub_new_file (char *filename);
char *input_scrub_next_buffer (char **bufp);
int do_scrub_chars (int (*get) (char *, int), char *to, int tolen);
int gen_to_words (LITTLENUM_TYPE * words, int precision, long exponent_bits);
int had_err (void);
int ignore_input (void);
void cond_finish_check (int);
void cond_exit_macro (int);
int seen_at_least_1_file (void);
void app_pop (char *arg);
void as_howmuch (FILE * stream);
void as_perror (const char *gripe, const char *filename);
void as_where (char **namep, unsigned int *linep);
void bump_line_counters (void);
void do_scrub_begin (int);
void input_scrub_begin (void);
void input_scrub_close (void);
void input_scrub_end (void);
int new_logical_line (char *fname, int line_number);
void subsegs_begin (void);
void subseg_change (segT seg, int subseg);
segT subseg_new (const char *name, subsegT subseg);
segT subseg_force_new (const char *name, subsegT subseg);
void subseg_set (segT seg, subsegT subseg);
segT subseg_get (const char *, int);
int subseg_text_p (segT);
void start_dependencies (char *);
void register_dependency (char *);
void print_dependencies (void);
struct expressionS;
struct fix;
typedef struct symbol symbolS;
struct relax_type;
typedef struct frag fragS;
valueT add_to_literal_pool (symbolS *, valueT, segT, int);
int check_eh_frame (struct expressionS *, unsigned int *);
int eh_frame_estimate_size_before_relax (fragS *);
int eh_frame_relax_frag (fragS *);
void eh_frame_convert_frag (fragS *);
# 1 "../../binutils-2.13.1/gas/expr.h" 1
# 43 "../../binutils-2.13.1/gas/expr.h"
typedef enum {
O_illegal,
O_absent,
O_constant,
O_symbol,
O_symbol_rva,
O_register,
O_big,
O_uminus,
O_bit_not,
O_logical_not,
O_multiply,
O_divide,
O_modulus,
O_left_shift,
O_right_shift,
O_bit_inclusive_or,
O_bit_or_not,
O_bit_exclusive_or,
O_bit_and,
O_add,
O_subtract,
O_eq,
O_ne,
O_lt,
O_le,
O_ge,
O_gt,
O_logical_and,
O_logical_or,
O_index,
O_md1, O_md2, O_md3, O_md4, O_md5, O_md6, O_md7, O_md8,
O_md9, O_md10, O_md11, O_md12, O_md13, O_md14, O_md15, O_md16,
O_md17, O_md18, O_md19, O_md20, O_md21, O_md22, O_md23, O_md24,
O_md25, O_md26, O_md27, O_md28, O_md29, O_md30, O_md31, O_md32,
O_max
} operatorT;
typedef struct expressionS {
symbolS *X_add_symbol;
symbolS *X_op_symbol;
offsetT X_add_number;
operatorT X_op : 8;
# 138 "../../binutils-2.13.1/gas/expr.h"
unsigned int X_unsigned : 1;
unsigned short X_md;
} expressionS;
extern FLONUM_TYPE generic_floating_point_number;
extern LITTLENUM_TYPE generic_bignum[];
typedef char operator_rankT;
extern char get_symbol_end (void);
extern void expr_begin (void);
extern void expr_set_precedence (void);
extern segT expr (int rank, expressionS * resultP);
extern unsigned int get_single_number (void);
extern symbolS *make_expr_symbol (expressionS * expressionP);
extern int expr_symbol_where
(symbolS *, char **, unsigned int *);
extern symbolS *expr_build_uconstant (offsetT);
extern symbolS *expr_build_unary (operatorT, symbolS *);
extern symbolS *expr_build_binary (operatorT, symbolS *, symbolS *);
extern symbolS *expr_build_dot (void);
# 612 "../../binutils-2.13.1/gas/as.h" 2
# 1 "targ-env.h" 1
# 1 "../../binutils-2.13.1/gas/config/te-generic.h" 1
# 19 "../../binutils-2.13.1/gas/config/te-generic.h"
# 1 "obj-format.h" 1
# 1 "../../binutils-2.13.1/gas/config/obj-elf.h" 1
# 40 "../../binutils-2.13.1/gas/config/obj-elf.h"
# 1 "../../binutils-2.13.1/bfd/elf-bfd.h" 1
# 25 "../../binutils-2.13.1/bfd/elf-bfd.h"
# 1 "../../binutils-2.13.1/include/elf/common.h" 1
# 26 "../../binutils-2.13.1/bfd/elf-bfd.h" 2
# 1 "../../binutils-2.13.1/include/elf/internal.h" 1
# 44 "../../binutils-2.13.1/include/elf/internal.h"
typedef struct elf_internal_ehdr {
unsigned char e_ident[16];
bfd_vma e_entry;
bfd_size_type e_phoff;
bfd_size_type e_shoff;
unsigned long e_version;
unsigned long e_flags;
unsigned short e_type;
unsigned short e_machine;
unsigned int e_ehsize;
unsigned int e_phentsize;
unsigned int e_phnum;
unsigned int e_shentsize;
unsigned int e_shnum;
unsigned int e_shstrndx;
} Elf_Internal_Ehdr;
# 68 "../../binutils-2.13.1/include/elf/internal.h"
struct elf_internal_phdr {
unsigned long p_type;
unsigned long p_flags;
bfd_vma p_offset;
bfd_vma p_vaddr;
bfd_vma p_paddr;
bfd_vma p_filesz;
bfd_vma p_memsz;
bfd_vma p_align;
};
typedef struct elf_internal_phdr Elf_Internal_Phdr;
typedef struct elf_internal_shdr {
unsigned int sh_name;
unsigned int sh_type;
bfd_vma sh_flags;
bfd_vma sh_addr;
bfd_size_type sh_size;
bfd_size_type sh_entsize;
unsigned long sh_link;
unsigned long sh_info;
file_ptr sh_offset;
unsigned int sh_addralign;
asection * bfd_section;
unsigned char *contents;
} Elf_Internal_Shdr;
# 111 "../../binutils-2.13.1/include/elf/internal.h"
struct elf_internal_sym {
bfd_vma st_value;
bfd_vma st_size;
unsigned long st_name;
unsigned char st_info;
unsigned char st_other;
unsigned int st_shndx;
};
typedef struct elf_internal_sym Elf_Internal_Sym;
# 129 "../../binutils-2.13.1/include/elf/internal.h"
typedef struct elf_internal_note {
unsigned long namesz;
unsigned long descsz;
unsigned long type;
char * namedata;
char * descdata;
bfd_vma descpos;
} Elf_Internal_Note;
typedef struct elf_internal_rel {
bfd_vma r_offset;
bfd_vma r_info;
} Elf_Internal_Rel;
typedef struct elf_internal_rela {
bfd_vma r_offset;
bfd_vma r_info;
bfd_vma r_addend;
} Elf_Internal_Rela;
# 166 "../../binutils-2.13.1/include/elf/internal.h"
typedef struct elf_internal_dyn {
bfd_vma d_tag;
union {
bfd_vma d_val;
bfd_vma d_ptr;
} d_un;
} Elf_Internal_Dyn;
# 183 "../../binutils-2.13.1/include/elf/internal.h"
typedef struct elf_internal_verdef {
unsigned short vd_version;
unsigned short vd_flags;
unsigned short vd_ndx;
unsigned short vd_cnt;
unsigned long vd_hash;
unsigned long vd_aux;
unsigned long vd_next;
bfd *vd_bfd;
const char *vd_nodename;
struct elf_internal_verdef *vd_nextdef;
struct elf_internal_verdaux *vd_auxptr;
unsigned int vd_exp_refno;
} Elf_Internal_Verdef;
typedef struct elf_internal_verdaux {
unsigned long vda_name;
unsigned long vda_next;
const char *vda_nodename;
struct elf_internal_verdaux *vda_nextptr;
} Elf_Internal_Verdaux;
typedef struct elf_internal_verneed {
unsigned short vn_version;
unsigned short vn_cnt;
unsigned long vn_file;
unsigned long vn_aux;
unsigned long vn_next;
bfd *vn_bfd;
const char *vn_filename;
struct elf_internal_vernaux *vn_auxptr;
struct elf_internal_verneed *vn_nextref;
} Elf_Internal_Verneed;
typedef struct elf_internal_vernaux {
unsigned long vna_hash;
unsigned short vna_flags;
unsigned short vna_other;
unsigned long vna_name;
unsigned long vna_next;
const char *vna_nodename;
struct elf_internal_vernaux *vna_nextptr;
} Elf_Internal_Vernaux;
typedef struct elf_internal_versym {
unsigned short vs_vers;
} Elf_Internal_Versym;
typedef struct
{
unsigned short int si_boundto;
unsigned short int si_flags;
} Elf_Internal_Syminfo;
# 287 "../../binutils-2.13.1/include/elf/internal.h"
struct elf_segment_map
{
struct elf_segment_map *next;
unsigned long p_type;
unsigned long p_flags;
bfd_vma p_paddr;
unsigned int p_flags_valid : 1;
unsigned int p_paddr_valid : 1;
unsigned int includes_filehdr : 1;
unsigned int includes_phdrs : 1;
unsigned int count;
asection *sections[1];
};
# 27 "../../binutils-2.13.1/bfd/elf-bfd.h" 2
# 1 "../../binutils-2.13.1/include/elf/external.h" 1
# 40 "../../binutils-2.13.1/include/elf/external.h"
typedef struct {
unsigned char e_ident[16];
unsigned char e_type[2];
unsigned char e_machine[2];
unsigned char e_version[4];
unsigned char e_entry[4];
unsigned char e_phoff[4];
unsigned char e_shoff[4];
unsigned char e_flags[4];
unsigned char e_ehsize[2];
unsigned char e_phentsize[2];
unsigned char e_phnum[2];
unsigned char e_shentsize[2];
unsigned char e_shnum[2];
unsigned char e_shstrndx[2];
} Elf32_External_Ehdr;
typedef struct {
unsigned char e_ident[16];
unsigned char e_type[2];
unsigned char e_machine[2];
unsigned char e_version[4];
unsigned char e_entry[8];
unsigned char e_phoff[8];
unsigned char e_shoff[8];
unsigned char e_flags[4];
unsigned char e_ehsize[2];
unsigned char e_phentsize[2];
unsigned char e_phnum[2];
unsigned char e_shentsize[2];
unsigned char e_shnum[2];
unsigned char e_shstrndx[2];
} Elf64_External_Ehdr;
typedef struct {
unsigned char p_type[4];
unsigned char p_offset[4];
unsigned char p_vaddr[4];
unsigned char p_paddr[4];
unsigned char p_filesz[4];
unsigned char p_memsz[4];
unsigned char p_flags[4];
unsigned char p_align[4];
} Elf32_External_Phdr;
typedef struct {
unsigned char p_type[4];
unsigned char p_flags[4];
unsigned char p_offset[8];
unsigned char p_vaddr[8];
unsigned char p_paddr[8];
unsigned char p_filesz[8];
unsigned char p_memsz[8];
unsigned char p_align[8];
} Elf64_External_Phdr;
typedef struct {
unsigned char sh_name[4];
unsigned char sh_type[4];
unsigned char sh_flags[4];
unsigned char sh_addr[4];
unsigned char sh_offset[4];
unsigned char sh_size[4];
unsigned char sh_link[4];
unsigned char sh_info[4];
unsigned char sh_addralign[4];
unsigned char sh_entsize[4];
} Elf32_External_Shdr;
typedef struct {
unsigned char sh_name[4];
unsigned char sh_type[4];
unsigned char sh_flags[8];
unsigned char sh_addr[8];
unsigned char sh_offset[8];
unsigned char sh_size[8];
unsigned char sh_link[4];
unsigned char sh_info[4];
unsigned char sh_addralign[8];
unsigned char sh_entsize[8];
} Elf64_External_Shdr;
typedef struct {
unsigned char st_name[4];
unsigned char st_value[4];
unsigned char st_size[4];
unsigned char st_info[1];
unsigned char st_other[1];
unsigned char st_shndx[2];
} Elf32_External_Sym;
typedef struct {
unsigned char st_name[4];
unsigned char st_info[1];
unsigned char st_other[1];
unsigned char st_shndx[2];
unsigned char st_value[8];
unsigned char st_size[8];
} Elf64_External_Sym;
typedef struct {
unsigned char est_shndx[4];
} Elf_External_Sym_Shndx;
typedef struct {
unsigned char namesz[4];
unsigned char descsz[4];
unsigned char type[4];
char name[1];
} Elf_External_Note;
typedef struct {
unsigned char r_offset[4];
unsigned char r_info[4];
} Elf32_External_Rel;
typedef struct {
unsigned char r_offset[4];
unsigned char r_info[4];
unsigned char r_addend[4];
} Elf32_External_Rela;
typedef struct {
unsigned char r_offset[8];
unsigned char r_info[8];
} Elf64_External_Rel;
typedef struct {
unsigned char r_offset[8];
unsigned char r_info[8];
unsigned char r_addend[8];
} Elf64_External_Rela;
typedef struct {
unsigned char d_tag[4];
union {
unsigned char d_val[4];
unsigned char d_ptr[4];
} d_un;
} Elf32_External_Dyn;
typedef struct {
unsigned char d_tag[8];
union {
unsigned char d_val[8];
unsigned char d_ptr[8];
} d_un;
} Elf64_External_Dyn;
typedef struct {
unsigned char vd_version[2];
unsigned char vd_flags[2];
unsigned char vd_ndx[2];
unsigned char vd_cnt[2];
unsigned char vd_hash[4];
unsigned char vd_aux[4];
unsigned char vd_next[4];
} Elf_External_Verdef;
typedef struct {
unsigned char vda_name[4];
unsigned char vda_next[4];
} Elf_External_Verdaux;
typedef struct {
unsigned char vn_version[2];
unsigned char vn_cnt[2];
unsigned char vn_file[4];
unsigned char vn_aux[4];
unsigned char vn_next[4];
} Elf_External_Verneed;
typedef struct {
unsigned char vna_hash[4];
unsigned char vna_flags[2];
unsigned char vna_other[2];
unsigned char vna_name[4];
unsigned char vna_next[4];
} Elf_External_Vernaux;
typedef struct {
unsigned char vs_vers[2];
}
__attribute__ ((packed))
Elf_External_Versym;
typedef struct
{
unsigned char si_boundto[2];
unsigned char si_flags[2];
} Elf_External_Syminfo;
# 28 "../../binutils-2.13.1/bfd/elf-bfd.h" 2
# 1 "../../binutils-2.13.1/include/bfdlink.h" 1
# 26 "../../binutils-2.13.1/include/bfdlink.h"
enum bfd_link_strip
{
strip_none,
strip_debugger,
strip_some,
strip_all
};
enum bfd_link_discard
{
discard_sec_merge,
discard_none,
discard_l,
discard_all
};
enum bfd_link_hash_table_type
{
bfd_link_generic_hash_table,
bfd_link_elf_hash_table
};
enum bfd_link_hash_type
{
bfd_link_hash_new,
bfd_link_hash_undefined,
bfd_link_hash_undefweak,
bfd_link_hash_defined,
bfd_link_hash_defweak,
bfd_link_hash_common,
bfd_link_hash_indirect,
bfd_link_hash_warning
};
struct bfd_link_hash_entry
{
struct bfd_hash_entry root;
enum bfd_link_hash_type type;
# 97 "../../binutils-2.13.1/include/bfdlink.h"
struct bfd_link_hash_entry *next;
union
{
struct
{
bfd *abfd;
} undef;
struct
{
bfd_vma value;
asection *section;
} def;
struct
{
struct bfd_link_hash_entry *link;
const char *warning;
} i;
struct
{
# 131 "../../binutils-2.13.1/include/bfdlink.h"
bfd_size_type size;
struct bfd_link_hash_common_entry
{
unsigned int alignment_power;
asection *section;
} *p;
} c;
} u;
};
struct bfd_link_hash_table
{
struct bfd_hash_table table;
const bfd_target *creator;
struct bfd_link_hash_entry *undefs;
struct bfd_link_hash_entry *undefs_tail;
enum bfd_link_hash_table_type type;
};
extern struct bfd_link_hash_entry *bfd_link_hash_lookup
(struct bfd_link_hash_table *, const char *, boolean create, boolean copy, boolean follow);
extern struct bfd_link_hash_entry *bfd_wrapped_link_hash_lookup
(bfd *, struct bfd_link_info *, const char *, boolean, boolean, boolean);
extern void bfd_link_hash_traverse
(struct bfd_link_hash_table *, boolean (*) (struct bfd_link_hash_entry *, void *), void *);
extern void bfd_link_add_undef
(struct bfd_link_hash_table *, struct bfd_link_hash_entry *);
struct bfd_sym_chain
{
struct bfd_sym_chain *next;
const char *name;
};
struct bfd_link_info
{
const struct bfd_link_callbacks *callbacks;
boolean relocateable;
boolean emitrelocations;
boolean task_link;
boolean shared;
boolean symbolic;
boolean export_dynamic;
boolean static_link;
boolean traditional_format;
boolean optimize;
boolean no_undefined;
# 252 "../../binutils-2.13.1/include/bfdlink.h"
boolean allow_shlib_undefined;
boolean allow_multiple_definition;
boolean allow_undefined_version;
enum bfd_link_strip strip;
enum bfd_link_discard discard;
boolean keep_memory;
bfd *input_bfds;
asection *create_object_symbols_section;
struct bfd_sym_chain *gc_sym_list;
struct bfd_link_hash_table *hash;
struct bfd_hash_table *keep_hash;
boolean notice_all;
struct bfd_hash_table *notice_hash;
struct bfd_hash_table *wrap_hash;
void * base_file;
int mpc860c0;
const char *init_function;
const char *fini_function;
boolean new_dtags;
bfd_vma flags;
bfd_vma flags_1;
int pei386_auto_import;
boolean combreloc;
boolean nocopyreloc;
boolean eh_frame_hdr;
unsigned int spare_dynamic_tags;
};
# 358 "../../binutils-2.13.1/include/bfdlink.h"
struct bfd_link_callbacks
{
boolean (*add_archive_element) (struct bfd_link_info *, bfd *abfd, const char *name);
# 373 "../../binutils-2.13.1/include/bfdlink.h"
boolean (*multiple_definition) (struct bfd_link_info *, const char *name, bfd *obfd, asection *osec, bfd_vma oval, bfd *nbfd, asection *nsec, bfd_vma nval);
# 392 "../../binutils-2.13.1/include/bfdlink.h"
boolean (*multiple_common) (struct bfd_link_info *, const char *name, bfd *obfd, enum bfd_link_hash_type otype, bfd_vma osize, bfd *nbfd, enum bfd_link_hash_type ntype, bfd_vma nsize);
# 406 "../../binutils-2.13.1/include/bfdlink.h"
boolean (*add_to_set) (struct bfd_link_info *, struct bfd_link_hash_entry *entry, bfd_reloc_code_real_type reloc, bfd *abfd, asection *sec, bfd_vma value);
# 416 "../../binutils-2.13.1/include/bfdlink.h"
boolean (*constructor) (struct bfd_link_info *, boolean constructor, const char *name, bfd *abfd, asection *sec, bfd_vma value);
# 427 "../../binutils-2.13.1/include/bfdlink.h"
boolean (*warning) (struct bfd_link_info *, const char *warning, const char *symbol, bfd *abfd, asection *section, bfd_vma address);
# 436 "../../binutils-2.13.1/include/bfdlink.h"
boolean (*undefined_symbol) (struct bfd_link_info *, const char *name, bfd *abfd, asection *section, bfd_vma address, boolean fatal);
# 448 "../../binutils-2.13.1/include/bfdlink.h"
boolean (*reloc_overflow) (struct bfd_link_info *, const char *name, const char *reloc_name, bfd_vma addend, bfd *abfd, asection *section, bfd_vma address);
# 460 "../../binutils-2.13.1/include/bfdlink.h"
boolean (*reloc_dangerous) (struct bfd_link_info *, const char *message, bfd *abfd, asection *section, bfd_vma address);
# 470 "../../binutils-2.13.1/include/bfdlink.h"
boolean (*unattached_reloc) (struct bfd_link_info *, const char *name, bfd *abfd, asection *section, bfd_vma address);
boolean (*notice) (struct bfd_link_info *, const char *name, bfd *abfd, asection *section, bfd_vma address);
};
enum bfd_link_order_type
{
bfd_undefined_link_order,
bfd_indirect_link_order,
bfd_data_link_order,
bfd_section_reloc_link_order,
bfd_symbol_reloc_link_order
};
struct bfd_link_order
{
struct bfd_link_order *next;
enum bfd_link_order_type type;
bfd_vma offset;
bfd_size_type size;
union
{
struct
{
asection *section;
} indirect;
struct
{
unsigned int size;
bfd_byte *contents;
} data;
struct
{
struct bfd_link_order_reloc *p;
} reloc;
} u;
};
# 554 "../../binutils-2.13.1/include/bfdlink.h"
struct bfd_link_order_reloc
{
bfd_reloc_code_real_type reloc;
union
{
asection *section;
const char *name;
} u;
bfd_vma addend;
};
extern struct bfd_link_order *bfd_new_link_order (bfd *, asection *);
# 588 "../../binutils-2.13.1/include/bfdlink.h"
struct bfd_elf_version_expr
{
struct bfd_elf_version_expr *next;
const char *pattern;
int (*match) (struct bfd_elf_version_expr *, const char *);
unsigned int symver: 1;
unsigned int script : 1;
};
struct bfd_elf_version_deps
{
struct bfd_elf_version_deps *next;
struct bfd_elf_version_tree *version_needed;
};
struct bfd_elf_version_tree
{
struct bfd_elf_version_tree *next;
const char *name;
unsigned int vernum;
struct bfd_elf_version_expr *globals;
struct bfd_elf_version_expr *locals;
struct bfd_elf_version_deps *deps;
unsigned int name_indx;
int used;
};
# 29 "../../binutils-2.13.1/bfd/elf-bfd.h" 2
# 60 "../../binutils-2.13.1/bfd/elf-bfd.h"
typedef struct
{
asymbol symbol;
Elf_Internal_Sym internal_elf_sym;
union
{
unsigned int hppa_arg_reloc;
void * mips_extr;
void * any;
}
tc_data;
unsigned short version;
} elf_symbol_type;
struct elf_strtab_hash;
struct elf_link_hash_entry
{
struct bfd_link_hash_entry root;
long indx;
# 106 "../../binutils-2.13.1/bfd/elf-bfd.h"
long dynindx;
unsigned long dynstr_index;
unsigned long elf_hash_value;
struct elf_link_hash_entry *weakdef;
struct elf_linker_section_pointers *linker_section_pointer;
union
{
Elf_Internal_Verdef *verdef;
struct bfd_elf_version_tree *vertree;
} verinfo;
size_t vtable_entries_size;
boolean *vtable_entries_used;
struct elf_link_hash_entry *vtable_parent;
# 154 "../../binutils-2.13.1/bfd/elf-bfd.h"
union
{
bfd_signed_vma refcount;
bfd_vma offset;
} got;
union
{
bfd_signed_vma refcount;
bfd_vma offset;
} plt;
bfd_size_type size;
char type;
unsigned char other;
unsigned short elf_link_hash_flags;
# 205 "../../binutils-2.13.1/bfd/elf-bfd.h"
};
struct elf_link_local_dynamic_entry
{
struct elf_link_local_dynamic_entry *next;
bfd *input_bfd;
long input_indx;
long dynindx;
Elf_Internal_Sym isym;
};
struct elf_link_loaded_list
{
struct elf_link_loaded_list *next;
bfd *abfd;
};
enum elf_link_info_type
{
ELF_INFO_TYPE_NONE,
ELF_INFO_TYPE_STABS,
ELF_INFO_TYPE_MERGE,
ELF_INFO_TYPE_EH_FRAME,
ELF_INFO_TYPE_EH_FRAME_HDR,
ELF_INFO_TYPE_JUST_SYMS,
ELF_INFO_TYPE_LAST
};
struct elf_link_tls_segment
{
bfd_vma start;
bfd_size_type size;
unsigned int align;
};
struct elf_link_hash_table
{
struct bfd_link_hash_table root;
boolean dynamic_sections_created;
bfd *dynobj;
bfd_signed_vma init_refcount;
bfd_size_type dynsymcount;
struct elf_strtab_hash *dynstr;
bfd_size_type bucketcount;
struct bfd_link_needed_list *needed;
struct elf_link_hash_entry *hgot;
void * stab_info;
void * merge_info;
struct elf_link_local_dynamic_entry *dynlocal;
struct bfd_link_needed_list *runpath;
struct elf_link_tls_segment *tls_segment;
struct elf_link_loaded_list *loaded;
};
# 337 "../../binutils-2.13.1/bfd/elf-bfd.h"
struct sym_sec_cache
{
bfd *abfd;
unsigned long indx[32];
asection *sec[32];
};
struct elf_size_info {
unsigned char sizeof_ehdr, sizeof_phdr, sizeof_shdr;
unsigned char sizeof_rel, sizeof_rela, sizeof_sym, sizeof_dyn, sizeof_note;
unsigned char sizeof_hash_entry;
unsigned char int_rels_per_ext_rel;
unsigned char arch_size, file_align;
unsigned char elfclass, ev_current;
int (*write_out_phdrs)
(bfd *, const Elf_Internal_Phdr *, unsigned int);
boolean (*write_shdrs_and_ehdr)
(bfd *);
void (*write_relocs)
(bfd *, asection *, void *);
void (*swap_symbol_in)
(bfd *, const void *, const void *, Elf_Internal_Sym *);
void (*swap_symbol_out)
(bfd *, const Elf_Internal_Sym *, void *, void *);
boolean (*slurp_reloc_table)
(bfd *, asection *, asymbol **, boolean);
long (*slurp_symbol_table)
(bfd *, asymbol **, boolean);
void (*swap_dyn_in)
(bfd *, const void *, Elf_Internal_Dyn *);
void (*swap_dyn_out)
(bfd *, const Elf_Internal_Dyn *, void *);
void (*swap_reloc_in)
(bfd *, const bfd_byte *, Elf_Internal_Rel *);
void (*swap_reloc_out)
(bfd *, const Elf_Internal_Rel *, bfd_byte *);
void (*swap_reloca_in)
(bfd *, const bfd_byte *, Elf_Internal_Rela *);
void (*swap_reloca_out)
(bfd *, const Elf_Internal_Rela *, bfd_byte *);
};
enum elf_reloc_type_class {
reloc_class_normal,
reloc_class_relative,
reloc_class_plt,
reloc_class_copy
};
struct elf_reloc_cookie
{
Elf_Internal_Rela *rels, *rel, *relend;
Elf_Internal_Sym *locsyms;
bfd *abfd;
size_t locsymcount;
size_t extsymoff;
struct elf_link_hash_entry **sym_hashes;
boolean bad_symtab;
};
typedef enum {
ict_none,
ict_irix5,
ict_irix6
} irix_compat_t;
struct elf_backend_data
{
enum bfd_architecture arch;
int elf_machine_code;
bfd_vma maxpagesize;
void (*elf_info_to_howto)
(bfd *, arelent *, Elf_Internal_Rela *);
void (*elf_info_to_howto_rel)
(bfd *, arelent *, Elf_Internal_Rel *);
boolean (*elf_backend_sym_is_global)
(bfd *, asymbol *);
# 474 "../../binutils-2.13.1/bfd/elf-bfd.h"
boolean (*elf_backend_object_p)
(bfd *);
void (*elf_backend_symbol_processing)
(bfd *, asymbol *);
boolean (*elf_backend_symbol_table_processing)
(bfd *, elf_symbol_type *, unsigned int);
int (*elf_backend_get_symbol_type)
( Elf_Internal_Sym *, int);
boolean (*elf_backend_section_processing)
(bfd *, Elf_Internal_Shdr *);
boolean (*elf_backend_section_from_shdr)
(bfd *, Elf_Internal_Shdr *, const char *);
boolean (*elf_backend_section_flags)
(flagword *, Elf_Internal_Shdr *);
boolean (*elf_backend_section_from_phdr)
(bfd *, Elf_Internal_Phdr *, int);
boolean (*elf_backend_fake_sections)
(bfd *, Elf_Internal_Shdr *, asection *);
boolean (*elf_backend_section_from_bfd_section)
(bfd *, asection *, int *retval);
# 536 "../../binutils-2.13.1/bfd/elf-bfd.h"
boolean (*elf_add_symbol_hook)
(bfd *abfd, struct bfd_link_info *info, const Elf_Internal_Sym *, const char **name, flagword *flags, asection **sec, bfd_vma *value);
boolean (*elf_backend_link_output_symbol_hook)
(bfd *, struct bfd_link_info *info, const char *, Elf_Internal_Sym *, asection *);
# 555 "../../binutils-2.13.1/bfd/elf-bfd.h"
boolean (*elf_backend_create_dynamic_sections)
(bfd *abfd, struct bfd_link_info *info);
# 568 "../../binutils-2.13.1/bfd/elf-bfd.h"
boolean (*check_relocs)
(bfd *abfd, struct bfd_link_info *info, asection *o, const Elf_Internal_Rela *relocs);
# 584 "../../binutils-2.13.1/bfd/elf-bfd.h"
boolean (*elf_backend_adjust_dynamic_symbol)
(struct bfd_link_info *info, struct elf_link_hash_entry *h);
boolean (*elf_backend_always_size_sections)
(bfd *output_bfd, struct bfd_link_info *info);
# 604 "../../binutils-2.13.1/bfd/elf-bfd.h"
boolean (*elf_backend_size_dynamic_sections)
(bfd *output_bfd, struct bfd_link_info *info);
# 635 "../../binutils-2.13.1/bfd/elf-bfd.h"
boolean (*elf_backend_relocate_section)
(bfd *output_bfd, struct bfd_link_info *info, bfd *input_bfd, asection *input_section, bfd_byte *contents, Elf_Internal_Rela *relocs, Elf_Internal_Sym *local_syms, asection **local_sections);
# 648 "../../binutils-2.13.1/bfd/elf-bfd.h"
boolean (*elf_backend_finish_dynamic_symbol)
(bfd *output_bfd, struct bfd_link_info *info, struct elf_link_hash_entry *h, Elf_Internal_Sym *sym);
boolean (*elf_backend_finish_dynamic_sections)
(bfd *output_bfd, struct bfd_link_info *info);
void (*elf_backend_begin_write_processing)
(bfd *, struct bfd_link_info *);
void (*elf_backend_final_write_processing)
(bfd *, boolean linker);
int (*elf_backend_additional_program_headers)
(bfd *);
boolean (*elf_backend_modify_segment_map)
(bfd *);
asection * (*gc_mark_hook)
(asection *sec, struct bfd_link_info *, Elf_Internal_Rela *, struct elf_link_hash_entry *h, Elf_Internal_Sym *);
boolean (*gc_sweep_hook)
(bfd *abfd, struct bfd_link_info *info, asection *o, const Elf_Internal_Rela *relocs);
void (*elf_backend_post_process_headers)
(bfd *, struct bfd_link_info *);
const char *(*elf_backend_print_symbol_all)
(bfd *, void *, asymbol *);
boolean (*elf_backend_output_arch_syms)
(bfd *, struct bfd_link_info *, void *, boolean (*) (void *, const char *, Elf_Internal_Sym *, asection *));
void (*elf_backend_copy_indirect_symbol)
(struct elf_backend_data *, struct elf_link_hash_entry *, struct elf_link_hash_entry *);
void (*elf_backend_hide_symbol)
(struct bfd_link_info *, struct elf_link_hash_entry *, boolean);
boolean (*elf_backend_emit_relocs)
(bfd *, asection *, Elf_Internal_Shdr *, Elf_Internal_Rela *);
unsigned int (*elf_backend_count_relocs)
(asection *, Elf_Internal_Rela *);
boolean (*elf_backend_grok_prstatus)
(bfd *, Elf_Internal_Note *);
boolean (*elf_backend_grok_psinfo)
(bfd *, Elf_Internal_Note *);
void (* elf_backend_sprintf_vma)
(bfd *, char *, bfd_vma);
void (* elf_backend_fprintf_vma)
(bfd *, void *, bfd_vma);
enum elf_reloc_type_class (*elf_backend_reloc_type_class)
(const Elf_Internal_Rela *);
boolean (*elf_backend_discard_info)
(bfd *, struct elf_reloc_cookie *, struct bfd_link_info *);
boolean (*elf_backend_ignore_discarded_relocs)
(asection *);
boolean (*elf_backend_write_section)
(bfd *, asection *, bfd_byte *);
irix_compat_t (*elf_backend_mips_irix_compat)
(bfd *);
reloc_howto_type *(*elf_backend_mips_rtype_to_howto)
(unsigned int, boolean);
const struct ecoff_debug_swap *elf_backend_ecoff_debug_swap;
int elf_machine_alt1;
int elf_machine_alt2;
const struct elf_size_info *s;
bfd_vma got_symbol_offset;
bfd_vma got_header_size;
bfd_vma plt_header_size;
unsigned collect : 1;
unsigned type_change_ok : 1;
unsigned may_use_rel_p : 1;
unsigned may_use_rela_p : 1;
unsigned default_use_rela_p : 1;
unsigned rela_normal : 1;
unsigned sign_extend_vma : 1;
unsigned want_got_plt : 1;
unsigned plt_readonly : 1;
unsigned want_plt_sym : 1;
unsigned plt_not_loaded : 1;
unsigned plt_alignment : 4;
unsigned can_gc_sections : 1;
unsigned can_refcount : 1;
unsigned want_got_sym : 1;
unsigned want_dynbss : 1;
unsigned want_p_paddr_set_to_zero : 1;
};
struct bfd_elf_section_data
{
Elf_Internal_Shdr this_hdr;
Elf_Internal_Shdr rel_hdr;
Elf_Internal_Shdr *rel_hdr2;
unsigned int rel_count;
unsigned int rel_count2;
void * local_dynrel;
asection *sreloc;
int this_idx;
int rel_idx;
int rel_idx2;
struct elf_link_hash_entry **rel_hashes;
Elf_Internal_Rela *relocs;
long dynindx;
void * sec_info;
enum elf_link_info_type sec_info_type;
union {
const char *name;
struct symbol_cache_entry *id;
} group;
asection *next_in_group;
void * tdata;
unsigned int use_rela_p:1;
unsigned int linkonce_p:1;
};
# 954 "../../binutils-2.13.1/bfd/elf-bfd.h"
typedef enum elf_linker_section_enum
{
LINKER_SECTION_UNKNOWN,
LINKER_SECTION_GOT,
LINKER_SECTION_PLT,
LINKER_SECTION_SDATA,
LINKER_SECTION_SDATA2,
LINKER_SECTION_MAX
} elf_linker_section_enum_t;
typedef struct elf_linker_section
{
char *name;
char *rel_name;
char *bss_name;
char *sym_name;
asection *section;
asection *bss_section;
asection *rel_section;
struct elf_link_hash_entry *sym_hash;
bfd_vma initial_size;
bfd_vma sym_offset;
bfd_vma hole_size;
bfd_vma hole_offset;
bfd_vma max_hole_offset;
elf_linker_section_enum_t which;
boolean hole_written_p;
unsigned int alignment;
flagword flags;
} elf_linker_section_t;
typedef struct elf_linker_section_pointers
{
struct elf_linker_section_pointers *next;
bfd_vma offset;
bfd_vma addend;
elf_linker_section_enum_t which;
boolean written_address_p;
} elf_linker_section_pointers_t;
struct elf_obj_tdata
{
Elf_Internal_Ehdr elf_header[1];
Elf_Internal_Shdr **elf_sect_ptr;
Elf_Internal_Phdr *phdr;
struct elf_segment_map *segment_map;
struct elf_strtab_hash *strtab_ptr;
int num_locals;
int num_globals;
unsigned int num_elf_sections;
int num_section_syms;
asymbol **section_syms;
Elf_Internal_Shdr symtab_hdr;
Elf_Internal_Shdr shstrtab_hdr;
Elf_Internal_Shdr strtab_hdr;
Elf_Internal_Shdr dynsymtab_hdr;
Elf_Internal_Shdr dynstrtab_hdr;
Elf_Internal_Shdr dynversym_hdr;
Elf_Internal_Shdr dynverref_hdr;
Elf_Internal_Shdr dynverdef_hdr;
Elf_Internal_Shdr symtab_shndx_hdr;
unsigned int symtab_section, shstrtab_section;
unsigned int strtab_section, dynsymtab_section;
unsigned int symtab_shndx_section;
unsigned int dynversym_section, dynverdef_section, dynverref_section;
file_ptr next_file_pos;
bfd_vma gp;
unsigned int gp_size;
Elf_Internal_Shdr **group_sect_ptr;
int num_group;
int core_signal;
int core_pid;
int core_lwpid;
char* core_program;
char* core_command;
boolean linker;
struct elf_link_hash_entry **sym_hashes;
# 1063 "../../binutils-2.13.1/bfd/elf-bfd.h"
union
{
bfd_signed_vma *refcounts;
bfd_vma *offsets;
} local_got;
elf_linker_section_pointers_t **linker_section_pointers;
# 1081 "../../binutils-2.13.1/bfd/elf-bfd.h"
const char *dt_name;
const char *dt_soname;
boolean bad_symtab;
bfd_size_type program_header_size;
void * line_info;
struct mips_elf_find_line *find_line_info;
struct dwarf1_debug *dwarf1_find_line_info;
void * dwarf2_find_line_info;
asection **local_stubs;
boolean flags_init;
boolean eh_frame_hdr;
unsigned int cverdefs;
unsigned int cverrefs;
Elf_Internal_Verdef *verdef;
Elf_Internal_Verneed *verref;
struct elf_linker_section *linker_section[ (int)LINKER_SECTION_MAX ];
asymbol *elf_data_symbol;
asymbol *elf_text_symbol;
asection *elf_data_section;
asection *elf_text_section;
};
# 1180 "../../binutils-2.13.1/bfd/elf-bfd.h"
extern void _bfd_elf_swap_verdef_in
(bfd *, const Elf_External_Verdef *, Elf_Internal_Verdef *);
extern void _bfd_elf_swap_verdef_out
(bfd *, const Elf_Internal_Verdef *, Elf_External_Verdef *);
extern void _bfd_elf_swap_verdaux_in
(bfd *, const Elf_External_Verdaux *, Elf_Internal_Verdaux *);
extern void _bfd_elf_swap_verdaux_out
(bfd *, const Elf_Internal_Verdaux *, Elf_External_Verdaux *);
extern void _bfd_elf_swap_verneed_in
(bfd *, const Elf_External_Verneed *, Elf_Internal_Verneed *);
extern void _bfd_elf_swap_verneed_out
(bfd *, const Elf_Internal_Verneed *, Elf_External_Verneed *);
extern void _bfd_elf_swap_vernaux_in
(bfd *, const Elf_External_Vernaux *, Elf_Internal_Vernaux *);
extern void _bfd_elf_swap_vernaux_out
(bfd *, const Elf_Internal_Vernaux *, Elf_External_Vernaux *);
extern void _bfd_elf_swap_versym_in
(bfd *, const Elf_External_Versym *, Elf_Internal_Versym *);
extern void _bfd_elf_swap_versym_out
(bfd *, const Elf_Internal_Versym *, Elf_External_Versym *);
extern int _bfd_elf_section_from_bfd_section
(bfd *, asection *);
extern char *bfd_elf_string_from_elf_section
(bfd *, unsigned, unsigned);
extern char *bfd_elf_get_str_section
(bfd *, unsigned);
extern Elf_Internal_Sym *bfd_elf_get_elf_syms
(bfd *, Elf_Internal_Shdr *, size_t, size_t, Elf_Internal_Sym *, void *, Elf_External_Sym_Shndx *);
extern boolean _bfd_elf_copy_private_bfd_data
(bfd *, bfd *);
extern boolean _bfd_elf_print_private_bfd_data
(bfd *, void *);
extern void bfd_elf_print_symbol
(bfd *, void *, asymbol *, bfd_print_symbol_type);
# 1225 "../../binutils-2.13.1/bfd/elf-bfd.h"
extern void _bfd_elf_sprintf_vma
(bfd *, char *, bfd_vma);
extern void _bfd_elf_fprintf_vma
(bfd *, void *, bfd_vma);
extern enum elf_reloc_type_class _bfd_elf_reloc_type_class
(const Elf_Internal_Rela *);
extern bfd_vma _bfd_elf_rela_local_sym
(bfd *, Elf_Internal_Sym *, asection *, Elf_Internal_Rela *);
extern bfd_vma _bfd_elf_rel_local_sym
(bfd *, Elf_Internal_Sym *, asection **, bfd_vma);
extern bfd_vma _bfd_elf_section_offset
(bfd *, struct bfd_link_info *, asection *, bfd_vma);
extern unsigned long bfd_elf_hash
(const char *);
extern bfd_reloc_status_type bfd_elf_generic_reloc
(bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
extern boolean bfd_elf_mkobject
(bfd *);
extern boolean bfd_elf_mkcorefile
(bfd *);
extern Elf_Internal_Shdr *bfd_elf_find_section
(bfd *, char *);
extern boolean _bfd_elf_make_section_from_shdr
(bfd *, Elf_Internal_Shdr *, const char *);
extern boolean _bfd_elf_make_section_from_phdr
(bfd *, Elf_Internal_Phdr *, int, const char *);
extern struct bfd_hash_entry *_bfd_elf_link_hash_newfunc
(struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
extern struct bfd_link_hash_table *_bfd_elf_link_hash_table_create
(bfd *);
extern void _bfd_elf_link_hash_copy_indirect
(struct elf_backend_data *, struct elf_link_hash_entry *, struct elf_link_hash_entry *);
extern void _bfd_elf_link_hash_hide_symbol
(struct bfd_link_info *, struct elf_link_hash_entry *, boolean);
extern boolean _bfd_elf_link_hash_table_init
(struct elf_link_hash_table *, bfd *, struct bfd_hash_entry *(*) (struct bfd_hash_entry *, struct bfd_hash_table *, const char *));
extern boolean _bfd_elf_slurp_version_tables
(bfd *);
extern boolean _bfd_elf_merge_sections
(bfd *, struct bfd_link_info *);
extern boolean bfd_elf_discard_group
(bfd *, struct sec *);
extern void bfd_elf_set_group_contents
(bfd *, asection *, void *);
extern void _bfd_elf_link_just_syms
(asection *, struct bfd_link_info *);
extern boolean _bfd_elf_copy_private_symbol_data
(bfd *, asymbol *, bfd *, asymbol *);
extern boolean _bfd_elf_copy_private_section_data
(bfd *, asection *, bfd *, asection *);
extern boolean _bfd_elf_write_object_contents
(bfd *);
extern boolean _bfd_elf_write_corefile_contents
(bfd *);
extern boolean _bfd_elf_set_section_contents
(bfd *, sec_ptr, void *, file_ptr, bfd_size_type);
extern long _bfd_elf_get_symtab_upper_bound
(bfd *);
extern long _bfd_elf_get_symtab
(bfd *, asymbol **);
extern long _bfd_elf_get_dynamic_symtab_upper_bound
(bfd *);
extern long _bfd_elf_canonicalize_dynamic_symtab
(bfd *, asymbol **);
extern long _bfd_elf_get_reloc_upper_bound
(bfd *, sec_ptr);
extern long _bfd_elf_canonicalize_reloc
(bfd *, sec_ptr, arelent **, asymbol **);
extern long _bfd_elf_get_dynamic_reloc_upper_bound
(bfd *);
extern long _bfd_elf_canonicalize_dynamic_reloc
(bfd *, arelent **, asymbol **);
extern asymbol *_bfd_elf_make_empty_symbol
(bfd *);
extern void _bfd_elf_get_symbol_info
(bfd *, asymbol *, symbol_info *);
extern boolean _bfd_elf_is_local_label_name
(bfd *, const char *);
extern alent *_bfd_elf_get_lineno
(bfd *, asymbol *);
extern boolean _bfd_elf_set_arch_mach
(bfd *, enum bfd_architecture, unsigned long);
extern boolean _bfd_elf_find_nearest_line
(bfd *, asection *, asymbol **, bfd_vma, const char **, const char **, unsigned int *);
extern int _bfd_elf_sizeof_headers
(bfd *, boolean);
extern boolean _bfd_elf_new_section_hook
(bfd *, asection *);
extern boolean _bfd_elf_init_reloc_shdr
(bfd *, Elf_Internal_Shdr *, asection *, boolean);
extern void _bfd_elf_no_info_to_howto
(bfd *, arelent *, Elf_Internal_Rela *);
extern boolean bfd_section_from_shdr
(bfd *, unsigned int shindex);
extern boolean bfd_section_from_phdr
(bfd *, Elf_Internal_Phdr *, int);
extern int _bfd_elf_symbol_from_bfd_symbol
(bfd *, asymbol **);
extern asection *bfd_section_from_r_symndx
(bfd *, struct sym_sec_cache *, asection *, unsigned long);
extern asection *bfd_section_from_elf_index
(bfd *, unsigned int);
extern boolean _bfd_elf_create_dynamic_sections
(bfd *, struct bfd_link_info *);
extern struct bfd_strtab_hash *_bfd_elf_stringtab_init
(void);
extern struct elf_strtab_hash * _bfd_elf_strtab_init
(void);
extern void _bfd_elf_strtab_free
(struct elf_strtab_hash *);
extern bfd_size_type _bfd_elf_strtab_add
(struct elf_strtab_hash *, const char *, boolean);
extern void _bfd_elf_strtab_addref
(struct elf_strtab_hash *, bfd_size_type);
extern void _bfd_elf_strtab_delref
(struct elf_strtab_hash *, bfd_size_type);
extern void _bfd_elf_strtab_clear_all_refs
(struct elf_strtab_hash *);
extern bfd_size_type _bfd_elf_strtab_size
(struct elf_strtab_hash *);
extern bfd_size_type _bfd_elf_strtab_offset
(struct elf_strtab_hash *, bfd_size_type);
extern boolean _bfd_elf_strtab_emit
(bfd *, struct elf_strtab_hash *);
extern void _bfd_elf_strtab_finalize
(struct elf_strtab_hash *);
extern boolean _bfd_elf_discard_section_eh_frame
(bfd *, struct bfd_link_info *, asection *, asection *, boolean (*) (bfd_vma, void *), struct elf_reloc_cookie *);
extern boolean _bfd_elf_discard_section_eh_frame_hdr
(bfd *, struct bfd_link_info *, asection *);
extern bfd_vma _bfd_elf_eh_frame_section_offset
(bfd *, asection *, bfd_vma);
extern boolean _bfd_elf_write_section_eh_frame
(bfd *, asection *, asection *, bfd_byte *);
extern boolean _bfd_elf_write_section_eh_frame_hdr
(bfd *, asection *);
extern boolean _bfd_elf_maybe_strip_eh_frame_hdr
(struct bfd_link_info *);
extern boolean _bfd_elf_link_record_dynamic_symbol
(struct bfd_link_info *, struct elf_link_hash_entry *);
extern long _bfd_elf_link_lookup_local_dynindx
(struct bfd_link_info *, bfd *, long);
extern boolean _bfd_elf_compute_section_file_positions
(bfd *, struct bfd_link_info *);
extern void _bfd_elf_assign_file_positions_for_relocs
(bfd *);
extern file_ptr _bfd_elf_assign_file_position_for_section
(Elf_Internal_Shdr *, file_ptr, boolean);
extern boolean _bfd_elf_validate_reloc
(bfd *, arelent *);
extern boolean _bfd_elf_create_dynamic_sections
(bfd *, struct bfd_link_info *);
extern boolean _bfd_elf_create_got_section
(bfd *, struct bfd_link_info *);
extern unsigned long _bfd_elf_link_renumber_dynsyms
(bfd *, struct bfd_link_info *);
extern boolean _bfd_elfcore_make_pseudosection
(bfd *, char *, size_t, ufile_ptr);
extern char *_bfd_elfcore_strndup
(bfd *, char *, size_t);
extern elf_linker_section_t *_bfd_elf_create_linker_section
(bfd *, struct bfd_link_info *, enum elf_linker_section_enum, elf_linker_section_t *);
extern elf_linker_section_pointers_t *_bfd_elf_find_pointer_linker_section
(elf_linker_section_pointers_t *, bfd_vma, elf_linker_section_enum_t);
extern boolean bfd_elf32_create_pointer_linker_section
(bfd *, struct bfd_link_info *, elf_linker_section_t *, struct elf_link_hash_entry *, const Elf_Internal_Rela *);
extern bfd_vma bfd_elf32_finish_pointer_linker_section
(bfd *, bfd *, struct bfd_link_info *, elf_linker_section_t *, struct elf_link_hash_entry *, bfd_vma, const Elf_Internal_Rela *, int);
extern boolean bfd_elf64_create_pointer_linker_section
(bfd *, struct bfd_link_info *, elf_linker_section_t *, struct elf_link_hash_entry *, const Elf_Internal_Rela *);
extern bfd_vma bfd_elf64_finish_pointer_linker_section
(bfd *, bfd *, struct bfd_link_info *, elf_linker_section_t *, struct elf_link_hash_entry *, bfd_vma, const Elf_Internal_Rela *, int);
extern boolean _bfd_elf_make_linker_section_rela
(bfd *, elf_linker_section_t *, int);
extern const bfd_target *bfd_elf32_object_p
(bfd *);
extern const bfd_target *bfd_elf32_core_file_p
(bfd *);
extern char *bfd_elf32_core_file_failing_command
(bfd *);
extern int bfd_elf32_core_file_failing_signal
(bfd *);
extern boolean bfd_elf32_core_file_matches_executable_p
(bfd *, bfd *);
extern boolean bfd_elf32_bfd_link_add_symbols
(bfd *, struct bfd_link_info *);
extern boolean bfd_elf32_bfd_final_link
(bfd *, struct bfd_link_info *);
extern void bfd_elf32_swap_symbol_in
(bfd *, const void *, const void *, Elf_Internal_Sym *);
extern void bfd_elf32_swap_symbol_out
(bfd *, const Elf_Internal_Sym *, void *, void *);
extern void bfd_elf32_swap_reloc_in
(bfd *, const Elf32_External_Rel *, Elf_Internal_Rel *);
extern void bfd_elf32_swap_reloc_out
(bfd *, const Elf_Internal_Rel *, Elf32_External_Rel *);
extern void bfd_elf32_swap_reloca_in
(bfd *, const Elf32_External_Rela *, Elf_Internal_Rela *);
extern void bfd_elf32_swap_reloca_out
(bfd *, const Elf_Internal_Rela *, Elf32_External_Rela *);
extern void bfd_elf32_swap_phdr_in
(bfd *, const Elf32_External_Phdr *, Elf_Internal_Phdr *);
extern void bfd_elf32_swap_phdr_out
(bfd *, const Elf_Internal_Phdr *, Elf32_External_Phdr *);
extern void bfd_elf32_swap_dyn_in
(bfd *, const void *, Elf_Internal_Dyn *);
extern void bfd_elf32_swap_dyn_out
(bfd *, const Elf_Internal_Dyn *, void *);
extern long bfd_elf32_slurp_symbol_table
(bfd *, asymbol **, boolean);
extern boolean bfd_elf32_write_shdrs_and_ehdr
(bfd *);
extern int bfd_elf32_write_out_phdrs
(bfd *, const Elf_Internal_Phdr *, unsigned int);
extern void bfd_elf32_write_relocs
(bfd *, asection *, void *);
extern boolean bfd_elf32_slurp_reloc_table
(bfd *, asection *, asymbol **, boolean);
extern boolean bfd_elf32_add_dynamic_entry
(struct bfd_link_info *, bfd_vma, bfd_vma);
extern boolean bfd_elf32_link_create_dynamic_sections
(bfd *, struct bfd_link_info *);
extern Elf_Internal_Rela *_bfd_elf32_link_read_relocs
(bfd *, asection *, void *, Elf_Internal_Rela *, boolean);
extern const bfd_target *bfd_elf64_object_p
(bfd *);
extern const bfd_target *bfd_elf64_core_file_p
(bfd *);
extern char *bfd_elf64_core_file_failing_command
(bfd *);
extern int bfd_elf64_core_file_failing_signal
(bfd *);
extern boolean bfd_elf64_core_file_matches_executable_p
(bfd *, bfd *);
extern boolean bfd_elf64_bfd_link_add_symbols
(bfd *, struct bfd_link_info *);
extern boolean bfd_elf64_bfd_final_link
(bfd *, struct bfd_link_info *);
extern void bfd_elf64_swap_symbol_in
(bfd *, const void *, const void *, Elf_Internal_Sym *);
extern void bfd_elf64_swap_symbol_out
(bfd *, const Elf_Internal_Sym *, void *, void *);
extern void bfd_elf64_swap_reloc_in
(bfd *, const Elf64_External_Rel *, Elf_Internal_Rel *);
extern void bfd_elf64_swap_reloc_out
(bfd *, const Elf_Internal_Rel *, Elf64_External_Rel *);
extern void bfd_elf64_swap_reloca_in
(bfd *, const Elf64_External_Rela *, Elf_Internal_Rela *);
extern void bfd_elf64_swap_reloca_out
(bfd *, const Elf_Internal_Rela *, Elf64_External_Rela *);
extern void bfd_elf64_swap_phdr_in
(bfd *, const Elf64_External_Phdr *, Elf_Internal_Phdr *);
extern void bfd_elf64_swap_phdr_out
(bfd *, const Elf_Internal_Phdr *, Elf64_External_Phdr *);
extern void bfd_elf64_swap_dyn_in
(bfd *, const void *, Elf_Internal_Dyn *);
extern void bfd_elf64_swap_dyn_out
(bfd *, const Elf_Internal_Dyn *, void *);
extern long bfd_elf64_slurp_symbol_table
(bfd *, asymbol **, boolean);
extern boolean bfd_elf64_write_shdrs_and_ehdr
(bfd *);
extern int bfd_elf64_write_out_phdrs
(bfd *, const Elf_Internal_Phdr *, unsigned int);
extern void bfd_elf64_write_relocs
(bfd *, asection *, void *);
extern boolean bfd_elf64_slurp_reloc_table
(bfd *, asection *, asymbol **, boolean);
extern boolean bfd_elf64_add_dynamic_entry
(struct bfd_link_info *, bfd_vma, bfd_vma);
extern boolean bfd_elf64_link_create_dynamic_sections
(bfd *, struct bfd_link_info *);
extern Elf_Internal_Rela *_bfd_elf64_link_read_relocs
(bfd *, asection *, void *, Elf_Internal_Rela *, boolean);
extern int elf_link_record_local_dynamic_symbol
(struct bfd_link_info *, bfd *, long);
extern boolean _bfd_elf_close_and_cleanup
(bfd *);
extern bfd_reloc_status_type _bfd_elf_rel_vtable_reloc_fn
(bfd *, arelent *, struct symbol_cache_entry *, void *, asection *, bfd *, char **);
extern boolean _bfd_elf32_gc_sections
(bfd *, struct bfd_link_info *);
extern boolean _bfd_elf32_gc_common_finalize_got_offsets
(bfd *, struct bfd_link_info *);
extern boolean _bfd_elf32_gc_common_final_link
(bfd *, struct bfd_link_info *);
extern boolean _bfd_elf32_gc_record_vtinherit
(bfd *, asection *, struct elf_link_hash_entry *, bfd_vma);
extern boolean _bfd_elf32_gc_record_vtentry
(bfd *, asection *, struct elf_link_hash_entry *, bfd_vma);
extern boolean _bfd_elf64_gc_sections
(bfd *, struct bfd_link_info *);
extern boolean _bfd_elf64_gc_common_finalize_got_offsets
(bfd *, struct bfd_link_info *);
extern boolean _bfd_elf64_gc_common_final_link
(bfd *, struct bfd_link_info *);
extern boolean _bfd_elf64_gc_record_vtinherit
(bfd *, asection *, struct elf_link_hash_entry *, bfd_vma);
extern boolean _bfd_elf64_gc_record_vtentry
(bfd *, asection *, struct elf_link_hash_entry *, bfd_vma);
extern boolean _bfd_elf32_reloc_symbol_deleted_p
(bfd_vma, void *);
extern boolean _bfd_elf64_reloc_symbol_deleted_p
(bfd_vma, void *);
extern char *elfcore_write_note
(bfd *, char *, int *, const char *, int, const void *, int);
extern char *elfcore_write_prpsinfo
(bfd *, char *, int *, const char *, const char *);
extern char *elfcore_write_prstatus
(bfd *, char *, int *, long, int, const void *);
extern char * elfcore_write_pstatus
(bfd *, char *, int *, long, int, const void *);
extern char *elfcore_write_prfpreg
(bfd *, char *, int *, const void *, int);
extern char *elfcore_write_prxfpreg
(bfd *, char *, int *, const void *, int);
extern char *elfcore_write_lwpstatus
(bfd *, char *, int *, long, int, const void *);
extern boolean _sh_elf_set_mach_from_flags
(bfd *);
# 41 "../../binutils-2.13.1/gas/config/obj-elf.h" 2
# 1 "targ-cpu.h" 1
# 1 "../../binutils-2.13.1/gas/config/tc-ppc.h" 1
# 26 "../../binutils-2.13.1/gas/config/tc-ppc.h"
struct fix;
# 51 "../../binutils-2.13.1/gas/config/tc-ppc.h"
extern enum bfd_architecture ppc_arch (void);
extern unsigned long ppc_mach (void);
extern int target_big_endian;
extern char *ppc_target_format (void);
# 232 "../../binutils-2.13.1/gas/config/tc-ppc.h"
extern int ppc_section_letter (int, char **);
extern int ppc_section_type (char *, size_t);
extern int ppc_section_word (char *, size_t);
extern int ppc_section_flags (int, int, int);
# 258 "../../binutils-2.13.1/gas/config/tc-ppc.h"
extern const char *ppc_comment_chars;
extern int ppc_fix_adjustable (struct fix *);
# 275 "../../binutils-2.13.1/gas/config/tc-ppc.h"
extern void ppc_frob_file_before_adjust (void);
extern long md_pcrel_from_section (struct fix *, segT);
extern int ppc_parse_name (const char *, struct expressionS *);
# 2 "targ-cpu.h" 2
# 43 "../../binutils-2.13.1/gas/config/obj-elf.h" 2
# 62 "../../binutils-2.13.1/gas/config/obj-elf.h"
struct elf_obj_sy
{
int local;
expressionS *size;
char *versioned_name;
# 81 "../../binutils-2.13.1/gas/config/obj-elf.h"
};
# 103 "../../binutils-2.13.1/gas/config/obj-elf.h"
extern void elf_begin (void);
# 126 "../../binutils-2.13.1/gas/config/obj-elf.h"
int elf_s_get_other (symbolS *);
# 135 "../../binutils-2.13.1/gas/config/obj-elf.h"
extern asection *gdb_section;
extern void elf_frob_file (void);
extern void elf_frob_file_before_adjust (void);
extern void elf_frob_file_after_relocs (void);
extern void elf_file_symbol (const char *);
extern void obj_elf_section_change_hook (void);
extern void obj_elf_section (int);
extern void obj_elf_previous (int);
extern void obj_elf_version (int);
extern void obj_elf_common (int);
extern void obj_elf_data (int);
extern void obj_elf_text (int);
extern struct fix *obj_elf_vtable_inherit (int);
extern struct fix *obj_elf_vtable_entry (int);
void elf_obj_read_begin_hook (void);
void elf_obj_symbol_new_hook (symbolS *);
void elf_copy_symbol_attributes (symbolS *, symbolS *);
# 201 "../../binutils-2.13.1/gas/config/obj-elf.h"
extern void obj_elf_init_stab_section (segT);
# 223 "../../binutils-2.13.1/gas/config/obj-elf.h"
extern void elf_frob_symbol (symbolS *, int *);
extern void elf_pop_insert (void);
struct ecoff_extr;
extern void elf_ecoff_set_ext (symbolS *, struct ecoff_extr *);
# 2 "obj-format.h" 2
# 20 "../../binutils-2.13.1/gas/config/te-generic.h" 2
# 2 "targ-env.h" 2
# 615 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/gas/write.h" 1
# 45 "../../binutils-2.13.1/gas/write.h"
# 1 "../../binutils-2.13.1/gas/bit_fix.h" 1
# 36 "../../binutils-2.13.1/gas/bit_fix.h"
struct bit_fix {
int fx_bit_size;
int fx_bit_offset;
long fx_bit_base;
long fx_bit_base_adj;
long fx_bit_max;
long fx_bit_min;
long fx_bit_add;
};
typedef struct bit_fix bit_fixS;
# 46 "../../binutils-2.13.1/gas/write.h" 2
struct fix
{
char fx_pcrel_adjust;
unsigned char fx_size;
unsigned fx_pcrel : 1;
unsigned fx_plt : 1;
unsigned fx_im_disp : 2;
unsigned fx_tcbit : 1;
unsigned fx_done : 1;
unsigned fx_no_overflow : 1;
unsigned fx_signed : 1;
fragS *fx_frag;
long fx_where;
symbolS *fx_addsy;
symbolS *fx_subsy;
valueT fx_offset;
struct fix *fx_next;
bit_fixS *fx_bit_fixP;
bfd_reloc_code_real_type fx_r_type;
# 135 "../../binutils-2.13.1/gas/write.h"
valueT fx_addnumber;
char *fx_file;
unsigned fx_line;
# 156 "../../binutils-2.13.1/gas/write.h"
};
typedef struct fix fixS;
extern int finalize_syms;
# 175 "../../binutils-2.13.1/gas/write.h"
extern long string_byte_count;
extern int section_alignment[];
extern bit_fixS *bit_fix_new
(int size, int offset, long base_type, long base_adj, long min, long max, long add);
extern void append (char **charPP, char *fromP, unsigned long length);
extern void record_alignment (segT seg, int align);
extern int get_recorded_alignment (segT seg);
extern void subsegs_finish (void);
extern void write_object_file (void);
extern long relax_frag (segT, fragS *, long);
extern int relax_segment
(struct frag * seg_frag_root, segT seg_type);
extern void number_to_chars_littleendian (char *, valueT, int);
extern void number_to_chars_bigendian (char *, valueT, int);
extern fixS *fix_new
(fragS * frag, int where, int size, symbolS * add_symbol, offsetT offset, int pcrel, bfd_reloc_code_real_type r_type);
extern fixS *fix_new_exp
(fragS * frag, int where, int size, expressionS *exp, int pcrel, bfd_reloc_code_real_type r_type);
# 209 "../../binutils-2.13.1/gas/write.h"
extern void write_print_statistics (FILE *);
# 621 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/gas/frags.h" 1
# 26 "../../binutils-2.13.1/gas/frags.h"
struct obstack;
# 43 "../../binutils-2.13.1/gas/frags.h"
struct frag {
addressT fr_address;
addressT last_fr_address;
offsetT fr_fix;
offsetT fr_var;
offsetT fr_offset;
symbolS *fr_symbol;
char *fr_opcode;
struct frag *fr_next;
char *fr_file;
unsigned int fr_line;
struct list_info_struct *line;
unsigned int relax_marker:1;
relax_stateT fr_type;
relax_substateT fr_subtype;
# 98 "../../binutils-2.13.1/gas/frags.h"
char fr_literal[1];
};
# 108 "../../binutils-2.13.1/gas/frags.h"
extern fragS *frag_now;
extern addressT frag_now_fix (void);
extern addressT frag_now_fix_octets (void);
extern fragS zero_address_frag;
extern fragS bss_address_frag;
# 130 "../../binutils-2.13.1/gas/frags.h"
extern void frag_append_1_char (int);
void frag_init (void);
fragS *frag_alloc (struct obstack *);
void frag_grow (unsigned int nchars);
char *frag_more (int nchars);
void frag_align (int alignment, int fill_character, int max);
void frag_align_pattern (int alignment, const char *fill_pattern, int n_fill, int max);
void frag_align_code (int alignment, int max);
void frag_new (int old_frags_var_max_size);
void frag_wane (fragS * fragP);
char *frag_variant (relax_stateT type, int max_chars, int var, relax_substateT subtype, symbolS * symbol, offsetT offset, char *opcode);
char *frag_var (relax_stateT type, int max_chars, int var, relax_substateT subtype, symbolS * symbol, offsetT offset, char *opcode);
# 622 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/gas/hash.h" 1
# 24 "../../binutils-2.13.1/gas/hash.h"
struct hash_control;
extern struct hash_control *hash_new (void);
extern void hash_die (struct hash_control *);
extern const char *hash_insert (struct hash_control *, const char *key, void * value);
extern const char *hash_jam (struct hash_control *, const char *key, void * value);
extern void * hash_replace (struct hash_control *, const char *key, void * value);
extern void * hash_find (struct hash_control *, const char *key);
extern void * hash_delete (struct hash_control *, const char *key);
extern void hash_traverse (struct hash_control *, void (*pfn) (const char *key, void * value));
extern void hash_print_statistics (FILE *, const char *name, struct hash_control *);
# 623 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/gas/read.h" 1
# 23 "../../binutils-2.13.1/gas/read.h"
extern char *input_line_pointer;
# 58 "../../binutils-2.13.1/gas/read.h"
extern char lex_type[];
extern char is_end_of_line[];
extern int is_it_end_of_statement (void);
extern int target_big_endian;
extern const char comment_chars[];
extern const char line_comment_chars[];
extern const char line_separator_chars[];
extern char **include_dirs;
extern int include_dir_count;
extern int include_dir_maxlen;
extern addressT abs_section_offset;
extern symbolS *line_label;
extern symbolS *mri_common_symbol;
extern int outputting_stabs_line_debug;
enum linkonce_type {
LINKONCE_UNSET = 0,
LINKONCE_DISCARD,
LINKONCE_ONE_ONLY,
LINKONCE_SAME_SIZE,
LINKONCE_SAME_CONTENTS
};
extern char original_case_string[];
extern void pop_insert (const pseudo_typeS *);
extern unsigned int get_stab_string_offset
(const char *string, const char *stabstr_secname);
extern void aout_process_stab (int, const char *, int, int, int);
extern char *demand_copy_C_string (int *len_pointer);
extern char get_absolute_expression_and_terminator
(long *val_pointer);
extern offsetT get_absolute_expression (void);
extern unsigned int next_char_of_string (void);
extern void s_mri_sect (char *);
extern char *mri_comment_field (char *);
extern void mri_comment_end (char *, int);
extern void add_include_dir (char *path);
extern void cons (int nbytes);
extern void demand_empty_rest_of_line (void);
extern void emit_expr (expressionS *exp, unsigned int nbytes);
extern void emit_leb128_expr (expressionS *, int);
extern void equals (char *sym_name, int reassign);
extern void float_cons (int float_type);
extern void ignore_rest_of_line (void);
extern void discard_rest_of_line (void);
extern int output_leb128 (char *, valueT, int sign);
extern void pseudo_set (symbolS * symbolP);
extern void read_a_source_file (char *name);
extern void read_begin (void);
extern void read_print_statistics (FILE *);
extern int sizeof_leb128 (valueT, int sign);
extern void stabs_generate_asm_file (void);
extern void stabs_generate_asm_lineno (void);
extern void stabs_generate_asm_func (const char *, const char *);
extern void stabs_generate_asm_endfunc (const char *, const char *);
extern void do_repeat (int,const char *,const char *);
extern void end_repeat (int);
extern void generate_lineno_debug (void);
extern void s_abort (int) __attribute__ ((__noreturn__));
extern void s_align_bytes (int arg);
extern void s_align_ptwo (int);
extern void s_app_file_string (char *);
extern void s_app_file (int);
extern void s_app_line (int);
extern void s_bad_endr (int);
extern void s_comm (int);
extern void s_data (int);
extern void s_desc (int);
extern void s_else (int arg);
extern void s_elseif (int arg);
extern void s_end (int arg);
extern void s_endif (int arg);
extern void s_err (int);
extern void s_fail (int);
extern void s_fill (int);
extern void s_float_space (int mult);
extern void s_func (int);
extern void do_s_func (int, const char *);
extern void s_globl (int arg);
extern void s_if (int arg);
extern void s_ifc (int arg);
extern void s_ifdef (int arg);
extern void s_ifeqs (int arg);
extern void s_ignore (int arg);
extern void s_include (int arg);
extern void s_irp (int arg);
extern void s_lcomm (int needs_align);
extern void s_lcomm_bytes (int needs_align);
extern void s_leb128 (int sign);
extern void s_linkonce (int);
extern void s_lsym (int);
extern void s_macro (int);
extern void s_mexit (int);
extern void s_mri (int);
extern void s_mri_common (int);
extern void s_org (int);
extern void s_print (int);
extern void s_purgem (int);
extern void s_rept (int);
extern void s_set (int);
extern void s_space (int mult);
extern void s_stab (int what);
extern void s_struct (int);
extern void s_text (int);
extern void stringer (int append_zero);
extern void s_xstab (int what);
extern void s_rva (int);
extern void s_incbin (int);
# 624 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/gas/symbols.h" 1
# 34 "../../binutils-2.13.1/gas/symbols.h"
extern struct obstack notes;
extern struct obstack cond_obstack;
extern symbolS *symbol_rootP;
extern symbolS *symbol_lastP;
extern symbolS abs_symbol;
extern int symbol_table_frozen;
extern int symbols_case_sensitive;
char *decode_local_label_name (char *s);
symbolS *symbol_find (const char *name);
symbolS *symbol_find_exact (const char *name);
symbolS *symbol_find_base (const char *name, int strip_underscore);
symbolS *symbol_find_or_make (const char *name);
symbolS *symbol_make (const char *name);
symbolS *symbol_new (const char *name, segT segment, valueT value, fragS * frag);
symbolS *symbol_create (const char *name, segT segment, valueT value, fragS * frag);
symbolS *colon (const char *sym_name);
void local_colon (int n);
void symbol_begin (void);
void symbol_print_statistics (FILE *);
void symbol_table_insert (symbolS * symbolP);
valueT resolve_symbol_value (symbolS *);
void resolve_local_symbol_values (void);
void print_symbol_value (symbolS *);
void print_expr (expressionS *);
void print_expr_1 (FILE *, expressionS *);
void print_symbol_value_1 (FILE *, symbolS *);
int dollar_label_defined (long l);
void dollar_label_clear (void);
void define_dollar_label (long l);
char *dollar_label_name (long l, int augend);
void fb_label_instance_inc (long label);
char *fb_label_name (long n, long augend);
extern void copy_symbol_attributes (symbolS *, symbolS *);
extern valueT S_GET_VALUE (symbolS *);
extern void S_SET_VALUE (symbolS *, valueT);
extern int S_IS_FUNCTION (symbolS *);
extern int S_IS_EXTERNAL (symbolS *);
extern int S_IS_WEAK (symbolS *);
extern int S_IS_COMMON (symbolS *);
extern int S_IS_DEFINED (symbolS *);
extern int S_IS_DEBUG (symbolS *);
extern int S_IS_LOCAL (symbolS *);
extern int S_IS_EXTERN (symbolS *);
extern int S_IS_STABD (symbolS *);
extern const char *S_GET_NAME (symbolS *);
extern segT S_GET_SEGMENT (symbolS *);
extern void S_SET_SEGMENT (symbolS *, segT);
extern void S_SET_EXTERNAL (symbolS *);
extern void S_SET_NAME (symbolS *, char *);
extern void S_CLEAR_EXTERNAL (symbolS *);
extern void S_SET_WEAK (symbolS *);
# 140 "../../binutils-2.13.1/gas/symbols.h"
extern const segT N_TYPE_seg[];
extern const short seg_N_TYPE[];
void symbol_clear_list_pointers (symbolS * symbolP);
void symbol_insert (symbolS * addme, symbolS * target, symbolS ** rootP, symbolS ** lastP);
void symbol_remove (symbolS * symbolP, symbolS ** rootP, symbolS ** lastP);
extern symbolS *symbol_previous (symbolS *);
void verify_symbol_chain (symbolS * rootP, symbolS * lastP);
void verify_symbol_chain_2 (symbolS * symP);
void symbol_append (symbolS * addme, symbolS * target, symbolS ** rootP, symbolS ** lastP);
extern symbolS *symbol_next (symbolS *);
extern expressionS *symbol_get_value_expression (symbolS *);
extern void symbol_set_value_expression (symbolS *, const expressionS *);
extern void symbol_set_frag (symbolS *, fragS *);
extern fragS *symbol_get_frag (symbolS *);
extern void symbol_mark_used (symbolS *);
extern void symbol_clear_used (symbolS *);
extern int symbol_used_p (symbolS *);
extern void symbol_mark_used_in_reloc (symbolS *);
extern void symbol_clear_used_in_reloc (symbolS *);
extern int symbol_used_in_reloc_p (symbolS *);
extern void symbol_mark_mri_common (symbolS *);
extern void symbol_clear_mri_common (symbolS *);
extern int symbol_mri_common_p (symbolS *);
extern void symbol_mark_written (symbolS *);
extern void symbol_clear_written (symbolS *);
extern int symbol_written_p (symbolS *);
extern void symbol_mark_resolved (symbolS *);
extern int symbol_resolved_p (symbolS *);
extern int symbol_section_p (symbolS *);
extern int symbol_equated_p (symbolS *);
extern int symbol_equated_reloc_p (symbolS *);
extern int symbol_constant_p (symbolS *);
extern asymbol *symbol_get_bfdsym (symbolS *);
extern void symbol_set_bfdsym (symbolS *, asymbol *);
struct elf_obj_sy *symbol_get_obj (symbolS *);
void symbol_set_obj (symbolS *, struct elf_obj_sy *);
# 625 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/gas/tc.h" 1
# 25 "../../binutils-2.13.1/gas/tc.h"
extern const pseudo_typeS md_pseudo_table[];
struct relax_type
{
long rlx_forward;
long rlx_backward;
unsigned char rlx_length;
relax_substateT rlx_more;
};
typedef struct relax_type relax_typeS;
extern const int md_reloc_size;
char *md_atof (int what_statement_type, char *literalP, int *sizeP);
int md_estimate_size_before_relax (fragS * fragP, segT segment);
int md_parse_option (int c, char *arg);
void md_show_usage (FILE *);
long md_pcrel_from (fixS * fixP);
short tc_coff_fix2rtype (fixS * fixP);
void md_assemble (char *str);
void md_begin (void);
void md_create_long_jump (char *ptr, addressT from_addr, addressT to_addr, fragS * frag, symbolS * to_symbol);
void md_create_short_jump (char *ptr, addressT from_addr, addressT to_addr, fragS * frag, symbolS * to_symbol);
void md_number_to_chars (char *buf, valueT val, int n);
void md_apply_fix3 (fixS *, valueT *, segT);
void md_convert_frag (bfd * headers, segT sec, fragS * fragP);
void tc_headers_hook (segT *, fixS *);
extern arelent *tc_gen_reloc (asection *, fixS *);
# 103 "../../binutils-2.13.1/gas/tc.h"
valueT md_section_align (segT seg, valueT size);
symbolS *md_undefined_symbol (char *name);
# 627 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/gas/obj.h" 1
# 24 "../../binutils-2.13.1/gas/obj.h"
char *obj_default_output_file_name (void);
void obj_emit_relocations (char **where, fixS * fixP, relax_addressT segment_address_in_file);
void obj_emit_strings (char **where);
void obj_emit_symbols (char **where, symbolS * symbols);
# 44 "../../binutils-2.13.1/gas/obj.h"
void obj_symbol_to_chars (char **where, symbolS * symbolP);
extern const pseudo_typeS obj_pseudo_table[];
struct format_ops {
int flavor;
unsigned dfl_leading_underscore : 1;
unsigned emit_section_symbols : 1;
void (*begin) (void);
void (*app_file) (const char *);
void (*frob_symbol) (symbolS *, int *);
void (*frob_file) (void);
void (*frob_file_before_adjust) (void);
void (*frob_file_after_relocs) (void);
bfd_vma (*s_get_size) (symbolS *);
void (*s_set_size) (symbolS *, bfd_vma);
bfd_vma (*s_get_align) (symbolS *);
void (*s_set_align) (symbolS *, bfd_vma);
int (*s_get_other) (symbolS *);
void (*s_set_other) (symbolS *, int);
int (*s_get_desc) (symbolS *);
void (*s_set_desc) (symbolS *, int);
int (*s_get_type) (symbolS *);
void (*s_set_type) (symbolS *, int);
void (*copy_symbol_attributes) (symbolS *, symbolS *);
void (*generate_asm_lineno) (void);
void (*process_stab) (segT, int, const char *, int, int, int);
int (*separate_stab_sections) (void);
void (*init_stab_section) (segT);
int (*sec_sym_ok_for_reloc) (asection *);
void (*pop_insert) (void);
void (*ecoff_set_ext) (symbolS *, struct ecoff_extr *);
void (*read_begin_hook) (void);
void (*symbol_new_hook) (symbolS *);
};
extern const struct format_ops elf_format_ops;
extern const struct format_ops ecoff_format_ops;
extern const struct format_ops coff_format_ops;
extern const struct format_ops aout_format_ops;
extern const struct format_ops *this_format;
# 628 "../../binutils-2.13.1/gas/as.h" 2
# 1 "../../binutils-2.13.1/gas/listing.h" 1
# 44 "../../binutils-2.13.1/gas/listing.h"
void listing_eject (int);
void listing_error (const char *message);
void listing_file (const char *name);
void listing_flags (int);
void listing_list (int on);
void listing_newline (char *ps);
void listing_prev_line (void);
void listing_print (char *name);
void listing_psize (int);
void listing_nopage (int);
void listing_source_file (const char *);
void listing_source_line (unsigned int);
void listing_title (int depth);
void listing_warning (const char *message);
void listing_width (unsigned int x);
extern int listing_lhs_width;
extern int listing_lhs_width_second;
extern int listing_lhs_cont_lines;
extern int listing_rhs_width;
# 633 "../../binutils-2.13.1/gas/as.h" 2
# 25 "../../binutils-2.13.1/gas/config/tc-ppc.c" 2
# 1 "../../binutils-2.13.1/include/safe-ctype.h" 1
# 44 "../../binutils-2.13.1/include/safe-ctype.h"
enum {
_sch_isblank = 0x0001,
_sch_iscntrl = 0x0002,
_sch_isdigit = 0x0004,
_sch_islower = 0x0008,
_sch_isprint = 0x0010,
_sch_ispunct = 0x0020,
_sch_isspace = 0x0040,
_sch_isupper = 0x0080,
_sch_isxdigit = 0x0100,
_sch_isidst = 0x0200,
_sch_isvsp = 0x0400,
_sch_isnvsp = 0x0800,
_sch_isalpha = _sch_isupper|_sch_islower,
_sch_isalnum = _sch_isalpha|_sch_isdigit,
_sch_isidnum = _sch_isidst|_sch_isdigit,
_sch_isgraph = _sch_isalnum|_sch_ispunct,
_sch_iscppsp = _sch_isvsp|_sch_isnvsp,
_sch_isbasic = _sch_isprint|_sch_iscppsp
};
extern const unsigned short _sch_istable[256];
# 97 "../../binutils-2.13.1/include/safe-ctype.h"
extern const unsigned char _sch_toupper[256];
extern const unsigned char _sch_tolower[256];
# 26 "../../binutils-2.13.1/gas/config/tc-ppc.c" 2
# 1 "../../binutils-2.13.1/gas/subsegs.h" 1
# 41 "../../binutils-2.13.1/gas/subsegs.h"
# 1 "../../binutils-2.13.1/include/obstack.h" 1
# 161 "../../binutils-2.13.1/include/obstack.h"
struct _obstack_chunk
{
char *limit;
struct _obstack_chunk *prev;
char contents[4];
};
struct obstack
{
long chunk_size;
struct _obstack_chunk *chunk;
char *object_base;
char *next_free;
char *chunk_limit;
int temp;
int alignment_mask;
struct _obstack_chunk *(*chunkfun) (void *, long);
void (*freefun) (void *, struct _obstack_chunk *);
void *extra_arg;
unsigned use_extra_arg:1;
unsigned maybe_empty_object:1;
unsigned alloc_failed:1;
};
extern void _obstack_newchunk (struct obstack *, int);
extern void _obstack_free (struct obstack *, void *);
extern int _obstack_begin (struct obstack *, int, int,
void *(*) (long), void (*) (void *));
extern int _obstack_begin_1 (struct obstack *, int, int,
void *(*) (void *, long),
void (*) (void *, void *), void *);
extern int _obstack_memory_used (struct obstack *);
# 223 "../../binutils-2.13.1/include/obstack.h"
void obstack_init (struct obstack *obstack);
void * obstack_alloc (struct obstack *obstack, int size);
void * obstack_copy (struct obstack *obstack, void *address, int size);
void * obstack_copy0 (struct obstack *obstack, void *address, int size);
void obstack_free (struct obstack *obstack, void *block);
void obstack_blank (struct obstack *obstack, int size);
void obstack_grow (struct obstack *obstack, void *data, int size);
void obstack_grow0 (struct obstack *obstack, void *data, int size);
void obstack_1grow (struct obstack *obstack, int data_char);
void obstack_ptr_grow (struct obstack *obstack, void *data);
void obstack_int_grow (struct obstack *obstack, int data);
void * obstack_finish (struct obstack *obstack);
int obstack_object_size (struct obstack *obstack);
int obstack_room (struct obstack *obstack);
void obstack_make_room (struct obstack *obstack, int size);
void obstack_1grow_fast (struct obstack *obstack, int data_char);
void obstack_ptr_grow_fast (struct obstack *obstack, void *data);
void obstack_int_grow_fast (struct obstack *obstack, int data);
void obstack_blank_fast (struct obstack *obstack, int size);
void * obstack_base (struct obstack *obstack);
void * obstack_next_free (struct obstack *obstack);
int obstack_alignment_mask (struct obstack *obstack);
int obstack_chunk_size (struct obstack *obstack);
int obstack_memory_used (struct obstack *obstack);
# 267 "../../binutils-2.13.1/include/obstack.h"
extern void (*obstack_alloc_failed_handler) (void);
extern int obstack_exit_failure;
# 42 "../../binutils-2.13.1/gas/subsegs.h" 2
struct frchain
{
struct frag *frch_root;
struct frag *frch_last;
struct frchain *frch_next;
segT frch_seg;
subsegT frch_subseg;
fixS *fix_root;
fixS *fix_tail;
struct obstack frch_obstack;
fragS *frch_frag_now;
};
typedef struct frchain frchainS;
extern frchainS *frchain_root;
extern frchainS *frchain_now;
typedef struct segment_info_struct {
frchainS *frchainP;
unsigned int hadone : 1;
unsigned int bss : 1;
int user_stuff;
fixS *fix_root;
fixS *fix_tail;
symbolS *dot;
struct lineno_list *lineno_list_head;
struct lineno_list *lineno_list_tail;
asection *bfd_section;
symbolS *sym;
union {
unsigned long stab_string_size;
char *p;
}
stabu;
# 120 "../../binutils-2.13.1/gas/subsegs.h"
} segment_info_type;
extern segment_info_type *seg_info (segT);
extern symbolS *section_symbol (segT);
# 155 "../../binutils-2.13.1/gas/subsegs.h"
extern void subsegs_print_statistics (FILE *);
# 27 "../../binutils-2.13.1/gas/config/tc-ppc.c" 2
# 1 "../../binutils-2.13.1/include/opcode/ppc.h" 1
# 27 "../../binutils-2.13.1/include/opcode/ppc.h"
struct powerpc_opcode
{
const char *name;
unsigned long opcode;
unsigned long mask;
unsigned long flags;
unsigned char operands[8];
};
extern const struct powerpc_opcode powerpc_opcodes[];
extern const int powerpc_num_opcodes;
# 115 "../../binutils-2.13.1/include/opcode/ppc.h"
struct powerpc_operand
{
int bits;
int shift;
# 139 "../../binutils-2.13.1/include/opcode/ppc.h"
unsigned long (*insert) (unsigned long instruction, long op, int dialect, const char **errmsg);
# 160 "../../binutils-2.13.1/include/opcode/ppc.h"
long (*extract) (unsigned long instruction, int dialect, int *invalid);
unsigned long flags;
};
extern const struct powerpc_operand powerpc_operands[];
# 257 "../../binutils-2.13.1/include/opcode/ppc.h"
struct powerpc_macro
{
const char *name;
unsigned int operands;
unsigned long flags;
const char *format;
};
extern const struct powerpc_macro powerpc_macros[];
extern const int powerpc_num_macros;
# 29 "../../binutils-2.13.1/gas/config/tc-ppc.c" 2
# 1 "../../binutils-2.13.1/include/elf/ppc.h" 1
# 30 "../../binutils-2.13.1/include/elf/ppc.h"
# 1 "../../binutils-2.13.1/include/elf/reloc-macros.h" 1
# 31 "../../binutils-2.13.1/include/elf/ppc.h" 2
enum elf_ppc_reloc_type {
R_PPC_NONE = 0,
R_PPC_ADDR32 = 1,
R_PPC_ADDR24 = 2,
R_PPC_ADDR16 = 3,
R_PPC_ADDR16_LO = 4,
R_PPC_ADDR16_HI = 5,
R_PPC_ADDR16_HA = 6,
R_PPC_ADDR14 = 7,
R_PPC_ADDR14_BRTAKEN = 8,
R_PPC_ADDR14_BRNTAKEN = 9,
R_PPC_REL24 = 10,
R_PPC_REL14 = 11,
R_PPC_REL14_BRTAKEN = 12,
R_PPC_REL14_BRNTAKEN = 13,
R_PPC_GOT16 = 14,
R_PPC_GOT16_LO = 15,
R_PPC_GOT16_HI = 16,
R_PPC_GOT16_HA = 17,
R_PPC_PLTREL24 = 18,
R_PPC_COPY = 19,
R_PPC_GLOB_DAT = 20,
R_PPC_JMP_SLOT = 21,
R_PPC_RELATIVE = 22,
R_PPC_LOCAL24PC = 23,
R_PPC_UADDR32 = 24,
R_PPC_UADDR16 = 25,
R_PPC_REL32 = 26,
R_PPC_PLT32 = 27,
R_PPC_PLTREL32 = 28,
R_PPC_PLT16_LO = 29,
R_PPC_PLT16_HI = 30,
R_PPC_PLT16_HA = 31,
R_PPC_SDAREL16 = 32,
R_PPC_SECTOFF = 33,
R_PPC_SECTOFF_LO = 34,
R_PPC_SECTOFF_HI = 35,
R_PPC_SECTOFF_HA = 36,
R_PPC_ADDR30 = 37,
R_PPC64_ADDR64 = 38,
R_PPC64_ADDR16_HIGHER = 39,
R_PPC64_ADDR16_HIGHERA = 40,
R_PPC64_ADDR16_HIGHEST = 41,
R_PPC64_ADDR16_HIGHESTA = 42,
R_PPC64_UADDR64 = 43,
R_PPC64_REL64 = 44,
R_PPC64_PLT64 = 45,
R_PPC64_PLTREL64 = 46,
R_PPC64_TOC16 = 47,
R_PPC64_TOC16_LO = 48,
R_PPC64_TOC16_HI = 49,
R_PPC64_TOC16_HA = 50,
R_PPC64_TOC = 51,
R_PPC64_PLTGOT16 = 52,
R_PPC64_PLTGOT16_LO = 53,
R_PPC64_PLTGOT16_HI = 54,
R_PPC64_PLTGOT16_HA = 55,
R_PPC64_ADDR16_DS = 56,
R_PPC64_ADDR16_LO_DS = 57,
R_PPC64_GOT16_DS = 58,
R_PPC64_GOT16_LO_DS = 59,
R_PPC64_PLT16_LO_DS = 60,
R_PPC64_SECTOFF_DS = 61,
R_PPC64_SECTOFF_LO_DS = 62,
R_PPC64_TOC16_DS = 63,
R_PPC64_TOC16_LO_DS = 64,
R_PPC64_PLTGOT16_DS = 65,
R_PPC64_PLTGOT16_LO_DS = 66,
R_PPC_EMB_NADDR32 = 101,
R_PPC_EMB_NADDR16 = 102,
R_PPC_EMB_NADDR16_LO = 103,
R_PPC_EMB_NADDR16_HI = 104,
R_PPC_EMB_NADDR16_HA = 105,
R_PPC_EMB_SDAI16 = 106,
R_PPC_EMB_SDA2I16 = 107,
R_PPC_EMB_SDA2REL = 108,
R_PPC_EMB_SDA21 = 109,
R_PPC_EMB_MRKREF = 110,
R_PPC_EMB_RELSEC16 = 111,
R_PPC_EMB_RELST_LO = 112,
R_PPC_EMB_RELST_HI = 113,
R_PPC_EMB_RELST_HA = 114,
R_PPC_EMB_BIT_FLD = 115,
R_PPC_EMB_RELSDA = 116,
R_PPC_GNU_VTINHERIT = 253,
R_PPC_GNU_VTENTRY = 254,
R_PPC_TOC16 = 255,
R_PPC_max };
# 32 "../../binutils-2.13.1/gas/config/tc-ppc.c" 2
# 1 "../../binutils-2.13.1/gas/dwarf2dbg.h" 1
# 29 "../../binutils-2.13.1/gas/dwarf2dbg.h"
struct dwarf2_line_info {
unsigned int filenum;
unsigned int line;
unsigned int column;
unsigned int flags;
};
extern char *dwarf2_directive_file (int dummy);
extern void dwarf2_directive_loc (int dummy);
extern void dwarf2_where (struct dwarf2_line_info *l);
extern void dwarf2_gen_line_info (addressT addr, struct dwarf2_line_info *l);
extern void dwarf2_emit_insn (int);
extern void dwarf2_finish (void);
extern int dwarf2dbg_estimate_size_before_relax (fragS *);
extern int dwarf2dbg_relax_frag (fragS *);
extern void dwarf2dbg_convert_frag (fragS *);
# 33 "../../binutils-2.13.1/gas/config/tc-ppc.c" 2
# 42 "../../binutils-2.13.1/gas/config/tc-ppc.c"
extern int target_big_endian;
static int set_target_endian = 0;
# 86 "../../binutils-2.13.1/gas/config/tc-ppc.c"
static boolean reg_names_p = false;
static boolean register_name (expressionS *);
static void ppc_set_cpu (void);
static unsigned long ppc_insert_operand
(unsigned long insn, const struct powerpc_operand *operand, offsetT val, char *file, unsigned int line);
static void ppc_macro (char *str, const struct powerpc_macro *macro);
static void ppc_byte (int);
static int ppc_is_toc_sym (symbolS *sym);
static void ppc_tc (int);
static void ppc_machine (int);
# 128 "../../binutils-2.13.1/gas/config/tc-ppc.c"
static bfd_reloc_code_real_type ppc_elf_suffix (char **, expressionS *);
static void ppc_elf_cons (int);
static void ppc_elf_rdata (int);
static void ppc_elf_lcomm (int);
static void ppc_elf_validate_fix (fixS *, segT);
# 158 "../../binutils-2.13.1/gas/config/tc-ppc.c"
static const char ppc_solaris_comment_chars[] = "#!";
static const char ppc_eabi_comment_chars[] = "#";
const char *ppc_comment_chars = ppc_eabi_comment_chars;
const char line_comment_chars[] = "#";
const char line_separator_chars[] = ";";
const char EXP_CHARS[] = "eE";
const char FLT_CHARS[] = "dD";
const pseudo_typeS md_pseudo_table[] =
{
{ "byte", ppc_byte, 0 },
# 227 "../../binutils-2.13.1/gas/config/tc-ppc.c"
{ "llong", ppc_elf_cons, 8 },
{ "quad", ppc_elf_cons, 8 },
{ "long", ppc_elf_cons, 4 },
{ "word", ppc_elf_cons, 2 },
{ "short", ppc_elf_cons, 2 },
{ "rdata", ppc_elf_rdata, 0 },
{ "rodata", ppc_elf_rdata, 0 },
{ "lcomm", ppc_elf_lcomm, 0 },
{ "file", (void (*) (int)) dwarf2_directive_file, 0 },
{ "loc", dwarf2_directive_loc, 0 },
# 256 "../../binutils-2.13.1/gas/config/tc-ppc.c"
{ "tc", ppc_tc, 0 },
{ "machine", ppc_machine, 0 },
{ ((void *)0), ((void *)0), 0 }
};
struct pd_reg
{
char *name;
int value;
};
# 310 "../../binutils-2.13.1/gas/config/tc-ppc.c"
static const struct pd_reg pre_defined_registers[] =
{
{ "cr.0", 0 },
{ "cr.1", 1 },
{ "cr.2", 2 },
{ "cr.3", 3 },
{ "cr.4", 4 },
{ "cr.5", 5 },
{ "cr.6", 6 },
{ "cr.7", 7 },
{ "cr0", 0 },
{ "cr1", 1 },
{ "cr2", 2 },
{ "cr3", 3 },
{ "cr4", 4 },
{ "cr5", 5 },
{ "cr6", 6 },
{ "cr7", 7 },
{ "ctr", 9 },
{ "dar", 19 },
{ "dec", 22 },
{ "dsisr", 18 },
{ "f.0", 0 },
{ "f.1", 1 },
{ "f.10", 10 },
{ "f.11", 11 },
{ "f.12", 12 },
{ "f.13", 13 },
{ "f.14", 14 },
{ "f.15", 15 },
{ "f.16", 16 },
{ "f.17", 17 },
{ "f.18", 18 },
{ "f.19", 19 },
{ "f.2", 2 },
{ "f.20", 20 },
{ "f.21", 21 },
{ "f.22", 22 },
{ "f.23", 23 },
{ "f.24", 24 },
{ "f.25", 25 },
{ "f.26", 26 },
{ "f.27", 27 },
{ "f.28", 28 },
{ "f.29", 29 },
{ "f.3", 3 },
{ "f.30", 30 },
{ "f.31", 31 },
{ "f.4", 4 },
{ "f.5", 5 },
{ "f.6", 6 },
{ "f.7", 7 },
{ "f.8", 8 },
{ "f.9", 9 },
{ "f0", 0 },
{ "f1", 1 },
{ "f10", 10 },
{ "f11", 11 },
{ "f12", 12 },
{ "f13", 13 },
{ "f14", 14 },
{ "f15", 15 },
{ "f16", 16 },
{ "f17", 17 },
{ "f18", 18 },
{ "f19", 19 },
{ "f2", 2 },
{ "f20", 20 },
{ "f21", 21 },
{ "f22", 22 },
{ "f23", 23 },
{ "f24", 24 },
{ "f25", 25 },
{ "f26", 26 },
{ "f27", 27 },
{ "f28", 28 },
{ "f29", 29 },
{ "f3", 3 },
{ "f30", 30 },
{ "f31", 31 },
{ "f4", 4 },
{ "f5", 5 },
{ "f6", 6 },
{ "f7", 7 },
{ "f8", 8 },
{ "f9", 9 },
{ "fpscr", 0 },
{ "lr", 8 },
{ "pmr", 0 },
{ "r.0", 0 },
{ "r.1", 1 },
{ "r.10", 10 },
{ "r.11", 11 },
{ "r.12", 12 },
{ "r.13", 13 },
{ "r.14", 14 },
{ "r.15", 15 },
{ "r.16", 16 },
{ "r.17", 17 },
{ "r.18", 18 },
{ "r.19", 19 },
{ "r.2", 2 },
{ "r.20", 20 },
{ "r.21", 21 },
{ "r.22", 22 },
{ "r.23", 23 },
{ "r.24", 24 },
{ "r.25", 25 },
{ "r.26", 26 },
{ "r.27", 27 },
{ "r.28", 28 },
{ "r.29", 29 },
{ "r.3", 3 },
{ "r.30", 30 },
{ "r.31", 31 },
{ "r.4", 4 },
{ "r.5", 5 },
{ "r.6", 6 },
{ "r.7", 7 },
{ "r.8", 8 },
{ "r.9", 9 },
{ "r.sp", 1 },
{ "r.toc", 2 },
{ "r0", 0 },
{ "r1", 1 },
{ "r10", 10 },
{ "r11", 11 },
{ "r12", 12 },
{ "r13", 13 },
{ "r14", 14 },
{ "r15", 15 },
{ "r16", 16 },
{ "r17", 17 },
{ "r18", 18 },
{ "r19", 19 },
{ "r2", 2 },
{ "r20", 20 },
{ "r21", 21 },
{ "r22", 22 },
{ "r23", 23 },
{ "r24", 24 },
{ "r25", 25 },
{ "r26", 26 },
{ "r27", 27 },
{ "r28", 28 },
{ "r29", 29 },
{ "r3", 3 },
{ "r30", 30 },
{ "r31", 31 },
{ "r4", 4 },
{ "r5", 5 },
{ "r6", 6 },
{ "r7", 7 },
{ "r8", 8 },
{ "r9", 9 },
{ "rtoc", 2 },
{ "sdr1", 25 },
{ "sp", 1 },
{ "srr0", 26 },
{ "srr1", 27 },
{ "v.0", 0 },
{ "v.1", 1 },
{ "v.10", 10 },
{ "v.11", 11 },
{ "v.12", 12 },
{ "v.13", 13 },
{ "v.14", 14 },
{ "v.15", 15 },
{ "v.16", 16 },
{ "v.17", 17 },
{ "v.18", 18 },
{ "v.19", 19 },
{ "v.2", 2 },
{ "v.20", 20 },
{ "v.21", 21 },
{ "v.22", 22 },
{ "v.23", 23 },
{ "v.24", 24 },
{ "v.25", 25 },
{ "v.26", 26 },
{ "v.27", 27 },
{ "v.28", 28 },
{ "v.29", 29 },
{ "v.3", 3 },
{ "v.30", 30 },
{ "v.31", 31 },
{ "v.4", 4 },
{ "v.5", 5 },
{ "v.6", 6 },
{ "v.7", 7 },
{ "v.8", 8 },
{ "v.9", 9 },
{ "v0", 0 },
{ "v1", 1 },
{ "v10", 10 },
{ "v11", 11 },
{ "v12", 12 },
{ "v13", 13 },
{ "v14", 14 },
{ "v15", 15 },
{ "v16", 16 },
{ "v17", 17 },
{ "v18", 18 },
{ "v19", 19 },
{ "v2", 2 },
{ "v20", 20 },
{ "v21", 21 },
{ "v22", 22 },
{ "v23", 23 },
{ "v24", 24 },
{ "v25", 25 },
{ "v26", 26 },
{ "v27", 27 },
{ "v28", 28 },
{ "v29", 29 },
{ "v3", 3 },
{ "v30", 30 },
{ "v31", 31 },
{ "v4", 4 },
{ "v5", 5 },
{ "v6", 6 },
{ "v7", 7 },
{ "v8", 8 },
{ "v9", 9 },
{ "xer", 1 },
};
static int reg_name_search
(const struct pd_reg *, int, const char * name);
static int
reg_name_search (regs, regcount, name)
const struct pd_reg *regs;
int regcount;
const char *name;
{
int middle, low, high;
int cmp;
low = 0;
high = regcount - 1;
do
{
middle = (low + high) / 2;
cmp = strcasecmp (name, regs[middle].name);
if (cmp < 0)
high = middle - 1;
else if (cmp > 0)
low = middle + 1;
else
return regs[middle].value;
}
while (low <= high);
return -1;
}
# 605 "../../binutils-2.13.1/gas/config/tc-ppc.c"
static boolean
register_name (expressionP)
expressionS *expressionP;
{
int reg_number;
char *name;
char *start;
char c;
start = name = input_line_pointer;
if (name[0] == '%' && (_sch_istable[(name[1]) & 0xff] & (unsigned short)(_sch_isalpha)))
name = ++input_line_pointer;
else if (!reg_names_p || !(_sch_istable[(name[0]) & 0xff] & (unsigned short)(_sch_isalpha)))
return false;
c = get_symbol_end ();
reg_number = reg_name_search (pre_defined_registers, (sizeof (pre_defined_registers) / sizeof (struct pd_reg)), name);
*input_line_pointer = c;
if (reg_number >= 0)
{
expressionP->X_op = O_register;
expressionP->X_add_number = reg_number;
expressionP->X_add_symbol = ((void *)0);
expressionP->X_op_symbol = ((void *)0);
return true;
}
input_line_pointer = start;
return false;
}
static boolean cr_operand;
static const struct pd_reg cr_names[] =
{
{ "cr0", 0 },
{ "cr1", 1 },
{ "cr2", 2 },
{ "cr3", 3 },
{ "cr4", 4 },
{ "cr5", 5 },
{ "cr6", 6 },
{ "cr7", 7 },
{ "eq", 2 },
{ "gt", 1 },
{ "lt", 0 },
{ "so", 3 },
{ "un", 3 }
};
int
ppc_parse_name (name, expr)
const char *name;
expressionS *expr;
{
int val;
if (! cr_operand)
return 0;
val = reg_name_search (cr_names, sizeof cr_names / sizeof cr_names[0],
name);
if (val < 0)
return 0;
expr->X_op = O_constant;
expr->X_add_number = val;
return 1;
}
static unsigned long ppc_cpu = 0;
static unsigned int ppc_obj64 = 32 == 64;
static struct hash_control *ppc_hash;
static struct hash_control *ppc_macro_hash;
static enum { SHLIB_NONE, SHLIB_PIC, SHLIB_MRELOCATABLE } shlib = SHLIB_NONE;
static flagword ppc_flags = 0;
# 723 "../../binutils-2.13.1/gas/config/tc-ppc.c"
static boolean msolaris = false;
# 789 "../../binutils-2.13.1/gas/config/tc-ppc.c"
symbolS *GOT_symbol;
const char *const md_shortopts = "b:l:usm:K:VQ:";
const struct option md_longopts[] = {
{((void *)0), 0, ((void *)0), 0}
};
const size_t md_longopts_size = sizeof (md_longopts);
int
md_parse_option (c, arg)
int c;
char *arg;
{
switch (c)
{
case 'u':
break;
case 'l':
if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("e") && (__s1_len = strlen (arg), __s2_len = strlen ("e"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("e") + 1) - (size_t)(const void *)("e") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("e"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("e") && ((size_t)(const void *)(("e") + 1) - (size_t)(const void *)("e") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("e"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("e"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("e"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("e"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("e"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("e") && ((size_t)(const void *)(("e") + 1) - (size_t)(const void *)("e") == 1) && (__s2_len = strlen ("e"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("e"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("e"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("e"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("e"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("e"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("e"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("e"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("e"))[3]); } } __result; }))) : strcmp (arg, "e")))); }) == 0)
{
target_big_endian = 0;
set_target_endian = 1;
}
else
return 0;
break;
case 'b':
if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("e") && (__s1_len = strlen (arg), __s2_len = strlen ("e"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("e") + 1) - (size_t)(const void *)("e") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("e"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("e") && ((size_t)(const void *)(("e") + 1) - (size_t)(const void *)("e") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("e"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("e"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("e"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("e"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("e"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("e") && ((size_t)(const void *)(("e") + 1) - (size_t)(const void *)("e") == 1) && (__s2_len = strlen ("e"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("e"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("e"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("e"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("e"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("e"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("e"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("e"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("e"))[3]); } } __result; }))) : strcmp (arg, "e")))); }) == 0)
{
target_big_endian = 1;
set_target_endian = 1;
}
else
return 0;
break;
case 'K':
if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("PIC") && (__s1_len = strlen (arg), __s2_len = strlen ("PIC"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("PIC") + 1) - (size_t)(const void *)("PIC") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("PIC"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("PIC") && ((size_t)(const void *)(("PIC") + 1) - (size_t)(const void *)("PIC") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("PIC"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("PIC"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("PIC"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("PIC"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("PIC"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("PIC") && ((size_t)(const void *)(("PIC") + 1) - (size_t)(const void *)("PIC") == 1) && (__s2_len = strlen ("PIC"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("PIC"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("PIC"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("PIC"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("PIC"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("PIC"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("PIC"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("PIC"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("PIC"))[3]); } } __result; }))) : strcmp (arg, "PIC")))); }) == 0 || __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("pic") && (__s1_len = strlen (arg), __s2_len = strlen ("pic"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("pic") + 1) - (size_t)(const void *)("pic") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("pic"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("pic") && ((size_t)(const void *)(("pic") + 1) - (size_t)(const void *)("pic") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("pic"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("pic"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("pic"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("pic"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("pic"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("pic") && ((size_t)(const void *)(("pic") + 1) - (size_t)(const void *)("pic") == 1) && (__s2_len = strlen ("pic"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("pic"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("pic"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("pic"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("pic"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("pic"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("pic"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("pic"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("pic"))[3]); } } __result; }))) : strcmp (arg, "pic")))); }) == 0)
{
shlib = SHLIB_PIC;
ppc_flags |= 0x00008000;
}
else
return 0;
break;
case 'a':
if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("64") && (__s1_len = strlen (arg), __s2_len = strlen ("64"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("64") + 1) - (size_t)(const void *)("64") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("64"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("64") && ((size_t)(const void *)(("64") + 1) - (size_t)(const void *)("64") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("64"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("64"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("64"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("64"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("64"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("64") && ((size_t)(const void *)(("64") + 1) - (size_t)(const void *)("64") == 1) && (__s2_len = strlen ("64"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("64"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("64"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("64"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("64"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("64"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("64"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("64"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("64"))[3]); } } __result; }))) : strcmp (arg, "64")))); }) == 0)
ppc_obj64 = 1;
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("32") && (__s1_len = strlen (arg), __s2_len = strlen ("32"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("32") + 1) - (size_t)(const void *)("32") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("32"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("32") && ((size_t)(const void *)(("32") + 1) - (size_t)(const void *)("32") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("32"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("32"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("32"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("32"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("32"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("32") && ((size_t)(const void *)(("32") + 1) - (size_t)(const void *)("32") == 1) && (__s2_len = strlen ("32"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("32"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("32"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("32"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("32"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("32"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("32"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("32"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("32"))[3]); } } __result; }))) : strcmp (arg, "32")))); }) == 0)
ppc_obj64 = 0;
else
return 0;
break;
case 'm':
if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("pwrx") && (__s1_len = strlen (arg), __s2_len = strlen ("pwrx"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("pwrx") + 1) - (size_t)(const void *)("pwrx") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("pwrx"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("pwrx") && ((size_t)(const void *)(("pwrx") + 1) - (size_t)(const void *)("pwrx") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("pwrx"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("pwrx"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("pwrx"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("pwrx"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("pwrx"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("pwrx") && ((size_t)(const void *)(("pwrx") + 1) - (size_t)(const void *)("pwrx") == 1) && (__s2_len = strlen ("pwrx"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("pwrx"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("pwrx"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("pwrx"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("pwrx"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("pwrx"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("pwrx"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("pwrx"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("pwrx"))[3]); } } __result; }))) : strcmp (arg, "pwrx")))); }) == 0 || __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("pwr2") && (__s1_len = strlen (arg), __s2_len = strlen ("pwr2"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("pwr2") + 1) - (size_t)(const void *)("pwr2") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("pwr2"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("pwr2") && ((size_t)(const void *)(("pwr2") + 1) - (size_t)(const void *)("pwr2") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("pwr2"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("pwr2"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("pwr2"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("pwr2"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("pwr2"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("pwr2") && ((size_t)(const void *)(("pwr2") + 1) - (size_t)(const void *)("pwr2") == 1) && (__s2_len = strlen ("pwr2"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("pwr2"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("pwr2"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("pwr2"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("pwr2"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("pwr2"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("pwr2"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("pwr2"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("pwr2"))[3]); } } __result; }))) : strcmp (arg, "pwr2")))); }) == 0)
ppc_cpu = (02) | (04) | (010);
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("pwr") && (__s1_len = strlen (arg), __s2_len = strlen ("pwr"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("pwr") + 1) - (size_t)(const void *)("pwr") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("pwr"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("pwr") && ((size_t)(const void *)(("pwr") + 1) - (size_t)(const void *)("pwr") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("pwr"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("pwr"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("pwr"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("pwr"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("pwr"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("pwr") && ((size_t)(const void *)(("pwr") + 1) - (size_t)(const void *)("pwr") == 1) && (__s2_len = strlen ("pwr"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("pwr"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("pwr"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("pwr"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("pwr"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("pwr"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("pwr"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("pwr"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("pwr"))[3]); } } __result; }))) : strcmp (arg, "pwr")))); }) == 0)
ppc_cpu = (02) | (010);
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("601") && (__s1_len = strlen (arg), __s2_len = strlen ("601"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("601") + 1) - (size_t)(const void *)("601") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("601"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("601") && ((size_t)(const void *)(("601") + 1) - (size_t)(const void *)("601") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("601"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("601"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("601"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("601"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("601"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("601") && ((size_t)(const void *)(("601") + 1) - (size_t)(const void *)("601") == 1) && (__s2_len = strlen ("601"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("601"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("601"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("601"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("601"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("601"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("601"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("601"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("601"))[3]); } } __result; }))) : strcmp (arg, "601")))); }) == 0)
ppc_cpu = (01) | (040) | (010);
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("ppc") && (__s1_len = strlen (arg), __s2_len = strlen ("ppc"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("ppc") + 1) - (size_t)(const void *)("ppc") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("ppc"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("ppc") && ((size_t)(const void *)(("ppc") + 1) - (size_t)(const void *)("ppc") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("ppc"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("ppc"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("ppc"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("ppc"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("ppc"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("ppc") && ((size_t)(const void *)(("ppc") + 1) - (size_t)(const void *)("ppc") == 1) && (__s2_len = strlen ("ppc"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("ppc"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("ppc"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("ppc"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("ppc"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("ppc"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("ppc"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("ppc"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("ppc"))[3]); } } __result; }))) : strcmp (arg, "ppc")))); }) == 0
|| __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("ppc32") && (__s1_len = strlen (arg), __s2_len = strlen ("ppc32"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("ppc32") + 1) - (size_t)(const void *)("ppc32") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("ppc32"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("ppc32") && ((size_t)(const void *)(("ppc32") + 1) - (size_t)(const void *)("ppc32") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("ppc32"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("ppc32"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("ppc32"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("ppc32"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("ppc32"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("ppc32") && ((size_t)(const void *)(("ppc32") + 1) - (size_t)(const void *)("ppc32") == 1) && (__s2_len = strlen ("ppc32"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("ppc32"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("ppc32"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("ppc32"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("ppc32"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("ppc32"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("ppc32"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("ppc32"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("ppc32"))[3]); } } __result; }))) : strcmp (arg, "ppc32")))); }) == 0
|| __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("603") && (__s1_len = strlen (arg), __s2_len = strlen ("603"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("603") + 1) - (size_t)(const void *)("603") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("603"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("603") && ((size_t)(const void *)(("603") + 1) - (size_t)(const void *)("603") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("603"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("603"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("603"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("603"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("603"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("603") && ((size_t)(const void *)(("603") + 1) - (size_t)(const void *)("603") == 1) && (__s2_len = strlen ("603"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("603"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("603"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("603"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("603"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("603"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("603"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("603"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("603"))[3]); } } __result; }))) : strcmp (arg, "603")))); }) == 0
|| __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("604") && (__s1_len = strlen (arg), __s2_len = strlen ("604"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("604") + 1) - (size_t)(const void *)("604") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("604"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("604") && ((size_t)(const void *)(("604") + 1) - (size_t)(const void *)("604") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("604"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("604"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("604"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("604"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("604"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("604") && ((size_t)(const void *)(("604") + 1) - (size_t)(const void *)("604") == 1) && (__s2_len = strlen ("604"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("604"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("604"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("604"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("604"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("604"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("604"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("604"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("604"))[3]); } } __result; }))) : strcmp (arg, "604")))); }) == 0)
ppc_cpu = (01) | (010);
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("403") && (__s1_len = strlen (arg), __s2_len = strlen ("403"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("403") + 1) - (size_t)(const void *)("403") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("403"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("403") && ((size_t)(const void *)(("403") + 1) - (size_t)(const void *)("403") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("403"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("403"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("403"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("403"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("403"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("403") && ((size_t)(const void *)(("403") + 1) - (size_t)(const void *)("403") == 1) && (__s2_len = strlen ("403"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("403"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("403"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("403"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("403"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("403"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("403"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("403"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("403"))[3]); } } __result; }))) : strcmp (arg, "403")))); }) == 0
|| __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("405") && (__s1_len = strlen (arg), __s2_len = strlen ("405"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("405") + 1) - (size_t)(const void *)("405") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("405"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("405") && ((size_t)(const void *)(("405") + 1) - (size_t)(const void *)("405") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("405"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("405"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("405"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("405"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("405"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("405") && ((size_t)(const void *)(("405") + 1) - (size_t)(const void *)("405") == 1) && (__s2_len = strlen ("405"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("405"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("405"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("405"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("405"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("405"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("405"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("405"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("405"))[3]); } } __result; }))) : strcmp (arg, "405")))); }) == 0)
ppc_cpu = (01) | (02000) | (010);
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("7400") && (__s1_len = strlen (arg), __s2_len = strlen ("7400"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("7400") + 1) - (size_t)(const void *)("7400") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("7400"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("7400") && ((size_t)(const void *)(("7400") + 1) - (size_t)(const void *)("7400") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("7400"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("7400"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("7400"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("7400"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("7400"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("7400") && ((size_t)(const void *)(("7400") + 1) - (size_t)(const void *)("7400") == 1) && (__s2_len = strlen ("7400"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("7400"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("7400"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("7400"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("7400"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("7400"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("7400"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("7400"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("7400"))[3]); } } __result; }))) : strcmp (arg, "7400")))); }) == 0
|| __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("7410") && (__s1_len = strlen (arg), __s2_len = strlen ("7410"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("7410") + 1) - (size_t)(const void *)("7410") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("7410"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("7410") && ((size_t)(const void *)(("7410") + 1) - (size_t)(const void *)("7410") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("7410"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("7410"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("7410"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("7410"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("7410"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("7410") && ((size_t)(const void *)(("7410") + 1) - (size_t)(const void *)("7410") == 1) && (__s2_len = strlen ("7410"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("7410"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("7410"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("7410"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("7410"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("7410"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("7410"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("7410"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("7410"))[3]); } } __result; }))) : strcmp (arg, "7410")))); }) == 0
|| __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("7450") && (__s1_len = strlen (arg), __s2_len = strlen ("7450"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("7450") + 1) - (size_t)(const void *)("7450") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("7450"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("7450") && ((size_t)(const void *)(("7450") + 1) - (size_t)(const void *)("7450") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("7450"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("7450"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("7450"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("7450"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("7450"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("7450") && ((size_t)(const void *)(("7450") + 1) - (size_t)(const void *)("7450") == 1) && (__s2_len = strlen ("7450"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("7450"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("7450"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("7450"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("7450"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("7450"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("7450"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("7450"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("7450"))[3]); } } __result; }))) : strcmp (arg, "7450")))); }) == 0
|| __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("7455") && (__s1_len = strlen (arg), __s2_len = strlen ("7455"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("7455") + 1) - (size_t)(const void *)("7455") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("7455"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("7455") && ((size_t)(const void *)(("7455") + 1) - (size_t)(const void *)("7455") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("7455"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("7455"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("7455"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("7455"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("7455"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("7455") && ((size_t)(const void *)(("7455") + 1) - (size_t)(const void *)("7455") == 1) && (__s2_len = strlen ("7455"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("7455"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("7455"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("7455"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("7455"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("7455"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("7455"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("7455"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("7455"))[3]); } } __result; }))) : strcmp (arg, "7455")))); }) == 0)
ppc_cpu = (01) | (01000) | (010);
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("altivec") && (__s1_len = strlen (arg), __s2_len = strlen ("altivec"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("altivec") + 1) - (size_t)(const void *)("altivec") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("altivec"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("altivec") && ((size_t)(const void *)(("altivec") + 1) - (size_t)(const void *)("altivec") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("altivec"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("altivec"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("altivec"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("altivec"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("altivec"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("altivec") && ((size_t)(const void *)(("altivec") + 1) - (size_t)(const void *)("altivec") == 1) && (__s2_len = strlen ("altivec"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("altivec"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("altivec"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("altivec"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("altivec"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("altivec"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("altivec"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("altivec"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("altivec"))[3]); } } __result; }))) : strcmp (arg, "altivec")))); }) == 0)
{
if (ppc_cpu == 0)
ppc_cpu = (01) | (01000);
else
ppc_cpu |= (01000);
}
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("ppc64") && (__s1_len = strlen (arg), __s2_len = strlen ("ppc64"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("ppc64") + 1) - (size_t)(const void *)("ppc64") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("ppc64"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("ppc64") && ((size_t)(const void *)(("ppc64") + 1) - (size_t)(const void *)("ppc64") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("ppc64"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("ppc64"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("ppc64"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("ppc64"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("ppc64"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("ppc64") && ((size_t)(const void *)(("ppc64") + 1) - (size_t)(const void *)("ppc64") == 1) && (__s2_len = strlen ("ppc64"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("ppc64"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("ppc64"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("ppc64"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("ppc64"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("ppc64"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("ppc64"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("ppc64"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("ppc64"))[3]); } } __result; }))) : strcmp (arg, "ppc64")))); }) == 0 || __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("620") && (__s1_len = strlen (arg), __s2_len = strlen ("620"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("620") + 1) - (size_t)(const void *)("620") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("620"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("620") && ((size_t)(const void *)(("620") + 1) - (size_t)(const void *)("620") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("620"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("620"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("620"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("620"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("620"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("620") && ((size_t)(const void *)(("620") + 1) - (size_t)(const void *)("620") == 1) && (__s2_len = strlen ("620"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("620"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("620"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("620"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("620"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("620"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("620"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("620"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("620"))[3]); } } __result; }))) : strcmp (arg, "620")))); }) == 0)
{
ppc_cpu = (01) | (020);
}
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("ppc64bridge") && (__s1_len = strlen (arg), __s2_len = strlen ("ppc64bridge"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("ppc64bridge") + 1) - (size_t)(const void *)("ppc64bridge") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("ppc64bridge"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("ppc64bridge") && ((size_t)(const void *)(("ppc64bridge") + 1) - (size_t)(const void *)("ppc64bridge") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("ppc64bridge"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("ppc64bridge"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("ppc64bridge"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("ppc64bridge"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("ppc64bridge"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("ppc64bridge") && ((size_t)(const void *)(("ppc64bridge") + 1) - (size_t)(const void *)("ppc64bridge") == 1) && (__s2_len = strlen ("ppc64bridge"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("ppc64bridge"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("ppc64bridge"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("ppc64bridge"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("ppc64bridge"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("ppc64bridge"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("ppc64bridge"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("ppc64bridge"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("ppc64bridge"))[3]); } } __result; }))) : strcmp (arg, "ppc64bridge")))); }) == 0)
{
ppc_cpu = (01) | (0400) | (020);
}
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("booke") && (__s1_len = strlen (arg), __s2_len = strlen ("booke"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("booke") + 1) - (size_t)(const void *)("booke") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("booke"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("booke") && ((size_t)(const void *)(("booke") + 1) - (size_t)(const void *)("booke") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("booke"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("booke"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("booke"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("booke"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("booke"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("booke") && ((size_t)(const void *)(("booke") + 1) - (size_t)(const void *)("booke") == 1) && (__s2_len = strlen ("booke"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("booke"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("booke"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("booke"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("booke"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("booke"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("booke"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("booke"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("booke"))[3]); } } __result; }))) : strcmp (arg, "booke")))); }) == 0 || __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("booke32") && (__s1_len = strlen (arg), __s2_len = strlen ("booke32"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("booke32") + 1) - (size_t)(const void *)("booke32") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("booke32"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("booke32") && ((size_t)(const void *)(("booke32") + 1) - (size_t)(const void *)("booke32") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("booke32"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("booke32"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("booke32"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("booke32"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("booke32"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("booke32") && ((size_t)(const void *)(("booke32") + 1) - (size_t)(const void *)("booke32") == 1) && (__s2_len = strlen ("booke32"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("booke32"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("booke32"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("booke32"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("booke32"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("booke32"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("booke32"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("booke32"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("booke32"))[3]); } } __result; }))) : strcmp (arg, "booke32")))); }) == 0)
ppc_cpu = (01) | (04000) | (010);
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("booke64") && (__s1_len = strlen (arg), __s2_len = strlen ("booke64"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("booke64") + 1) - (size_t)(const void *)("booke64") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("booke64"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("booke64") && ((size_t)(const void *)(("booke64") + 1) - (size_t)(const void *)("booke64") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("booke64"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("booke64"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("booke64"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("booke64"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("booke64"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("booke64") && ((size_t)(const void *)(("booke64") + 1) - (size_t)(const void *)("booke64") == 1) && (__s2_len = strlen ("booke64"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("booke64"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("booke64"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("booke64"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("booke64"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("booke64"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("booke64"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("booke64"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("booke64"))[3]); } } __result; }))) : strcmp (arg, "booke64")))); }) == 0)
{
ppc_cpu = (01) | (04000) |
(010000) | (020);
}
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("power4") && (__s1_len = strlen (arg), __s2_len = strlen ("power4"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("power4") + 1) - (size_t)(const void *)("power4") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("power4"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("power4") && ((size_t)(const void *)(("power4") + 1) - (size_t)(const void *)("power4") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("power4"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("power4"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("power4"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("power4"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("power4"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("power4") && ((size_t)(const void *)(("power4") + 1) - (size_t)(const void *)("power4") == 1) && (__s2_len = strlen ("power4"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("power4"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("power4"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("power4"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("power4"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("power4"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("power4"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("power4"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("power4"))[3]); } } __result; }))) : strcmp (arg, "power4")))); }) == 0)
{
ppc_cpu = (01) | (020) | (020000);
}
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("com") && (__s1_len = strlen (arg), __s2_len = strlen ("com"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("com") + 1) - (size_t)(const void *)("com") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("com"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("com") && ((size_t)(const void *)(("com") + 1) - (size_t)(const void *)("com") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("com"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("com"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("com"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("com"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("com"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("com") && ((size_t)(const void *)(("com") + 1) - (size_t)(const void *)("com") == 1) && (__s2_len = strlen ("com"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("com"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("com"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("com"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("com"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("com"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("com"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("com"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("com"))[3]); } } __result; }))) : strcmp (arg, "com")))); }) == 0)
ppc_cpu = (0100) | (010);
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("any") && (__s1_len = strlen (arg), __s2_len = strlen ("any"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("any") + 1) - (size_t)(const void *)("any") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("any"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("any") && ((size_t)(const void *)(("any") + 1) - (size_t)(const void *)("any") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("any"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("any"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("any"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("any"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("any"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("any") && ((size_t)(const void *)(("any") + 1) - (size_t)(const void *)("any") == 1) && (__s2_len = strlen ("any"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("any"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("any"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("any"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("any"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("any"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("any"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("any"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("any"))[3]); } } __result; }))) : strcmp (arg, "any")))); }) == 0)
ppc_cpu = (0200) | (010);
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("regnames") && (__s1_len = strlen (arg), __s2_len = strlen ("regnames"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("regnames") + 1) - (size_t)(const void *)("regnames") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("regnames"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("regnames") && ((size_t)(const void *)(("regnames") + 1) - (size_t)(const void *)("regnames") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("regnames"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("regnames"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("regnames"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("regnames"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("regnames"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("regnames") && ((size_t)(const void *)(("regnames") + 1) - (size_t)(const void *)("regnames") == 1) && (__s2_len = strlen ("regnames"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("regnames"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("regnames"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("regnames"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("regnames"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("regnames"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("regnames"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("regnames"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("regnames"))[3]); } } __result; }))) : strcmp (arg, "regnames")))); }) == 0)
reg_names_p = true;
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("no-regnames") && (__s1_len = strlen (arg), __s2_len = strlen ("no-regnames"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("no-regnames") + 1) - (size_t)(const void *)("no-regnames") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("no-regnames"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("no-regnames") && ((size_t)(const void *)(("no-regnames") + 1) - (size_t)(const void *)("no-regnames") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("no-regnames"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("no-regnames"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("no-regnames"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("no-regnames"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("no-regnames"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("no-regnames") && ((size_t)(const void *)(("no-regnames") + 1) - (size_t)(const void *)("no-regnames") == 1) && (__s2_len = strlen ("no-regnames"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("no-regnames"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("no-regnames"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("no-regnames"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("no-regnames"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("no-regnames"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("no-regnames"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("no-regnames"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("no-regnames"))[3]); } } __result; }))) : strcmp (arg, "no-regnames")))); }) == 0)
reg_names_p = false;
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("relocatable") && (__s1_len = strlen (arg), __s2_len = strlen ("relocatable"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("relocatable") + 1) - (size_t)(const void *)("relocatable") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("relocatable"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("relocatable") && ((size_t)(const void *)(("relocatable") + 1) - (size_t)(const void *)("relocatable") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("relocatable"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("relocatable"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("relocatable"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("relocatable"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("relocatable"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("relocatable") && ((size_t)(const void *)(("relocatable") + 1) - (size_t)(const void *)("relocatable") == 1) && (__s2_len = strlen ("relocatable"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("relocatable"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("relocatable"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("relocatable"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("relocatable"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("relocatable"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("relocatable"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("relocatable"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("relocatable"))[3]); } } __result; }))) : strcmp (arg, "relocatable")))); }) == 0)
{
shlib = SHLIB_MRELOCATABLE;
ppc_flags |= 0x00010000;
}
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("relocatable-lib") && (__s1_len = strlen (arg), __s2_len = strlen ("relocatable-lib"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("relocatable-lib") + 1) - (size_t)(const void *)("relocatable-lib") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("relocatable-lib"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("relocatable-lib") && ((size_t)(const void *)(("relocatable-lib") + 1) - (size_t)(const void *)("relocatable-lib") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("relocatable-lib"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("relocatable-lib"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("relocatable-lib"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("relocatable-lib"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("relocatable-lib"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("relocatable-lib") && ((size_t)(const void *)(("relocatable-lib") + 1) - (size_t)(const void *)("relocatable-lib") == 1) && (__s2_len = strlen ("relocatable-lib"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("relocatable-lib"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("relocatable-lib"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("relocatable-lib"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("relocatable-lib"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("relocatable-lib"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("relocatable-lib"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("relocatable-lib"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("relocatable-lib"))[3]); } } __result; }))) : strcmp (arg, "relocatable-lib")))); }) == 0)
{
shlib = SHLIB_MRELOCATABLE;
ppc_flags |= 0x00008000;
}
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("emb") && (__s1_len = strlen (arg), __s2_len = strlen ("emb"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("emb") + 1) - (size_t)(const void *)("emb") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("emb"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("emb") && ((size_t)(const void *)(("emb") + 1) - (size_t)(const void *)("emb") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("emb"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("emb"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("emb"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("emb"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("emb"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("emb") && ((size_t)(const void *)(("emb") + 1) - (size_t)(const void *)("emb") == 1) && (__s2_len = strlen ("emb"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("emb"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("emb"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("emb"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("emb"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("emb"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("emb"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("emb"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("emb"))[3]); } } __result; }))) : strcmp (arg, "emb")))); }) == 0)
ppc_flags |= 0x80000000;
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("little") && (__s1_len = strlen (arg), __s2_len = strlen ("little"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("little") + 1) - (size_t)(const void *)("little") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("little"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("little") && ((size_t)(const void *)(("little") + 1) - (size_t)(const void *)("little") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("little"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("little"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("little"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("little"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("little"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("little") && ((size_t)(const void *)(("little") + 1) - (size_t)(const void *)("little") == 1) && (__s2_len = strlen ("little"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("little"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("little"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("little"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("little"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("little"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("little"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("little"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("little"))[3]); } } __result; }))) : strcmp (arg, "little")))); }) == 0
|| __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("little-endian") && (__s1_len = strlen (arg), __s2_len = strlen ("little-endian"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("little-endian") + 1) - (size_t)(const void *)("little-endian") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("little-endian"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("little-endian") && ((size_t)(const void *)(("little-endian") + 1) - (size_t)(const void *)("little-endian") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("little-endian"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("little-endian"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("little-endian"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("little-endian"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("little-endian"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("little-endian") && ((size_t)(const void *)(("little-endian") + 1) - (size_t)(const void *)("little-endian") == 1) && (__s2_len = strlen ("little-endian"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("little-endian"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("little-endian"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("little-endian"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("little-endian"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("little-endian"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("little-endian"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("little-endian"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("little-endian"))[3]); } } __result; }))) : strcmp (arg, "little-endian")))); }) == 0)
{
target_big_endian = 0;
set_target_endian = 1;
}
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("big") && (__s1_len = strlen (arg), __s2_len = strlen ("big"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("big") + 1) - (size_t)(const void *)("big") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("big"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("big") && ((size_t)(const void *)(("big") + 1) - (size_t)(const void *)("big") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("big"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("big"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("big"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("big"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("big"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("big") && ((size_t)(const void *)(("big") + 1) - (size_t)(const void *)("big") == 1) && (__s2_len = strlen ("big"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("big"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("big"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("big"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("big"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("big"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("big"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("big"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("big"))[3]); } } __result; }))) : strcmp (arg, "big")))); }) == 0 || __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("big-endian") && (__s1_len = strlen (arg), __s2_len = strlen ("big-endian"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("big-endian") + 1) - (size_t)(const void *)("big-endian") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("big-endian"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("big-endian") && ((size_t)(const void *)(("big-endian") + 1) - (size_t)(const void *)("big-endian") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("big-endian"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("big-endian"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("big-endian"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("big-endian"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("big-endian"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("big-endian") && ((size_t)(const void *)(("big-endian") + 1) - (size_t)(const void *)("big-endian") == 1) && (__s2_len = strlen ("big-endian"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("big-endian"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("big-endian"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("big-endian"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("big-endian"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("big-endian"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("big-endian"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("big-endian"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("big-endian"))[3]); } } __result; }))) : strcmp (arg, "big-endian")))); }) == 0)
{
target_big_endian = 1;
set_target_endian = 1;
}
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("solaris") && (__s1_len = strlen (arg), __s2_len = strlen ("solaris"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("solaris") + 1) - (size_t)(const void *)("solaris") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("solaris"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("solaris") && ((size_t)(const void *)(("solaris") + 1) - (size_t)(const void *)("solaris") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("solaris"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("solaris"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("solaris"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("solaris"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("solaris"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("solaris") && ((size_t)(const void *)(("solaris") + 1) - (size_t)(const void *)("solaris") == 1) && (__s2_len = strlen ("solaris"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("solaris"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("solaris"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("solaris"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("solaris"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("solaris"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("solaris"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("solaris"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("solaris"))[3]); } } __result; }))) : strcmp (arg, "solaris")))); }) == 0)
{
msolaris = true;
ppc_comment_chars = ppc_solaris_comment_chars;
}
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (arg) && __builtin_constant_p ("no-solaris") && (__s1_len = strlen (arg), __s2_len = strlen ("no-solaris"), (!((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("no-solaris") + 1) - (size_t)(const void *)("no-solaris") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (arg), (__const char *) ("no-solaris"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) && (__s1_len = strlen (arg), __s1_len < 4) ? (__builtin_constant_p ("no-solaris") && ((size_t)(const void *)(("no-solaris") + 1) - (size_t)(const void *)("no-solaris") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("no-solaris"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("no-solaris"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("no-solaris"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("no-solaris"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("no-solaris"); register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("no-solaris") && ((size_t)(const void *)(("no-solaris") + 1) - (size_t)(const void *)("no-solaris") == 1) && (__s2_len = strlen ("no-solaris"), __s2_len < 4) ? (__builtin_constant_p (arg) && ((size_t)(const void *)((arg) + 1) - (size_t)(const void *)(arg) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (arg))[0] - ((__const unsigned char *) (__const char *)("no-solaris"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[1] - ((__const unsigned char *) (__const char *) ("no-solaris"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (arg))[2] - ((__const unsigned char *) (__const char *) ("no-solaris"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (arg))[3] - ((__const unsigned char *) (__const char *) ("no-solaris"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (arg); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("no-solaris"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("no-solaris"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("no-solaris"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("no-solaris"))[3]); } } __result; }))) : strcmp (arg, "no-solaris")))); }) == 0)
{
msolaris = false;
ppc_comment_chars = ppc_eabi_comment_chars;
}
else
{
as_bad (dcgettext (((void *)0), "invalid switch -m%s", __LC_MESSAGES), arg);
return 0;
}
break;
case 'V':
print_version_id ();
break;
case 'Q':
break;
case 's':
if (arg)
return 0;
break;
default:
return 0;
}
return 1;
}
void
md_show_usage (stream)
FILE *stream;
{
fprintf (stream, dcgettext (((void *)0), "PowerPC options:\n-u ignored\n-mpwrx, -mpwr2 generate code for POWER/2 (RIOS2)\n-mpwr generate code for POWER (RIOS1)\n-m601 generate code for PowerPC 601\n-mppc, -mppc32, -m603, -m604\n generate code for PowerPC 603/604\n-m403, -m405 generate code for PowerPC 403/405\n-m7400, -m7410, -m7450, -m7455\n generate code For PowerPC 7400/7410/7450/7455\n-mppc64, -m620 generate code for PowerPC 620/625/630\n-mppc64bridge generate code for PowerPC 64, including bridge insns\n-mbooke64 generate code for 64-bit PowerPC BookE\n-mbooke, mbooke32 generate code for 32-bit PowerPC BookE\n-mpower4 generate code for Power4 architecture\n-maltivec generate code for AltiVec\n-mcom generate code Power/PowerPC common instructions\n-many generate code for any architecture (PWR/PWRX/PPC)\n-mregnames Allow symbolic names for registers\n-mno-regnames Do not allow symbolic names for registers\n", __LC_MESSAGES));
# 1041 "../../binutils-2.13.1/gas/config/tc-ppc.c"
fprintf (stream, dcgettext (((void *)0), "-mrelocatable support for GCC's -mrelocatble option\n-mrelocatable-lib support for GCC's -mrelocatble-lib option\n-memb set PPC_EMB bit in ELF flags\n-mlittle, -mlittle-endian\n generate code for a little endian machine\n-mbig, -mbig-endian generate code for a big endian machine\n-msolaris generate code for Solaris\n-mno-solaris do not generate code for Solaris\n-V print assembler version number\n-Qy, -Qn ignored\n", __LC_MESSAGES));
# 1053 "../../binutils-2.13.1/gas/config/tc-ppc.c"
}
static void
ppc_set_cpu ()
{
const char *default_os = "linux-gnu";
const char *default_cpu = "powerpc";
if (ppc_cpu == 0)
{
if ((__extension__ (__builtin_constant_p (3) && ((__builtin_constant_p (default_os) && strlen (default_os) < ((size_t) (3))) || (__builtin_constant_p ("aix") && strlen ("aix") < ((size_t) (3)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (default_os) && __builtin_constant_p ("aix") && (__s1_len = strlen (default_os), __s2_len = strlen ("aix"), (!((size_t)(const void *)((default_os) + 1) - (size_t)(const void *)(default_os) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("aix") + 1) - (size_t)(const void *)("aix") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (default_os), (__const char *) ("aix"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (default_os) && ((size_t)(const void *)((default_os) + 1) - (size_t)(const void *)(default_os) == 1) && (__s1_len = strlen (default_os), __s1_len < 4) ? (__builtin_constant_p ("aix") && ((size_t)(const void *)(("aix") + 1) - (size_t)(const void *)("aix") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (default_os))[0] - ((__const unsigned char *) (__const char *)("aix"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_os))[1] - ((__const unsigned char *) (__const char *) ("aix"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_os))[2] - ((__const unsigned char *) (__const char *) ("aix"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (default_os))[3] - ((__const unsigned char *) (__const char *) ("aix"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("aix"); register int __result = (((__const unsigned char *) (__const char *) (default_os))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_os))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_os))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (default_os))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("aix") && ((size_t)(const void *)(("aix") + 1) - (size_t)(const void *)("aix") == 1) && (__s2_len = strlen ("aix"), __s2_len < 4) ? (__builtin_constant_p (default_os) && ((size_t)(const void *)((default_os) + 1) - (size_t)(const void *)(default_os) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (default_os))[0] - ((__const unsigned char *) (__const char *)("aix"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_os))[1] - ((__const unsigned char *) (__const char *) ("aix"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_os))[2] - ((__const unsigned char *) (__const char *) ("aix"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (default_os))[3] - ((__const unsigned char *) (__const char *) ("aix"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (default_os); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("aix"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("aix"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("aix"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("aix"))[3]); } } __result; }))) : strcmp (default_os, "aix")))); }) : strncmp (default_os, "aix", 3))) == 0
&& default_os[3] >= '4' && default_os[3] <= '9')
ppc_cpu = (0100) | (010);
else if ((__extension__ (__builtin_constant_p (4) && ((__builtin_constant_p (default_os) && strlen (default_os) < ((size_t) (4))) || (__builtin_constant_p ("aix3") && strlen ("aix3") < ((size_t) (4)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (default_os) && __builtin_constant_p ("aix3") && (__s1_len = strlen (default_os), __s2_len = strlen ("aix3"), (!((size_t)(const void *)((default_os) + 1) - (size_t)(const void *)(default_os) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("aix3") + 1) - (size_t)(const void *)("aix3") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (default_os), (__const char *) ("aix3"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (default_os) && ((size_t)(const void *)((default_os) + 1) - (size_t)(const void *)(default_os) == 1) && (__s1_len = strlen (default_os), __s1_len < 4) ? (__builtin_constant_p ("aix3") && ((size_t)(const void *)(("aix3") + 1) - (size_t)(const void *)("aix3") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (default_os))[0] - ((__const unsigned char *) (__const char *)("aix3"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_os))[1] - ((__const unsigned char *) (__const char *) ("aix3"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_os))[2] - ((__const unsigned char *) (__const char *) ("aix3"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (default_os))[3] - ((__const unsigned char *) (__const char *) ("aix3"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("aix3"); register int __result = (((__const unsigned char *) (__const char *) (default_os))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_os))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_os))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (default_os))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("aix3") && ((size_t)(const void *)(("aix3") + 1) - (size_t)(const void *)("aix3") == 1) && (__s2_len = strlen ("aix3"), __s2_len < 4) ? (__builtin_constant_p (default_os) && ((size_t)(const void *)((default_os) + 1) - (size_t)(const void *)(default_os) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (default_os))[0] - ((__const unsigned char *) (__const char *)("aix3"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_os))[1] - ((__const unsigned char *) (__const char *) ("aix3"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_os))[2] - ((__const unsigned char *) (__const char *) ("aix3"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (default_os))[3] - ((__const unsigned char *) (__const char *) ("aix3"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (default_os); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("aix3"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("aix3"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("aix3"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("aix3"))[3]); } } __result; }))) : strcmp (default_os, "aix3")))); }) : strncmp (default_os, "aix3", 4))) == 0)
ppc_cpu = (02) | (010);
else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (default_cpu) && __builtin_constant_p ("rs6000") && (__s1_len = strlen (default_cpu), __s2_len = strlen ("rs6000"), (!((size_t)(const void *)((default_cpu) + 1) - (size_t)(const void *)(default_cpu) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("rs6000") + 1) - (size_t)(const void *)("rs6000") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (default_cpu), (__const char *) ("rs6000"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (default_cpu) && ((size_t)(const void *)((default_cpu) + 1) - (size_t)(const void *)(default_cpu) == 1) && (__s1_len = strlen (default_cpu), __s1_len < 4) ? (__builtin_constant_p ("rs6000") && ((size_t)(const void *)(("rs6000") + 1) - (size_t)(const void *)("rs6000") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (default_cpu))[0] - ((__const unsigned char *) (__const char *)("rs6000"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[1] - ((__const unsigned char *) (__const char *) ("rs6000"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[2] - ((__const unsigned char *) (__const char *) ("rs6000"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (default_cpu))[3] - ((__const unsigned char *) (__const char *) ("rs6000"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("rs6000"); register int __result = (((__const unsigned char *) (__const char *) (default_cpu))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (default_cpu))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("rs6000") && ((size_t)(const void *)(("rs6000") + 1) - (size_t)(const void *)("rs6000") == 1) && (__s2_len = strlen ("rs6000"), __s2_len < 4) ? (__builtin_constant_p (default_cpu) && ((size_t)(const void *)((default_cpu) + 1) - (size_t)(const void *)(default_cpu) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (default_cpu))[0] - ((__const unsigned char *) (__const char *)("rs6000"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[1] - ((__const unsigned char *) (__const char *) ("rs6000"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[2] - ((__const unsigned char *) (__const char *) ("rs6000"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (default_cpu))[3] - ((__const unsigned char *) (__const char *) ("rs6000"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (default_cpu); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("rs6000"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("rs6000"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("rs6000"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("rs6000"))[3]); } } __result; }))) : strcmp (default_cpu, "rs6000")))); }) == 0)
ppc_cpu = (02) | (010);
else if ((__extension__ (__builtin_constant_p (7) && ((__builtin_constant_p (default_cpu) && strlen (default_cpu) < ((size_t) (7))) || (__builtin_constant_p ("powerpc") && strlen ("powerpc") < ((size_t) (7)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (default_cpu) && __builtin_constant_p ("powerpc") && (__s1_len = strlen (default_cpu), __s2_len = strlen ("powerpc"), (!((size_t)(const void *)((default_cpu) + 1) - (size_t)(const void *)(default_cpu) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("powerpc") + 1) - (size_t)(const void *)("powerpc") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (default_cpu), (__const char *) ("powerpc"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (default_cpu) && ((size_t)(const void *)((default_cpu) + 1) - (size_t)(const void *)(default_cpu) == 1) && (__s1_len = strlen (default_cpu), __s1_len < 4) ? (__builtin_constant_p ("powerpc") && ((size_t)(const void *)(("powerpc") + 1) - (size_t)(const void *)("powerpc") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (default_cpu))[0] - ((__const unsigned char *) (__const char *)("powerpc"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[1] - ((__const unsigned char *) (__const char *) ("powerpc"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[2] - ((__const unsigned char *) (__const char *) ("powerpc"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (default_cpu))[3] - ((__const unsigned char *) (__const char *) ("powerpc"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("powerpc"); register int __result = (((__const unsigned char *) (__const char *) (default_cpu))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (default_cpu))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("powerpc") && ((size_t)(const void *)(("powerpc") + 1) - (size_t)(const void *)("powerpc") == 1) && (__s2_len = strlen ("powerpc"), __s2_len < 4) ? (__builtin_constant_p (default_cpu) && ((size_t)(const void *)((default_cpu) + 1) - (size_t)(const void *)(default_cpu) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (default_cpu))[0] - ((__const unsigned char *) (__const char *)("powerpc"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[1] - ((__const unsigned char *) (__const char *) ("powerpc"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[2] - ((__const unsigned char *) (__const char *) ("powerpc"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (default_cpu))[3] - ((__const unsigned char *) (__const char *) ("powerpc"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (default_cpu); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("powerpc"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("powerpc"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("powerpc"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("powerpc"))[3]); } } __result; }))) : strcmp (default_cpu, "powerpc")))); }) : strncmp (default_cpu, "powerpc", 7))) == 0)
{
if (default_cpu[7] == '6' && default_cpu[8] == '4')
ppc_cpu = (01) | (020);
else
ppc_cpu = (01) | (010);
}
else
as_fatal (dcgettext (((void *)0), "Unknown default cpu = %s, os = %s", __LC_MESSAGES),
default_cpu, default_os);
}
}
enum bfd_architecture
ppc_arch ()
{
const char *default_cpu = "powerpc";
ppc_set_cpu ();
if ((ppc_cpu & (01)) != 0)
return bfd_arch_powerpc;
else if ((ppc_cpu & (02)) != 0)
return bfd_arch_rs6000;
else if ((ppc_cpu & ((0100) | (0200))) != 0)
{
if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (default_cpu) && __builtin_constant_p ("rs6000") && (__s1_len = strlen (default_cpu), __s2_len = strlen ("rs6000"), (!((size_t)(const void *)((default_cpu) + 1) - (size_t)(const void *)(default_cpu) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("rs6000") + 1) - (size_t)(const void *)("rs6000") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (default_cpu), (__const char *) ("rs6000"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (default_cpu) && ((size_t)(const void *)((default_cpu) + 1) - (size_t)(const void *)(default_cpu) == 1) && (__s1_len = strlen (default_cpu), __s1_len < 4) ? (__builtin_constant_p ("rs6000") && ((size_t)(const void *)(("rs6000") + 1) - (size_t)(const void *)("rs6000") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (default_cpu))[0] - ((__const unsigned char *) (__const char *)("rs6000"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[1] - ((__const unsigned char *) (__const char *) ("rs6000"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[2] - ((__const unsigned char *) (__const char *) ("rs6000"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (default_cpu))[3] - ((__const unsigned char *) (__const char *) ("rs6000"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("rs6000"); register int __result = (((__const unsigned char *) (__const char *) (default_cpu))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (default_cpu))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("rs6000") && ((size_t)(const void *)(("rs6000") + 1) - (size_t)(const void *)("rs6000") == 1) && (__s2_len = strlen ("rs6000"), __s2_len < 4) ? (__builtin_constant_p (default_cpu) && ((size_t)(const void *)((default_cpu) + 1) - (size_t)(const void *)(default_cpu) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (default_cpu))[0] - ((__const unsigned char *) (__const char *)("rs6000"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[1] - ((__const unsigned char *) (__const char *) ("rs6000"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[2] - ((__const unsigned char *) (__const char *) ("rs6000"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (default_cpu))[3] - ((__const unsigned char *) (__const char *) ("rs6000"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (default_cpu); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("rs6000"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("rs6000"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("rs6000"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("rs6000"))[3]); } } __result; }))) : strcmp (default_cpu, "rs6000")))); }) == 0)
return bfd_arch_rs6000;
else if ((__extension__ (__builtin_constant_p (7) && ((__builtin_constant_p (default_cpu) && strlen (default_cpu) < ((size_t) (7))) || (__builtin_constant_p ("powerpc") && strlen ("powerpc") < ((size_t) (7)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (default_cpu) && __builtin_constant_p ("powerpc") && (__s1_len = strlen (default_cpu), __s2_len = strlen ("powerpc"), (!((size_t)(const void *)((default_cpu) + 1) - (size_t)(const void *)(default_cpu) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("powerpc") + 1) - (size_t)(const void *)("powerpc") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (default_cpu), (__const char *) ("powerpc"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (default_cpu) && ((size_t)(const void *)((default_cpu) + 1) - (size_t)(const void *)(default_cpu) == 1) && (__s1_len = strlen (default_cpu), __s1_len < 4) ? (__builtin_constant_p ("powerpc") && ((size_t)(const void *)(("powerpc") + 1) - (size_t)(const void *)("powerpc") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (default_cpu))[0] - ((__const unsigned char *) (__const char *)("powerpc"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[1] - ((__const unsigned char *) (__const char *) ("powerpc"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[2] - ((__const unsigned char *) (__const char *) ("powerpc"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (default_cpu))[3] - ((__const unsigned char *) (__const char *) ("powerpc"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("powerpc"); register int __result = (((__const unsigned char *) (__const char *) (default_cpu))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (default_cpu))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("powerpc") && ((size_t)(const void *)(("powerpc") + 1) - (size_t)(const void *)("powerpc") == 1) && (__s2_len = strlen ("powerpc"), __s2_len < 4) ? (__builtin_constant_p (default_cpu) && ((size_t)(const void *)((default_cpu) + 1) - (size_t)(const void *)(default_cpu) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (default_cpu))[0] - ((__const unsigned char *) (__const char *)("powerpc"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[1] - ((__const unsigned char *) (__const char *) ("powerpc"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (default_cpu))[2] - ((__const unsigned char *) (__const char *) ("powerpc"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (default_cpu))[3] - ((__const unsigned char *) (__const char *) ("powerpc"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (default_cpu); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("powerpc"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("powerpc"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("powerpc"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("powerpc"))[3]); } } __result; }))) : strcmp (default_cpu, "powerpc")))); }) : strncmp (default_cpu, "powerpc", 7))) == 0)
return bfd_arch_powerpc;
}
as_fatal (dcgettext (((void *)0), "Neither Power nor PowerPC opcodes were selected.", __LC_MESSAGES));
return bfd_arch_unknown;
}
unsigned long
ppc_mach ()
{
return ppc_obj64 ? 1 : 0;
}
extern char*
ppc_target_format ()
{
# 1132 "../../binutils-2.13.1/gas/config/tc-ppc.c"
return (target_big_endian
? (ppc_obj64 ? "elf64-powerpc" : "elf32-powerpc")
: (ppc_obj64 ? "elf64-powerpcle" : "elf32-powerpcle"));
}
void
md_begin ()
{
register const struct powerpc_opcode *op;
const struct powerpc_opcode *op_end;
const struct powerpc_macro *macro;
const struct powerpc_macro *macro_end;
boolean dup_insn = false;
ppc_set_cpu ();
if (ppc_flags && !msolaris)
((*((stdoutput)->xvec->_bfd_set_private_flags)) (stdoutput, ppc_flags));
ppc_hash = hash_new ();
op_end = powerpc_opcodes + powerpc_num_opcodes;
for (op = powerpc_opcodes; op < op_end; op++)
{
;
if ((op->flags & ppc_cpu & ~((010) | (020))) != 0
&& ((op->flags & ((010) | (020))) == 0
|| ((op->flags & ((010) | (020)))
== (ppc_cpu & ((010) | (020))))
|| (ppc_cpu & (0400)) != 0)
&& ((op->flags & (010000)) == 0
|| (ppc_cpu & (010000)) == (010000)
|| (ppc_cpu & (04000)) == 0)
&& ((op->flags & ((020000) | (040000))) == 0
|| ((op->flags & (020000))
== (ppc_cpu & (020000)))))
{
const char *retval;
retval = hash_insert (ppc_hash, op->name, (void *) op);
if (retval != (const char *) ((void *)0))
{
if ((ppc_cpu & (040)) != 0
&& (op->flags & (02)) != 0)
continue;
as_bad (dcgettext (((void *)0), "Internal assembler error for instruction %s", __LC_MESSAGES),
op->name);
dup_insn = true;
}
}
}
ppc_macro_hash = hash_new ();
macro_end = powerpc_macros + powerpc_num_macros;
for (macro = powerpc_macros; macro < macro_end; macro++)
{
if ((macro->flags & ppc_cpu) != 0)
{
const char *retval;
retval = hash_insert (ppc_macro_hash, macro->name, (void *) macro);
if (retval != (const char *) ((void *)0))
{
as_bad (dcgettext (((void *)0), "Internal assembler error for macro %s", __LC_MESSAGES), macro->name);
dup_insn = true;
}
}
}
if (dup_insn)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 1221, __PRETTY_FUNCTION__);
if (!set_target_endian)
{
set_target_endian = 1;
target_big_endian = 1;
}
# 1249 "../../binutils-2.13.1/gas/config/tc-ppc.c"
}
static unsigned long
ppc_insert_operand (insn, operand, val, file, line)
unsigned long insn;
const struct powerpc_operand *operand;
offsetT val;
char *file;
unsigned int line;
{
if (operand->bits != 32)
{
long min, max;
offsetT test;
if ((operand->flags & (01)) != 0)
{
if ((operand->flags & (02)) != 0)
max = (1 << operand->bits) - 1;
else
max = (1 << (operand->bits - 1)) - 1;
min = - (1 << (operand->bits - 1));
if (!ppc_obj64)
{
if (val > 0
&& (val & (offsetT) 0x80000000) != 0
&& (val & (offsetT) 0xffffffff) == val)
{
val -= 0x80000000;
val -= 0x80000000;
}
}
}
else
{
max = (1 << operand->bits) - 1;
min = 0;
}
if ((operand->flags & (04000)) != 0)
test = - val;
else
test = val;
if (test < (offsetT) min || test > (offsetT) max)
{
const char *err =
dcgettext (((void *)0), "operand out of range (%s not between %ld and %ld)", __LC_MESSAGES);
char buf[100];
sprint_value (buf, test);
as_bad_where (file, line, err, buf, min, max);
}
}
if (operand->insert)
{
const char *errmsg;
errmsg = ((void *)0);
insn = (*operand->insert) (insn, (long) val, ppc_cpu, &errmsg);
if (errmsg != (const char *) ((void *)0))
as_bad_where (file, line, errmsg);
}
else
insn |= (((long) val & ((1 << operand->bits) - 1))
<< operand->shift);
return insn;
}
static bfd_reloc_code_real_type
ppc_elf_suffix (str_p, exp_p)
char **str_p;
expressionS *exp_p;
{
struct map_bfd {
char *string;
int length;
int reloc;
};
char ident[20];
char *str = *str_p;
char *str2;
int ch;
int len;
const struct map_bfd *ptr;
static const struct map_bfd mapping[] = {
{ "l", sizeof ("l")-1, (int) BFD_RELOC_LO16 },
{ "h", sizeof ("h")-1, (int) BFD_RELOC_HI16 },
{ "ha", sizeof ("ha")-1, (int) BFD_RELOC_HI16_S },
{ "brtaken", sizeof ("brtaken")-1, (int) BFD_RELOC_PPC_B16_BRTAKEN },
{ "brntaken", sizeof ("brntaken")-1, (int) BFD_RELOC_PPC_B16_BRNTAKEN },
{ "got", sizeof ("got")-1, (int) BFD_RELOC_16_GOTOFF },
{ "got@l", sizeof ("got@l")-1, (int) BFD_RELOC_LO16_GOTOFF },
{ "got@h", sizeof ("got@h")-1, (int) BFD_RELOC_HI16_GOTOFF },
{ "got@ha", sizeof ("got@ha")-1, (int) BFD_RELOC_HI16_S_GOTOFF },
{ "fixup", sizeof ("fixup")-1, (int) BFD_RELOC_CTOR },
{ "plt", sizeof ("plt")-1, (int) BFD_RELOC_24_PLT_PCREL },
{ "pltrel24", sizeof ("pltrel24")-1, (int) BFD_RELOC_24_PLT_PCREL },
{ "copy", sizeof ("copy")-1, (int) BFD_RELOC_PPC_COPY },
{ "globdat", sizeof ("globdat")-1, (int) BFD_RELOC_PPC_GLOB_DAT },
{ "local24pc", sizeof ("local24pc")-1, (int) BFD_RELOC_PPC_LOCAL24PC },
{ "local", sizeof ("local")-1, (int) BFD_RELOC_PPC_LOCAL24PC },
{ "pltrel", sizeof ("pltrel")-1, (int) BFD_RELOC_32_PLT_PCREL },
{ "plt@l", sizeof ("plt@l")-1, (int) BFD_RELOC_LO16_PLTOFF },
{ "plt@h", sizeof ("plt@h")-1, (int) BFD_RELOC_HI16_PLTOFF },
{ "plt@ha", sizeof ("plt@ha")-1, (int) BFD_RELOC_HI16_S_PLTOFF },
{ "sdarel", sizeof ("sdarel")-1, (int) BFD_RELOC_GPREL16 },
{ "sectoff", sizeof ("sectoff")-1, (int) BFD_RELOC_16_BASEREL },
{ "sectoff@l", sizeof ("sectoff@l")-1, (int) BFD_RELOC_LO16_BASEREL },
{ "sectoff@h", sizeof ("sectoff@h")-1, (int) BFD_RELOC_HI16_BASEREL },
{ "sectoff@ha", sizeof ("sectoff@ha")-1, (int) BFD_RELOC_HI16_S_BASEREL },
{ "naddr", sizeof ("naddr")-1, (int) BFD_RELOC_PPC_EMB_NADDR32 },
{ "naddr16", sizeof ("naddr16")-1, (int) BFD_RELOC_PPC_EMB_NADDR16 },
{ "naddr@l", sizeof ("naddr@l")-1, (int) BFD_RELOC_PPC_EMB_NADDR16_LO },
{ "naddr@h", sizeof ("naddr@h")-1, (int) BFD_RELOC_PPC_EMB_NADDR16_HI },
{ "naddr@ha", sizeof ("naddr@ha")-1, (int) BFD_RELOC_PPC_EMB_NADDR16_HA },
{ "sdai16", sizeof ("sdai16")-1, (int) BFD_RELOC_PPC_EMB_SDAI16 },
{ "sda2rel", sizeof ("sda2rel")-1, (int) BFD_RELOC_PPC_EMB_SDA2REL },
{ "sda2i16", sizeof ("sda2i16")-1, (int) BFD_RELOC_PPC_EMB_SDA2I16 },
{ "sda21", sizeof ("sda21")-1, (int) BFD_RELOC_PPC_EMB_SDA21 },
{ "mrkref", sizeof ("mrkref")-1, (int) BFD_RELOC_PPC_EMB_MRKREF },
{ "relsect", sizeof ("relsect")-1, (int) BFD_RELOC_PPC_EMB_RELSEC16 },
{ "relsect@l", sizeof ("relsect@l")-1, (int) BFD_RELOC_PPC_EMB_RELST_LO },
{ "relsect@h", sizeof ("relsect@h")-1, (int) BFD_RELOC_PPC_EMB_RELST_HI },
{ "relsect@ha", sizeof ("relsect@ha")-1, (int) BFD_RELOC_PPC_EMB_RELST_HA },
{ "bitfld", sizeof ("bitfld")-1, (int) BFD_RELOC_PPC_EMB_BIT_FLD },
{ "relsda", sizeof ("relsda")-1, (int) BFD_RELOC_PPC_EMB_RELSDA },
{ "xgot", sizeof ("xgot")-1, (int) BFD_RELOC_PPC_TOC16 },
{ "higher", sizeof ("higher")-1, - (int) BFD_RELOC_PPC64_HIGHER },
{ "highera", sizeof ("highera")-1, - (int) BFD_RELOC_PPC64_HIGHER_S },
{ "highest", sizeof ("highest")-1, - (int) BFD_RELOC_PPC64_HIGHEST },
{ "highesta", sizeof ("highesta")-1, - (int) BFD_RELOC_PPC64_HIGHEST_S },
{ "tocbase", sizeof ("tocbase")-1, - (int) BFD_RELOC_PPC64_TOC },
{ "toc", sizeof ("toc")-1, - (int) BFD_RELOC_PPC_TOC16 },
{ "toc@l", sizeof ("toc@l")-1, - (int) BFD_RELOC_PPC64_TOC16_LO },
{ "toc@h", sizeof ("toc@h")-1, - (int) BFD_RELOC_PPC64_TOC16_HI },
{ "toc@ha", sizeof ("toc@ha")-1, - (int) BFD_RELOC_PPC64_TOC16_HA },
{ (char *) 0, 0, (int) BFD_RELOC_UNUSED }
};
if (*str++ != '@')
return BFD_RELOC_UNUSED;
for (ch = *str, str2 = ident;
(str2 < ident + sizeof (ident) - 1
&& ((_sch_istable[(ch) & 0xff] & (unsigned short)(_sch_isalnum)) || ch == '@'));
ch = *++str)
{
*str2++ = _sch_tolower[(ch) & 0xff];
}
*str2 = '\0';
len = str2 - ident;
ch = ident[0];
for (ptr = &mapping[0]; ptr->length > 0; ptr++)
if (ch == ptr->string[0]
&& len == ptr->length
&& memcmp (ident, ptr->string, ptr->length) == 0)
{
int reloc = ptr->reloc;
if (reloc < 0)
{
if (!ppc_obj64)
return BFD_RELOC_UNUSED;
reloc = -reloc;
}
if (exp_p->X_add_number != 0
&& (reloc == (int) BFD_RELOC_16_GOTOFF
|| reloc == (int) BFD_RELOC_LO16_GOTOFF
|| reloc == (int) BFD_RELOC_HI16_GOTOFF
|| reloc == (int) BFD_RELOC_HI16_S_GOTOFF))
as_warn (dcgettext (((void *)0), "identifier+constant@got means identifier@got+constant", __LC_MESSAGES));
if (*str == '-' || *str == '+')
{
char *orig_line = input_line_pointer;
expressionS new_exp;
input_line_pointer = str;
expr (0, &new_exp);
if (new_exp.X_op == O_constant)
{
exp_p->X_add_number += new_exp.X_add_number;
str = input_line_pointer;
}
if (&input_line_pointer != str_p)
input_line_pointer = orig_line;
}
*str_p = str;
if (reloc == (int) BFD_RELOC_PPC64_TOC
&& exp_p->X_op == O_symbol)
{
exp_p->X_add_symbol = &abs_symbol;
}
return (bfd_reloc_code_real_type) reloc;
}
return BFD_RELOC_UNUSED;
}
static void
ppc_elf_cons (nbytes)
register int nbytes;
{
expressionS exp;
bfd_reloc_code_real_type reloc;
if (is_it_end_of_statement ())
{
demand_empty_rest_of_line ();
return;
}
do
{
expr (0, &exp);
if (exp.X_op == O_symbol
&& *input_line_pointer == '@'
&& (reloc = ppc_elf_suffix (&input_line_pointer,
&exp)) != BFD_RELOC_UNUSED)
{
reloc_howto_type *reloc_howto;
int size;
reloc_howto = bfd_reloc_type_lookup (stdoutput, reloc);
size = bfd_get_reloc_size (reloc_howto);
if (size > nbytes)
{
as_bad (dcgettext (((void *)0), "%s relocations do not fit in %d bytes\n", __LC_MESSAGES),
reloc_howto->name, nbytes);
}
else
{
char *p;
int offset;
p = frag_more (nbytes);
offset = 0;
if (target_big_endian)
offset = nbytes - size;
fix_new_exp (frag_now, p - frag_now->fr_literal + offset, size,
&exp, 0, reloc);
}
}
else
emit_expr (&exp, (unsigned int) nbytes);
}
while (*input_line_pointer++ == ',');
input_line_pointer--;
demand_empty_rest_of_line ();
}
static void
ppc_elf_rdata (xxx)
int xxx;
{
char *save_line = input_line_pointer;
static char section[] = ".rodata\n";
input_line_pointer = section;
obj_elf_section (xxx);
input_line_pointer = save_line;
}
static void
ppc_elf_lcomm (xxx)
int xxx __attribute__ ((__unused__));
{
register char *name;
register char c;
register char *p;
offsetT size;
register symbolS *symbolP;
offsetT align;
segT old_sec;
int old_subsec;
char *pfrag;
int align2;
name = input_line_pointer;
c = get_symbol_end ();
p = input_line_pointer;
*p = c;
{ if (* input_line_pointer == ' ') ++ input_line_pointer; };
if (*input_line_pointer != ',')
{
as_bad (dcgettext (((void *)0), "Expected comma after symbol-name: rest of line ignored.", __LC_MESSAGES));
ignore_rest_of_line ();
return;
}
input_line_pointer++;
if ((size = get_absolute_expression ()) < 0)
{
as_warn (dcgettext (((void *)0), ".COMMon length (%ld.) <0! Ignored.", __LC_MESSAGES), (long) size);
ignore_rest_of_line ();
return;
}
if (*input_line_pointer != ',')
align = 8;
else
{
++input_line_pointer;
align = get_absolute_expression ();
if (align <= 0)
{
as_warn (dcgettext (((void *)0), "ignoring bad alignment", __LC_MESSAGES));
align = 8;
}
}
*p = 0;
symbolP = symbol_find_or_make (name);
*p = c;
if (S_IS_DEFINED (symbolP) && ! S_IS_COMMON (symbolP))
{
as_bad (dcgettext (((void *)0), "Ignoring attempt to re-define symbol `%s'.", __LC_MESSAGES),
S_GET_NAME (symbolP));
ignore_rest_of_line ();
return;
}
if (S_GET_VALUE (symbolP) && S_GET_VALUE (symbolP) != (valueT) size)
{
as_bad (dcgettext (((void *)0), "Length of .lcomm \"%s\" is already %ld. Not changed to %ld.", __LC_MESSAGES),
S_GET_NAME (symbolP),
(long) S_GET_VALUE (symbolP),
(long) size);
ignore_rest_of_line ();
return;
}
old_sec = now_seg;
old_subsec = now_subseg;
if (align)
{
for (align2 = 0; (align & 1) == 0; align >>= 1, ++align2);
if (align != 1)
{
as_bad (dcgettext (((void *)0), "Common alignment not a power of 2", __LC_MESSAGES));
ignore_rest_of_line ();
return;
}
}
else
align2 = 0;
record_alignment (bss_section, align2);
subseg_set (bss_section, 0);
if (align2)
frag_align (align2, 0, 0);
if (S_GET_SEGMENT (symbolP) == bss_section)
symbol_get_frag (symbolP)->fr_symbol = 0;
symbol_set_frag (symbolP, frag_now);
pfrag = frag_var (rs_org, 1, 1, (relax_substateT) 0, symbolP, size,
(char *) 0);
*pfrag = 0;
(((elf_symbol_type *) (&(symbol_get_bfdsym (symbolP))->the_bfd))->internal_elf_sym.st_size = (size));
S_SET_SEGMENT (symbolP, bss_section);
subseg_set (old_sec, old_subsec);
demand_empty_rest_of_line ();
}
static void
ppc_elf_validate_fix (fixp, seg)
fixS *fixp;
segT seg;
{
if (fixp->fx_done || fixp->fx_pcrel)
return;
switch (shlib)
{
case SHLIB_NONE:
case SHLIB_PIC:
return;
case SHLIB_MRELOCATABLE:
if (fixp->fx_r_type <= BFD_RELOC_UNUSED
&& fixp->fx_r_type != BFD_RELOC_16_GOTOFF
&& fixp->fx_r_type != BFD_RELOC_HI16_GOTOFF
&& fixp->fx_r_type != BFD_RELOC_LO16_GOTOFF
&& fixp->fx_r_type != BFD_RELOC_HI16_S_GOTOFF
&& fixp->fx_r_type != BFD_RELOC_16_BASEREL
&& fixp->fx_r_type != BFD_RELOC_LO16_BASEREL
&& fixp->fx_r_type != BFD_RELOC_HI16_BASEREL
&& fixp->fx_r_type != BFD_RELOC_HI16_S_BASEREL
&& (seg->flags & 0x002) != 0
&& __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (((seg)->name + 0)) && __builtin_constant_p (".got2") && (__s1_len = strlen (((seg)->name + 0)), __s2_len = strlen (".got2"), (!((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((".got2") + 1) - (size_t)(const void *)(".got2") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (((seg)->name + 0)), (__const char *) (".got2"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) == 1) && (__s1_len = strlen (((seg)->name + 0)), __s1_len < 4) ? (__builtin_constant_p (".got2") && ((size_t)(const void *)((".got2") + 1) - (size_t)(const void *)(".got2") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - ((__const unsigned char *) (__const char *)(".got2"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - ((__const unsigned char *) (__const char *) (".got2"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - ((__const unsigned char *) (__const char *) (".got2"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - ((__const unsigned char *) (__const char *) (".got2"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (".got2"); register int __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (".got2") && ((size_t)(const void *)((".got2") + 1) - (size_t)(const void *)(".got2") == 1) && (__s2_len = strlen (".got2"), __s2_len < 4) ? (__builtin_constant_p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - ((__const unsigned char *) (__const char *)(".got2"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - ((__const unsigned char *) (__const char *) (".got2"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - ((__const unsigned char *) (__const char *) (".got2"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - ((__const unsigned char *) (__const char *) (".got2"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (((seg)->name + 0)); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (".got2"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (".got2"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (".got2"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (".got2"))[3]); } } __result; }))) : strcmp (((seg)->name + 0), ".got2")))); }) != 0
&& __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (((seg)->name + 0)) && __builtin_constant_p (".dtors") && (__s1_len = strlen (((seg)->name + 0)), __s2_len = strlen (".dtors"), (!((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((".dtors") + 1) - (size_t)(const void *)(".dtors") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (((seg)->name + 0)), (__const char *) (".dtors"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) == 1) && (__s1_len = strlen (((seg)->name + 0)), __s1_len < 4) ? (__builtin_constant_p (".dtors") && ((size_t)(const void *)((".dtors") + 1) - (size_t)(const void *)(".dtors") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - ((__const unsigned char *) (__const char *)(".dtors"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - ((__const unsigned char *) (__const char *) (".dtors"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - ((__const unsigned char *) (__const char *) (".dtors"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - ((__const unsigned char *) (__const char *) (".dtors"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (".dtors"); register int __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (".dtors") && ((size_t)(const void *)((".dtors") + 1) - (size_t)(const void *)(".dtors") == 1) && (__s2_len = strlen (".dtors"), __s2_len < 4) ? (__builtin_constant_p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - ((__const unsigned char *) (__const char *)(".dtors"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - ((__const unsigned char *) (__const char *) (".dtors"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - ((__const unsigned char *) (__const char *) (".dtors"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - ((__const unsigned char *) (__const char *) (".dtors"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (((seg)->name + 0)); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (".dtors"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (".dtors"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (".dtors"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (".dtors"))[3]); } } __result; }))) : strcmp (((seg)->name + 0), ".dtors")))); }) != 0
&& __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (((seg)->name + 0)) && __builtin_constant_p (".ctors") && (__s1_len = strlen (((seg)->name + 0)), __s2_len = strlen (".ctors"), (!((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((".ctors") + 1) - (size_t)(const void *)(".ctors") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (((seg)->name + 0)), (__const char *) (".ctors"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) == 1) && (__s1_len = strlen (((seg)->name + 0)), __s1_len < 4) ? (__builtin_constant_p (".ctors") && ((size_t)(const void *)((".ctors") + 1) - (size_t)(const void *)(".ctors") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - ((__const unsigned char *) (__const char *)(".ctors"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - ((__const unsigned char *) (__const char *) (".ctors"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - ((__const unsigned char *) (__const char *) (".ctors"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - ((__const unsigned char *) (__const char *) (".ctors"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (".ctors"); register int __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (".ctors") && ((size_t)(const void *)((".ctors") + 1) - (size_t)(const void *)(".ctors") == 1) && (__s2_len = strlen (".ctors"), __s2_len < 4) ? (__builtin_constant_p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - ((__const unsigned char *) (__const char *)(".ctors"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - ((__const unsigned char *) (__const char *) (".ctors"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - ((__const unsigned char *) (__const char *) (".ctors"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - ((__const unsigned char *) (__const char *) (".ctors"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (((seg)->name + 0)); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (".ctors"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (".ctors"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (".ctors"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (".ctors"))[3]); } } __result; }))) : strcmp (((seg)->name + 0), ".ctors")))); }) != 0
&& __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (((seg)->name + 0)) && __builtin_constant_p (".fixup") && (__s1_len = strlen (((seg)->name + 0)), __s2_len = strlen (".fixup"), (!((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((".fixup") + 1) - (size_t)(const void *)(".fixup") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (((seg)->name + 0)), (__const char *) (".fixup"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) == 1) && (__s1_len = strlen (((seg)->name + 0)), __s1_len < 4) ? (__builtin_constant_p (".fixup") && ((size_t)(const void *)((".fixup") + 1) - (size_t)(const void *)(".fixup") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - ((__const unsigned char *) (__const char *)(".fixup"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - ((__const unsigned char *) (__const char *) (".fixup"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - ((__const unsigned char *) (__const char *) (".fixup"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - ((__const unsigned char *) (__const char *) (".fixup"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (".fixup"); register int __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (".fixup") && ((size_t)(const void *)((".fixup") + 1) - (size_t)(const void *)(".fixup") == 1) && (__s2_len = strlen (".fixup"), __s2_len < 4) ? (__builtin_constant_p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - ((__const unsigned char *) (__const char *)(".fixup"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - ((__const unsigned char *) (__const char *) (".fixup"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - ((__const unsigned char *) (__const char *) (".fixup"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - ((__const unsigned char *) (__const char *) (".fixup"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (((seg)->name + 0)); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (".fixup"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (".fixup"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (".fixup"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (".fixup"))[3]); } } __result; }))) : strcmp (((seg)->name + 0), ".fixup")))); }) != 0
&& __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (((seg)->name + 0)) && __builtin_constant_p (".gcc_except_table") && (__s1_len = strlen (((seg)->name + 0)), __s2_len = strlen (".gcc_except_table"), (!((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((".gcc_except_table") + 1) - (size_t)(const void *)(".gcc_except_table") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (((seg)->name + 0)), (__const char *) (".gcc_except_table"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) == 1) && (__s1_len = strlen (((seg)->name + 0)), __s1_len < 4) ? (__builtin_constant_p (".gcc_except_table") && ((size_t)(const void *)((".gcc_except_table") + 1) - (size_t)(const void *)(".gcc_except_table") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - ((__const unsigned char *) (__const char *)(".gcc_except_table"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - ((__const unsigned char *) (__const char *) (".gcc_except_table"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - ((__const unsigned char *) (__const char *) (".gcc_except_table"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - ((__const unsigned char *) (__const char *) (".gcc_except_table"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (".gcc_except_table"); register int __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (".gcc_except_table") && ((size_t)(const void *)((".gcc_except_table") + 1) - (size_t)(const void *)(".gcc_except_table") == 1) && (__s2_len = strlen (".gcc_except_table"), __s2_len < 4) ? (__builtin_constant_p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - ((__const unsigned char *) (__const char *)(".gcc_except_table"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - ((__const unsigned char *) (__const char *) (".gcc_except_table"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - ((__const unsigned char *) (__const char *) (".gcc_except_table"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - ((__const unsigned char *) (__const char *) (".gcc_except_table"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (((seg)->name + 0)); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (".gcc_except_table"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (".gcc_except_table"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (".gcc_except_table"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (".gcc_except_table"))[3]); } } __result; }))) : strcmp (((seg)->name + 0), ".gcc_except_table")))); }) != 0
&& __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (((seg)->name + 0)) && __builtin_constant_p (".eh_frame") && (__s1_len = strlen (((seg)->name + 0)), __s2_len = strlen (".eh_frame"), (!((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((".eh_frame") + 1) - (size_t)(const void *)(".eh_frame") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (((seg)->name + 0)), (__const char *) (".eh_frame"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) == 1) && (__s1_len = strlen (((seg)->name + 0)), __s1_len < 4) ? (__builtin_constant_p (".eh_frame") && ((size_t)(const void *)((".eh_frame") + 1) - (size_t)(const void *)(".eh_frame") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - ((__const unsigned char *) (__const char *)(".eh_frame"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - ((__const unsigned char *) (__const char *) (".eh_frame"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - ((__const unsigned char *) (__const char *) (".eh_frame"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - ((__const unsigned char *) (__const char *) (".eh_frame"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (".eh_frame"); register int __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (".eh_frame") && ((size_t)(const void *)((".eh_frame") + 1) - (size_t)(const void *)(".eh_frame") == 1) && (__s2_len = strlen (".eh_frame"), __s2_len < 4) ? (__builtin_constant_p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - ((__const unsigned char *) (__const char *)(".eh_frame"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - ((__const unsigned char *) (__const char *) (".eh_frame"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - ((__const unsigned char *) (__const char *) (".eh_frame"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - ((__const unsigned char *) (__const char *) (".eh_frame"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (((seg)->name + 0)); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (".eh_frame"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (".eh_frame"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (".eh_frame"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (".eh_frame"))[3]); } } __result; }))) : strcmp (((seg)->name + 0), ".eh_frame")))); }) != 0
&& __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (((seg)->name + 0)) && __builtin_constant_p (".ex_shared") && (__s1_len = strlen (((seg)->name + 0)), __s2_len = strlen (".ex_shared"), (!((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((".ex_shared") + 1) - (size_t)(const void *)(".ex_shared") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (((seg)->name + 0)), (__const char *) (".ex_shared"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) == 1) && (__s1_len = strlen (((seg)->name + 0)), __s1_len < 4) ? (__builtin_constant_p (".ex_shared") && ((size_t)(const void *)((".ex_shared") + 1) - (size_t)(const void *)(".ex_shared") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - ((__const unsigned char *) (__const char *)(".ex_shared"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - ((__const unsigned char *) (__const char *) (".ex_shared"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - ((__const unsigned char *) (__const char *) (".ex_shared"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - ((__const unsigned char *) (__const char *) (".ex_shared"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (".ex_shared"); register int __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (".ex_shared") && ((size_t)(const void *)((".ex_shared") + 1) - (size_t)(const void *)(".ex_shared") == 1) && (__s2_len = strlen (".ex_shared"), __s2_len < 4) ? (__builtin_constant_p (((seg)->name + 0)) && ((size_t)(const void *)((((seg)->name + 0)) + 1) - (size_t)(const void *)(((seg)->name + 0)) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[0] - ((__const unsigned char *) (__const char *)(".ex_shared"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[1] - ((__const unsigned char *) (__const char *) (".ex_shared"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[2] - ((__const unsigned char *) (__const char *) (".ex_shared"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (((seg)->name + 0)))[3] - ((__const unsigned char *) (__const char *) (".ex_shared"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (((seg)->name + 0)); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (".ex_shared"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (".ex_shared"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (".ex_shared"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (".ex_shared"))[3]); } } __result; }))) : strcmp (((seg)->name + 0), ".ex_shared")))); }) != 0)
{
if ((seg->flags & (0x010 | 0x020)) != 0
|| fixp->fx_r_type != BFD_RELOC_CTOR)
{
as_bad_where (fixp->fx_file, fixp->fx_line,
dcgettext (((void *)0), "Relocation cannot be done when using -mrelocatable", __LC_MESSAGES));
}
}
return;
}
}
void
ppc_frob_file_before_adjust ()
{
symbolS *symp;
if (!ppc_obj64)
return;
for (symp = symbol_rootP; symp; symp = symbol_next (symp))
{
const char *name;
char *dotname;
symbolS *dotsym;
size_t len;
name = S_GET_NAME (symp);
if (name[0] == '.')
continue;
if (! S_IS_WEAK (symp)
|| S_IS_DEFINED (symp))
continue;
len = strlen (name) + 1;
dotname = xmalloc (len + 1);
dotname[0] = '.';
memcpy (dotname + 1, name, len);
dotsym = symbol_find (dotname);
free (dotname);
if (dotsym != ((void *)0) && (symbol_used_p (dotsym)
|| symbol_used_in_reloc_p (dotsym)))
{
symbol_mark_used (symp);
}
}
symp = symbol_find (".TOC.");
if (symp != ((void *)0))
symbol_remove (symp, &symbol_rootP, &symbol_lastP);
}
# 1852 "../../binutils-2.13.1/gas/config/tc-ppc.c"
struct ppc_fixup
{
expressionS exp;
int opindex;
bfd_reloc_code_real_type reloc;
};
void
md_assemble (str)
char *str;
{
char *s;
const struct powerpc_opcode *opcode;
unsigned long insn;
const unsigned char *opindex_ptr;
int skip_optional;
int need_paren;
int next_opindex;
struct ppc_fixup fixups[(5)];
int fc;
char *f;
int i;
bfd_reloc_code_real_type reloc;
for (s = str; *s != '\0' && ! (_sch_istable[(*s) & 0xff] & (unsigned short)(_sch_isspace)); s++)
;
if (*s != '\0')
*s++ = '\0';
opcode = (const struct powerpc_opcode *) hash_find (ppc_hash, str);
if (opcode == (const struct powerpc_opcode *) ((void *)0))
{
const struct powerpc_macro *macro;
macro = (const struct powerpc_macro *) hash_find (ppc_macro_hash, str);
if (macro == (const struct powerpc_macro *) ((void *)0))
as_bad (dcgettext (((void *)0), "Unrecognized opcode: `%s'", __LC_MESSAGES), str);
else
ppc_macro (s, macro);
return;
}
insn = opcode->opcode;
str = s;
while ((_sch_istable[(*str) & 0xff] & (unsigned short)(_sch_isspace)))
++str;
# 1918 "../../binutils-2.13.1/gas/config/tc-ppc.c"
skip_optional = 0;
for (opindex_ptr = opcode->operands; *opindex_ptr != 0; opindex_ptr++)
{
const struct powerpc_operand *operand;
operand = &powerpc_operands[*opindex_ptr];
if ((operand->flags & (01000)) != 0)
{
unsigned int opcount;
unsigned int num_operands_expected;
unsigned int i;
if (*str == '\0')
opcount = 0;
else
{
opcount = 1;
s = str;
while ((s = (__extension__ (__builtin_constant_p (',') && (',') == '\0' ? (char *) __rawmemchr (s, ',') : strchr (s, ',')))) != (char *) ((void *)0))
{
++opcount;
++s;
}
}
for (num_operands_expected = 0, i = 0; opcode->operands[i]; i ++)
if ((powerpc_operands [opcode->operands[i]].flags & (04)) == 0)
++ num_operands_expected;
if (opcount < num_operands_expected)
skip_optional = 1;
break;
}
}
need_paren = 0;
next_opindex = 0;
fc = 0;
for (opindex_ptr = opcode->operands; *opindex_ptr != 0; opindex_ptr++)
{
const struct powerpc_operand *operand;
const char *errmsg;
char *hold;
expressionS ex;
char endc;
if (next_opindex == 0)
operand = &powerpc_operands[*opindex_ptr];
else
{
operand = &powerpc_operands[next_opindex];
next_opindex = 0;
}
errmsg = ((void *)0);
if ((operand->flags & (04)) != 0)
{
insn = (*operand->insert) (insn, 0L, ppc_cpu, &errmsg);
if (errmsg != (const char *) ((void *)0))
as_bad (errmsg);
continue;
}
if ((operand->flags & (01000)) != 0
&& skip_optional)
{
if (operand->insert)
{
insn = (*operand->insert) (insn, 0L, ppc_cpu, &errmsg);
if (errmsg != (const char *) ((void *)0))
as_bad (errmsg);
}
if ((operand->flags & (02000)) != 0)
next_opindex = *opindex_ptr + 1;
continue;
}
hold = input_line_pointer;
input_line_pointer = str;
# 2127 "../../binutils-2.13.1/gas/config/tc-ppc.c"
{
if (! register_name (&ex))
{
if ((operand->flags & (020)) != 0)
cr_operand = true;
expr (0, &ex);
cr_operand = false;
}
}
str = input_line_pointer;
input_line_pointer = hold;
if (ex.X_op == O_illegal)
as_bad (dcgettext (((void *)0), "illegal operand", __LC_MESSAGES));
else if (ex.X_op == O_absent)
as_bad (dcgettext (((void *)0), "missing operand", __LC_MESSAGES));
else if (ex.X_op == O_register)
{
insn = ppc_insert_operand (insn, operand, ex.X_add_number,
(char *) ((void *)0), 0);
}
else if (ex.X_op == O_constant)
{
char *orig_str = str;
if ((reloc = ppc_elf_suffix (&str, &ex)) != BFD_RELOC_UNUSED)
switch (reloc)
{
default:
str = orig_str;
break;
case BFD_RELOC_LO16:
if (ex.X_unsigned && ! (operand->flags & (01)))
ex.X_add_number &= 0xffff;
else
ex.X_add_number = ((((ex.X_add_number) & 0xffff) ^ 0x8000) - 0x8000);
break;
case BFD_RELOC_HI16:
if (ex.X_unsigned && ! (operand->flags & (01)))
ex.X_add_number = (((ex.X_add_number) >> 16) & 0xffff);
else
ex.X_add_number = (((((((ex.X_add_number) >> 16) & 0xffff)) & 0xffff) ^ 0x8000) - 0x8000);
break;
case BFD_RELOC_HI16_S:
if (ex.X_unsigned && ! (operand->flags & (01)))
ex.X_add_number = ((((ex.X_add_number) + 0x8000) >> 16) & 0xffff);
else
ex.X_add_number = ((((((((ex.X_add_number) + 0x8000) >> 16) & 0xffff)) & 0xffff) ^ 0x8000) - 0x8000);
break;
case BFD_RELOC_PPC64_HIGHER:
if (ex.X_unsigned && ! (operand->flags & (01)))
ex.X_add_number = (((ex.X_add_number) >> 32) & 0xffff);
else
ex.X_add_number = (((((((ex.X_add_number) >> 32) & 0xffff)) & 0xffff) ^ 0x8000) - 0x8000);
break;
case BFD_RELOC_PPC64_HIGHER_S:
if (ex.X_unsigned && ! (operand->flags & (01)))
ex.X_add_number = ((((ex.X_add_number) + 0x8000) >> 32) & 0xffff);
else
ex.X_add_number = ((((((((ex.X_add_number) + 0x8000) >> 32) & 0xffff)) & 0xffff) ^ 0x8000) - 0x8000);
break;
case BFD_RELOC_PPC64_HIGHEST:
if (ex.X_unsigned && ! (operand->flags & (01)))
ex.X_add_number = (((ex.X_add_number) >> 48) & 0xffff);
else
ex.X_add_number = (((((((ex.X_add_number) >> 48) & 0xffff)) & 0xffff) ^ 0x8000) - 0x8000);
break;
case BFD_RELOC_PPC64_HIGHEST_S:
if (ex.X_unsigned && ! (operand->flags & (01)))
ex.X_add_number = ((((ex.X_add_number) + 0x8000) >> 48) & 0xffff);
else
ex.X_add_number = ((((((((ex.X_add_number) + 0x8000) >> 48) & 0xffff)) & 0xffff) ^ 0x8000) - 0x8000);
break;
}
insn = ppc_insert_operand (insn, operand, ex.X_add_number,
(char *) ((void *)0), 0);
}
else if ((reloc = ppc_elf_suffix (&str, &ex)) != BFD_RELOC_UNUSED)
{
if ((operand->flags & (0400)) != 0)
{
switch (reloc)
{
case BFD_RELOC_PPC_B26:
reloc = BFD_RELOC_PPC_BA26;
break;
case BFD_RELOC_PPC_B16:
reloc = BFD_RELOC_PPC_BA16;
break;
case BFD_RELOC_PPC_B16_BRTAKEN:
reloc = BFD_RELOC_PPC_BA16_BRTAKEN;
break;
case BFD_RELOC_PPC_B16_BRNTAKEN:
reloc = BFD_RELOC_PPC_BA16_BRNTAKEN;
break;
default:
break;
}
}
if (ppc_obj64
&& (operand->flags & (020000)) != 0)
{
switch (reloc)
{
case BFD_RELOC_16:
reloc = BFD_RELOC_PPC64_ADDR16_DS;
break;
case BFD_RELOC_LO16:
reloc = BFD_RELOC_PPC64_ADDR16_LO_DS;
break;
case BFD_RELOC_16_GOTOFF:
reloc = BFD_RELOC_PPC64_GOT16_DS;
break;
case BFD_RELOC_LO16_GOTOFF:
reloc = BFD_RELOC_PPC64_GOT16_LO_DS;
break;
case BFD_RELOC_LO16_PLTOFF:
reloc = BFD_RELOC_PPC64_PLT16_LO_DS;
break;
case BFD_RELOC_16_BASEREL:
reloc = BFD_RELOC_PPC64_SECTOFF_DS;
break;
case BFD_RELOC_LO16_BASEREL:
reloc = BFD_RELOC_PPC64_SECTOFF_LO_DS;
break;
case BFD_RELOC_PPC_TOC16:
reloc = BFD_RELOC_PPC64_TOC16_DS;
break;
case BFD_RELOC_PPC64_TOC16_LO:
reloc = BFD_RELOC_PPC64_TOC16_LO_DS;
break;
case BFD_RELOC_PPC64_PLTGOT16:
reloc = BFD_RELOC_PPC64_PLTGOT16_DS;
break;
case BFD_RELOC_PPC64_PLTGOT16_LO:
reloc = BFD_RELOC_PPC64_PLTGOT16_LO_DS;
break;
default:
as_bad (dcgettext (((void *)0), "unsupported relocation for DS offset field", __LC_MESSAGES));
break;
}
}
if (fc >= (5))
as_fatal (dcgettext (((void *)0), "too many fixups", __LC_MESSAGES));
fixups[fc].exp = ex;
fixups[fc].opindex = 0;
fixups[fc].reloc = reloc;
++fc;
}
else
{
if (fc >= (5))
as_fatal (dcgettext (((void *)0), "too many fixups", __LC_MESSAGES));
fixups[fc].exp = ex;
fixups[fc].opindex = *opindex_ptr;
fixups[fc].reloc = BFD_RELOC_UNUSED;
++fc;
}
if (need_paren)
{
endc = ')';
need_paren = 0;
}
else if ((operand->flags & (010)) != 0)
{
endc = '(';
need_paren = 1;
}
else
endc = ',';
if (*str != endc
&& (endc != ',' || *str != '\0'))
{
as_bad (dcgettext (((void *)0), "syntax error; found `%c' but expected `%c'", __LC_MESSAGES), *str, endc);
break;
}
if (*str != '\0')
++str;
}
while ((_sch_istable[(*str) & 0xff] & (unsigned short)(_sch_isspace)))
++str;
if (*str != '\0')
as_bad (dcgettext (((void *)0), "junk at end of line: `%s'", __LC_MESSAGES), str);
f = frag_more (4);
md_number_to_chars (f, insn, 4);
dwarf2_emit_insn (4);
# 2355 "../../binutils-2.13.1/gas/config/tc-ppc.c"
for (i = 0; i < fc; i++)
{
const struct powerpc_operand *operand;
operand = &powerpc_operands[fixups[i].opindex];
if (fixups[i].reloc != BFD_RELOC_UNUSED)
{
reloc_howto_type *reloc_howto;
int size;
int offset;
fixS *fixP;
reloc_howto = bfd_reloc_type_lookup (stdoutput, fixups[i].reloc);
if (!reloc_howto)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 2369, __PRETTY_FUNCTION__);
size = bfd_get_reloc_size (reloc_howto);
offset = target_big_endian ? (4 - size) : 0;
if (size < 1 || size > 4)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 2375, __PRETTY_FUNCTION__);
fixP = fix_new_exp (frag_now,
f - frag_now->fr_literal + offset,
size,
&fixups[i].exp,
reloc_howto->pc_relative,
fixups[i].reloc);
switch (fixups[i].reloc)
{
case BFD_RELOC_16_GOTOFF:
case BFD_RELOC_PPC_TOC16:
case BFD_RELOC_LO16:
case BFD_RELOC_HI16:
case BFD_RELOC_HI16_S:
case BFD_RELOC_PPC64_HIGHER:
case BFD_RELOC_PPC64_HIGHER_S:
case BFD_RELOC_PPC64_HIGHEST:
case BFD_RELOC_PPC64_HIGHEST_S:
fixP->fx_no_overflow = 1;
break;
default:
break;
}
}
else
fix_new_exp (frag_now,
f - frag_now->fr_literal,
4,
&fixups[i].exp,
(operand->flags & (0200)) != 0,
((bfd_reloc_code_real_type)
(fixups[i].opindex + (int) BFD_RELOC_UNUSED)));
}
}
static void
ppc_macro (str, macro)
char *str;
const struct powerpc_macro *macro;
{
char *operands[10];
unsigned int count;
char *s;
unsigned int len;
const char *format;
int arg;
char *send;
char *complete;
count = 0;
s = str;
while (1)
{
if (count >= sizeof operands / sizeof operands[0])
break;
operands[count++] = s;
s = (__extension__ (__builtin_constant_p (',') && (',') == '\0' ? (char *) __rawmemchr (s, ',') : strchr (s, ',')));
if (s == (char *) ((void *)0))
break;
*s++ = '\0';
}
if (count != macro->operands)
{
as_bad (dcgettext (((void *)0), "wrong number of operands", __LC_MESSAGES));
return;
}
len = 0;
format = macro->format;
while (*format != '\0')
{
if (*format != '%')
{
++len;
++format;
}
else
{
arg = strtol (format + 1, &send, 10);
;
len += strlen (operands[arg]);
format = send;
}
}
complete = s = (char *) __builtin_alloca(len + 1);
format = macro->format;
while (*format != '\0')
{
if (*format != '%')
*s++ = *format++;
else
{
arg = strtol (format + 1, &send, 10);
strcpy (s, operands[arg]);
s += strlen (s);
format = send;
}
}
*s = '\0';
md_assemble (complete);
}
int
ppc_section_letter (letter, ptr_msg)
int letter;
char **ptr_msg;
{
if (letter == 'e')
return 0x80000000;
*ptr_msg = dcgettext (((void *)0), "Bad .section directive: want a,e,w,x,M,S,G,T in string", __LC_MESSAGES);
return 0;
}
int
ppc_section_word (str, len)
char *str;
size_t len;
{
if (len == 7 && (__extension__ (__builtin_constant_p (7) && ((__builtin_constant_p (str) && strlen (str) < ((size_t) (7))) || (__builtin_constant_p ("exclude") && strlen ("exclude") < ((size_t) (7)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (str) && __builtin_constant_p ("exclude") && (__s1_len = strlen (str), __s2_len = strlen ("exclude"), (!((size_t)(const void *)((str) + 1) - (size_t)(const void *)(str) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("exclude") + 1) - (size_t)(const void *)("exclude") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (str), (__const char *) ("exclude"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (str) && ((size_t)(const void *)((str) + 1) - (size_t)(const void *)(str) == 1) && (__s1_len = strlen (str), __s1_len < 4) ? (__builtin_constant_p ("exclude") && ((size_t)(const void *)(("exclude") + 1) - (size_t)(const void *)("exclude") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (str))[0] - ((__const unsigned char *) (__const char *)("exclude"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (str))[1] - ((__const unsigned char *) (__const char *) ("exclude"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (str))[2] - ((__const unsigned char *) (__const char *) ("exclude"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (str))[3] - ((__const unsigned char *) (__const char *) ("exclude"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("exclude"); register int __result = (((__const unsigned char *) (__const char *) (str))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (str))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (str))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (str))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("exclude") && ((size_t)(const void *)(("exclude") + 1) - (size_t)(const void *)("exclude") == 1) && (__s2_len = strlen ("exclude"), __s2_len < 4) ? (__builtin_constant_p (str) && ((size_t)(const void *)((str) + 1) - (size_t)(const void *)(str) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (str))[0] - ((__const unsigned char *) (__const char *)("exclude"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (str))[1] - ((__const unsigned char *) (__const char *) ("exclude"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (str))[2] - ((__const unsigned char *) (__const char *) ("exclude"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (str))[3] - ((__const unsigned char *) (__const char *) ("exclude"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (str); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("exclude"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("exclude"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("exclude"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("exclude"))[3]); } } __result; }))) : strcmp (str, "exclude")))); }) : strncmp (str, "exclude", 7))) == 0)
return 0x80000000;
return -1;
}
int
ppc_section_type (str, len)
char *str;
size_t len;
{
if (len == 7 && (__extension__ (__builtin_constant_p (7) && ((__builtin_constant_p (str) && strlen (str) < ((size_t) (7))) || (__builtin_constant_p ("ordered") && strlen ("ordered") < ((size_t) (7)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (str) && __builtin_constant_p ("ordered") && (__s1_len = strlen (str), __s2_len = strlen ("ordered"), (!((size_t)(const void *)((str) + 1) - (size_t)(const void *)(str) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("ordered") + 1) - (size_t)(const void *)("ordered") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (str), (__const char *) ("ordered"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (str) && ((size_t)(const void *)((str) + 1) - (size_t)(const void *)(str) == 1) && (__s1_len = strlen (str), __s1_len < 4) ? (__builtin_constant_p ("ordered") && ((size_t)(const void *)(("ordered") + 1) - (size_t)(const void *)("ordered") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (str))[0] - ((__const unsigned char *) (__const char *)("ordered"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (str))[1] - ((__const unsigned char *) (__const char *) ("ordered"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (str))[2] - ((__const unsigned char *) (__const char *) ("ordered"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (str))[3] - ((__const unsigned char *) (__const char *) ("ordered"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("ordered"); register int __result = (((__const unsigned char *) (__const char *) (str))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (str))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (str))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (str))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("ordered") && ((size_t)(const void *)(("ordered") + 1) - (size_t)(const void *)("ordered") == 1) && (__s2_len = strlen ("ordered"), __s2_len < 4) ? (__builtin_constant_p (str) && ((size_t)(const void *)((str) + 1) - (size_t)(const void *)(str) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (str))[0] - ((__const unsigned char *) (__const char *)("ordered"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (str))[1] - ((__const unsigned char *) (__const char *) ("ordered"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (str))[2] - ((__const unsigned char *) (__const char *) ("ordered"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (str))[3] - ((__const unsigned char *) (__const char *) ("ordered"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (str); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("ordered"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("ordered"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("ordered"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("ordered"))[3]); } } __result; }))) : strcmp (str, "ordered")))); }) : strncmp (str, "ordered", 7))) == 0)
return 0x7FFFFFFF;
return -1;
}
int
ppc_section_flags (flags, attr, type)
int flags;
int attr;
int type;
{
if (type == 0x7FFFFFFF)
flags |= 0x001 | 0x002 | 0x80000;
if (attr & 0x80000000)
flags |= 0x40000;
return flags;
}
# 2555 "../../binutils-2.13.1/gas/config/tc-ppc.c"
static void
ppc_byte (ignore)
int ignore __attribute__ ((__unused__));
{
if (*input_line_pointer != '\"')
{
cons (1);
return;
}
++input_line_pointer;
while (1)
{
char c;
c = *input_line_pointer++;
if (c == '\"')
{
if (*input_line_pointer != '\"')
break;
++input_line_pointer;
}
frag_append_1_char (c);
}
demand_empty_rest_of_line ();
}
# 3611 "../../binutils-2.13.1/gas/config/tc-ppc.c"
static void
ppc_tc (ignore)
int ignore __attribute__ ((__unused__));
{
# 3671 "../../binutils-2.13.1/gas/config/tc-ppc.c"
int align;
while (( lex_type[(unsigned char) (*input_line_pointer)] & (1) )
|| *input_line_pointer == '['
|| *input_line_pointer == ']'
|| *input_line_pointer == '{'
|| *input_line_pointer == '}')
++input_line_pointer;
align = ppc_obj64 ? 3 : 2;
frag_align (align, 0, 0);
record_alignment (now_seg, align);
if (*input_line_pointer != ',')
demand_empty_rest_of_line ();
else
{
++input_line_pointer;
cons (ppc_obj64 ? 8 : 4);
}
}
# 3704 "../../binutils-2.13.1/gas/config/tc-ppc.c"
static void
ppc_machine (ignore)
int ignore __attribute__ ((__unused__));
{
discard_rest_of_line ();
}
static int
ppc_is_toc_sym (sym)
symbolS *sym;
{
const char *sname = ((S_GET_SEGMENT (sym))->name + 0);
if (ppc_obj64)
return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (sname) && __builtin_constant_p (".toc") && (__s1_len = strlen (sname), __s2_len = strlen (".toc"), (!((size_t)(const void *)((sname) + 1) - (size_t)(const void *)(sname) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((".toc") + 1) - (size_t)(const void *)(".toc") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (sname), (__const char *) (".toc"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (sname) && ((size_t)(const void *)((sname) + 1) - (size_t)(const void *)(sname) == 1) && (__s1_len = strlen (sname), __s1_len < 4) ? (__builtin_constant_p (".toc") && ((size_t)(const void *)((".toc") + 1) - (size_t)(const void *)(".toc") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (sname))[0] - ((__const unsigned char *) (__const char *)(".toc"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (sname))[1] - ((__const unsigned char *) (__const char *) (".toc"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (sname))[2] - ((__const unsigned char *) (__const char *) (".toc"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (sname))[3] - ((__const unsigned char *) (__const char *) (".toc"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (".toc"); register int __result = (((__const unsigned char *) (__const char *) (sname))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (sname))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (sname))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (sname))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (".toc") && ((size_t)(const void *)((".toc") + 1) - (size_t)(const void *)(".toc") == 1) && (__s2_len = strlen (".toc"), __s2_len < 4) ? (__builtin_constant_p (sname) && ((size_t)(const void *)((sname) + 1) - (size_t)(const void *)(sname) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (sname))[0] - ((__const unsigned char *) (__const char *)(".toc"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (sname))[1] - ((__const unsigned char *) (__const char *) (".toc"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (sname))[2] - ((__const unsigned char *) (__const char *) (".toc"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (sname))[3] - ((__const unsigned char *) (__const char *) (".toc"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (sname); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (".toc"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (".toc"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (".toc"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (".toc"))[3]); } } __result; }))) : strcmp (sname, ".toc")))); }) == 0;
else
return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (sname) && __builtin_constant_p (".got") && (__s1_len = strlen (sname), __s2_len = strlen (".got"), (!((size_t)(const void *)((sname) + 1) - (size_t)(const void *)(sname) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((".got") + 1) - (size_t)(const void *)(".got") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (sname), (__const char *) (".got"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (sname) && ((size_t)(const void *)((sname) + 1) - (size_t)(const void *)(sname) == 1) && (__s1_len = strlen (sname), __s1_len < 4) ? (__builtin_constant_p (".got") && ((size_t)(const void *)((".got") + 1) - (size_t)(const void *)(".got") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (sname))[0] - ((__const unsigned char *) (__const char *)(".got"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (sname))[1] - ((__const unsigned char *) (__const char *) (".got"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (sname))[2] - ((__const unsigned char *) (__const char *) (".got"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (sname))[3] - ((__const unsigned char *) (__const char *) (".got"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (".got"); register int __result = (((__const unsigned char *) (__const char *) (sname))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (sname))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (sname))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (sname))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (".got") && ((size_t)(const void *)((".got") + 1) - (size_t)(const void *)(".got") == 1) && (__s2_len = strlen (".got"), __s2_len < 4) ? (__builtin_constant_p (sname) && ((size_t)(const void *)((sname) + 1) - (size_t)(const void *)(sname) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (sname))[0] - ((__const unsigned char *) (__const char *)(".got"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (sname))[1] - ((__const unsigned char *) (__const char *) (".got"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (sname))[2] - ((__const unsigned char *) (__const char *) (".got"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (sname))[3] - ((__const unsigned char *) (__const char *) (".got"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (sname); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (".got"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (".got"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (".got"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (".got"))[3]); } } __result; }))) : strcmp (sname, ".got")))); }) == 0;
}
# 4812 "../../binutils-2.13.1/gas/config/tc-ppc.c"
char *
md_atof (type, litp, sizep)
int type;
char *litp;
int *sizep;
{
int prec;
LITTLENUM_TYPE words[4];
char *t;
int i;
switch (type)
{
case 'f':
prec = 2;
break;
case 'd':
prec = 4;
break;
default:
*sizep = 0;
return dcgettext (((void *)0), "bad call to md_atof", __LC_MESSAGES);
}
t = atof_ieee (input_line_pointer, type, words);
if (t)
input_line_pointer = t;
*sizep = prec * 2;
if (target_big_endian)
{
for (i = 0; i < prec; i++)
{
md_number_to_chars (litp, (valueT) words[i], 2);
litp += 2;
}
}
else
{
for (i = prec - 1; i >= 0; i--)
{
md_number_to_chars (litp, (valueT) words[i], 2);
litp += 2;
}
}
return ((void *)0);
}
void
md_number_to_chars (buf, val, n)
char *buf;
valueT val;
int n;
{
if (target_big_endian)
number_to_chars_bigendian (buf, val, n);
else
number_to_chars_littleendian (buf, val, n);
}
valueT
md_section_align (seg, addr)
asection *seg;
valueT addr;
{
int align = ((seg)->alignment_power + 0);
return ((addr + (1 << align) - 1) & (-1 << align));
}
int
md_estimate_size_before_relax (fragp, seg)
fragS *fragp __attribute__ ((__unused__));
asection *seg __attribute__ ((__unused__));
{
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 4898, __PRETTY_FUNCTION__);
return 0;
}
void
md_convert_frag (abfd, sec, fragp)
bfd *abfd __attribute__ ((__unused__));
asection *sec __attribute__ ((__unused__));
fragS *fragp __attribute__ ((__unused__));
{
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 4910, __PRETTY_FUNCTION__);
}
symbolS *
md_undefined_symbol (name)
char *name __attribute__ ((__unused__));
{
return 0;
}
long
md_pcrel_from_section (fixp, sec)
fixS *fixp;
segT sec __attribute__ ((__unused__));
{
return fixp->fx_frag->fr_address + fixp->fx_where;
}
# 5090 "../../binutils-2.13.1/gas/config/tc-ppc.c"
int
ppc_fix_adjustable (fix)
fixS *fix;
{
return (fix->fx_r_type != BFD_RELOC_16_GOTOFF
&& fix->fx_r_type != BFD_RELOC_LO16_GOTOFF
&& fix->fx_r_type != BFD_RELOC_HI16_GOTOFF
&& fix->fx_r_type != BFD_RELOC_HI16_S_GOTOFF
&& fix->fx_r_type != BFD_RELOC_GPREL16
&& fix->fx_r_type != BFD_RELOC_VTABLE_INHERIT
&& fix->fx_r_type != BFD_RELOC_VTABLE_ENTRY
&& ! S_IS_EXTERNAL (fix->fx_addsy)
&& ! S_IS_WEAK (fix->fx_addsy)
&& (fix->fx_pcrel
|| (fix->fx_subsy != ((void *)0)
&& (S_GET_SEGMENT (fix->fx_subsy)
== S_GET_SEGMENT (fix->fx_addsy)))
|| S_IS_LOCAL (fix->fx_addsy)));
}
# 5120 "../../binutils-2.13.1/gas/config/tc-ppc.c"
void
md_apply_fix3 (fixP, valP, seg)
fixS *fixP;
valueT * valP;
segT seg __attribute__ ((__unused__));
{
valueT value = * valP;
if (fixP->fx_addsy != ((void *)0))
{
if (symbol_used_in_reloc_p (fixP->fx_addsy)
&& S_GET_SEGMENT (fixP->fx_addsy) != ((asection *) &bfd_abs_section)
&& S_GET_SEGMENT (fixP->fx_addsy) != ((asection *) &bfd_und_section)
&& ! (((S_GET_SEGMENT (fixP->fx_addsy))->flags & 0x8000) != 0))
value -= S_GET_VALUE (fixP->fx_addsy);
if (fixP->fx_pcrel)
value += fixP->fx_frag->fr_address + fixP->fx_where;
}
else
fixP->fx_done = 1;
# 5181 "../../binutils-2.13.1/gas/config/tc-ppc.c"
if ((int) fixP->fx_r_type >= (int) BFD_RELOC_UNUSED)
{
int opindex;
const struct powerpc_operand *operand;
char *where;
unsigned long insn;
opindex = (int) fixP->fx_r_type - (int) BFD_RELOC_UNUSED;
operand = &powerpc_operands[opindex];
# 5214 "../../binutils-2.13.1/gas/config/tc-ppc.c"
where = fixP->fx_frag->fr_literal + fixP->fx_where;
if (target_big_endian)
insn = bfd_getb32 ((unsigned char *) where);
else
insn = bfd_getl32 ((unsigned char *) where);
insn = ppc_insert_operand (insn, operand, (offsetT) value,
fixP->fx_file, fixP->fx_line);
if (target_big_endian)
bfd_putb32 ((bfd_vma) insn, (unsigned char *) where);
else
bfd_putl32 ((bfd_vma) insn, (unsigned char *) where);
if (fixP->fx_done)
return;
((fixP->fx_addsy != ((void *)0)) ? 0 : (as_assert ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5230, __PRETTY_FUNCTION__), 0));
if ((operand->flags & (0200)) != 0
&& operand->bits == 26
&& operand->shift == 0)
fixP->fx_r_type = BFD_RELOC_PPC_B26;
else if ((operand->flags & (0200)) != 0
&& operand->bits == 16
&& operand->shift == 0)
{
fixP->fx_r_type = BFD_RELOC_PPC_B16;
}
else if ((operand->flags & (0400)) != 0
&& operand->bits == 26
&& operand->shift == 0)
fixP->fx_r_type = BFD_RELOC_PPC_BA26;
else if ((operand->flags & (0400)) != 0
&& operand->bits == 16
&& operand->shift == 0)
{
fixP->fx_r_type = BFD_RELOC_PPC_BA16;
}
else if ((operand->flags & (010)) != 0
&& operand->bits == 16
&& operand->shift == 0
&& ppc_is_toc_sym (fixP->fx_addsy))
{
fixP->fx_r_type = BFD_RELOC_PPC_TOC16;
if (ppc_obj64
&& (operand->flags & (020000)) != 0)
fixP->fx_r_type = BFD_RELOC_PPC64_TOC16_DS;
fixP->fx_size = 2;
if (target_big_endian)
fixP->fx_where += 2;
}
else
{
char *sfile;
unsigned int sline;
if (expr_symbol_where (fixP->fx_addsy, &sfile, &sline))
as_bad_where (fixP->fx_file, fixP->fx_line,
dcgettext (((void *)0), "unresolved expression that must be resolved", __LC_MESSAGES));
else
as_bad_where (fixP->fx_file, fixP->fx_line,
dcgettext (((void *)0), "unsupported relocation against %s", __LC_MESSAGES),
S_GET_NAME (fixP->fx_addsy));
fixP->fx_done = 1;
return;
}
}
else
{
ppc_elf_validate_fix (fixP, seg);
switch (fixP->fx_r_type)
{
case BFD_RELOC_CTOR:
if (ppc_obj64)
goto ctor64;
case BFD_RELOC_32:
if (fixP->fx_pcrel)
fixP->fx_r_type = BFD_RELOC_32_PCREL;
case BFD_RELOC_RVA:
case BFD_RELOC_32_PCREL:
case BFD_RELOC_PPC_EMB_NADDR32:
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where,
value, 4);
break;
case BFD_RELOC_64:
ctor64:
if (fixP->fx_pcrel)
fixP->fx_r_type = BFD_RELOC_64_PCREL;
case BFD_RELOC_64_PCREL:
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where,
value, 8);
break;
case BFD_RELOC_LO16:
case BFD_RELOC_16:
case BFD_RELOC_GPREL16:
case BFD_RELOC_16_GOT_PCREL:
case BFD_RELOC_16_GOTOFF:
case BFD_RELOC_LO16_GOTOFF:
case BFD_RELOC_HI16_GOTOFF:
case BFD_RELOC_HI16_S_GOTOFF:
case BFD_RELOC_16_BASEREL:
case BFD_RELOC_LO16_BASEREL:
case BFD_RELOC_HI16_BASEREL:
case BFD_RELOC_HI16_S_BASEREL:
case BFD_RELOC_PPC_EMB_NADDR16:
case BFD_RELOC_PPC_EMB_NADDR16_LO:
case BFD_RELOC_PPC_EMB_NADDR16_HI:
case BFD_RELOC_PPC_EMB_NADDR16_HA:
case BFD_RELOC_PPC_EMB_SDAI16:
case BFD_RELOC_PPC_EMB_SDA2REL:
case BFD_RELOC_PPC_EMB_SDA2I16:
case BFD_RELOC_PPC_EMB_RELSEC16:
case BFD_RELOC_PPC_EMB_RELST_LO:
case BFD_RELOC_PPC_EMB_RELST_HI:
case BFD_RELOC_PPC_EMB_RELST_HA:
case BFD_RELOC_PPC_EMB_RELSDA:
case BFD_RELOC_PPC_TOC16:
case BFD_RELOC_PPC64_TOC16_LO:
case BFD_RELOC_PPC64_TOC16_HI:
case BFD_RELOC_PPC64_TOC16_HA:
if (fixP->fx_pcrel)
{
if (fixP->fx_addsy != ((void *)0))
as_bad_where (fixP->fx_file, fixP->fx_line,
dcgettext (((void *)0), "cannot emit PC relative %s relocation against %s", __LC_MESSAGES),
bfd_get_reloc_code_name (fixP->fx_r_type),
S_GET_NAME (fixP->fx_addsy));
else
as_bad_where (fixP->fx_file, fixP->fx_line,
dcgettext (((void *)0), "cannot emit PC relative %s relocation", __LC_MESSAGES),
bfd_get_reloc_code_name (fixP->fx_r_type));
}
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where,
value, 2);
break;
case BFD_RELOC_HI16:
if (fixP->fx_pcrel)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5387, __PRETTY_FUNCTION__);
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where,
(((value) >> 16) & 0xffff), 2);
break;
case BFD_RELOC_HI16_S:
if (fixP->fx_pcrel)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5394, __PRETTY_FUNCTION__);
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where,
((((value) + 0x8000) >> 16) & 0xffff), 2);
break;
case BFD_RELOC_PPC64_HIGHER:
if (fixP->fx_pcrel)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5402, __PRETTY_FUNCTION__);
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where,
(((value) >> 32) & 0xffff), 2);
break;
case BFD_RELOC_PPC64_HIGHER_S:
if (fixP->fx_pcrel)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5409, __PRETTY_FUNCTION__);
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where,
((((value) + 0x8000) >> 32) & 0xffff), 2);
break;
case BFD_RELOC_PPC64_HIGHEST:
if (fixP->fx_pcrel)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5416, __PRETTY_FUNCTION__);
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where,
(((value) >> 48) & 0xffff), 2);
break;
case BFD_RELOC_PPC64_HIGHEST_S:
if (fixP->fx_pcrel)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5423, __PRETTY_FUNCTION__);
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where,
((((value) + 0x8000) >> 48) & 0xffff), 2);
break;
case BFD_RELOC_PPC64_ADDR16_DS:
case BFD_RELOC_PPC64_ADDR16_LO_DS:
case BFD_RELOC_PPC64_GOT16_DS:
case BFD_RELOC_PPC64_GOT16_LO_DS:
case BFD_RELOC_PPC64_PLT16_LO_DS:
case BFD_RELOC_PPC64_SECTOFF_DS:
case BFD_RELOC_PPC64_SECTOFF_LO_DS:
case BFD_RELOC_PPC64_TOC16_DS:
case BFD_RELOC_PPC64_TOC16_LO_DS:
case BFD_RELOC_PPC64_PLTGOT16_DS:
case BFD_RELOC_PPC64_PLTGOT16_LO_DS:
if (fixP->fx_pcrel)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5440, __PRETTY_FUNCTION__);
{
unsigned char *where = fixP->fx_frag->fr_literal + fixP->fx_where;
unsigned long val;
if (target_big_endian)
val = bfd_getb16 (where);
else
val = bfd_getl16 (where);
val |= (value & 0xfffc);
if (target_big_endian)
bfd_putb16 ((bfd_vma) val, where);
else
bfd_putl16 ((bfd_vma) val, where);
}
break;
case BFD_RELOC_PPC_EMB_SDA21:
if (fixP->fx_pcrel)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5461, __PRETTY_FUNCTION__);
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where
+ ((target_big_endian) ? 2 : 0),
value, 2);
break;
case BFD_RELOC_8:
if (fixP->fx_pcrel)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5470, __PRETTY_FUNCTION__);
md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where,
value, 1);
break;
case BFD_RELOC_24_PLT_PCREL:
case BFD_RELOC_PPC_LOCAL24PC:
if (!fixP->fx_pcrel && !fixP->fx_done)
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5479, __PRETTY_FUNCTION__);
if (fixP->fx_done)
{
char *where;
unsigned long insn;
where = fixP->fx_frag->fr_literal + fixP->fx_where;
if (target_big_endian)
insn = bfd_getb32 ((unsigned char *) where);
else
insn = bfd_getl32 ((unsigned char *) where);
if ((value & 3) != 0)
as_bad_where (fixP->fx_file, fixP->fx_line,
dcgettext (((void *)0), "must branch to an address a multiple of 4", __LC_MESSAGES));
if ((offsetT) value < -0x40000000
|| (offsetT) value >= 0x40000000)
as_bad_where (fixP->fx_file, fixP->fx_line,
dcgettext (((void *)0), "@local or @plt branch destination is too far away, %ld bytes", __LC_MESSAGES),
(long) value);
insn = insn | (value & 0x03fffffc);
if (target_big_endian)
bfd_putb32 ((bfd_vma) insn, (unsigned char *) where);
else
bfd_putl32 ((bfd_vma) insn, (unsigned char *) where);
}
break;
case BFD_RELOC_VTABLE_INHERIT:
fixP->fx_done = 0;
if (fixP->fx_addsy
&& !S_IS_DEFINED (fixP->fx_addsy)
&& !S_IS_WEAK (fixP->fx_addsy))
S_SET_WEAK (fixP->fx_addsy);
break;
case BFD_RELOC_VTABLE_ENTRY:
fixP->fx_done = 0;
break;
case BFD_RELOC_PPC64_TOC:
fixP->fx_done = 0;
break;
default:
fprintf (stderr,
dcgettext (((void *)0), "Gas failure, reloc value %d\n", __LC_MESSAGES), fixP->fx_r_type);
fflush (stderr);
as_abort ("../../binutils-2.13.1/gas/config/tc-ppc.c", 5532, __PRETTY_FUNCTION__);
}
}
fixP->fx_addnumber = value;
# 5553 "../../binutils-2.13.1/gas/config/tc-ppc.c"
}
arelent *
tc_gen_reloc (seg, fixp)
asection *seg __attribute__ ((__unused__));
fixS *fixp;
{
arelent *reloc;
reloc = (arelent *) xmalloc (sizeof (arelent));
reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
reloc->howto = bfd_reloc_type_lookup (stdoutput, fixp->fx_r_type);
if (reloc->howto == (reloc_howto_type *) ((void *)0))
{
as_bad_where (fixp->fx_file, fixp->fx_line,
dcgettext (((void *)0), "reloc %d not supported by object file format", __LC_MESSAGES),
(int) fixp->fx_r_type);
return ((void *)0);
}
reloc->addend = fixp->fx_addnumber;
return reloc;
}
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2003-05-05 14:50 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-05-05 14:50 c/10422: Internal compiler error in simplify_subreg, at simplify-rtx.c:2452 bangerth
-- strict thread matches above, loose matches on Subject: below --
2003-04-17 9:56 Oliver Gräbner
2003-04-16 13:36 oliver.graebner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).