c/7720: Internal compiler error when compiling gas

Hao Li hli@haoli.org
Sun Aug 25 22:36:00 GMT 2002


>Number:         7720
>Category:       c
>Synopsis:       gcc Internal compiler error when compiling binutils-2.13/gas/config/tc-ppc.c with -O2
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Sun Aug 25 18:16:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Hao Li
>Release:        3.2
>Organization:
>Environment:
System: Linux photon 2.4.13 #3 Mon Nov 12 17:20:43 PST 2001 i686 unknown
Architecture: i686

	
host: i686-redhat-linux-gnu
build: i686-redhat-linux-gnu
target: i686-redhat-linux-gnu
configured with: ../configure --prefix=/usr --enable-shared --enable-threads --disable-nls i686-redhat-linux
>Description:
[hli@photon] ~/vxworks/gcc-3.x/binutils-2.13/gas $ gcc -c -g -O2 /tmp/l.c 
config/tc-ppc.c: In function `md_assemble':
config/tc-ppc.c:2172: warning: right shift count >= width of type
config/tc-ppc.c:2174: warning: right shift count >= width of type
config/tc-ppc.c:2179: warning: right shift count >= width of type
config/tc-ppc.c:2181: warning: right shift count >= width of type
config/tc-ppc.c:2186: warning: right shift count >= width of type
config/tc-ppc.c:2188: warning: right shift count >= width of type
config/tc-ppc.c:2193: warning: right shift count >= width of type
config/tc-ppc.c:2195: warning: right shift count >= width of type
config/tc-ppc.c: In function `md_apply_fix3':
config/tc-ppc.c:5374: warning: right shift count >= width of type
config/tc-ppc.c:5381: warning: right shift count >= width of type
config/tc-ppc.c:5388: warning: right shift count >= width of type
config/tc-ppc.c:5395: warning: right shift count >= width of type
config/tc-ppc.c:5523: 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.
>How-To-Repeat:
	
# 1 "config/tc-ppc.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "config/tc-ppc.c"
# 23 "config/tc-ppc.c"
# 1 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stdio.h" 1 3
# 36 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/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
# 311 "/usr/include/features.h" 3
# 1 "/usr/include/gnu/stubs.h" 1 3
# 312 "/usr/include/features.h" 2 3
# 37 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stdio.h" 2 3





# 1 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stddef.h" 1 3
# 201 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stddef.h" 3
typedef unsigned int size_t;
# 43 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/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/i686-redhat-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
# 45 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stdio.h" 2 3
# 53 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stdio.h" 3
typedef struct _IO_FILE FILE;
# 63 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stdio.h" 3
typedef struct _IO_FILE __FILE;
# 73 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stdio.h" 3
# 1 "/usr/include/libio.h" 1 3
# 30 "/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/i686-redhat-linux/3.2/include/stddef.h" 1 3
# 294 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stddef.h" 3
typedef long int wchar_t;
# 321 "/usr/lib/gcc-lib/i686-redhat-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/i686-redhat-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/i686-redhat-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/i686-redhat-linux/3.2/include/stddef.h" 1 3
# 31 "/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__)));
# 31 "/usr/include/libio.h" 2 3
# 51 "/usr/include/libio.h" 3
# 1 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stdarg.h" 1 3
# 43 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stdarg.h" 3
typedef __builtin_va_list __gnuc_va_list;
# 52 "/usr/include/libio.h" 2 3
# 158 "/usr/include/libio.h" 3
struct _IO_jump_t; struct _IO_FILE;
# 168 "/usr/include/libio.h" 3
typedef void _IO_lock_t;





struct _IO_marker {
  struct _IO_marker *_next;
  struct _IO_FILE *_sbuf;



  int _pos;
# 191 "/usr/include/libio.h" 3
};


enum __codecvt_result
{
  __codecvt_ok,
  __codecvt_partial,
  __codecvt_error,
  __codecvt_noconv
};
# 259 "/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;
# 303 "/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_;
# 342 "/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) ;
# 424 "/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 *) ;
# 454 "/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 *) ;
# 74 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stdio.h" 2 3




typedef __gnuc_va_list __not_va_list__;
# 88 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stdio.h" 3
typedef _G_fpos_t fpos_t;




typedef _G_fpos64_t fpos64_t;
# 137 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stdio.h" 3
# 1 "/usr/include/bits/stdio_lim.h" 1 3
# 138 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stdio.h" 2 3



extern FILE *stdin;
extern FILE *stdout;
extern FILE *stderr;
# 152 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stdio.h" 3
extern int remove (__const char *__filename) ;

extern int rename (__const char *__old, __const char *__new) ;




extern FILE *tmpfile (void) ;
# 168 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stdio.h" 3
extern FILE *tmpfile64 (void) ;


extern char *tmpnam (char *__s) ;




extern char *tmpnam_r (char *__s) ;
# 188 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/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) ;
# 232 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/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) ;
# 436 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/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) ;
# 499 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/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) ;
# 533 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/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) ;




extern int sys_nerr;
extern __const char *__const sys_errlist[];


extern int _sys_nerr;
extern __const char *__const _sys_errlist[];





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) ;
# 640 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stdio.h" 3
# 1 "/usr/include/bits/stdio.h" 1 3
# 39 "/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);
}
# 641 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stdio.h" 2 3



# 24 "config/tc-ppc.c" 2
# 1 "as.h" 1
# 40 "as.h"
# 1 "config.h" 1
# 41 "as.h" 2
# 1 "../include/bin-bugs.h" 1
# 42 "as.h" 2
# 77 "as.h"
# 1 "/usr/include/string.h" 1 3
# 28 "/usr/include/string.h" 3





# 1 "/usr/lib/gcc-lib/i686-redhat-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) ;
# 356 "/usr/include/string.h" 3
# 1 "/usr/include/bits/string.h" 1 3
# 357 "/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
# 217 "/usr/include/bits/string2.h" 3
extern __inline void *__mempcpy_small (void *, char, char, char, char,
                                       __uint16_t, __uint16_t, __uint32_t,
                                       __uint32_t, size_t);
extern __inline void *
__mempcpy_small (void *__dest1,
                 char __src0_1, char __src2_1, char __src4_1, char __src6_1,
                 __uint16_t __src0_2, __uint16_t __src4_2,
                 __uint32_t __src0_4, __uint32_t __src4_4,
                 size_t __srclen)
{
  union {
    __uint32_t __ui;
    __uint16_t __usi;
    unsigned char __uc;
    unsigned char __c;
  } *__u = __dest1;
  switch ((unsigned int) __srclen)
    {
    case 1:
      __u->__c = __src0_1;
      __u = __extension__ ((void *) __u + 1);
      break;
    case 2:
      __u->__usi = __src0_2;
      __u = __extension__ ((void *) __u + 2);
      break;
    case 3:
      __u->__usi = __src0_2;
      __u = __extension__ ((void *) __u + 2);
      __u->__c = __src2_1;
      __u = __extension__ ((void *) __u + 1);
      break;
    case 4:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      break;
    case 5:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__c = __src4_1;
      __u = __extension__ ((void *) __u + 1);
      break;
    case 6:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__usi = __src4_2;
      __u = __extension__ ((void *) __u + 2);
      break;
    case 7:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__usi = __src4_2;
      __u = __extension__ ((void *) __u + 2);
      __u->__c = __src6_1;
      __u = __extension__ ((void *) __u + 1);
      break;
    case 8:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__ui = __src4_4;
      __u = __extension__ ((void *) __u + 4);
      break;
    }
  return (void *) __u;
}
# 371 "/usr/include/bits/string2.h" 3
extern void *__rawmemchr (const void *__s, int __c);
# 395 "/usr/include/bits/string2.h" 3
extern __inline char *__strcpy_small (char *, __uint16_t, __uint16_t,
                                      __uint32_t, __uint32_t, size_t);
extern __inline char *
__strcpy_small (char *__dest,
                __uint16_t __src0_2, __uint16_t __src4_2,
                __uint32_t __src0_4, __uint32_t __src4_4,
                size_t __srclen)
{
  union {
    __uint32_t __ui;
    __uint16_t __usi;
    unsigned char __uc;
  } *__u = (void *) __dest;
  switch ((unsigned int) __srclen)
    {
    case 1:
      __u->__uc = '\0';
      break;
    case 2:
      __u->__usi = __src0_2;
      break;
    case 3:
      __u->__usi = __src0_2;
      __u = __extension__ ((void *) __u + 2);
      __u->__uc = '\0';
      break;
    case 4:
      __u->__ui = __src0_4;
      break;
    case 5:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__uc = '\0';
      break;
    case 6:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__usi = __src4_2;
      break;
    case 7:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__usi = __src4_2;
      __u = __extension__ ((void *) __u + 2);
      __u->__uc = '\0';
      break;
    case 8:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__ui = __src4_4;
      break;
    }
  return __dest;
}
# 554 "/usr/include/bits/string2.h" 3
extern __inline char *__stpcpy_small (char *, __uint16_t, __uint16_t,
                                      __uint32_t, __uint32_t, size_t);
extern __inline char *
__stpcpy_small (char *__dest,
                __uint16_t __src0_2, __uint16_t __src4_2,
                __uint32_t __src0_4, __uint32_t __src4_4,
                size_t __srclen)
{
  union {
    unsigned int __ui;
    unsigned short int __usi;
    unsigned char __uc;
    char __c;
  } *__u = (void *) __dest;
  switch ((unsigned int) __srclen)
    {
    case 1:
      __u->__uc = '\0';
      break;
    case 2:
      __u->__usi = __src0_2;
      __u = __extension__ ((void *) __u + 1);
      break;
    case 3:
      __u->__usi = __src0_2;
      __u = __extension__ ((void *) __u + 2);
      __u->__uc = '\0';
      break;
    case 4:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 3);
      break;
    case 5:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__uc = '\0';
      break;
    case 6:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__usi = __src4_2;
      __u = __extension__ ((void *) __u + 1);
      break;
    case 7:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__usi = __src4_2;
      __u = __extension__ ((void *) __u + 2);
      __u->__uc = '\0';
      break;
    case 8:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__ui = __src4_4;
      __u = __extension__ ((void *) __u + 3);
      break;
    }
  return &__u->__c;
}
# 873 "/usr/include/bits/string2.h" 3
extern __inline size_t __strcspn_c1 (__const char *__s, char __reject);
extern __inline size_t
__strcspn_c1 (__const char *__s, char __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, char __reject1,
                                     char __reject2);
extern __inline size_t
__strcspn_c2 (__const char *__s, char __reject1, char __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, char __reject1,
                                     char __reject2, char __reject3);
extern __inline size_t
__strcspn_c3 (__const char *__s, char __reject1, char __reject2,
              char __reject3)
{
  register size_t __result = 0;
  while (__s[__result] != '\0' && __s[__result] != __reject1
         && __s[__result] != __reject2 && __s[__result] != __reject3)
    ++__result;
  return __result;
}
# 928 "/usr/include/bits/string2.h" 3
extern __inline size_t __strspn_c1 (__const char *__s, char __accept);
extern __inline size_t
__strspn_c1 (__const char *__s, char __accept)
{
  register size_t __result = 0;

  while (__s[__result] == __accept)
    ++__result;
  return __result;
}

extern __inline size_t __strspn_c2 (__const char *__s, char __accept1,
                                    char __accept2);
extern __inline size_t
__strspn_c2 (__const char *__s, char __accept1, char __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, char __accept1,
                                    char __accept2, char __accept3);
extern __inline size_t
__strspn_c3 (__const char *__s, char __accept1, char __accept2, char __accept3)
{
  register size_t __result = 0;

  while (__s[__result] == __accept1 || __s[__result] == __accept2
         || __s[__result] == __accept3)
    ++__result;
  return __result;
}
# 983 "/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;
}
# 1026 "/usr/include/bits/string2.h" 3
extern __inline size_t
strnlen (__const char *__string, size_t __maxlen)
{
  __const char *__end = (__const char *) memchr (__string, '\0', __maxlen);
  return __end ? (size_t) (__end - __string) : __maxlen;
}
# 1045 "/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;
  if (*__s == '\0')
    __result = ((void *)0);
  else
    {
      __result = __s;
      while (*__s != '\0' && *__s != __sep)
        ++__s;
      if (*__s == '\0')
        *__nextp = __s;
      else
        {
          *__s = '\0';
          *__nextp = __s + 1;
        }
    }
  return __result;
}
# 1095 "/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))
    return *__s = ((void *)0);
  if (*__retval == __reject)
    *(*__s)++ = '\0';
  else
    if ((*__s = (__extension__ (__builtin_constant_p (__reject) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : strchr (__retval, __reject)))) != ((void *)0))
      *(*__s)++ = '\0';
    else
      *__s = ((void *)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))
    return *__s = ((void *)0);
  if (*__retval == __reject1 || *__retval == __reject2)
    *(*__s)++ = '\0';
  else
    {
      register char *__cp = __retval;
      while (*__cp != '\0' && *__cp != __reject1 && *__cp != __reject2)
        ++__cp;
      if (*__cp != '\0')
        {
          *__s = __cp;
          *(*__s)++ = '\0';
        }
      else
        *__s = ((void *)0);
    }
  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))
    return *__s = ((void *)0);
  if (*__retval == __reject1 || *__retval == __reject2
      || *__retval == __reject3)
    *(*__s)++ = '\0';
  else
    {
      register char *__cp = __retval;
      while (*__cp != '\0' && *__cp != __reject1 && *__cp != __reject2
             && *__cp != __reject3)
        ++__cp;
      if (*__cp != '\0')
        {
          *__s = __cp;
          *(*__s)++ = '\0';
        }
      else
        *__s = ((void *)0);
    }
  return __retval;
}

extern __inline char *__strsep_g (char **__s, __const char *__reject);
extern __inline char *
__strsep_g (char **__s, __const char *__reject)
{
  register char *__retval = *__s;
  if (__retval == ((void *)0))
    return ((void *)0);
  if ((*__s = __extension__ ({ char __a0, __a1, __a2; (__builtin_constant_p (__reject) && ((size_t)(const void *)((__reject) + 1) - (size_t)(const void *)(__reject) == 1) ? ((__a0 = ((__const char *) (__reject))[0], __a0 == '\0') ? ((void) (__retval), ((void *)0)) : ((__a1 = ((__const char *) (__reject))[1], __a1 == '\0') ? (__extension__ (__builtin_constant_p (__a0) && (__a0) == '\0' ? (char *) __rawmemchr (__retval, __a0) : strchr (__retval, __a0))) : ((__a2 = ((__const char *) (__reject))[2], __a2 == '\0') ? __strpbrk_c2 (__retval, __a0, __a1) : (((__const char *) (__reject))[3] == '\0' ? __strpbrk_c3 (__retval, __a0, __a1, __a2) : strpbrk (__retval, __reject))))) : strpbrk (__retval, __reject)); })) != ((void *)0))
    *(*__s)++ = '\0';
  return __retval;
}
# 1188 "/usr/include/bits/string2.h" 3
# 1 "/usr/include/stdlib.h" 1 3
# 33 "/usr/include/stdlib.h" 3
# 1 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stddef.h" 1 3
# 34 "/usr/include/stdlib.h" 2 3


# 528 "/usr/include/stdlib.h" 3
extern void *malloc (size_t __size) __attribute__ ((__malloc__));

extern void *calloc (size_t __nmemb, size_t __size)
     __attribute__ ((__malloc__));
# 865 "/usr/include/stdlib.h" 3

# 1189 "/usr/include/bits/string2.h" 2 3




extern char *__strdup (__const char *__string) __attribute__ ((__malloc__));
# 1212 "/usr/include/bits/string2.h" 3
extern char *__strndup (__const char *__string, size_t __n)
     __attribute__ ((__malloc__));
# 360 "/usr/include/string.h" 2 3




# 78 "as.h" 2






# 1 "/usr/include/stdlib.h" 1 3
# 33 "/usr/include/stdlib.h" 3
# 1 "/usr/lib/gcc-lib/i686-redhat-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)
     ;
# 294 "/usr/include/stdlib.h" 3
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);
}
# 385 "/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;
# 126 "/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;
# 127 "/usr/include/sys/types.h" 2 3



typedef __useconds_t useconds_t;



typedef __suseconds_t suseconds_t;





# 1 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stddef.h" 1 3
# 141 "/usr/include/sys/types.h" 2 3



typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
# 184 "/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__)));
# 209 "/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
  {
    long int tv_sec;
    long int tv_nsec;
  };
# 44 "/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;
  };
# 46 "/usr/include/sys/select.h" 2 3



typedef long int __fd_mask;







typedef struct
  {



    __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))];





  } fd_set;






typedef __fd_mask fd_mask;
# 89 "/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) ;



# 210 "/usr/include/sys/types.h" 2 3


# 1 "/usr/include/sys/sysmacros.h" 1 3
# 213 "/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;
# 251 "/usr/include/sys/types.h" 3
typedef __blkcnt64_t blkcnt64_t;
typedef __fsblkcnt64_t fsblkcnt64_t;
typedef __fsfilcnt64_t fsfilcnt64_t;



# 392 "/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) ;
# 537 "/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/i686-redhat-linux/3.2/include/stddef.h" 1 3
# 26 "/usr/include/alloca.h" 2 3







extern void *alloca (size_t __size) ;






# 548 "/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) ;
# 624 "/usr/include/stdlib.h" 3
extern char *mktemp (char *__template) ;







extern int mkstemp (char *__template) ;
# 641 "/usr/include/stdlib.h" 3
extern int mkstemp64 (char *__template) ;
# 651 "/usr/include/stdlib.h" 3
extern char *mkdtemp (char *__template) ;




extern int system (__const char *__command) ;






extern char *canonicalize_file_name (__const char *__name) ;
# 673 "/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__));
# 729 "/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) ;
# 809 "/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 "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/i686-redhat-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

  };


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_MULTIPLE_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,

    _SC_STREAMS,

    _SC_2_PBS_CHECKPOINT

  };





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


  };
# 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 "../include/getopt.h" 1 3
# 36 "../include/getopt.h" 3
extern char *optarg;
# 50 "../include/getopt.h" 3
extern int optind;




extern int opterr;



extern int optopt;
# 82 "../include/getopt.h" 3
struct option
{

  const char *name;





  int has_arg;
  int *flag;
  int val;
};
# 113 "../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 "as.h" 2
# 130 "as.h"
# 1 "../include/ansidecl.h" 1
# 131 "as.h" 2

# 1 "../bfd/bfd.h" 1
# 37 "../bfd/bfd.h"
# 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 *);
# 539 "../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);
# 679 "../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);
# 1001 "../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;
# 1209 "../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;
# 1236 "../bfd/bfd.h"
  bfd_vma vma;




  bfd_vma lma;




  bfd_size_type _cooked_size;




  bfd_size_type _raw_size;
# 1260 "../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;
# 1346 "../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;
# 1367 "../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;
# 1403 "../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,
# 1477 "../bfd/bfd.h"
  bfd_arch_vax,
  bfd_arch_i960,
# 1496 "../bfd/bfd.h"
  bfd_arch_or32,

  bfd_arch_a29k,
  bfd_arch_sparc,
# 1515 "../bfd/bfd.h"
  bfd_arch_mips,
# 1536 "../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,
# 1575 "../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,
# 1602 "../bfd/bfd.h"
  bfd_arch_alpha,



  bfd_arch_arm,
# 1617 "../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;
# 1871 "../bfd/bfd.h"
  boolean partial_inplace;
# 1880 "../bfd/bfd.h"
  bfd_vma src_mask;





  bfd_vma dst_mask;







  boolean pcrel_offset;
};
# 1922 "../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,
# 2139 "../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_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,
# 2921 "../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
{
# 3127 "../bfd/bfd.h"
  struct _bfd *the_bfd;



  const char *name;




  symvalue value;
# 3223 "../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);
# 3256 "../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;
# 3303 "../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;


  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);
# 3623 "../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 index);


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);
# 3673 "../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 *);
# 3780 "../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);
# 3801 "../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 *);
# 3840 "../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 *);
# 3867 "../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);
# 3935 "../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 *);
# 3979 "../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 "as.h" 2

# 1 "../include/libiberty.h" 1
# 46 "../include/libiberty.h"
# 1 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stddef.h" 1 3
# 147 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stddef.h" 3
typedef int ptrdiff_t;
# 47 "../include/libiberty.h" 2

# 1 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stdarg.h" 1 3
# 110 "/usr/lib/gcc-lib/i686-redhat-linux/3.2/include/stdarg.h" 3
typedef __gnuc_va_list va_list;
# 49 "../include/libiberty.h" 2





extern char **buildargv (const char *) __attribute__ ((__malloc__));



extern void freeargv (char **);




extern char **dupargv (char **) __attribute__ ((__malloc__));
# 78 "../include/libiberty.h"
extern char *basename (const char *);







extern const char *lbasename (const char *);





extern char *concat (const char *, ...) __attribute__ ((__malloc__));
# 101 "../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 "../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 "../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 "../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 "../include/libiberty.h"
extern void * C_alloca (size_t) __attribute__ ((__malloc__));
# 135 "as.h" 2


# 1 "../include/progress.h" 1
# 138 "as.h" 2
# 161 "as.h"
extern char **environ;
# 194 "as.h"
# 1 "../include/fopen-same.h" 1
# 195 "as.h" 2
# 212 "as.h"
# 1 "asintl.h" 1
# 24 "asintl.h"
# 1 "/usr/include/locale.h" 1 3
# 29 "/usr/include/locale.h" 3
# 1 "/usr/lib/gcc-lib/i686-redhat-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 "asintl.h" 2



# 1 "/usr/include/libintl.h" 1 3
# 29 "/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)));



extern char *dngettext (__const char *__domainname, __const char *__msgid1,
                        __const char *__msgid2, unsigned long int __n)
     __attribute__ ((__format_arg__ (2)));



extern char *dcngettext (__const char *__domainname, __const char *__msgid1,
                         __const char *__msgid2, unsigned long int __n,
                         int __category)
     __attribute__ ((__format_arg__ (2)));





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/i686-redhat-linux/3.2/include/stddef.h" 1 3
# 94 "/usr/include/libintl.h" 2 3
# 114 "/usr/include/libintl.h" 3

# 29 "asintl.h" 2
# 213 "as.h" 2







# 1 "flonum.h" 1
# 35 "flonum.h"
# 1 "bignum.h" 1
# 41 "bignum.h"
typedef unsigned short LITTLENUM_TYPE;







int bignum_copy (LITTLENUM_TYPE * in, int in_length, LITTLENUM_TYPE * out, int out_length);
# 36 "flonum.h" 2
# 52 "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 "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 "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 "as.h" 2




extern bfd *stdoutput;
typedef bfd_vma addressT;
typedef bfd_signed_vma offsetT;






typedef addressT valueT;
# 296 "as.h"
typedef asection *segT;





typedef int subsegT;


extern subsegT now_subseg;


extern segT now_seg;
# 322 "as.h"
extern segT reg_section, expr_section;

extern segT text_section, data_section, bss_section;
# 339 "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 "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 "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 "expr.h" 1
# 43 "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 "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 "as.h" 2


# 1 "targ-env.h" 1
# 1 "config/te-generic.h" 1
# 19 "config/te-generic.h"
# 1 "obj-format.h" 1
# 1 "config/obj-elf.h" 1
# 40 "config/obj-elf.h"
# 1 "../bfd/elf-bfd.h" 1
# 25 "../bfd/elf-bfd.h"
# 1 "../include/elf/common.h" 1
# 26 "../bfd/elf-bfd.h" 2
# 1 "../include/elf/internal.h" 1
# 44 "../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 "../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 "../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 "../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 "../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 "../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 "../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 "../bfd/elf-bfd.h" 2
# 1 "../include/elf/external.h" 1
# 40 "../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 "../bfd/elf-bfd.h" 2
# 1 "../include/bfdlink.h" 1
# 26 "../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 "../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 "../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 "../include/bfdlink.h"
  boolean allow_shlib_undefined;


  boolean allow_multiple_definition;


  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;
};
# 355 "../include/bfdlink.h"
struct bfd_link_callbacks
{




  boolean (*add_archive_element) (struct bfd_link_info *, bfd *abfd, const char *name);
# 370 "../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);
# 389 "../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);
# 403 "../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);
# 413 "../include/bfdlink.h"
  boolean (*constructor) (struct bfd_link_info *, boolean constructor, const char *name, bfd *abfd, asection *sec, bfd_vma value);
# 424 "../include/bfdlink.h"
  boolean (*warning) (struct bfd_link_info *, const char *warning, const char *symbol, bfd *abfd, asection *section, bfd_vma address);
# 433 "../include/bfdlink.h"
  boolean (*undefined_symbol) (struct bfd_link_info *, const char *name, bfd *abfd, asection *section, bfd_vma address, boolean fatal);
# 445 "../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);
# 457 "../include/bfdlink.h"
  boolean (*reloc_dangerous) (struct bfd_link_info *, const char *message, bfd *abfd, asection *section, bfd_vma address);
# 467 "../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;
};
# 551 "../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 *);
# 585 "../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 *);
};



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 "../bfd/elf-bfd.h" 2
# 60 "../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 "../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 "../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 "../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 "../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 "../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 "../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 "../bfd/elf-bfd.h"
  boolean (*elf_backend_create_dynamic_sections)
    (bfd *abfd, struct bfd_link_info *info);
# 568 "../bfd/elf-bfd.h"
  boolean (*check_relocs)
    (bfd *abfd, struct bfd_link_info *info, asection *o, const Elf_Internal_Rela *relocs);
# 584 "../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 "../bfd/elf-bfd.h"
  boolean (*elf_backend_size_dynamic_sections)
    (bfd *output_bfd, struct bfd_link_info *info);
# 635 "../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 "../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_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 *);



  void (*set_nonloadable_filepos)
    (bfd *, Elf_Internal_Phdr *);



  boolean (*is_contained_by_filepos)
    (asection *, Elf_Internal_Phdr *);




  boolean (*copy_private_bfd_data_p)
    (bfd *, asection *, bfd *, asection *);



  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;
};
# 969 "../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;
# 1078 "../bfd/elf-bfd.h"
  union
    {
      bfd_signed_vma *refcounts;
      bfd_vma *offsets;
    } local_got;



  elf_linker_section_pointers_t **linker_section_pointers;
# 1096 "../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;
};
# 1195 "../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);
# 1240 "../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_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 "config/obj-elf.h" 2

# 1 "targ-cpu.h" 1
# 1 "config/tc-ppc.h" 1
# 26 "config/tc-ppc.h"
struct fix;
# 51 "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 "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 "config/tc-ppc.h"
extern const char *ppc_comment_chars;



extern int ppc_fix_adjustable (struct fix *);
# 275 "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 "config/obj-elf.h" 2
# 62 "config/obj-elf.h"
struct elf_obj_sy
{

  int local;



  expressionS *size;


  char *versioned_name;
# 81 "config/obj-elf.h"
};
# 103 "config/obj-elf.h"
extern void elf_begin (void);
# 126 "config/obj-elf.h"
int elf_s_get_other (symbolS *);
# 135 "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 "config/obj-elf.h"
extern void obj_elf_init_stab_section (segT);
# 223 "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 "config/te-generic.h" 2
# 2 "targ-env.h" 2
# 615 "as.h" 2





# 1 "write.h" 1
# 45 "write.h"
# 1 "bit_fix.h" 1
# 36 "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 "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 "write.h"
  valueT fx_addnumber;



  char *fx_file;
  unsigned fx_line;
# 156 "write.h"
};

typedef struct fix fixS;

extern int finalize_syms;
# 175 "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 "write.h"
extern void write_print_statistics (FILE *);
# 621 "as.h" 2
# 1 "frags.h" 1
# 26 "frags.h"
struct obstack;
# 43 "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 "frags.h"
  char fr_literal[1];
};
# 108 "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 "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 "as.h" 2
# 1 "hash.h" 1
# 24 "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 "as.h" 2
# 1 "read.h" 1
# 23 "read.h"
extern char *input_line_pointer;
# 58 "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 "as.h" 2
# 1 "symbols.h" 1
# 34 "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 "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 "as.h" 2

# 1 "tc.h" 1
# 25 "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 "tc.h"
valueT md_section_align (segT seg, valueT size);



symbolS *md_undefined_symbol (char *name);
# 627 "as.h" 2
# 1 "obj.h" 1
# 24 "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 "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 "as.h" 2




# 1 "listing.h" 1
# 44 "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 "as.h" 2
# 25 "config/tc-ppc.c" 2
# 1 "../include/safe-ctype.h" 1
# 44 "../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 "../include/safe-ctype.h"
extern const unsigned char _sch_toupper[256];
extern const unsigned char _sch_tolower[256];
# 26 "config/tc-ppc.c" 2
# 1 "subsegs.h" 1
# 41 "subsegs.h"
# 1 "../include/obstack.h" 1
# 161 "../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 "../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 "../include/obstack.h"
extern void (*obstack_alloc_failed_handler) (void);





extern int obstack_exit_failure;
# 42 "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 "subsegs.h"
} segment_info_type;



extern segment_info_type *seg_info (segT);
extern symbolS *section_symbol (segT);
# 155 "subsegs.h"
extern void subsegs_print_statistics (FILE *);
# 27 "config/tc-ppc.c" 2

# 1 "../include/opcode/ppc.h" 1
# 27 "../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 "../include/opcode/ppc.h"
struct powerpc_operand
{

  int bits;


  int shift;
# 139 "../include/opcode/ppc.h"
  unsigned long (*insert) (unsigned long instruction, long op, int dialect, const char **errmsg);
# 160 "../include/opcode/ppc.h"
  long (*extract) (unsigned long instruction, int dialect, int *invalid);



  unsigned long flags;
};




extern const struct powerpc_operand powerpc_operands[];
# 257 "../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 "config/tc-ppc.c" 2


# 1 "../include/elf/ppc.h" 1
# 30 "../include/elf/ppc.h"
# 1 "../include/elf/reloc-macros.h" 1
# 31 "../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 "config/tc-ppc.c" 2
# 1 "dwarf2dbg.h" 1
# 29 "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 "config/tc-ppc.c" 2
# 42 "config/tc-ppc.c"
extern int target_big_endian;


static int set_target_endian = 0;
# 86 "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 "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 "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 "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 "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 "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 "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 "config/tc-ppc.c"
static boolean msolaris = false;
# 789 "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); r!
egister 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"); re!
gister 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 unsign!
ed 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)(con!
st 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 __re!
sult = __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 *) (ar!
g))[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 *) (__c!
onst 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 unsigne!
d 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 *) (ar!
g); 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 *) (ar!
g); 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 *) (ar!
g); 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 *) (ar!
g); 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_con!
stant_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 cha!
r *) (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 cha!
r *) (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 cha!
r *) (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 unsig!
ned 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; })) : (__extensi!
on__ ({ __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 *) (__con!
st 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 = (__c!
onst 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 unsig!
ned 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]); } } __re!
sult; }))) : 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 un!
signed 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 *) (__con!
st 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 = (__c!
onst 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_l!
en < __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 && __resul!
t == 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 unsig!
ned 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; })) : (__extensi!
on__ ({ __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]); } } __res!
ult; }))) : (__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 unsig!
ned 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 *) (ar!
g); 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 *) (ar!
g); 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 = (((__co!
nst 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]); } } __res!
ult; })) : (__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 un!
signed 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 un!
signed 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 *) (ar!
g); 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]); } } __res!
ult; }))) : (__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 unsig!
ned 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 (__s!
1_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 *) (ar!
g); 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-endia!
n"))[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 (__s!
2_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 unsig!
ned 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; })) : (__extensi!
on__ ({ __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 *) (__co!
nst 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 "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 "config/tc-ppc.c"
}



static void
ppc_set_cpu ()
{
  const char *default_os = "vxworks";
  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) ? (__ex!
tension__ ({ 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 *) (de!
fault_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 ch!
ar *) (__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 && __re!
sult == 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 && __re!
sult == 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 "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 & ((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 ("config/tc-ppc.c", 1213, __PRETTY_FUNCTION__);



  if (!set_target_endian)
    {
      set_target_endian = 1;
      target_big_endian = 1;
    }
# 1241 "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) { __res!
ult = (((__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__ ({ re!
gister 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 = (((__cons!
t 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 *) (".g!
cc_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 *) (__con!
st 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; }))) : s!
trcmp (((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);
}
# 1844 "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;
# 1910 "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;



          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;
                }
            }




          if (opcount < strlen (opcode->operands))
            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;
# 2111 "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);
# 2339 "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 ("config/tc-ppc.c", 2353, __PRETTY_FUNCTION__);

          size = bfd_get_reloc_size (reloc_howto);
          offset = target_big_endian ? (4 - size) : 0;

          if (size < 1 || size > 4)
            as_abort ("config/tc-ppc.c", 2359, __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);
          (__extension__ (__builtin_constant_p (operands[arg]) ? (((size_t)(const void *)((operands[arg]) + 1) - (size_t)(const void *)(operands[arg]) == 1) && strlen (operands[arg]) + 1 <= 8 ? __strcpy_small (s, __extension__ (((__const unsigned char *) (__const char *) (operands[arg]))[0 + 1] << 8 | ((__const unsigned char *) (__const char *) (operands[arg]))[0]), __extension__ (((__const unsigned char *) (__const char *) (operands[arg]))[4 + 1] << 8 | ((__const unsigned char *) (__const char *) (operands[arg]))[4]), __extension__ (((((__const unsigned char *) (__const char *) (operands[arg]))[0 + 3] << 8 | ((__const unsigned char *) (__const char *) (operands[arg]))[0 + 2]) << 8 | ((__const unsigned char *) (__const char *) (operands[arg]))[0 + 1]) << 8 | ((__const unsigned char *) (__const char *) (operands[arg]))[0]), __extension__ (((((__const unsigned char *) (__const char *) (operands[arg]))[4 + 3] << 8 | ((__const unsigned char *) (__const char *) (operands[arg]))[4!
 + 2]) << 8 | ((__const unsigned char *) (__const char *) (operands[arg]))[4 + 1]) << 8 | ((__const unsigned char *) (__const char *) (operands[arg]))[4]), strlen (operands[arg]) + 1) : (char *) memcpy (s, operands[arg], strlen (operands[arg]) + 1)) : 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 __r!
esult = (((__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 __r!
esult = (((__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;
}
# 2539 "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 ();
}
# 3595 "config/tc-ppc.c"
static void
ppc_tc (ignore)
     int ignore __attribute__ ((__unused__));
{
# 3655 "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);
    }
}
# 3688 "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 uns!
igned 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 uns!
igned 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;

}
# 4796 "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 ("config/tc-ppc.c", 4882, __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 ("config/tc-ppc.c", 4894, __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;
}
# 5074 "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)));
}
# 5104 "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;
# 5165 "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];
# 5198 "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 ("config/tc-ppc.c", 5214, __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 ("config/tc-ppc.c", 5357, __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 ("config/tc-ppc.c", 5364, __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 ("config/tc-ppc.c", 5372, __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 ("config/tc-ppc.c", 5379, __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 ("config/tc-ppc.c", 5386, __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 ("config/tc-ppc.c", 5393, __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 ("config/tc-ppc.c", 5410, __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 ("config/tc-ppc.c", 5431, __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 ("config/tc-ppc.c", 5440, __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 ("config/tc-ppc.c", 5449, __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 ("config/tc-ppc.c", 5502, __PRETTY_FUNCTION__);
        }
    }


  fixP->fx_addnumber = value;
# 5523 "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;
}
>Fix:
	Compile without -O2.
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Gcc-prs mailing list