* Another reload problem/bug on powerpc-apple-darwin6.6
@ 2003-09-08 1:07 Andrew Pinski
2003-09-09 1:16 ` Jim Wilson
0 siblings, 1 reply; 2+ messages in thread
From: Andrew Pinski @ 2003-09-08 1:07 UTC (permalink / raw)
To: gcc; +Cc: Andrew Pinski, apinski, Geoff Keating
[-- Attachment #1: Type: text/plain, Size: 397 bytes --]
Here is another reload problem on powerpc-apple-darwin6.6 at -O2 (after
unit-at-a-time was turned on at -O2), this is the source of
libiberty/regex.c.
The problem is reload wants to put the external symbol
_CurrentRuneLocale
in a constant label, LC29, but on Darwin this not allowed with shared
libraries.
I cannot figure out how to fix this one.
Thanks,
Andrew Pinski
Preprocessed source:
[-- Attachment #2: temp.i --]
[-- Type: application/octet-stream, Size: 134706 bytes --]
# 1 "../../libiberty/regex.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "../../libiberty/regex.c"
# 53 "../../libiberty/regex.c"
# 1 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 1 3 4
# 75 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 3 4
# 1 "/usr/include/sys/appleapiopts.h" 1 3 4
# 76 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 2 3 4
# 1 "/usr/include/sys/cdefs.h" 1 3 4
# 79 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 2 3 4
# 1 "/usr/include/machine/types.h" 1 3 4
# 30 "/usr/include/machine/types.h" 3 4
# 1 "/usr/include/ppc/types.h" 1 3 4
# 69 "/usr/include/ppc/types.h" 3 4
typedef signed char int8_t;
typedef unsigned char u_int8_t;
typedef short int16_t;
typedef unsigned short u_int16_t;
typedef int int32_t;
typedef unsigned int u_int32_t;
typedef long long int64_t;
typedef unsigned long long u_int64_t;
typedef int32_t register_t;
typedef long int intptr_t;
typedef unsigned long int uintptr_t;
# 31 "/usr/include/machine/types.h" 2 3 4
# 82 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 2 3 4
# 1 "/usr/include/machine/ansi.h" 1 3 4
# 33 "/usr/include/machine/ansi.h" 3 4
# 1 "/usr/include/ppc/ansi.h" 1 3 4
# 92 "/usr/include/ppc/ansi.h" 3 4
typedef union {
char __mbstate8[128];
long long _mbstateL;
} __mbstate_t;
# 34 "/usr/include/machine/ansi.h" 2 3 4
# 84 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 2 3 4
# 1 "/usr/include/machine/endian.h" 1 3 4
# 30 "/usr/include/machine/endian.h" 3 4
# 1 "/usr/include/ppc/endian.h" 1 3 4
# 81 "/usr/include/ppc/endian.h" 3 4
unsigned long htonl (unsigned long);
unsigned short htons (unsigned short);
unsigned long ntohl (unsigned long);
unsigned short ntohs (unsigned short);
# 31 "/usr/include/machine/endian.h" 2 3 4
# 85 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 2 3 4
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
typedef unsigned short ushort;
typedef unsigned int uint;
typedef u_int64_t u_quad_t;
typedef int64_t quad_t;
typedef quad_t * qaddr_t;
typedef char * caddr_t;
typedef int32_t daddr_t;
typedef int32_t dev_t;
typedef u_int32_t fixpt_t;
typedef u_int32_t gid_t;
typedef u_int32_t in_addr_t;
typedef u_int16_t in_port_t;
typedef u_int32_t ino_t;
typedef long key_t;
typedef u_int16_t mode_t;
typedef u_int16_t nlink_t;
typedef quad_t off_t;
typedef int32_t pid_t;
typedef quad_t rlim_t;
typedef int32_t segsz_t;
typedef int32_t swblk_t;
typedef u_int32_t uid_t;
# 126 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 3 4
typedef unsigned long clock_t;
typedef long unsigned int size_t;
typedef int ssize_t;
typedef long time_t;
# 159 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 3 4
typedef int32_t fd_mask;
typedef struct fd_set {
fd_mask fds_bits[(((1024) + (((sizeof(fd_mask) * 8)) - 1)) / ((sizeof(fd_mask) * 8)))];
} fd_set;
# 195 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 3 4
struct _pthread_handler_rec
{
void (*routine)(void *);
void *arg;
struct _pthread_handler_rec *next;
};
# 215 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/sys/types.h" 3 4
typedef struct _opaque_pthread_t { long sig; struct _pthread_handler_rec *cleanup_stack; char opaque[596];} *pthread_t;
typedef struct _opaque_pthread_attr_t { long sig; char opaque[36]; } pthread_attr_t;
typedef struct _opaque_pthread_mutexattr_t { long sig; char opaque[8]; } pthread_mutexattr_t;
typedef struct _opaque_pthread_mutex_t { long sig; char opaque[40]; } pthread_mutex_t;
typedef struct _opaque_pthread_condattr_t { long sig; char opaque[4]; } pthread_condattr_t;
typedef struct _opaque_pthread_cond_t { long sig; char opaque[24]; } pthread_cond_t;
typedef struct _opaque_pthread_rwlockattr_t { long sig; char opaque[12]; } pthread_rwlockattr_t;
typedef struct _opaque_pthread_rwlock_t { long sig; char opaque[124]; } pthread_rwlock_t;
typedef struct { long sig; char opaque[4]; } pthread_once_t;
typedef unsigned long pthread_key_t;
# 54 "../../libiberty/regex.c" 2
# 132 "../../libiberty/regex.c"
char *malloc ();
char *realloc ();
# 160 "../../libiberty/regex.c"
# 1 "/usr/include/strings.h" 1 3 4
# 57 "/usr/include/strings.h" 3 4
# 1 "/usr/include/string.h" 1 3 4
# 72 "/usr/include/string.h" 3 4
void *memchr (const void *, int, size_t);
int memcmp (const void *, const void *, size_t);
void *memcpy (void *, const void *, size_t);
void *memmove (void *, const void *, size_t);
void *memset (void *, int, size_t);
char *strcat (char *, const char *);
char *strchr (const char *, int);
int strcmp (const char *, const char *);
int strcoll (const char *, const char *);
char *strcpy (char *, const char *);
size_t strcspn (const char *, const char *);
char *strerror (int);
size_t strlen (const char *);
char *strncat (char *, const char *, size_t);
int strncmp (const char *, const char *, size_t);
char *strncpy (char *, const char *, size_t);
char *strpbrk (const char *, const char *);
char *strrchr (const char *, int);
size_t strspn (const char *, const char *);
char *strstr (const char *, const char *);
char *strtok (char *, const char *);
size_t strxfrm (char *, const char *, size_t);
int bcmp (const void *, const void *, size_t);
void bcopy (const void *, void *, size_t);
void bzero (void *, size_t);
int ffs (int);
char *index (const char *, int);
void *memccpy (void *, const void *, int, size_t);
char *rindex (const char *, int);
int strcasecmp (const char *, const char *);
char *strdup (const char *);
size_t strlcat (char *, const char *, size_t);
size_t strlcpy (char *, const char *, size_t);
void strmode (int, char *);
int strncasecmp (const char *, const char *, size_t);
char *strsep (char **, const char *);
char *strtok_r (char *, const char *, char **);
void swab (const void *, void *, size_t);
# 58 "/usr/include/strings.h" 2 3 4
# 161 "../../libiberty/regex.c" 2
# 195 "../../libiberty/regex.c"
# 1 "../../include/xregex.h" 1
# 26 "../../include/xregex.h"
# 1 "../../include/xregex2.h" 1
# 43 "../../include/xregex2.h"
typedef long int s_reg_t;
typedef unsigned long int active_reg_t;
typedef unsigned long int reg_syntax_t;
# 171 "../../include/xregex2.h"
extern reg_syntax_t xre_syntax_options;
# 288 "../../include/xregex2.h"
typedef enum
{
REG_NOERROR = 0,
REG_NOMATCH,
REG_BADPAT,
REG_ECOLLATE,
REG_ECTYPE,
REG_EESCAPE,
REG_ESUBREG,
REG_EBRACK,
REG_EPAREN,
REG_EBRACE,
REG_BADBR,
REG_ERANGE,
REG_ESPACE,
REG_BADRPT,
REG_EEND,
REG_ESIZE,
REG_ERPAREN
} reg_errcode_t;
# 328 "../../include/xregex2.h"
struct re_pattern_buffer
{
unsigned char *buffer;
unsigned long int allocated;
unsigned long int used;
reg_syntax_t syntax;
char *fastmap;
char * translate;
size_t re_nsub;
unsigned can_be_null : 1;
# 373 "../../include/xregex2.h"
unsigned regs_allocated : 2;
unsigned fastmap_accurate : 1;
unsigned no_sub : 1;
unsigned not_bol : 1;
unsigned not_eol : 1;
unsigned newline_anchor : 1;
};
typedef struct re_pattern_buffer regex_t;
typedef int regoff_t;
struct re_registers
{
unsigned num_regs;
regoff_t *start;
regoff_t *end;
};
# 423 "../../include/xregex2.h"
typedef struct
{
regoff_t rm_so;
regoff_t rm_eo;
} regmatch_t;
# 449 "../../include/xregex2.h"
extern reg_syntax_t xre_set_syntax (reg_syntax_t syntax);
extern const char *xre_compile_pattern
(const char *pattern, size_t length, struct re_pattern_buffer *buffer);
extern int xre_compile_fastmap (struct re_pattern_buffer *buffer);
extern int xre_search
(struct re_pattern_buffer *buffer, const char *string, int length, int start, int range, struct re_registers *regs);
extern int xre_search_2
(struct re_pattern_buffer *buffer, const char *string1, int length1, const char *string2, int length2, int start, int range, struct re_registers *regs, int stop);
extern int xre_match
(struct re_pattern_buffer *buffer, const char *string, int length, int start, struct re_registers *regs);
extern int xre_match_2
(struct re_pattern_buffer *buffer, const char *string1, int length1, const char *string2, int length2, int start, struct re_registers *regs, int stop);
# 509 "../../include/xregex2.h"
extern void xre_set_registers
(struct re_pattern_buffer *buffer, struct re_registers *regs, unsigned num_regs, regoff_t *starts, regoff_t *ends);
extern char *xre_comp (const char *);
extern int xre_exec (const char *);
# 544 "../../include/xregex2.h"
extern int xregcomp
(regex_t *__restrict __preg, const char *__restrict __pattern, int __cflags);
extern int xregexec
(const regex_t *__restrict __preg, const char *__restrict __string, size_t __nmatch, regmatch_t __pmatch[__restrict], int __eflags);
extern size_t xregerror
(int __errcode, const regex_t *__preg, char *__errbuf, size_t __errbuf_size);
extern void xregfree (regex_t *__preg);
# 27 "../../include/xregex.h" 2
# 196 "../../libiberty/regex.c" 2
# 1 "/usr/include/ctype.h" 1 3 4
# 68 "/usr/include/ctype.h" 3 4
# 1 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/runetype.h" 1 3 4
# 56 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/runetype.h" 3 4
typedef int rune_t;
# 67 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/runetype.h" 3 4
typedef int wchar_t;
# 77 "/Volumes/UFS_Partition/pinskia/fsf-checkin/lib/gcc/powerpc-apple-darwin6.6/3.4/include/runetype.h" 3 4
typedef struct {
rune_t min;
rune_t max;
rune_t map;
unsigned long *types;
} _RuneEntry;
typedef struct {
int nranges;
_RuneEntry *ranges;
} _RuneRange;
typedef struct {
char magic[8];
char encoding[32];
rune_t (*sgetrune)
(const char *, size_t, char const **);
int (*sputrune)
(rune_t, char *, size_t, char **);
rune_t invalid_rune;
unsigned long runetype[(1 <<8 )];
rune_t maplower[(1 <<8 )];
rune_t mapupper[(1 <<8 )];
_RuneRange runetype_ext;
_RuneRange maplower_ext;
_RuneRange mapupper_ext;
void *variable;
int variable_len;
} _RuneLocale;
extern _RuneLocale _DefaultRuneLocale;
extern _RuneLocale *_CurrentRuneLocale;
# 69 "/usr/include/ctype.h" 2 3 4
# 100 "/usr/include/ctype.h" 3 4
int isalnum (int);
int isalpha (int);
int iscntrl (int);
int isdigit (int);
int isgraph (int);
int islower (int);
int isprint (int);
int ispunct (int);
int isspace (int);
int isupper (int);
int isxdigit (int);
int tolower (int);
int toupper (int);
int digittoint (int);
int isascii (int);
int isblank (int);
int ishexnumber (int);
int isideogram (int);
int isnumber (int);
int isphonogram (int);
int isrune (int);
int isspecial (int);
int toascii (int);
# 158 "/usr/include/ctype.h" 3 4
unsigned long ___runetype (int);
int ___tolower (int);
int ___toupper (int);
# 180 "/usr/include/ctype.h" 3 4
static __inline int
__maskrune(int _c, unsigned long _f)
{
return ((_c < 0 || _c >= (1 <<8 )) ? ___runetype(_c) :
_CurrentRuneLocale->runetype[_c]) & _f;
}
static __inline int
__istype(int c, unsigned long f)
{
return !!(__maskrune(c, f));
}
static __inline int
__isctype(int _c, unsigned long _f)
{
return (_c < 0 || _c >= (1 <<8 )) ? 0 :
!!(_DefaultRuneLocale.runetype[_c] & _f);
}
static __inline int
__toupper(int _c)
{
return (_c < 0 || _c >= (1 <<8 )) ? ___toupper(_c) :
_CurrentRuneLocale->mapupper[_c];
}
static __inline int
__tolower(int _c)
{
return (_c < 0 || _c >= (1 <<8 )) ? ___tolower(_c) :
_CurrentRuneLocale->maplower[_c];
}
# 199 "../../libiberty/regex.c" 2
# 274 "../../libiberty/regex.c"
static char re_syntax_table[256];
static void init_syntax_once (void);
static void
init_syntax_once ()
{
register int c;
static int done = 0;
if (done)
return;
bzero (re_syntax_table, sizeof re_syntax_table);
for (c = 0; c < 256; ++c)
if ((((c & ~0x7F) == 0) && __istype((c), (0x00000100L|0x00000400L))))
re_syntax_table[c] = 1;
re_syntax_table['_'] = 1;
done = 1;
}
# 305 "../../libiberty/regex.c"
typedef unsigned long int uintptr_t;
# 406 "../../libiberty/regex.c"
typedef char boolean;
static reg_errcode_t byte_regex_compile
(const char *pattern, size_t size, reg_syntax_t syntax, struct re_pattern_buffer *bufp);
static int byte_re_match_2_internal
(struct re_pattern_buffer *bufp, const char *string1, int size1, const char *string2, int size2, int pos, struct re_registers *regs, int stop);
static int byte_re_search_2
(struct re_pattern_buffer *bufp, const char *string1, int size1, const char *string2, int size2, int startpos, int range, struct re_registers *regs, int stop);
static int byte_re_compile_fastmap (struct re_pattern_buffer *bufp);
# 455 "../../libiberty/regex.c"
typedef enum
{
no_op = 0,
succeed,
exactn,
anychar,
# 486 "../../libiberty/regex.c"
charset,
charset_not,
# 499 "../../libiberty/regex.c"
start_memory,
# 508 "../../libiberty/regex.c"
stop_memory,
duplicate,
begline,
endline,
begbuf,
endbuf,
jump,
jump_past_alt,
on_failure_jump,
on_failure_keep_string_jump,
pop_failure_jump,
# 555 "../../libiberty/regex.c"
maybe_pop_jump,
dummy_failure_jump,
push_dummy_failure,
succeed_n,
jump_n,
set_number_at,
wordchar,
notwordchar,
wordbeg,
wordend,
wordbound,
notwordbound
# 606 "../../libiberty/regex.c"
} re_opcode_t;
# 649 "../../libiberty/regex.c"
# 1 "../../libiberty/regex.c" 1
# 1489 "../../libiberty/regex.c"
int xre_max_failures = 4000;
union byte_fail_stack_elt
{
unsigned char *pointer;
int integer;
};
typedef union byte_fail_stack_elt byte_fail_stack_elt_t;
typedef struct
{
byte_fail_stack_elt_t *stack;
unsigned size;
unsigned avail;
} byte_fail_stack_type;
# 1824 "../../libiberty/regex.c"
typedef union
{
byte_fail_stack_elt_t word;
struct
{
unsigned match_null_string_p : 2;
unsigned is_active : 1;
unsigned matched_something : 1;
unsigned ever_matched_something : 1;
} bits;
} byte_register_info_type;
# 1868 "../../libiberty/regex.c"
static char byte_reg_unset_dummy;
static void byte_store_op1 (re_opcode_t op, unsigned char *loc, int arg);
static void byte_store_op2
(re_opcode_t op, unsigned char *loc, int arg1, int arg2);
static void byte_insert_op1
(re_opcode_t op, unsigned char *loc, int arg, unsigned char *end);
static void byte_insert_op2
(re_opcode_t op, unsigned char *loc, int arg1, int arg2, unsigned char *end);
static boolean byte_at_begline_loc_p
(const char *pattern, const char *p, reg_syntax_t syntax);
static boolean byte_at_endline_loc_p
(const char *p, const char *pend, reg_syntax_t syntax);
# 1896 "../../libiberty/regex.c"
static reg_errcode_t byte_compile_range
(unsigned int range_start, const char **p_ptr, const char *pend, char *translate, reg_syntax_t syntax, unsigned char *b);
# 2137 "../../libiberty/regex.c"
typedef unsigned regnum_t;
typedef long pattern_offset_t;
typedef struct
{
pattern_offset_t begalt_offset;
pattern_offset_t fixup_alt_jump;
pattern_offset_t inner_group_offset;
pattern_offset_t laststart_offset;
regnum_t regnum;
} compile_stack_elt_t;
typedef struct
{
compile_stack_elt_t *stack;
unsigned size;
unsigned avail;
} compile_stack_type;
# 2281 "../../libiberty/regex.c"
static boolean group_in_compile_stack
(compile_stack_type compile_stack, regnum_t regnum);
# 2313 "../../libiberty/regex.c"
static reg_errcode_t
byte_regex_compile (pattern, size, syntax, bufp)
const char *pattern;
size_t size;
reg_syntax_t syntax;
struct re_pattern_buffer *bufp;
{
register unsigned char c, c1;
# 2338 "../../libiberty/regex.c"
const char *p1;
register unsigned char *b;
compile_stack_type compile_stack;
const char *p = pattern;
const char *pend = pattern + size;
char * translate = bufp->translate;
unsigned char *pending_exact = 0;
unsigned char *laststart = 0;
unsigned char *begalt;
unsigned char *fixup_alt_jump = 0;
regnum_t regnum = 0;
# 2419 "../../libiberty/regex.c"
compile_stack.stack = ((compile_stack_elt_t *) malloc ((32) * sizeof (compile_stack_elt_t)));
if (compile_stack.stack == 0)
{
return REG_ESPACE;
}
compile_stack.size = 32;
compile_stack.avail = 0;
bufp->syntax = syntax;
bufp->fastmap_accurate = 0;
bufp->not_bol = bufp->not_eol = 0;
bufp->used = 0;
bufp->re_nsub = 0;
init_syntax_once ();
if (bufp->allocated == 0)
{
if (bufp->buffer)
{
# 2464 "../../libiberty/regex.c"
((bufp->buffer) = (unsigned char *) realloc (bufp->buffer, ((32 * sizeof(unsigned char))) * sizeof (unsigned char)));
}
else
{
bufp->buffer =
((unsigned char *) malloc (((32 * sizeof(unsigned char)) / sizeof(unsigned char)) * sizeof (unsigned char)));
}
if (!bufp->buffer) return (free (compile_stack.stack), REG_ESPACE);
bufp->allocated = (32 * sizeof(unsigned char));
}
begalt = b = bufp->buffer;
while (p != pend)
{
do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);
switch (c)
{
case '^':
{
if (
p == pattern + 1
|| syntax & (((((unsigned long int) 1) << 1) << 1) << 1)
|| byte_at_begline_loc_p (pattern, p, syntax))
do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (begline); } while (0);
else
goto normal_char;
}
break;
case '$':
{
if (
p == pend
|| syntax & (((((unsigned long int) 1) << 1) << 1) << 1)
|| byte_at_endline_loc_p (p, pend, syntax))
do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (endline); } while (0);
else
goto normal_char;
}
break;
case '+':
case '?':
if ((syntax & (((unsigned long int) 1) << 1))
|| (syntax & ((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1)))
goto normal_char;
handle_plus:
case '*':
if (!laststart)
{
if (syntax & (((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1))
return (free (compile_stack.stack), REG_BADRPT);
else if (!(syntax & ((((((unsigned long int) 1) << 1) << 1) << 1) << 1)))
goto normal_char;
}
{
boolean keep_string_p = 0;
char zero_times_ok = 0, many_times_ok = 0;
for (;;)
{
zero_times_ok |= c != '+';
many_times_ok |= c != '?';
if (p == pend)
break;
do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);
if (c == '*'
|| (!(syntax & (((unsigned long int) 1) << 1)) && (c == '+' || c == '?')))
;
else if (syntax & (((unsigned long int) 1) << 1) && c == '\\')
{
if (p == pend) return (free (compile_stack.stack), REG_EESCAPE);
do {if (p == pend) return REG_EEND; c1 = (unsigned char) *p++; if (translate) c1 = (unsigned char) translate[c1]; } while (0);
if (!(c1 == '+' || c1 == '?'))
{
p--;
p--;
break;
}
c = c1;
}
else
{
p--;
break;
}
}
if (!laststart)
break;
if (many_times_ok)
{
# 2606 "../../libiberty/regex.c"
;
while ((unsigned long) (b - bufp->buffer + (1 + 2)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0);
if ((translate ? (char) translate[(unsigned char) (*(p - 2))] : (*(p - 2))) == (translate ? (char) translate[(unsigned char) ('.')] : ('.'))
&& zero_times_ok
&& p < pend && (translate ? (char) translate[(unsigned char) (*p)] : (*p)) == (translate ? (char) translate[(unsigned char) ('\n')] : ('\n'))
&& !(syntax & ((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1)))
{
byte_store_op1 (jump, b, (int) ((laststart) - (b) - (1 + 2)));
keep_string_p = 1;
}
else
byte_store_op1 (maybe_pop_jump, b, (int) ((laststart - (1 + 2)) - (b) - (1 + 2)));
b += 1 + 2;
}
while ((unsigned long) (b - bufp->buffer + (1 + 2)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0);
byte_insert_op1 (keep_string_p ? on_failure_keep_string_jump : on_failure_jump, laststart, (int) ((b + 1 + 2) - (laststart) - (1 + 2)), b);
pending_exact = 0;
b += 1 + 2;
if (!zero_times_ok)
{
while ((unsigned long) (b - bufp->buffer + (1 + 2)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0);
byte_insert_op1 (dummy_failure_jump, laststart, (int) ((laststart + 2 + 2 * 2) - (laststart) - (1 + 2)), b);
b += 1 + 2;
}
}
break;
case '.':
laststart = b;
do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (anychar); } while (0);
break;
case '[':
{
boolean had_char_class = 0;
unsigned int range_start = 0xffffffff;
if (p == pend) return (free (compile_stack.stack), REG_EBRACK);
# 3141 "../../libiberty/regex.c"
while ((unsigned long) (b - bufp->buffer + (34)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0);
laststart = b;
do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (*p == '^' ? charset_not : charset); } while (0);
if (*p == '^')
p++;
p1 = p;
do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) ((1 << 8) / 8); } while (0);
bzero (b, (1 << 8) / 8);
if ((re_opcode_t) b[-2] == charset_not
&& (syntax & ((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1)))
(b[((unsigned char) ('\n')) / 8] |= 1 << (((unsigned char) '\n') % 8));
for (;;)
{
if (p == pend) return (free (compile_stack.stack), REG_EBRACK);
do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);
if ((syntax & ((unsigned long int) 1)) && c == '\\')
{
if (p == pend) return (free (compile_stack.stack), REG_EESCAPE);
do {if (p == pend) return REG_EEND; c1 = (unsigned char) *p++; if (translate) c1 = (unsigned char) translate[c1]; } while (0);
(b[((unsigned char) (c1)) / 8] |= 1 << (((unsigned char) c1) % 8));
range_start = c1;
continue;
}
if (c == ']' && p != p1 + 1)
break;
if (had_char_class && c == '-' && *p != ']')
return (free (compile_stack.stack), REG_ERANGE);
if (c == '-'
&& !(p - 2 >= pattern && p[-2] == '[')
&& !(p - 3 >= pattern && p[-3] == '[' && p[-2] == '^')
&& *p != ']')
{
reg_errcode_t ret
= byte_compile_range (range_start, &p, pend, translate,
syntax, b);
if (ret != REG_NOERROR) return (free (compile_stack.stack), ret);
range_start = 0xffffffff;
}
else if (p[0] == '-' && p[1] != ']')
{
reg_errcode_t ret;
do {if (p == pend) return REG_EEND; c1 = (unsigned char) *p++; if (translate) c1 = (unsigned char) translate[c1]; } while (0);
ret = byte_compile_range (c, &p, pend, translate, syntax, b);
if (ret != REG_NOERROR) return (free (compile_stack.stack), ret);
range_start = 0xffffffff;
}
else if (syntax & ((((unsigned long int) 1) << 1) << 1) && c == '[' && *p == ':')
{
char str[6 + 1];
do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);
c1 = 0;
if (p == pend) return (free (compile_stack.stack), REG_EBRACK);
for (;;)
{
do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);
if ((c == ':' && *p == ']') || p == pend)
break;
if (c1 < 6)
str[c1++] = c;
else
str[0] = '\0';
}
str[c1] = '\0';
if (c == ':' && *p == ']')
{
# 3286 "../../libiberty/regex.c"
int ch;
boolean is_alnum = ((strcmp (str, "alnum") == 0));
boolean is_alpha = ((strcmp (str, "alpha") == 0));
boolean is_blank = ((strcmp (str, "blank") == 0));
boolean is_cntrl = ((strcmp (str, "cntrl") == 0));
boolean is_digit = ((strcmp (str, "digit") == 0));
boolean is_graph = ((strcmp (str, "graph") == 0));
boolean is_lower = ((strcmp (str, "lower") == 0));
boolean is_print = ((strcmp (str, "print") == 0));
boolean is_punct = ((strcmp (str, "punct") == 0));
boolean is_space = ((strcmp (str, "space") == 0));
boolean is_upper = ((strcmp (str, "upper") == 0));
boolean is_xdigit = ((strcmp (str, "xdigit") == 0));
if (!(((strcmp (str, "alpha") == 0)) || ((strcmp (str, "upper") == 0)) || ((strcmp (str, "lower") == 0)) || ((strcmp (str, "digit") == 0)) || ((strcmp (str, "alnum") == 0)) || ((strcmp (str, "xdigit") == 0)) || ((strcmp (str, "space") == 0)) || ((strcmp (str, "print") == 0)) || ((strcmp (str, "punct") == 0)) || ((strcmp (str, "graph") == 0)) || ((strcmp (str, "cntrl") == 0)) || ((strcmp (str, "blank") == 0))))
return (free (compile_stack.stack), REG_ECTYPE);
do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);
if (p == pend) return (free (compile_stack.stack), REG_EBRACK);
for (ch = 0; ch < 1 << 8; ch++)
{
if ( (is_alnum && (((ch & ~0x7F) == 0) && __istype((ch), (0x00000100L|0x00000400L))))
|| (is_alpha && (((ch & ~0x7F) == 0) && __istype((ch), 0x00000100L)))
|| (is_blank && (((ch & ~0x7F) == 0) && __istype((ch), 0x00020000L)))
|| (is_cntrl && (((ch & ~0x7F) == 0) && __istype((ch), 0x00000200L))))
(b[((unsigned char) (ch)) / 8] |= 1 << (((unsigned char) ch) % 8));
if ( (is_digit && (((ch & ~0x7F) == 0) && __isctype((ch), 0x00000400L)))
|| (is_graph && (((ch & ~0x7F) == 0) && __istype((ch), 0x00000800L)))
|| (is_lower && (((ch & ~0x7F) == 0) && __istype((ch), 0x00001000L)))
|| (is_print && (((ch & ~0x7F) == 0) && __istype((ch), 0x00040000L))))
(b[((unsigned char) (ch)) / 8] |= 1 << (((unsigned char) ch) % 8));
if ( (is_punct && (((ch & ~0x7F) == 0) && __istype((ch), 0x00002000L)))
|| (is_space && (((ch & ~0x7F) == 0) && __istype((ch), 0x00004000L)))
|| (is_upper && (((ch & ~0x7F) == 0) && __istype((ch), 0x00008000L)))
|| (is_xdigit && (((ch & ~0x7F) == 0) && __isctype((ch), 0x00010000L))))
(b[((unsigned char) (ch)) / 8] |= 1 << (((unsigned char) ch) % 8));
if ( translate && (is_upper || is_lower)
&& ((((ch & ~0x7F) == 0) && __istype((ch), 0x00008000L)) || (((ch & ~0x7F) == 0) && __istype((ch), 0x00001000L))))
(b[((unsigned char) (ch)) / 8] |= 1 << (((unsigned char) ch) % 8));
}
had_char_class = 1;
}
else
{
c1++;
while (c1--)
p--;
(b[((unsigned char) ('[')) / 8] |= 1 << (((unsigned char) '[') % 8));
(b[((unsigned char) (':')) / 8] |= 1 << (((unsigned char) ':') % 8));
range_start = ':';
had_char_class = 0;
}
}
else if (syntax & ((((unsigned long int) 1) << 1) << 1) && c == '[' && *p == '=')
{
unsigned char str[1 + 1];
do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);
c1 = 0;
if (p == pend) return (free (compile_stack.stack), REG_EBRACK);
for (;;)
{
do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);
if ((c == '=' && *p == ']') || p == pend)
break;
if (c1 < 1)
str[c1++] = c;
else
str[0] = '\0';
}
str[c1] = '\0';
if (c == '=' && *p == ']' && str[0] != '\0')
{
# 3384 "../../libiberty/regex.c"
{
if (c1 != 1)
return (free (compile_stack.stack), REG_ECOLLATE);
do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);
(b[((unsigned char) (str[0])) / 8] |= 1 << (((unsigned char) str[0]) % 8));
}
# 3467 "../../libiberty/regex.c"
had_char_class = 1;
}
else
{
c1++;
while (c1--)
p--;
(b[((unsigned char) ('[')) / 8] |= 1 << (((unsigned char) '[') % 8));
(b[((unsigned char) ('=')) / 8] |= 1 << (((unsigned char) '=') % 8));
range_start = '=';
had_char_class = 0;
}
}
else if (syntax & ((((unsigned long int) 1) << 1) << 1) && c == '[' && *p == '.')
{
unsigned char str[128];
do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);
c1 = 0;
if (p == pend) return (free (compile_stack.stack), REG_EBRACK);
for (;;)
{
do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);
if ((c == '.' && *p == ']') || p == pend)
break;
if (c1 < sizeof (str))
str[c1++] = c;
else
str[0] = '\0';
}
str[c1] = '\0';
if (c == '.' && *p == ']' && str[0] != '\0')
{
# 3519 "../../libiberty/regex.c"
{
if (c1 != 1)
return (free (compile_stack.stack), REG_ECOLLATE);
do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);
(b[((unsigned char) (str[0])) / 8] |= 1 << (((unsigned char) str[0]) % 8));
range_start = ((const unsigned char *) str)[0];
}
# 3610 "../../libiberty/regex.c"
had_char_class = 0;
}
else
{
c1++;
while (c1--)
p--;
(b[((unsigned char) ('[')) / 8] |= 1 << (((unsigned char) '[') % 8));
(b[((unsigned char) ('.')) / 8] |= 1 << (((unsigned char) '.') % 8));
range_start = '.';
had_char_class = 0;
}
}
else
{
had_char_class = 0;
(b[((unsigned char) (c)) / 8] |= 1 << (((unsigned char) c) % 8));
range_start = c;
}
}
while ((int) b[-1] > 0 && b[b[-1] - 1] == 0)
b[-1]--;
b += b[-1];
}
break;
case '(':
if (syntax & (((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
goto handle_open;
else
goto normal_char;
case ')':
if (syntax & (((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
goto handle_close;
else
goto normal_char;
case '\n':
if (syntax & (((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
goto handle_alt;
else
goto normal_char;
case '|':
if (syntax & (((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
goto handle_alt;
else
goto normal_char;
case '{':
if (syntax & (((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) && syntax & ((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
goto handle_interval;
else
goto normal_char;
case '\\':
if (p == pend) return (free (compile_stack.stack), REG_EESCAPE);
do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; } while (0);
switch (c)
{
case '(':
if (syntax & (((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
goto normal_backslash;
handle_open:
bufp->re_nsub++;
regnum++;
if ((compile_stack.avail == compile_stack.size))
{
((compile_stack.stack) = (compile_stack_elt_t *) realloc (compile_stack.stack, (compile_stack.size << 1) * sizeof (compile_stack_elt_t)));
if (compile_stack.stack == 0) return REG_ESPACE;
compile_stack.size <<= 1;
}
(compile_stack.stack[compile_stack.avail]).begalt_offset = begalt - bufp->buffer;
(compile_stack.stack[compile_stack.avail]).fixup_alt_jump
= fixup_alt_jump ? fixup_alt_jump - bufp->buffer + 1 : 0;
(compile_stack.stack[compile_stack.avail]).laststart_offset = b - bufp->buffer;
(compile_stack.stack[compile_stack.avail]).regnum = regnum;
if (regnum <= 255)
{
(compile_stack.stack[compile_stack.avail]).inner_group_offset = b
- bufp->buffer + 2;
do { while ((unsigned long) (b - bufp->buffer + (3)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (start_memory); *b++ = (unsigned char) (regnum); *b++ = (unsigned char) (0); } while (0);
}
compile_stack.avail++;
fixup_alt_jump = 0;
laststart = 0;
begalt = b;
pending_exact = 0;
break;
case ')':
if (syntax & (((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1)) goto normal_backslash;
if ((compile_stack.avail == 0))
{
if (syntax & (((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
goto normal_backslash;
else
return (free (compile_stack.stack), REG_ERPAREN);
}
handle_close:
if (fixup_alt_jump)
{
do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (push_dummy_failure); } while (0);
byte_store_op1 (jump_past_alt, fixup_alt_jump, (int) ((b - 1) - (fixup_alt_jump) - (1 + 2)));
}
if ((compile_stack.avail == 0))
{
if (syntax & (((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
goto normal_char;
else
return (free (compile_stack.stack), REG_ERPAREN);
}
;
{
regnum_t this_group_regnum;
compile_stack.avail--;
begalt = bufp->buffer + (compile_stack.stack[compile_stack.avail]).begalt_offset;
fixup_alt_jump
= (compile_stack.stack[compile_stack.avail]).fixup_alt_jump
? bufp->buffer + (compile_stack.stack[compile_stack.avail]).fixup_alt_jump - 1
: 0;
laststart = bufp->buffer + (compile_stack.stack[compile_stack.avail]).laststart_offset;
this_group_regnum = (compile_stack.stack[compile_stack.avail]).regnum;
pending_exact = 0;
if (this_group_regnum <= 255)
{
unsigned char *inner_group_loc
= bufp->buffer + (compile_stack.stack[compile_stack.avail]).inner_group_offset;
*inner_group_loc = regnum - this_group_regnum;
do { while ((unsigned long) (b - bufp->buffer + (3)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (stop_memory); *b++ = (unsigned char) (this_group_regnum); *b++ = (unsigned char) (regnum - this_group_regnum); } while (0);
}
}
break;
case '|':
if (syntax & ((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) || syntax & (((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
goto normal_backslash;
handle_alt:
if (syntax & ((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
goto normal_char;
while ((unsigned long) (b - bufp->buffer + (1 + 2)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0);
byte_insert_op1 (on_failure_jump, begalt, (int) ((b + 2 + 2 * 2) - (begalt) - (1 + 2)), b);
pending_exact = 0;
b += 1 + 2;
# 3837 "../../libiberty/regex.c"
if (fixup_alt_jump)
byte_store_op1 (jump_past_alt, fixup_alt_jump, (int) ((b) - (fixup_alt_jump) - (1 + 2)));
fixup_alt_jump = b;
while ((unsigned long) (b - bufp->buffer + (1 + 2)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0);
b += 1 + 2;
laststart = 0;
begalt = b;
break;
case '{':
if (!(syntax & (((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
|| (syntax & ((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1)))
goto normal_backslash;
handle_interval:
{
int lower_bound = -1, upper_bound = -1;
const char *beg_interval = p;
if (p == pend)
goto invalid_interval;
{ while (p != pend) { do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0); if (c < '0' || c > '9') break; if (lower_bound <= (0x7fff)) { if (lower_bound < 0) lower_bound = 0; lower_bound = lower_bound * 10 + c - '0'; } } };
if (c == ',')
{
{ while (p != pend) { do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0); if (c < '0' || c > '9') break; if (upper_bound <= (0x7fff)) { if (upper_bound < 0) upper_bound = 0; upper_bound = upper_bound * 10 + c - '0'; } } };
if (upper_bound < 0)
upper_bound = (0x7fff);
}
else
upper_bound = lower_bound;
if (! (0 <= lower_bound && lower_bound <= upper_bound))
goto invalid_interval;
if (!(syntax & ((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1)))
{
if (c != '\\' || p == pend)
goto invalid_interval;
do {if (p == pend) return REG_EEND; c = (unsigned char) *p++; if (translate) c = (unsigned char) translate[c]; } while (0);
}
if (c != '}')
goto invalid_interval;
if (!laststart)
{
if (syntax & (((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1)
&& !(syntax & (((((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1)))
return (free (compile_stack.stack), REG_BADRPT);
else if (syntax & ((((((unsigned long int) 1) << 1) << 1) << 1) << 1))
laststart = b;
else
goto unfetch_interval;
}
if ((0x7fff) < upper_bound)
return (free (compile_stack.stack), REG_BADBR);
if (upper_bound == 0)
{
while ((unsigned long) (b - bufp->buffer + (1 + 2)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0);
byte_insert_op1 (jump, laststart, (int) ((b + 1 + 2) - (laststart) - (1 + 2)), b);
b += 1 + 2;
}
# 3938 "../../libiberty/regex.c"
else
{
unsigned nbytes = 2 + 4 * 2 +
(upper_bound > 1) * (2 + 4 * 2);
while ((unsigned long) (b - bufp->buffer + (nbytes)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0);
byte_insert_op2 (succeed_n, laststart, (int) ((b + 1 + 2 * 2 + (upper_bound > 1) * (1 + 2 * 2)) - (laststart) - (1 + 2)), lower_bound, b);
b += 1 + 2 * 2;
# 3964 "../../libiberty/regex.c"
byte_insert_op2 (set_number_at, laststart, 1
+ 2 * 2, lower_bound, b);
b += 1 + 2 * 2;
if (upper_bound > 1)
{
byte_store_op2 (jump_n, b, (int) ((laststart + 2 * 2 + 1) - (b) - (1 + 2)), upper_bound - 1);
b += 1 + 2 * 2;
# 3995 "../../libiberty/regex.c"
byte_insert_op2 (set_number_at, laststart,
b - laststart,
upper_bound - 1, b);
b += 1 + 2 * 2;
}
}
pending_exact = 0;
break;
invalid_interval:
if (!(syntax & (((((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1)))
return (free (compile_stack.stack), p == pend ? REG_EBRACE : REG_BADBR);
unfetch_interval:
p = beg_interval;
c = '{';
if (syntax & ((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
goto normal_char;
else
goto normal_backslash;
}
# 4038 "../../libiberty/regex.c"
case 'w':
if (syntax & (((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
goto normal_char;
laststart = b;
do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (wordchar); } while (0);
break;
case 'W':
if (syntax & (((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
goto normal_char;
laststart = b;
do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (notwordchar); } while (0);
break;
case '<':
if (syntax & (((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
goto normal_char;
do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (wordbeg); } while (0);
break;
case '>':
if (syntax & (((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
goto normal_char;
do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (wordend); } while (0);
break;
case 'b':
if (syntax & (((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
goto normal_char;
do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (wordbound); } while (0);
break;
case 'B':
if (syntax & (((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
goto normal_char;
do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (notwordbound); } while (0);
break;
case '`':
if (syntax & (((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
goto normal_char;
do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (begbuf); } while (0);
break;
case '\'':
if (syntax & (((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
goto normal_char;
do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (endbuf); } while (0);
break;
case '1': case '2': case '3': case '4': case '5':
case '6': case '7': case '8': case '9':
if (syntax & ((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
goto normal_char;
c1 = c - '0';
if (c1 > regnum)
return (free (compile_stack.stack), REG_ESUBREG);
if (group_in_compile_stack (compile_stack, (regnum_t) c1))
goto normal_char;
laststart = b;
do { while ((unsigned long) (b - bufp->buffer + (2)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (duplicate); *b++ = (unsigned char) (c1); } while (0);
break;
case '+':
case '?':
if (syntax & (((unsigned long int) 1) << 1))
goto handle_plus;
else
goto normal_backslash;
default:
normal_backslash:
c = (translate ? (char) translate[(unsigned char) (c)] : (c));
goto normal_char;
}
break;
default:
normal_char:
if (!pending_exact
|| pending_exact + *pending_exact + 1 != b
|| *pending_exact == (1 << 8) - 1
|| *p == '*' || *p == '^'
|| ((syntax & (((unsigned long int) 1) << 1))
? *p == '\\' && (p[1] == '+' || p[1] == '?')
: (*p == '+' || *p == '?'))
|| ((syntax & (((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
&& ((syntax & ((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
? *p == '{'
: (p[0] == '\\' && p[1] == '{'))))
{
laststart = b;
# 4166 "../../libiberty/regex.c"
do { while ((unsigned long) (b - bufp->buffer + (2)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (exactn); *b++ = (unsigned char) (0); } while (0);
pending_exact = b - 1;
}
do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (c); } while (0);
(*pending_exact)++;
break;
}
}
if (fixup_alt_jump)
byte_store_op1 (jump_past_alt, fixup_alt_jump, (int) ((b) - (fixup_alt_jump) - (1 + 2)));
if (!(compile_stack.avail == 0))
return (free (compile_stack.stack), REG_EPAREN);
if (syntax & ((((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1))
do { while ((unsigned long) (b - bufp->buffer + (1)) > bufp->allocated) do { unsigned char *old_buffer = bufp->buffer; if (bufp->allocated == (1L << 16)) return REG_ESIZE; bufp->allocated <<= 1; if (bufp->allocated > (1L << 16)) bufp->allocated = (1L << 16); bufp->buffer = (unsigned char *) realloc ((bufp->buffer), (bufp->allocated)); if (bufp->buffer == 0) return REG_ESPACE; if (old_buffer != bufp->buffer) { int incr = bufp->buffer - old_buffer; (b) += incr; (begalt) += incr; if (fixup_alt_jump) (fixup_alt_jump) += incr; if (laststart) (laststart) += incr; if (pending_exact) (pending_exact) += incr; } } while (0); *b++ = (unsigned char) (succeed); } while (0);
free (compile_stack.stack);
bufp->used = b - bufp->buffer;
# 4254 "../../libiberty/regex.c"
return REG_NOERROR;
}
static void
byte_store_op1 (op, loc, arg)
re_opcode_t op;
unsigned char *loc;
int arg;
{
*loc = (unsigned char) op;
do { (loc + 1)[0] = (arg) & 0377; (loc + 1)[1] = (arg) >> 8; } while (0);
}
static void
byte_store_op2 (op, loc, arg1, arg2)
re_opcode_t op;
unsigned char *loc;
int arg1, arg2;
{
*loc = (unsigned char) op;
do { (loc + 1)[0] = (arg1) & 0377; (loc + 1)[1] = (arg1) >> 8; } while (0);
do { (loc + 1 + 2)[0] = (arg2) & 0377; (loc + 1 + 2)[1] = (arg2) >> 8; } while (0);
}
static void
byte_insert_op1 (op, loc, arg, end)
re_opcode_t op;
unsigned char *loc;
int arg;
unsigned char *end;
{
register unsigned char *pfrom = end;
register unsigned char *pto = end + 1 + 2;
while (pfrom != loc)
*--pto = *--pfrom;
byte_store_op1 (op, loc, arg);
}
static void
byte_insert_op2 (op, loc, arg1, arg2, end)
re_opcode_t op;
unsigned char *loc;
int arg1, arg2;
unsigned char *end;
{
register unsigned char *pfrom = end;
register unsigned char *pto = end + 1 + 2 * 2;
while (pfrom != loc)
*--pto = *--pfrom;
byte_store_op2 (op, loc, arg1, arg2);
}
static boolean
byte_at_begline_loc_p (pattern, p, syntax)
const char *pattern, *p;
reg_syntax_t syntax;
{
const char *prev = p - 2;
boolean prev_prev_backslash = prev > pattern && prev[-1] == '\\';
return
(*prev == '(' && (syntax & (((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) || prev_prev_backslash))
|| (*prev == '|' && (syntax & (((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) || prev_prev_backslash));
}
static boolean
byte_at_endline_loc_p (p, pend, syntax)
const char *p, *pend;
reg_syntax_t syntax;
{
const char *next = p;
boolean next_backslash = *next == '\\';
const char *next_next = p + 1 < pend ? p + 1 : 0;
return
(syntax & (((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) ? *next == ')'
: next_backslash && next_next && *next_next == ')')
|| (syntax & (((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) ? *next == '|'
: next_backslash && next_next && *next_next == '|');
}
# 4499 "../../libiberty/regex.c"
static reg_errcode_t
byte_compile_range (range_start_char, p_ptr, pend, translate, syntax, b)
unsigned int range_start_char;
const char **p_ptr, *pend;
char * translate;
reg_syntax_t syntax;
unsigned char *b;
{
unsigned this_char;
const char *p = *p_ptr;
reg_errcode_t ret;
unsigned end_char;
if (p == pend)
return REG_ERANGE;
(*p_ptr)++;
ret = syntax & ((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) ? REG_ERANGE : REG_NOERROR;
# 4548 "../../libiberty/regex.c"
range_start_char = (translate ? (char) translate[(unsigned char) (range_start_char)] : (range_start_char));
end_char = ((unsigned)(translate ? (char) translate[(unsigned char) (p[0])] : (p[0])) & ((1 << 8) - 1));
for (this_char = range_start_char; this_char <= end_char; ++this_char)
{
(b[((unsigned char) ((translate ? (char) translate[(unsigned char) (this_char)] : (this_char)))) / 8] |= 1 << (((unsigned char) (translate ? (char) translate[(unsigned char) (this_char)] : (this_char))) % 8));
ret = REG_NOERROR;
}
return ret;
}
# 4602 "../../libiberty/regex.c"
static int
byte_re_compile_fastmap (bufp)
struct re_pattern_buffer *bufp;
{
int j, k;
byte_fail_stack_type fail_stack;
char *destination;
register char *fastmap = bufp->fastmap;
unsigned char *pattern = bufp->buffer;
register unsigned char *pend = pattern + bufp->used;
unsigned char *p = pattern;
# 4637 "../../libiberty/regex.c"
boolean path_can_be_null = 1;
boolean succeed_n_p = 0;
;
do { fail_stack.stack = (byte_fail_stack_elt_t *) __builtin_alloca (5 * sizeof (byte_fail_stack_elt_t)); if (fail_stack.stack == 0) return -2; fail_stack.size = 5; fail_stack.avail = 0; } while (0);
bzero (fastmap, 1 << 8);
bufp->fastmap_accurate = 1;
bufp->can_be_null = 0;
while (1)
{
if (p == pend || *p == (unsigned char) succeed)
{
if (!(fail_stack.avail == 0))
{
bufp->can_be_null |= path_can_be_null;
path_can_be_null = 1;
p = fail_stack.stack[--fail_stack.avail].pointer;
continue;
}
else
break;
}
;
switch (((re_opcode_t) *p++))
{
case duplicate:
bufp->can_be_null = 1;
goto done;
# 4693 "../../libiberty/regex.c"
case exactn:
fastmap[p[1]] = 1;
break;
# 4713 "../../libiberty/regex.c"
case charset:
for (j = *p++ * 8 - 1; j >= 0; j--)
if (p[j / 8] & (1 << (j % 8)))
fastmap[j] = 1;
break;
case charset_not:
for (j = *p * 8; j < (1 << 8); j++)
fastmap[j] = 1;
for (j = *p++ * 8 - 1; j >= 0; j--)
if (!(p[j / 8] & (1 << (j % 8))))
fastmap[j] = 1;
break;
case wordchar:
for (j = 0; j < (1 << 8); j++)
if (re_syntax_table[(unsigned char) (j)] == 1)
fastmap[j] = 1;
break;
case notwordchar:
for (j = 0; j < (1 << 8); j++)
if (re_syntax_table[(unsigned char) (j)] != 1)
fastmap[j] = 1;
break;
case anychar:
{
int fastmap_newline = fastmap['\n'];
for (j = 0; j < (1 << 8); j++)
fastmap[j] = 1;
if (!(bufp->syntax & ((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1)))
fastmap['\n'] = fastmap_newline;
else if (bufp->can_be_null)
goto done;
break;
}
# 4794 "../../libiberty/regex.c"
case no_op:
case begline:
case endline:
case begbuf:
case endbuf:
case wordbound:
case notwordbound:
case wordbeg:
case wordend:
case push_dummy_failure:
continue;
case jump_n:
case pop_failure_jump:
case maybe_pop_jump:
case jump:
case jump_past_alt:
case dummy_failure_jump:
do { do { (j) = *(p) & 0377; (j) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);
p += j;
if (j > 0)
continue;
if ((re_opcode_t) *p != on_failure_jump
&& (re_opcode_t) *p != succeed_n)
continue;
p++;
do { do { (j) = *(p) & 0377; (j) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);
p += j;
if (!(fail_stack.avail == 0)
&& fail_stack.stack[fail_stack.avail - 1].pointer == p)
fail_stack.avail--;
continue;
case on_failure_jump:
case on_failure_keep_string_jump:
handle_on_failure_jump:
do { do { (j) = *(p) & 0377; (j) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);
# 4851 "../../libiberty/regex.c"
if (p + j < pend)
{
if (!(((fail_stack.avail == fail_stack.size) && !((fail_stack).size > (unsigned) (xre_max_failures * (5 * 3 + 4)) ? 0 : ((fail_stack).stack = (byte_fail_stack_elt_t *) (destination = (char *) __builtin_alloca (((fail_stack).size << 1) * sizeof (byte_fail_stack_elt_t)), (bcopy ((fail_stack).stack, destination, (fail_stack).size * sizeof (byte_fail_stack_elt_t)), (destination))), (fail_stack).stack == 0 ? 0 : ((fail_stack).size <<= 1, 1)))) ? 0 : ((fail_stack).stack[(fail_stack).avail++].pointer = p + j, 1)))
{
;
return -2;
}
}
else
bufp->can_be_null = 1;
if (succeed_n_p)
{
do { do { (k) = *(p) & 0377; (k) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);
succeed_n_p = 0;
}
continue;
case succeed_n:
p += 2;
do { do { (k) = *(p) & 0377; (k) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);
if (k == 0)
{
p -= 2 * 2;
succeed_n_p = 1;
goto handle_on_failure_jump;
}
continue;
case set_number_at:
p += 2 * 2;
continue;
case start_memory:
case stop_memory:
p += 2;
continue;
default:
abort ();
}
path_can_be_null = 0;
p = pend;
}
bufp->can_be_null |= path_can_be_null;
done:
;
return 0;
}
# 5080 "../../libiberty/regex.c"
static int
byte_re_search_2 (bufp, string1, size1, string2, size2, startpos, range,
regs, stop)
struct re_pattern_buffer *bufp;
const char *string1, *string2;
int size1, size2;
int startpos;
int range;
struct re_registers *regs;
int stop;
{
int val;
register char *fastmap = bufp->fastmap;
register char * translate = bufp->translate;
int total_size = size1 + size2;
int endpos = startpos + range;
# 5108 "../../libiberty/regex.c"
if (startpos < 0 || startpos > total_size)
return -1;
if (endpos < 0)
range = 0 - startpos;
else if (endpos > total_size)
range = total_size - startpos;
if (bufp->used > 0 && range > 0
&& ((re_opcode_t) bufp->buffer[0] == begbuf
|| ((re_opcode_t) bufp->buffer[0] == begline
&& !bufp->newline_anchor)))
{
if (startpos > 0)
return -1;
else
range = 1;
}
# 5145 "../../libiberty/regex.c"
if (fastmap && !bufp->fastmap_accurate)
if (xre_compile_fastmap (bufp) == -2)
return -2;
# 5225 "../../libiberty/regex.c"
for (;;)
{
if (fastmap && startpos < total_size && !bufp->can_be_null)
{
if (range > 0)
{
register const char *d;
register int lim = 0;
int irange = range;
if (startpos < size1 && startpos + range >= size1)
lim = range - (size1 - startpos);
d = (startpos >= size1 ? string2 - size1 : string1) + startpos;
if (translate)
while (range > lim
&& !fastmap[(unsigned char)
translate[(unsigned char) *d++]])
range--;
else
while (range > lim && !fastmap[(unsigned char) *d++])
range--;
startpos += irange - range;
}
else
{
register char c = (size1 == 0 || startpos >= size1
? string2[startpos - size1]
: string1[startpos]);
if (!fastmap[(unsigned char) (translate ? (char) translate[(unsigned char) (c)] : (c))])
goto advance;
}
}
if (range >= 0 && startpos == total_size && fastmap
&& !bufp->can_be_null)
{
return -1;
}
# 5285 "../../libiberty/regex.c"
val = byte_re_match_2_internal (bufp, string1, size1, string2,
size2, startpos, regs, stop);
# 5295 "../../libiberty/regex.c"
if (val >= 0)
{
return startpos;
}
if (val == -2)
{
return -2;
}
advance:
if (!range)
break;
else if (range > 0)
{
range--;
startpos++;
}
else
{
range++;
startpos--;
}
}
return -1;
}
# 5503 "../../libiberty/regex.c"
static boolean byte_group_match_null_string_p
(unsigned char **p, unsigned char *end, byte_register_info_type *reg_info);
static boolean byte_alt_match_null_string_p
(unsigned char *p, unsigned char *end, byte_register_info_type *reg_info);
static boolean byte_common_op_match_null_string_p
(unsigned char **p, unsigned char *end, byte_register_info_type *reg_info);
static int byte_bcmp_translate
(const char *s1, const char *s2, int len, char *translate);
# 5634 "../../libiberty/regex.c"
static int
byte_re_match_2_internal (bufp, string1, size1,string2, size2, pos,
regs, stop)
struct re_pattern_buffer *bufp;
const char *string1, *string2;
int size1, size2;
int pos;
struct re_registers *regs;
int stop;
{
int mcnt;
unsigned char *p1;
# 5656 "../../libiberty/regex.c"
const char *end1, *end2;
const char *end_match_1, *end_match_2;
const char *d, *dend;
unsigned char *p = bufp->buffer;
register unsigned char *pend = p + bufp->used;
unsigned char *just_past_start_mem = 0;
char * translate = bufp->translate;
# 5691 "../../libiberty/regex.c"
byte_fail_stack_type fail_stack;
# 5707 "../../libiberty/regex.c"
size_t num_regs = bufp->re_nsub + 1;
active_reg_t lowest_active_reg = ((1 << 8) + 1);
active_reg_t highest_active_reg = (1 << 8);
# 5721 "../../libiberty/regex.c"
const char **regstart, **regend;
# 5730 "../../libiberty/regex.c"
const char **old_regstart, **old_regend;
# 5740 "../../libiberty/regex.c"
byte_register_info_type *reg_info;
unsigned best_regs_set = 0;
const char **best_regstart, **best_regend;
# 5760 "../../libiberty/regex.c"
const char *match_end = 0;
int set_regs_matched_done = 0;
const char **reg_dummy;
byte_register_info_type *reg_info_dummy;
;
do { fail_stack.stack = (byte_fail_stack_elt_t *) __builtin_alloca (5 * sizeof (byte_fail_stack_elt_t)); if (fail_stack.stack == 0) return -2; fail_stack.size = 5; fail_stack.avail = 0; } while (0);
if (bufp->re_nsub)
{
regstart = ((const char * *) __builtin_alloca ((num_regs) * sizeof (const char *)));
regend = ((const char * *) __builtin_alloca ((num_regs) * sizeof (const char *)));
old_regstart = ((const char * *) __builtin_alloca ((num_regs) * sizeof (const char *)));
old_regend = ((const char * *) __builtin_alloca ((num_regs) * sizeof (const char *)));
best_regstart = ((const char * *) __builtin_alloca ((num_regs) * sizeof (const char *)));
best_regend = ((const char * *) __builtin_alloca ((num_regs) * sizeof (const char *)));
reg_info = ((byte_register_info_type *) __builtin_alloca ((num_regs) * sizeof (byte_register_info_type)));
reg_dummy = ((const char * *) __builtin_alloca ((num_regs) * sizeof (const char *)));
reg_info_dummy = ((byte_register_info_type *) __builtin_alloca ((num_regs) * sizeof (byte_register_info_type)));
if (!(regstart && regend && old_regstart && old_regend && reg_info
&& best_regstart && best_regend && reg_dummy && reg_info_dummy))
{
do { ; if (regstart) ((void)0); regstart = 0; if (regend) ((void)0); regend = 0; if (old_regstart) ((void)0); old_regstart = 0; if (old_regend) ((void)0); old_regend = 0; if (best_regstart) ((void)0); best_regstart = 0; if (best_regend) ((void)0); best_regend = 0; if (reg_info) ((void)0); reg_info = 0; if (reg_dummy) ((void)0); reg_dummy = 0; if (reg_info_dummy) ((void)0); reg_info_dummy = 0; } while (0);
return -2;
}
}
else
{
regstart = regend = old_regstart = old_regend = best_regstart
= best_regend = reg_dummy = 0;
reg_info = reg_info_dummy = (byte_register_info_type *) 0;
}
if (pos < 0 || pos > size1 + size2)
{
do { ; if (regstart) ((void)0); regstart = 0; if (regend) ((void)0); regend = 0; if (old_regstart) ((void)0); old_regstart = 0; if (old_regend) ((void)0); old_regend = 0; if (best_regstart) ((void)0); best_regstart = 0; if (best_regend) ((void)0); best_regend = 0; if (reg_info) ((void)0); reg_info = 0; if (reg_dummy) ((void)0); reg_dummy = 0; if (reg_info_dummy) ((void)0); reg_info_dummy = 0; } while (0);
return -1;
}
# 5880 "../../libiberty/regex.c"
for (mcnt = 1; (unsigned) mcnt < num_regs; mcnt++)
{
regstart[mcnt] = regend[mcnt]
= old_regstart[mcnt] = old_regend[mcnt] = (&byte_reg_unset_dummy);
((reg_info[mcnt]).bits.match_null_string_p) = 3;
((reg_info[mcnt]).bits.is_active) = 0;
((reg_info[mcnt]).bits.matched_something) = 0;
((reg_info[mcnt]).bits.ever_matched_something) = 0;
}
if (size2 == 0 && string1 != 0)
{
string2 = string1;
size2 = size1;
string1 = 0;
size1 = 0;
}
end1 = string1 + size1;
end2 = string2 + size2;
# 5931 "../../libiberty/regex.c"
if (stop <= size1)
{
end_match_1 = string1 + stop;
end_match_2 = string2;
}
else
{
end_match_1 = end1;
end_match_2 = string2 + stop - size1;
}
# 5969 "../../libiberty/regex.c"
if (size1 > 0 && pos <= size1)
{
d = string1 + pos;
dend = end_match_1;
}
else
{
d = string2 + pos - size1;
dend = end_match_2;
}
;
;
;
;
;
for (;;)
{
;
if (p == pend)
{
;
if (d != end_match_2)
{
boolean same_str_p = ((size1 && string1 <= (match_end) && (match_end) <= string1 + size1)
== (dend == end_match_1));
boolean best_match_p;
if (same_str_p)
best_match_p = d > match_end;
else
best_match_p = !(dend == end_match_1);
;
if (!(fail_stack.avail == 0))
{
if (!best_regs_set || best_match_p)
{
best_regs_set = 1;
match_end = d;
;
for (mcnt = 1; (unsigned) mcnt < num_regs; mcnt++)
{
best_regstart[mcnt] = regstart[mcnt];
best_regend[mcnt] = regend[mcnt];
}
}
goto fail;
}
else if (best_regs_set && !best_match_p)
{
restore_best_regs:
;
d = match_end;
dend = ((d >= string1 && d <= end1)
? end_match_1 : end_match_2);
for (mcnt = 1; (unsigned) mcnt < num_regs; mcnt++)
{
regstart[mcnt] = best_regstart[mcnt];
regend[mcnt] = best_regend[mcnt];
}
}
}
succeed_label:
;
if (regs && !bufp->no_sub)
{
if (bufp->regs_allocated == 0)
{
regs->num_regs = ((30) > (num_regs + 1) ? (30) : (num_regs + 1));
regs->start = ((regoff_t *) malloc ((regs->num_regs) * sizeof (regoff_t)));
regs->end = ((regoff_t *) malloc ((regs->num_regs) * sizeof (regoff_t)));
if (regs->start == 0 || regs->end == 0)
{
do { ; if (regstart) ((void)0); regstart = 0; if (regend) ((void)0); regend = 0; if (old_regstart) ((void)0); old_regstart = 0; if (old_regend) ((void)0); old_regend = 0; if (best_regstart) ((void)0); best_regstart = 0; if (best_regend) ((void)0); best_regend = 0; if (reg_info) ((void)0); reg_info = 0; if (reg_dummy) ((void)0); reg_dummy = 0; if (reg_info_dummy) ((void)0); reg_info_dummy = 0; } while (0);
return -2;
}
bufp->regs_allocated = 1;
}
else if (bufp->regs_allocated == 1)
{
if (regs->num_regs < num_regs + 1)
{
regs->num_regs = num_regs + 1;
((regs->start) = (regoff_t *) realloc (regs->start, (regs->num_regs) * sizeof (regoff_t)));
((regs->end) = (regoff_t *) realloc (regs->end, (regs->num_regs) * sizeof (regoff_t)));
if (regs->start == 0 || regs->end == 0)
{
do { ; if (regstart) ((void)0); regstart = 0; if (regend) ((void)0); regend = 0; if (old_regstart) ((void)0); old_regstart = 0; if (old_regend) ((void)0); old_regend = 0; if (best_regstart) ((void)0); best_regstart = 0; if (best_regend) ((void)0); best_regend = 0; if (reg_info) ((void)0); reg_info = 0; if (reg_dummy) ((void)0); reg_dummy = 0; if (reg_info_dummy) ((void)0); reg_info_dummy = 0; } while (0);
return -2;
}
}
}
else
{
;
}
if (regs->num_regs > 0)
{
regs->start[0] = pos;
# 6124 "../../libiberty/regex.c"
regs->end[0] = ((dend == end_match_1)
? ((regoff_t) (d - string1))
: ((regoff_t) (d - string2 + size1)));
}
for (mcnt = 1; (unsigned) mcnt < ((num_regs) < (regs->num_regs) ? (num_regs) : (regs->num_regs));
mcnt++)
{
if (((regstart[mcnt]) == (&byte_reg_unset_dummy)) || ((regend[mcnt]) == (&byte_reg_unset_dummy)))
regs->start[mcnt] = regs->end[mcnt] = -1;
else
{
regs->start[mcnt]
= (regoff_t) ((size1 && string1 <= (regstart[mcnt]) && (regstart[mcnt]) <= string1 + size1) ? ((regoff_t) ((regstart[mcnt]) - string1)) : ((regoff_t) ((regstart[mcnt]) - string2 + size1)));
regs->end[mcnt]
= (regoff_t) ((size1 && string1 <= (regend[mcnt]) && (regend[mcnt]) <= string1 + size1) ? ((regoff_t) ((regend[mcnt]) - string1)) : ((regoff_t) ((regend[mcnt]) - string2 + size1)));
}
}
for (mcnt = num_regs; (unsigned) mcnt < regs->num_regs; mcnt++)
regs->start[mcnt] = regs->end[mcnt] = -1;
}
;
;
# 6168 "../../libiberty/regex.c"
mcnt = d - pos - ((dend == end_match_1)
? string1
: string2 - size1);
;
do { ; if (regstart) ((void)0); regstart = 0; if (regend) ((void)0); regend = 0; if (old_regstart) ((void)0); old_regstart = 0; if (old_regend) ((void)0); old_regend = 0; if (best_regstart) ((void)0); best_regstart = 0; if (best_regend) ((void)0); best_regend = 0; if (reg_info) ((void)0); reg_info = 0; if (reg_dummy) ((void)0); reg_dummy = 0; if (reg_info_dummy) ((void)0); reg_info_dummy = 0; } while (0);
return mcnt;
}
switch (((re_opcode_t) *p++))
{
case no_op:
;
break;
case succeed:
;
goto succeed_label;
case exactn:
mcnt = *p++;
;
if (translate)
{
do
{
while (d == dend) { if (dend == end_match_2) goto fail; d = string2; dend = end_match_2; };
# 6222 "../../libiberty/regex.c"
if ((unsigned char) translate[(unsigned char) *d++]
!= (unsigned char) *p++)
goto fail;
}
while (--mcnt);
}
else
{
do
{
while (d == dend) { if (dend == end_match_2) goto fail; d = string2; dend = end_match_2; };
if (*d++ != (char) *p++) goto fail;
}
while (--mcnt);
}
do { if (!set_regs_matched_done) { active_reg_t r; set_regs_matched_done = 1; for (r = lowest_active_reg; r <= highest_active_reg; r++) { ((reg_info[r]).bits.matched_something) = ((reg_info[r]).bits.ever_matched_something) = 1; } } } while (0);
break;
case anychar:
;
while (d == dend) { if (dend == end_match_2) goto fail; d = string2; dend = end_match_2; };
if ((!(bufp->syntax & ((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1)) && (translate ? (char) translate[(unsigned char) (*d)] : (*d)) == '\n')
|| (bufp->syntax & (((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) && (translate ? (char) translate[(unsigned char) (*d)] : (*d)) == '\000'))
goto fail;
do { if (!set_regs_matched_done) { active_reg_t r; set_regs_matched_done = 1; for (r = lowest_active_reg; r <= highest_active_reg; r++) { ((reg_info[r]).bits.matched_something) = ((reg_info[r]).bits.ever_matched_something) = 1; } } } while (0);
;
d++;
break;
case charset:
case charset_not:
{
register unsigned char c;
# 6272 "../../libiberty/regex.c"
boolean not = (re_opcode_t) *(p - 1) == charset_not;
;
while (d == dend) { if (dend == end_match_2) goto fail; d = string2; dend = end_match_2; };
c = (translate ? (char) translate[(unsigned char) (*d)] : (*d));
# 6648 "../../libiberty/regex.c"
if (c < (unsigned) (*p * 8)
&& p[1 + c / 8] & (1 << (c % 8)))
not = !not;
p += 1 + *p;
if (!not) goto fail;
do { if (!set_regs_matched_done) { active_reg_t r; set_regs_matched_done = 1; for (r = lowest_active_reg; r <= highest_active_reg; r++) { ((reg_info[r]).bits.matched_something) = ((reg_info[r]).bits.ever_matched_something) = 1; } } } while (0);
d++;
break;
}
case start_memory:
;
p1 = p;
if (((reg_info[*p]).bits.match_null_string_p) == 3)
((reg_info[*p]).bits.match_null_string_p)
= byte_group_match_null_string_p (&p1, pend, reg_info);
old_regstart[*p] = ((reg_info[*p]).bits.match_null_string_p)
? ((regstart[*p]) == (&byte_reg_unset_dummy)) ? d : regstart[*p]
: regstart[*p];
;
regstart[*p] = d;
;
((reg_info[*p]).bits.is_active) = 1;
((reg_info[*p]).bits.matched_something) = 0;
set_regs_matched_done = 0;
highest_active_reg = *p;
if (lowest_active_reg == ((1 << 8) + 1))
lowest_active_reg = *p;
p += 2;
just_past_start_mem = p;
break;
case stop_memory:
;
old_regend[*p] = ((reg_info[*p]).bits.match_null_string_p)
? ((regend[*p]) == (&byte_reg_unset_dummy)) ? d : regend[*p]
: regend[*p];
;
regend[*p] = d;
;
((reg_info[*p]).bits.is_active) = 0;
set_regs_matched_done = 0;
if (lowest_active_reg == highest_active_reg)
{
lowest_active_reg = ((1 << 8) + 1);
highest_active_reg = (1 << 8);
}
else
{
unsigned char r = *p - 1;
while (r > 0 && !((reg_info[r]).bits.is_active))
r--;
# 6764 "../../libiberty/regex.c"
if (r == 0)
{
lowest_active_reg = ((1 << 8) + 1);
highest_active_reg = (1 << 8);
}
else
highest_active_reg = r;
}
if ((!((reg_info[*p]).bits.matched_something)
|| just_past_start_mem == p - 1)
&& (p + 2) < pend)
{
boolean is_a_jump_n = 0;
p1 = p + 2;
mcnt = 0;
switch ((re_opcode_t) *p1++)
{
case jump_n:
is_a_jump_n = 1;
case pop_failure_jump:
case maybe_pop_jump:
case jump:
case dummy_failure_jump:
do { do { (mcnt) = *(p1) & 0377; (mcnt) += ((signed char) (*((p1) + 1))) << 8; } while (0); (p1) += 2; } while (0);
if (is_a_jump_n)
p1 += 2;
break;
default:
;
}
p1 += mcnt;
if (mcnt < 0 && (re_opcode_t) *p1 == on_failure_jump
&& (re_opcode_t) p1[1+2] == start_memory
&& p1[2+2] == *p)
{
# 6823 "../../libiberty/regex.c"
if (((reg_info[*p]).bits.ever_matched_something))
{
unsigned r;
((reg_info[*p]).bits.ever_matched_something) = 0;
for (r = *p; r < (unsigned) *p + (unsigned) *(p + 1);
r++)
{
regstart[r] = old_regstart[r];
if (old_regend[r] >= regstart[r])
regend[r] = old_regend[r];
}
}
p1++;
do { do { (mcnt) = *(p1) & 0377; (mcnt) += ((signed char) (*((p1) + 1))) << 8; } while (0); (p1) += 2; } while (0);
do { char *destination; active_reg_t this_reg; ; ; ; ; ; ; ; while (((fail_stack).size - (fail_stack).avail) < (((0 ? 0 : highest_active_reg - lowest_active_reg + 1) * 3) + 4)) { if (!((fail_stack).size > (unsigned) (xre_max_failures * (5 * 3 + 4)) ? 0 : ((fail_stack).stack = (byte_fail_stack_elt_t *) (destination = (char *) __builtin_alloca (((fail_stack).size << 1) * sizeof (byte_fail_stack_elt_t)), (bcopy ((fail_stack).stack, destination, (fail_stack).size * sizeof (byte_fail_stack_elt_t)), (destination))), (fail_stack).stack == 0 ? 0 : ((fail_stack).size <<= 1, 1)))) return -2; ; ; } ; if (1) for (this_reg = lowest_active_reg; this_reg <= highest_active_reg; this_reg++) { ; ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (regstart[this_reg]); ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (regend[this_reg]); ; ; ; ; ; ; fail_stack.stack[fail_stack.avail++] = (reg_info[this_reg].word); } ; fail_stack.stack[fail_stack.avail++].integer = (lowest_active_reg); ; fail_stack.stack[fail_stack.avail++].integer = (highest_active_reg); ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (p1 + mcnt); ; ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (d); ; ; } while (0);
goto fail;
}
}
p += 2;
break;
case duplicate:
{
register const char *d2, *dend2;
int regno = *p++;
;
if (((regstart[regno]) == (&byte_reg_unset_dummy)) || ((regend[regno]) == (&byte_reg_unset_dummy)))
goto fail;
d2 = regstart[regno];
dend2 = (((size1 && string1 <= (regstart[regno]) && (regstart[regno]) <= string1 + size1)
== (size1 && string1 <= (regend[regno]) && (regend[regno]) <= string1 + size1))
? regend[regno] : end_match_1);
for (;;)
{
while (d2 == dend2)
{
if (dend2 == end_match_2) break;
if (dend2 == regend[regno]) break;
d2 = string2;
dend2 = regend[regno];
}
if (d2 == dend2) break;
while (d == dend) { if (dend == end_match_2) goto fail; d = string2; dend = end_match_2; };
mcnt = dend - d;
if (mcnt > dend2 - d2)
mcnt = dend2 - d2;
if (translate
? byte_bcmp_translate (d, d2, mcnt, translate)
: bcmp (d, d2, mcnt*sizeof(unsigned char)))
goto fail;
d += mcnt, d2 += mcnt;
do { if (!set_regs_matched_done) { active_reg_t r; set_regs_matched_done = 1; for (r = lowest_active_reg; r <= highest_active_reg; r++) { ((reg_info[r]).bits.matched_something) = ((reg_info[r]).bits.ever_matched_something) = 1; } } } while (0);
}
}
break;
case begline:
;
if (((d) == (size1 ? string1 : string2) || !size2))
{
if (!bufp->not_bol) break;
}
else if (d[-1] == '\n' && bufp->newline_anchor)
{
break;
}
goto fail;
case endline:
;
if (((d) == end2))
{
if (!bufp->not_eol) break;
}
else if ((d == end1 ? *string2 : *d) == '\n'
&& bufp->newline_anchor)
{
break;
}
goto fail;
case begbuf:
;
if (((d) == (size1 ? string1 : string2) || !size2))
break;
goto fail;
case endbuf:
;
if (((d) == end2))
break;
goto fail;
# 6986 "../../libiberty/regex.c"
case on_failure_keep_string_jump:
;
do { do { (mcnt) = *(p) & 0377; (mcnt) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);
;
do { char *destination; active_reg_t this_reg; ; ; ; ; ; ; ; while (((fail_stack).size - (fail_stack).avail) < (((0 ? 0 : highest_active_reg - lowest_active_reg + 1) * 3) + 4)) { if (!((fail_stack).size > (unsigned) (xre_max_failures * (5 * 3 + 4)) ? 0 : ((fail_stack).stack = (byte_fail_stack_elt_t *) (destination = (char *) __builtin_alloca (((fail_stack).size << 1) * sizeof (byte_fail_stack_elt_t)), (bcopy ((fail_stack).stack, destination, (fail_stack).size * sizeof (byte_fail_stack_elt_t)), (destination))), (fail_stack).stack == 0 ? 0 : ((fail_stack).size <<= 1, 1)))) return -2; ; ; } ; if (1) for (this_reg = lowest_active_reg; this_reg <= highest_active_reg; this_reg++) { ; ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (regstart[this_reg]); ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (regend[this_reg]); ; ; ; ; ; ; fail_stack.stack[fail_stack.avail++] = (reg_info[this_reg].word); } ; fail_stack.stack[fail_stack.avail++].integer = (lowest_active_reg); ; fail_stack.stack[fail_stack.avail++].integer = (highest_active_reg); ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (p + mcnt); ; ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (0); ; ; } while (0);
break;
# 7012 "../../libiberty/regex.c"
case on_failure_jump:
on_failure:
;
do { do { (mcnt) = *(p) & 0377; (mcnt) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);
;
# 7032 "../../libiberty/regex.c"
p1 = p;
while (p1 < pend && (re_opcode_t) *p1 == no_op)
p1++;
if (p1 < pend && (re_opcode_t) *p1 == start_memory)
{
highest_active_reg = *(p1 + 1) + *(p1 + 2);
if (lowest_active_reg == ((1 << 8) + 1))
lowest_active_reg = *(p1 + 1);
}
;
do { char *destination; active_reg_t this_reg; ; ; ; ; ; ; ; while (((fail_stack).size - (fail_stack).avail) < (((0 ? 0 : highest_active_reg - lowest_active_reg + 1) * 3) + 4)) { if (!((fail_stack).size > (unsigned) (xre_max_failures * (5 * 3 + 4)) ? 0 : ((fail_stack).stack = (byte_fail_stack_elt_t *) (destination = (char *) __builtin_alloca (((fail_stack).size << 1) * sizeof (byte_fail_stack_elt_t)), (bcopy ((fail_stack).stack, destination, (fail_stack).size * sizeof (byte_fail_stack_elt_t)), (destination))), (fail_stack).stack == 0 ? 0 : ((fail_stack).size <<= 1, 1)))) return -2; ; ; } ; if (1) for (this_reg = lowest_active_reg; this_reg <= highest_active_reg; this_reg++) { ; ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (regstart[this_reg]); ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (regend[this_reg]); ; ; ; ; ; ; fail_stack.stack[fail_stack.avail++] = (reg_info[this_reg].word); } ; fail_stack.stack[fail_stack.avail++].integer = (lowest_active_reg); ; fail_stack.stack[fail_stack.avail++].integer = (highest_active_reg); ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (p + mcnt); ; ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (d); ; ; } while (0);
break;
case maybe_pop_jump:
do { do { (mcnt) = *(p) & 0377; (mcnt) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);
;
{
register unsigned char *p2 = p;
# 7082 "../../libiberty/regex.c"
while (1)
{
if (p2 + 2 < pend
&& ((re_opcode_t) *p2 == stop_memory
|| (re_opcode_t) *p2 == start_memory))
p2 += 3;
else if (p2 + 2 + 2 * 2 < pend
&& (re_opcode_t) *p2 == dummy_failure_jump)
p2 += 2 + 2 * 2;
else
break;
}
p1 = p + mcnt;
if (p2 == pend)
{
p[-(1+2)] = (unsigned char)
pop_failure_jump;
;
}
else if ((re_opcode_t) *p2 == exactn
|| (bufp->newline_anchor && (re_opcode_t) *p2 == endline))
{
register unsigned char c
= *p2 == (unsigned char) endline ? '\n' : p2[2];
if (((re_opcode_t) p1[1+2] == exactn
) && p1[3+2] != c)
{
p[-(1+2)] = (unsigned char)
pop_failure_jump;
;
}
else if ((re_opcode_t) p1[3] == charset
|| (re_opcode_t) p1[3] == charset_not)
{
int not = (re_opcode_t) p1[3] == charset_not;
if (c < (unsigned) (p1[4] * 8)
&& p1[5 + c / 8] & (1 << (c % 8)))
not = !not;
if (!not)
{
p[-3] = (unsigned char) pop_failure_jump;
;
}
}
}
else if ((re_opcode_t) *p2 == charset)
{
if ((re_opcode_t) p1[3] == exactn
&& ! ((int) p2[1] * 8 > (int) p1[5]
&& (p2[2 + p1[5] / 8]
& (1 << (p1[5] % 8)))))
{
p[-3] = (unsigned char) pop_failure_jump;
;
}
else if ((re_opcode_t) p1[3] == charset_not)
{
int idx;
for (idx = 0; idx < (int) p2[1]; idx++)
if (! (p2[2 + idx] == 0
|| (idx < (int) p1[4]
&& ((p2[2 + idx] & ~ p1[5 + idx]) == 0))))
break;
if (idx == p2[1])
{
p[-3] = (unsigned char) pop_failure_jump;
;
}
}
else if ((re_opcode_t) p1[3] == charset)
{
int idx;
for (idx = 0;
idx < (int) p2[1] && idx < (int) p1[4];
idx++)
if ((p2[2 + idx] & p1[5 + idx]) != 0)
break;
if (idx == p2[1] || idx == p1[4])
{
p[-3] = (unsigned char) pop_failure_jump;
;
}
}
}
}
p -= 2;
if ((re_opcode_t) p[-1] != pop_failure_jump)
{
p[-1] = (unsigned char) jump;
;
goto unconditional_jump;
}
# 7227 "../../libiberty/regex.c"
case pop_failure_jump:
{
active_reg_t dummy_low_reg, dummy_high_reg;
unsigned char *pdummy = 0;
const char *sdummy = 0;
;
{ active_reg_t this_reg; const unsigned char *string_temp; ; ; ; ; ; ; ; string_temp = fail_stack.stack[--fail_stack.avail].pointer; if (string_temp != 0) sdummy = (const char *) string_temp; ; ; ; pdummy = (unsigned char *) fail_stack.stack[--fail_stack.avail].pointer; ; ; dummy_high_reg = (active_reg_t) fail_stack.stack[--fail_stack.avail].integer; ; dummy_low_reg = (active_reg_t) fail_stack.stack[--fail_stack.avail].integer; ; if (1) for (this_reg = dummy_high_reg; this_reg >= dummy_low_reg; this_reg--) { ; reg_info_dummy[this_reg].word = fail_stack.stack[--fail_stack.avail]; ; reg_dummy[this_reg] = (const char *) fail_stack.stack[--fail_stack.avail].pointer; ; reg_dummy[this_reg] = (const char *) fail_stack.stack[--fail_stack.avail].pointer; ; } else { for (this_reg = highest_active_reg; this_reg > dummy_high_reg; this_reg--) { reg_info_dummy[this_reg].word.integer = 0; reg_dummy[this_reg] = 0; reg_dummy[this_reg] = 0; } highest_active_reg = dummy_high_reg; } set_regs_matched_done = 0; ; };
}
unconditional_jump:
;
case jump:
do { do { (mcnt) = *(p) & 0377; (mcnt) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);
;
p += mcnt;
;
break;
case jump_past_alt:
;
goto unconditional_jump;
case dummy_failure_jump:
;
do { char *destination; active_reg_t this_reg; ; ; ; ; ; ; ; while (((fail_stack).size - (fail_stack).avail) < (((0 ? 0 : highest_active_reg - lowest_active_reg + 1) * 3) + 4)) { if (!((fail_stack).size > (unsigned) (xre_max_failures * (5 * 3 + 4)) ? 0 : ((fail_stack).stack = (byte_fail_stack_elt_t *) (destination = (char *) __builtin_alloca (((fail_stack).size << 1) * sizeof (byte_fail_stack_elt_t)), (bcopy ((fail_stack).stack, destination, (fail_stack).size * sizeof (byte_fail_stack_elt_t)), (destination))), (fail_stack).stack == 0 ? 0 : ((fail_stack).size <<= 1, 1)))) return -2; ; ; } ; if (1) for (this_reg = lowest_active_reg; this_reg <= highest_active_reg; this_reg++) { ; ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (regstart[this_reg]); ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (regend[this_reg]); ; ; ; ; ; ; fail_stack.stack[fail_stack.avail++] = (reg_info[this_reg].word); } ; fail_stack.stack[fail_stack.avail++].integer = (lowest_active_reg); ; fail_stack.stack[fail_stack.avail++].integer = (highest_active_reg); ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (0); ; ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (0); ; ; } while (0);
goto unconditional_jump;
case push_dummy_failure:
;
do { char *destination; active_reg_t this_reg; ; ; ; ; ; ; ; while (((fail_stack).size - (fail_stack).avail) < (((0 ? 0 : highest_active_reg - lowest_active_reg + 1) * 3) + 4)) { if (!((fail_stack).size > (unsigned) (xre_max_failures * (5 * 3 + 4)) ? 0 : ((fail_stack).stack = (byte_fail_stack_elt_t *) (destination = (char *) __builtin_alloca (((fail_stack).size << 1) * sizeof (byte_fail_stack_elt_t)), (bcopy ((fail_stack).stack, destination, (fail_stack).size * sizeof (byte_fail_stack_elt_t)), (destination))), (fail_stack).stack == 0 ? 0 : ((fail_stack).size <<= 1, 1)))) return -2; ; ; } ; if (1) for (this_reg = lowest_active_reg; this_reg <= highest_active_reg; this_reg++) { ; ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (regstart[this_reg]); ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (regend[this_reg]); ; ; ; ; ; ; fail_stack.stack[fail_stack.avail++] = (reg_info[this_reg].word); } ; fail_stack.stack[fail_stack.avail++].integer = (lowest_active_reg); ; fail_stack.stack[fail_stack.avail++].integer = (highest_active_reg); ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (0); ; ; ; fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (0); ; ; } while (0);
break;
case succeed_n:
do { (mcnt) = *(p + 2) & 0377; (mcnt) += ((signed char) (*((p + 2) + 1))) << 8; } while (0);
;
;
if (mcnt > 0)
{
mcnt--;
p += 2;
do { do { (p)[0] = (mcnt) & 0377; (p)[1] = (mcnt) >> 8; } while (0); (p) += 2; } while (0);
;
}
else if (mcnt == 0)
{
;
p[2] = (unsigned char) no_op;
p[3] = (unsigned char) no_op;
goto on_failure;
}
break;
case jump_n:
do { (mcnt) = *(p + 2) & 0377; (mcnt) += ((signed char) (*((p + 2) + 1))) << 8; } while (0);
;
if (mcnt)
{
mcnt--;
do { (p + 2)[0] = (mcnt) & 0377; (p + 2)[1] = (mcnt) >> 8; } while (0);
;
goto unconditional_jump;
}
else
p += 2 * 2;
break;
case set_number_at:
{
;
do { do { (mcnt) = *(p) & 0377; (mcnt) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);
p1 = p + mcnt;
do { do { (mcnt) = *(p) & 0377; (mcnt) += ((signed char) (*((p) + 1))) << 8; } while (0); (p) += 2; } while (0);
;
do { (p1)[0] = (mcnt) & 0377; (p1)[1] = (mcnt) >> 8; } while (0);
break;
}
# 7397 "../../libiberty/regex.c"
case wordbound:
{
boolean prevchar, thischar;
;
if (((d) == (size1 ? string1 : string2) || !size2) || ((d) == end2))
break;
prevchar = (re_syntax_table[(unsigned char) ((d - 1) == end1 ? *string2 : (d - 1) == string2 - 1 ? *(end1 - 1) : *(d - 1))] == 1);
thischar = (re_syntax_table[(unsigned char) ((d) == end1 ? *string2 : (d) == string2 - 1 ? *(end1 - 1) : *(d))] == 1);
if (prevchar != thischar)
break;
goto fail;
}
case notwordbound:
{
boolean prevchar, thischar;
;
if (((d) == (size1 ? string1 : string2) || !size2) || ((d) == end2))
goto fail;
prevchar = (re_syntax_table[(unsigned char) ((d - 1) == end1 ? *string2 : (d - 1) == string2 - 1 ? *(end1 - 1) : *(d - 1))] == 1);
thischar = (re_syntax_table[(unsigned char) ((d) == end1 ? *string2 : (d) == string2 - 1 ? *(end1 - 1) : *(d))] == 1);
if (prevchar != thischar)
goto fail;
break;
}
case wordbeg:
;
if (!((d) == end2) && (re_syntax_table[(unsigned char) ((d) == end1 ? *string2 : (d) == string2 - 1 ? *(end1 - 1) : *(d))] == 1)
&& (((d) == (size1 ? string1 : string2) || !size2) || !(re_syntax_table[(unsigned char) ((d - 1) == end1 ? *string2 : (d - 1) == string2 - 1 ? *(end1 - 1) : *(d - 1))] == 1)))
break;
goto fail;
case wordend:
;
if (!((d) == (size1 ? string1 : string2) || !size2) && (re_syntax_table[(unsigned char) ((d - 1) == end1 ? *string2 : (d - 1) == string2 - 1 ? *(end1 - 1) : *(d - 1))] == 1)
&& (((d) == end2) || !(re_syntax_table[(unsigned char) ((d) == end1 ? *string2 : (d) == string2 - 1 ? *(end1 - 1) : *(d))] == 1)))
break;
goto fail;
# 7496 "../../libiberty/regex.c"
case wordchar:
;
while (d == dend) { if (dend == end_match_2) goto fail; d = string2; dend = end_match_2; };
if (!(re_syntax_table[(unsigned char) ((d) == end1 ? *string2 : (d) == string2 - 1 ? *(end1 - 1) : *(d))] == 1))
goto fail;
do { if (!set_regs_matched_done) { active_reg_t r; set_regs_matched_done = 1; for (r = lowest_active_reg; r <= highest_active_reg; r++) { ((reg_info[r]).bits.matched_something) = ((reg_info[r]).bits.ever_matched_something) = 1; } } } while (0);
d++;
break;
case notwordchar:
;
while (d == dend) { if (dend == end_match_2) goto fail; d = string2; dend = end_match_2; };
if ((re_syntax_table[(unsigned char) ((d) == end1 ? *string2 : (d) == string2 - 1 ? *(end1 - 1) : *(d))] == 1))
goto fail;
do { if (!set_regs_matched_done) { active_reg_t r; set_regs_matched_done = 1; for (r = lowest_active_reg; r <= highest_active_reg; r++) { ((reg_info[r]).bits.matched_something) = ((reg_info[r]).bits.ever_matched_something) = 1; } } } while (0);
d++;
break;
default:
abort ();
}
continue;
fail:
if (!(fail_stack.avail == 0))
{
;
{ active_reg_t this_reg; const unsigned char *string_temp; ; ; ; ; ; ; ; string_temp = fail_stack.stack[--fail_stack.avail].pointer; if (string_temp != 0) d = (const char *) string_temp; ; ; ; p = (unsigned char *) fail_stack.stack[--fail_stack.avail].pointer; ; ; highest_active_reg = (active_reg_t) fail_stack.stack[--fail_stack.avail].integer; ; lowest_active_reg = (active_reg_t) fail_stack.stack[--fail_stack.avail].integer; ; if (1) for (this_reg = highest_active_reg; this_reg >= lowest_active_reg; this_reg--) { ; reg_info[this_reg].word = fail_stack.stack[--fail_stack.avail]; ; regend[this_reg] = (const char *) fail_stack.stack[--fail_stack.avail].pointer; ; regstart[this_reg] = (const char *) fail_stack.stack[--fail_stack.avail].pointer; ; } else { for (this_reg = highest_active_reg; this_reg > highest_active_reg; this_reg--) { reg_info[this_reg].word.integer = 0; regend[this_reg] = 0; regstart[this_reg] = 0; } highest_active_reg = highest_active_reg; } set_regs_matched_done = 0; ; };
if (!p)
goto fail;
;
if (p < pend)
{
boolean is_a_jump_n = 0;
switch ((re_opcode_t) *p)
{
case jump_n:
is_a_jump_n = 1;
case maybe_pop_jump:
case pop_failure_jump:
case jump:
p1 = p + 1;
do { do { (mcnt) = *(p1) & 0377; (mcnt) += ((signed char) (*((p1) + 1))) << 8; } while (0); (p1) += 2; } while (0);
p1 += mcnt;
if ((is_a_jump_n && (re_opcode_t) *p1 == succeed_n)
|| (!is_a_jump_n
&& (re_opcode_t) *p1 == on_failure_jump))
goto fail;
break;
default:
;
}
}
if (d >= string1 && d <= end1)
dend = end_match_1;
}
else
break;
}
if (best_regs_set)
goto restore_best_regs;
do { ; if (regstart) ((void)0); regstart = 0; if (regend) ((void)0); regend = 0; if (old_regstart) ((void)0); old_regstart = 0; if (old_regend) ((void)0); old_regend = 0; if (best_regstart) ((void)0); best_regstart = 0; if (best_regend) ((void)0); best_regend = 0; if (reg_info) ((void)0); reg_info = 0; if (reg_dummy) ((void)0); reg_dummy = 0; if (reg_info_dummy) ((void)0); reg_info_dummy = 0; } while (0);
return -1;
}
# 7591 "../../libiberty/regex.c"
static boolean
byte_group_match_null_string_p (p, end, reg_info)
unsigned char **p, *end;
byte_register_info_type *reg_info;
{
int mcnt;
unsigned char *p1 = *p + 2;
while (p1 < end)
{
switch ((re_opcode_t) *p1)
{
case on_failure_jump:
p1++;
do { do { (mcnt) = *(p1) & 0377; (mcnt) += ((signed char) (*((p1) + 1))) << 8; } while (0); (p1) += 2; } while (0);
if (mcnt >= 0)
{
# 7636 "../../libiberty/regex.c"
while ((re_opcode_t) p1[mcnt-(1+2)] ==
jump_past_alt)
{
if (!byte_alt_match_null_string_p (p1, p1 + mcnt -
(1 + 2),
reg_info))
return 0;
p1 += mcnt;
if ((re_opcode_t) *p1 != on_failure_jump)
break;
p1++;
do { do { (mcnt) = *(p1) & 0377; (mcnt) += ((signed char) (*((p1) + 1))) << 8; } while (0); (p1) += 2; } while (0);
if ((re_opcode_t) p1[mcnt-(1+2)] !=
jump_past_alt)
{
p1 -= 1 + 2;
break;
}
}
do { (mcnt) = *(p1 - 2) & 0377; (mcnt) += ((signed char) (*((p1 - 2) + 1))) << 8; } while (0);
if (!byte_alt_match_null_string_p (p1, p1 + mcnt, reg_info))
return 0;
p1 += mcnt;
}
break;
case stop_memory:
;
*p = p1 + 2;
return 1;
default:
if (!byte_common_op_match_null_string_p (&p1, end, reg_info))
return 0;
}
}
return 0;
}
static boolean
byte_alt_match_null_string_p (p, end, reg_info)
unsigned char *p, *end;
byte_register_info_type *reg_info;
{
int mcnt;
unsigned char *p1 = p;
while (p1 < end)
{
switch ((re_opcode_t) *p1)
{
case on_failure_jump:
p1++;
do { do { (mcnt) = *(p1) & 0377; (mcnt) += ((signed char) (*((p1) + 1))) << 8; } while (0); (p1) += 2; } while (0);
p1 += mcnt;
break;
default:
if (!byte_common_op_match_null_string_p (&p1, end, reg_info))
return 0;
}
}
return 1;
}
static boolean
byte_common_op_match_null_string_p (p, end, reg_info)
unsigned char **p, *end;
byte_register_info_type *reg_info;
{
int mcnt;
boolean ret;
int reg_no;
unsigned char *p1 = *p;
switch ((re_opcode_t) *p1++)
{
case no_op:
case begline:
case endline:
case begbuf:
case endbuf:
case wordbeg:
case wordend:
case wordbound:
case notwordbound:
break;
case start_memory:
reg_no = *p1;
;
ret = byte_group_match_null_string_p (&p1, end, reg_info);
if (((reg_info[reg_no]).bits.match_null_string_p) == 3)
((reg_info[reg_no]).bits.match_null_string_p) = ret;
if (!ret)
return 0;
break;
case jump:
do { do { (mcnt) = *(p1) & 0377; (mcnt) += ((signed char) (*((p1) + 1))) << 8; } while (0); (p1) += 2; } while (0);
if (mcnt >= 0)
p1 += mcnt;
else
return 0;
break;
case succeed_n:
p1 += 2;
do { do { (mcnt) = *(p1) & 0377; (mcnt) += ((signed char) (*((p1) + 1))) << 8; } while (0); (p1) += 2; } while (0);
if (mcnt == 0)
{
p1 -= 2 * 2;
do { do { (mcnt) = *(p1) & 0377; (mcnt) += ((signed char) (*((p1) + 1))) << 8; } while (0); (p1) += 2; } while (0);
p1 += mcnt;
}
else
return 0;
break;
case duplicate:
if (!((reg_info[*p1]).bits.match_null_string_p))
return 0;
break;
case set_number_at:
p1 += 2 * 2;
default:
return 0;
}
*p = p1;
return 1;
}
static int
byte_bcmp_translate (s1, s2, len, translate)
const char *s1, *s2;
register int len;
char * translate;
{
register const unsigned char *p1 = (const unsigned char *) s1;
register const unsigned char *p2 = (const unsigned char *) s2;
while (len)
{
if (translate[*p1++] != translate[*p2++]) return 1;
len--;
}
return 0;
}
# 650 "../../libiberty/regex.c" 2
# 1342 "../../libiberty/regex.c"
reg_syntax_t xre_syntax_options;
# 1352 "../../libiberty/regex.c"
reg_syntax_t
xre_set_syntax (syntax)
reg_syntax_t syntax;
{
reg_syntax_t ret = xre_syntax_options;
xre_syntax_options = syntax;
return ret;
}
# 1376 "../../libiberty/regex.c"
static const char *re_error_msgid[] =
{
"Success",
"No match",
"Invalid regular expression",
"Invalid collation character",
"Invalid character class name",
"Trailing backslash",
"Invalid back reference",
"Unmatched [ or [^",
"Unmatched ( or \\(",
"Unmatched \\{",
"Invalid content of \\{\\}",
"Invalid range end",
"Memory exhausted",
"Invalid preceding regular expression",
"Premature end of regular expression",
"Regular expression too big",
"Unmatched ) or \\)"
};
# 4375 "../../libiberty/regex.c"
static boolean
group_in_compile_stack (compile_stack, regnum)
compile_stack_type compile_stack;
regnum_t regnum;
{
int this_element;
for (this_element = compile_stack.avail - 1;
this_element >= 0;
this_element--)
if (compile_stack.stack[this_element].regnum == regnum)
return 1;
return 0;
}
# 4922 "../../libiberty/regex.c"
int
xre_compile_fastmap (bufp)
struct re_pattern_buffer *bufp;
{
return byte_re_compile_fastmap(bufp);
}
# 4951 "../../libiberty/regex.c"
void
xre_set_registers (bufp, regs, num_regs, starts, ends)
struct re_pattern_buffer *bufp;
struct re_registers *regs;
unsigned num_regs;
regoff_t *starts, *ends;
{
if (num_regs)
{
bufp->regs_allocated = 1;
regs->num_regs = num_regs;
regs->start = starts;
regs->end = ends;
}
else
{
bufp->regs_allocated = 0;
regs->num_regs = 0;
regs->start = regs->end = (regoff_t *) 0;
}
}
# 4981 "../../libiberty/regex.c"
int
xre_search (bufp, string, size, startpos, range, regs)
struct re_pattern_buffer *bufp;
const char *string;
int size, startpos, range;
struct re_registers *regs;
{
return xre_search_2 (bufp, 0, 0, string, size, startpos, range,
regs, size);
}
# 5017 "../../libiberty/regex.c"
int
xre_search_2 (bufp, string1, size1, string2, size2, startpos, range, regs, stop)
struct re_pattern_buffer *bufp;
const char *string1, *string2;
int size1, size2;
int startpos;
int range;
struct re_registers *regs;
int stop;
{
return byte_re_search_2 (bufp, string1, size1, string2, size2, startpos,
range, regs, stop);
}
# 5471 "../../libiberty/regex.c"
int
xre_match (bufp, string, size, pos, regs)
struct re_pattern_buffer *bufp;
const char *string;
int size, pos;
struct re_registers *regs;
{
int result;
result = byte_re_match_2_internal (bufp, 0, 0, string, size,
pos, regs, size);
return result;
}
# 5529 "../../libiberty/regex.c"
int
xre_match_2 (bufp, string1, size1, string2, size2, pos, regs, stop)
struct re_pattern_buffer *bufp;
const char *string1, *string2;
int size1, size2;
int pos;
struct re_registers *regs;
int stop;
{
int result;
result = byte_re_match_2_internal (bufp, string1, size1, string2, size2,
pos, regs, stop);
return result;
}
# 7864 "../../libiberty/regex.c"
const char *
xre_compile_pattern (pattern, length, bufp)
const char *pattern;
size_t length;
struct re_pattern_buffer *bufp;
{
reg_errcode_t ret;
bufp->regs_allocated = 0;
bufp->no_sub = 0;
bufp->newline_anchor = 1;
ret = byte_regex_compile (pattern, length, xre_syntax_options, bufp);
if (!ret)
return 0;
return (re_error_msgid[(int) ret]);
}
# 7905 "../../libiberty/regex.c"
static struct re_pattern_buffer re_comp_buf;
char *
xre_comp (s)
const char *s;
{
reg_errcode_t ret;
if (!s)
{
if (!re_comp_buf.buffer)
return ("No previous regular expression");
return 0;
}
if (!re_comp_buf.buffer)
{
re_comp_buf.buffer = (unsigned char *) malloc (200);
if (re_comp_buf.buffer == 0)
return (char *) (re_error_msgid[(int) REG_ESPACE]);
re_comp_buf.allocated = 200;
re_comp_buf.fastmap = (char *) malloc (1 << 8);
if (re_comp_buf.fastmap == 0)
return (char *) (re_error_msgid[(int) REG_ESPACE]);
}
re_comp_buf.newline_anchor = 1;
ret = byte_regex_compile (s, strlen (s), xre_syntax_options, &re_comp_buf);
if (!ret)
return 0;
return (char *) (re_error_msgid[(int) ret]);
}
int
xre_exec (s)
const char *s;
{
const int len = strlen (s);
return
0 <= xre_search (&re_comp_buf, s, len, 0, len, (struct re_registers *) 0);
}
# 8012 "../../libiberty/regex.c"
int
xregcomp (preg, pattern, cflags)
regex_t *preg;
const char *pattern;
int cflags;
{
reg_errcode_t ret;
reg_syntax_t syntax
= (cflags & 1) ?
((((((unsigned long int) 1) << 1) << 1) | ((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) | (((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) | (((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) | ((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1)) | (((((unsigned long int) 1) << 1) << 1) << 1) | ((((((unsigned long int) 1) << 1) << 1) << 1) << 1) | ((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) | (((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) | (((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) | (((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) | (((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1)) : ((((((unsigned long int) 1) << 1) << 1) | ((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) | (((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) | (((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) | ((((((((((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1)) | (((unsigned long int) 1) << 1));
preg->buffer = 0;
preg->allocated = 0;
preg->used = 0;
preg->fastmap = (char *) malloc (1 << 8);
if (cflags & (1 << 1))
{
unsigned i;
preg->translate
= (char *) malloc (256
* sizeof (*(char *)0));
if (preg->translate == 0)
return (int) REG_ESPACE;
for (i = 0; i < 256; i++)
preg->translate[i] = (((i & ~0x7F) == 0) && __istype((i), 0x00008000L)) ? __tolower(i) : i;
}
else
preg->translate = 0;
if (cflags & ((1 << 1) << 1))
{
syntax &= ~((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1);
syntax |= ((((((((((unsigned long int) 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) << 1);
preg->newline_anchor = 1;
}
else
preg->newline_anchor = 0;
preg->no_sub = !!(cflags & (((1 << 1) << 1) << 1));
# 8068 "../../libiberty/regex.c"
ret = byte_regex_compile (pattern, strlen (pattern), syntax, preg);
if (ret == REG_ERPAREN) ret = REG_EPAREN;
if (ret == REG_NOERROR && preg->fastmap)
{
if (xre_compile_fastmap (preg) == -2)
{
free (preg->fastmap);
preg->fastmap = 0;
}
}
return (int) ret;
}
# 8108 "../../libiberty/regex.c"
int
xregexec (preg, string, nmatch, pmatch, eflags)
const regex_t *preg;
const char *string;
size_t nmatch;
regmatch_t pmatch[];
int eflags;
{
int ret;
struct re_registers regs;
regex_t private_preg;
int len = strlen (string);
boolean want_reg_info = !preg->no_sub && nmatch > 0;
private_preg = *preg;
private_preg.not_bol = !!(eflags & 1);
private_preg.not_eol = !!(eflags & (1 << 1));
private_preg.regs_allocated = 2;
if (want_reg_info)
{
regs.num_regs = nmatch;
regs.start = ((regoff_t *) malloc ((nmatch * 2) * sizeof (regoff_t)));
if (regs.start == 0)
return (int) REG_NOMATCH;
regs.end = regs.start + nmatch;
}
ret = xre_search (&private_preg, string, len,
0, len,
want_reg_info ? ®s : (struct re_registers *) 0);
if (want_reg_info)
{
if (ret >= 0)
{
unsigned r;
for (r = 0; r < nmatch; r++)
{
pmatch[r].rm_so = regs.start[r];
pmatch[r].rm_eo = regs.end[r];
}
}
free (regs.start);
}
return ret >= 0 ? (int) REG_NOERROR : (int) REG_NOMATCH;
}
# 8175 "../../libiberty/regex.c"
size_t
xregerror (errcode, preg, errbuf, errbuf_size)
int errcode;
const regex_t *preg;
char *errbuf;
size_t errbuf_size;
{
const char *msg;
size_t msg_size;
if (errcode < 0
|| errcode >= (int) (sizeof (re_error_msgid)
/ sizeof (re_error_msgid[0])))
abort ();
msg = (re_error_msgid[errcode]);
msg_size = strlen (msg) + 1;
if (errbuf_size != 0)
{
if (msg_size > errbuf_size)
{
(bcopy (msg, errbuf, errbuf_size - 1), (errbuf));
errbuf[errbuf_size - 1] = 0;
}
else
(bcopy (msg, errbuf, msg_size), (errbuf));
}
return msg_size;
}
void
xregfree (preg)
regex_t *preg;
{
if (preg->buffer != 0)
free (preg->buffer);
preg->buffer = 0;
preg->allocated = 0;
preg->used = 0;
if (preg->fastmap != 0)
free (preg->fastmap);
preg->fastmap = 0;
preg->fastmap_accurate = 0;
if (preg->translate != 0)
free (preg->translate);
preg->translate = 0;
}
[-- Attachment #3: Type: text/plain, Size: 16 bytes --]
Asm produced:
[-- Attachment #4: temp.s --]
[-- Type: application/octet-stream, Size: 118948 bytes --]
.globl _xre_max_failures
.data
.align 2
_xre_max_failures:
.long 4000
.cstring
.align 2
LC0:
.ascii "Success\0"
.align 2
LC1:
.ascii "No match\0"
.align 2
LC2:
.ascii "Invalid regular expression\0"
.align 2
LC3:
.ascii "Invalid collation character\0"
.align 2
LC4:
.ascii "Invalid character class name\0"
.align 2
LC5:
.ascii "Trailing backslash\0"
.align 2
LC6:
.ascii "Invalid back reference\0"
.align 2
LC7:
.ascii "Unmatched [ or [^\0"
.align 2
LC8:
.ascii "Unmatched ( or \\(\0"
.align 2
LC9:
.ascii "Unmatched \\{\0"
.align 2
LC10:
.ascii "Invalid content of \\{\\}\0"
.align 2
LC11:
.ascii "Invalid range end\0"
.align 2
LC12:
.ascii "Memory exhausted\0"
.align 2
LC13:
.ascii "Invalid preceding regular expression\0"
.align 2
LC14:
.ascii "Premature end of regular expression\0"
.align 2
LC15:
.ascii "Regular expression too big\0"
.align 2
LC16:
.ascii "Unmatched ) or \\)\0"
.data
.align 2
_re_error_msgid:
.long LC0
.long LC1
.long LC2
.long LC3
.long LC4
.long LC5
.long LC6
.long LC7
.long LC8
.long LC9
.long LC10
.long LC11
.long LC12
.long LC13
.long LC14
.long LC15
.long LC16
.text
.align 2
_byte_store_op1:
srawi r0,r5,8
stb r3,0(r4)
stb r0,2(r4)
stb r5,1(r4)
blr
.align 2
_byte_store_op2:
srawi r2,r5,8
srawi r0,r6,8
stb r0,4(r4)
stb r3,0(r4)
stb r2,2(r4)
stb r5,1(r4)
stb r6,3(r4)
blr
.align 2
_byte_insert_op1:
cmpw cr7,r6,r4
stw r31,-4(r1)
addi r2,r6,3
beq- cr7,L11
subf r0,r4,r6
mtctr r0
L12:
lbzu r0,-1(r6)
stbu r0,-1(r2)
bdnz L12
L11:
lwz r31,-4(r1)
b _byte_store_op1
.align 2
_byte_insert_op2:
cmpw cr7,r7,r4
stw r31,-4(r1)
addi r2,r7,5
beq- cr7,L19
subf r0,r4,r7
mtctr r0
L20:
lbzu r0,-1(r7)
stbu r0,-1(r2)
bdnz L20
L19:
lwz r31,-4(r1)
b _byte_store_op2
.align 2
_byte_compile_range:
lwz r11,0(r4)
mr r9,r3
li r3,11
cmpw cr7,r11,r5
beqlr- cr7
andis. r0,r7,1
cmpwi cr6,r6,0
addi r2,r11,1
mfcr r0
rlwinm r0,r0,3,1
stw r2,0(r4)
addic r7,r0,-1
subfe r7,r7,r7
andi. r7,r7,11
beq- cr6,L27
rlwinm r0,r9,0,0xff
lbz r2,0(r11)
lbzx r9,r6,r0
lbzx r2,r6,r2
extsb r9,r9
L28:
cmplw cr7,r9,r2
mr r3,r9
bgt- cr7,L40
addi r0,r2,1
li r10,1
subf r0,r9,r0
mtctr r0
b L41
L43:
lbzx r0,r6,r2
srawi r0,r0,3
addze r0,r0
L42:
add r9,r8,r0
srawi r0,r2,3
addze r0,r0
beq- cr6,L34
lbzx r0,r6,r2
srawi r0,r0,3
addze r0,r0
L34:
add r11,r8,r0
srawi r0,r2,3
addze r0,r0
slwi r0,r0,3
lbz r11,0(r11)
subf r0,r0,r2
slw r0,r10,r0
or r0,r11,r0
beq- cr6,L37
lbzx r2,r6,r2
srawi r0,r2,3
addze r0,r0
slwi r0,r0,3
subf r2,r0,r2
slw r2,r10,r2
or r0,r11,r2
L37:
stb r0,0(r9)
addi r3,r3,1
li r7,0
bdz L40
L41:
rlwinm r2,r3,0,0xff
bne- cr6,L43
rlwinm r2,r3,0,0xff
srawi r0,r2,3
addze r0,r0
b L42
L40:
mr r3,r7
blr
L27:
lbz r2,0(r11)
b L28
.align 2
_byte_re_compile_fastmap:
mflr r0
stmw r22,-40(r1)
bcl 20,31,"L00000000001$pb"
"L00000000001$pb":
mr r26,r3
mflr r31
li r24,1
stw r0,8(r1)
li r22,0
stwu r1,-128(r1)
lwz r0,0(r1)
mr r30,r1
stwu r0,-48(r1)
addi r9,r1,64
lwz r0,0(r3)
cmpwi cr7,r9,0
lwz r2,8(r3)
lwz r28,16(r3)
mr r27,r0
add r25,r0,r2
stw r9,64(r30)
li r3,-2
beq- cr7,L44
li r0,5
mr r3,r28
li r4,0
li r5,256
stw r0,68(r30)
stw r22,72(r30)
bl L_memset$stub
lwz r0,28(r26)
oris r0,r0,0x1000
rlwinm r0,r0,0,1,31
stw r0,28(r26)
b L168
L163:
L168:
cmpw cr7,r27,r25
beq- cr7,L50
lbz r9,0(r27)
cmpwi cr7,r9,1
beq- cr7,L50
cmplwi cr7,r9,29
addi r27,r27,1
bgt- cr7,L141
addis r2,r31,ha16(L142-"L00000000001$pb")
slwi r9,r9,2
la r2,lo16(L142-"L00000000001$pb")(r2)
lwzx r0,r9,r2
add r0,r0,r2
mtctr r0
bctr
.align 2
L142:
.long L163-L142
.long L141-L142
.long L56-L142
.long L85-L142
.long L57-L142
.long L63-L142
.long L140-L142
.long L140-L142
.long L54-L142
.long L163-L142
.long L163-L142
.long L163-L142
.long L163-L142
.long L108-L142
.long L108-L142
.long L118-L142
.long L118-L142
.long L108-L142
.long L108-L142
.long L108-L142
.long L163-L142
.long L134-L142
.long L108-L142
.long L138-L142
.long L73-L142
.long L79-L142
.long L163-L142
.long L163-L142
.long L163-L142
.long L163-L142
L50:
lwz r5,72(r30)
cmpwi cr7,r5,0
beq- cr7,L48
lwz r2,28(r26)
addi r5,r5,-1
lwz r9,64(r30)
rlwinm r0,r2,1,31,31
or r0,r0,r24
li r24,1
rlwimi r2,r0,31,0,0
stw r2,28(r26)
slwi r2,r5,2
stw r5,72(r30)
lwzx r27,r2,r9
b L163
L54:
lwz r0,28(r26)
oris r0,r0,0x8000
stw r0,28(r26)
L55:
li r3,0
L44:
lwz r1,0(r1)
lwz r0,8(r1)
lmw r22,-40(r1)
mtlr r0
blr
L48:
lwz r0,28(r26)
rlwinm r2,r0,1,31,31
or r2,r2,r24
rlwimi r0,r2,31,0,0
stw r0,28(r26)
b L55
L134:
lbzu r0,2(r27)
lbz r2,1(r27)
addi r27,r27,2
extsb r2,r2
slwi r2,r2,8
add r0,r0,r2
cmpwi cr7,r0,0
bne+ cr7,L163
addi r27,r27,-4
li r22,1
L118:
lbz r0,1(r27)
lbz r11,0(r27)
addi r27,r27,2
extsb r0,r0
slwi r0,r0,8
add r11,r11,r0
add r23,r27,r11
cmplw cr7,r23,r25
blt- cr7,L166
lwz r0,28(r26)
oris r0,r0,0x8000
stw r0,28(r26)
L130:
cmpwi cr7,r22,0
beq- cr7,L163
addi r27,r27,2
li r22,0
b L163
L141:
bl L_abort$stub
L108:
lbz r0,1(r27)
lbz r11,0(r27)
addi r27,r27,2
extsb r0,r0
slwi r0,r0,8
add r11,r11,r0
cmpwi cr7,r11,0
add r27,r27,r11
bgt+ cr7,L163
lbz r0,0(r27)
cmpwi cr7,r0,15
beq- cr7,L112
cmpwi cr7,r0,21
bne+ cr7,L163
L112:
lbzu r11,1(r27)
lwz r5,72(r30)
lbz r0,1(r27)
addi r27,r27,2
cmpwi cr7,r5,0
extsb r0,r0
slwi r0,r0,8
add r11,r11,r0
add r27,r27,r11
beq- cr7,L163
lwz r0,64(r30)
slwi r2,r5,2
add r2,r2,r0
lwz r9,-4(r2)
cmpw cr7,r9,r27
bne+ cr7,L163
addi r5,r5,-1
stw r5,72(r30)
b L163
L138:
addi r27,r27,4
b L163
L73:
li r0,256
addis r9,r31,ha16(_re_syntax_table-"L00000000001$pb")
mtctr r0
la r9,lo16(_re_syntax_table-"L00000000001$pb")(r9)
li r11,0
b L169
L76:
addi r11,r11,1
bdz L53
L157:
L169:
rlwinm r0,r11,0,0xff
lbzx r2,r9,r0
extsb r2,r2
cmpwi cr7,r2,1
bne+ cr7,L76
stbx r2,r28,r11
addi r11,r11,1
bdnz L157
L53:
li r24,0
mr r27,r25
b L163
L79:
addis r9,r31,ha16(_re_syntax_table-"L00000000001$pb")
li r2,256
la r9,lo16(_re_syntax_table-"L00000000001$pb")(r9)
li r11,0
li r10,1
mtctr r2
L156:
rlwinm r0,r11,0,0xff
lbzx r2,r9,r0
cmpwi cr7,r2,1
beq- cr7,L82
stbx r10,r28,r11
L82:
addi r11,r11,1
bdnz L156
li r24,0
mr r27,r25
b L163
L140:
addi r27,r27,2
b L163
L56:
lbz r2,1(r27)
li r0,1
li r24,0
mr r27,r25
stbx r0,r28,r2
b L163
L85:
lbz r0,10(r28)
li r9,256
mtctr r9
li r11,0
extsb r2,r0
li r0,1
L155:
stbx r0,r28,r11
addi r11,r11,1
bdnz L155
lwz r0,12(r26)
andi. r9,r0,64
bne- cr0,L90
li r24,0
mr r27,r25
stb r2,10(r28)
b L163
L57:
lbz r0,0(r27)
addi r27,r27,1
slwi r0,r0,3
addic. r11,r0,-1
blt- cr0,L53
mtctr r0
li r10,1
L160:
srawi r9,r11,3
addze r9,r9
slwi r0,r9,3
lbzx r2,r27,r9
subf r0,r0,r11
sraw r2,r2,r0
andi. r0,r2,1
beq- cr0,L60
stbx r10,r28,r11
L60:
addi r11,r11,-1
bdnz L160
li r24,0
mr r27,r25
b L163
L63:
lbz r0,0(r27)
slwi r11,r0,3
cmpwi cr7,r11,255
bgt- cr7,L146
subfic r2,r11,256
li r0,1
mtctr r2
L159:
stbx r0,r28,r11
addi r11,r11,1
bdnz L159
lbz r0,0(r27)
L146:
slwi r0,r0,3
addi r27,r27,1
addic. r11,r0,-1
blt- cr0,L53
mtctr r0
li r10,1
L158:
srawi r9,r11,3
addze r9,r9
slwi r0,r9,3
lbzx r2,r27,r9
subf r0,r0,r11
sraw r2,r2,r0
andi. r9,r2,1
bne- cr0,L70
stbx r10,r28,r11
L70:
addi r11,r11,-1
bdnz L158
li r24,0
mr r27,r25
b L163
L166:
lwz r5,72(r30)
lwz r0,68(r30)
cmpw cr7,r5,r0
beq- cr7,L167
L125:
lwz r2,64(r30)
addi r0,r5,1
slwi r9,r5,2
stwx r23,r9,r2
stw r0,72(r30)
b L130
L90:
lwz r0,28(r26)
cmpwi cr7,r0,0
blt- cr7,L55
li r24,0
mr r27,r25
b L163
L167:
addis r2,r31,ha16(_xre_max_failures-"L00000000001$pb")
lwz r2,lo16(_xre_max_failures-"L00000000001$pb")(r2)
mulli r2,r2,19
cmplw cr7,r5,r2
bgt- cr7,L124
slwi r2,r5,3
lwz r0,0(r1)
addi r2,r2,30
lwz r3,64(r30)
rlwinm r2,r2,0,0,27
slwi r5,r5,2
neg r2,r2
stwux r0,r1,r2
addi r29,r1,64
mr r4,r29
bl L_bcopy$stub
cmpwi cr7,r29,0
stw r29,64(r30)
beq- cr7,L124
lwz r0,68(r30)
lwz r5,72(r30)
slwi r0,r0,1
stw r0,68(r30)
b L125
L124:
li r3,-2
b L44
.align 2
_byte_common_op_match_null_string_p:
mflr r0
stmw r28,-16(r1)
bcl 20,31,"L00000000002$pb"
"L00000000002$pb":
mr r28,r3
mflr r31
mr r30,r5
stw r0,8(r1)
stwu r1,-80(r1)
lwz r11,0(r3)
stw r11,56(r1)
lbz r9,0(r11)
addi r11,r11,1
mr r10,r11
cmplwi cr7,r9,29
bgt- cr7,L203
addis r2,r31,ha16(L200-"L00000000002$pb")
slwi r9,r9,2
la r2,lo16(L200-"L00000000002$pb")(r2)
lwzx r0,r9,r2
add r0,r0,r2
mtctr r0
bctr
.align 2
L200:
.long L204-L200
.long L203-L200
.long L203-L200
.long L203-L200
.long L203-L200
.long L203-L200
.long L181-L200
.long L203-L200
.long L196-L200
.long L204-L200
.long L204-L200
.long L204-L200
.long L204-L200
.long L184-L200
.long L203-L200
.long L203-L200
.long L203-L200
.long L203-L200
.long L203-L200
.long L203-L200
.long L203-L200
.long L189-L200
.long L203-L200
.long L198-L200
.long L203-L200
.long L203-L200
.long L204-L200
.long L204-L200
.long L204-L200
.long L204-L200
L198:
addi r11,r11,4
L203:
stw r11,56(r1)
li r3,0
L170:
addi r1,r1,80
lwz r0,8(r1)
lmw r28,-16(r1)
mtlr r0
blr
L189:
addi r11,r11,2
stw r11,56(r1)
lbz r0,1(r11)
addi r11,r11,2
lbz r2,2(r10)
extsb r0,r0
slwi r0,r0,8
add r2,r2,r0
cmpwi cr7,r2,0
bne- cr7,L192
addi r11,r11,-4
stw r11,56(r1)
lbz r0,1(r11)
lbz r2,0(r11)
addi r11,r11,2
extsb r0,r0
slwi r0,r0,8
add r2,r2,r0
L205:
add r11,r11,r2
L204:
stw r11,56(r1)
li r3,1
stw r11,0(r28)
L207:
addi r1,r1,80
lwz r0,8(r1)
lmw r28,-16(r1)
mtlr r0
blr
L181:
stw r11,56(r1)
addi r3,r1,56
lbz r29,0(r11)
bl _byte_group_match_null_string_p
slwi r29,r29,2
lwzx r2,r29,r30
rlwinm r0,r2,2,30,31
cmpwi cr7,r0,3
beq- cr7,L206
L182:
extsb r0,r3
li r3,0
cmpwi cr7,r0,0
beq- cr7,L170
lwz r11,56(r1)
li r3,1
stw r11,0(r28)
b L207
L196:
stw r11,56(r1)
li r3,0
lbz r0,0(r11)
slwi r0,r0,2
lwzx r2,r5,r0
srwi. r0,r2,30
beq- cr0,L170
li r3,1
stw r11,0(r28)
b L207
L184:
stw r11,56(r1)
lbz r0,1(r11)
lbz r2,0(r11)
addi r11,r11,2
extsb r0,r0
slwi r0,r0,8
add. r2,r2,r0
bge+ cr0,L205
L192:
li r3,0
stw r11,56(r1)
b L170
L206:
mr r0,r2
rlwimi r0,r3,30,0,1
stwx r0,r29,r30
b L182
.align 2
_byte_alt_match_null_string_p:
mflr r0
cmplw cr7,r3,r4
stmw r29,-12(r1)
mr r9,r3
mr r30,r4
mr r29,r5
stw r0,8(r1)
stwu r1,-80(r1)
stw r3,56(r1)
bge- cr7,L219
L222:
lbz r0,0(r9)
addi r3,r1,56
mr r4,r30
mr r5,r29
cmpwi cr7,r0,15
addi r9,r9,1
bne- cr7,L215
stw r9,56(r1)
lbz r0,1(r9)
lbz r2,0(r9)
addi r9,r9,2
extsb r0,r0
slwi r0,r0,8
add r2,r2,r0
add r9,r9,r2
cmplw cr7,r9,r30
stw r9,56(r1)
L223:
blt+ cr7,L222
L219:
li r3,1
L208:
addi r1,r1,80
lwz r0,8(r1)
lmw r29,-12(r1)
mtlr r0
blr
L215:
bl _byte_common_op_match_null_string_p
extsb r3,r3
cmpwi cr7,r3,0
beq- cr7,L208
lwz r9,56(r1)
cmplw cr7,r9,r30
b L223
.align 2
_byte_group_match_null_string_p:
mflr r0
stmw r27,-20(r1)
mr r27,r3
mr r28,r4
mr r29,r5
stw r0,8(r1)
stwu r1,-96(r1)
lwz r2,0(r3)
addi r3,r2,2
cmplw cr7,r3,r4
stw r3,56(r1)
mr r2,r3
bge- cr7,L247
L251:
lbz r0,0(r3)
cmpwi cr7,r0,7
beq- cr7,L242
cmpwi cr7,r0,15
bne- cr7,L243
addi r3,r3,1
stw r3,56(r1)
lbz r0,1(r3)
addi r3,r2,3
lbz r30,1(r2)
extsb r0,r0
stw r3,56(r1)
slwi r0,r0,8
add. r30,r30,r0
blt- cr0,L225
add r2,r3,r30
lbz r0,-3(r2)
cmpwi cr7,r0,14
beq- cr7,L239
L233:
lbz r0,-1(r3)
mr r5,r29
lbz r30,-2(r3)
extsb r0,r0
slwi r0,r0,8
add r30,r30,r0
add r4,r3,r30
bl _byte_alt_match_null_string_p
extsb r3,r3
cmpwi cr7,r3,0
beq- cr7,L224
lwz r3,56(r1)
add r3,r3,r30
stw r3,56(r1)
L225:
cmplw cr7,r3,r28
L252:
mr r2,r3
blt+ cr7,L251
L247:
li r3,0
L224:
addi r1,r1,96
lwz r0,8(r1)
lmw r27,-20(r1)
mtlr r0
blr
L239:
add r4,r3,r30
mr r5,r29
addi r4,r4,-3
bl _byte_alt_match_null_string_p
extsb r3,r3
cmpwi cr7,r3,0
beq- cr7,L224
lwz r2,56(r1)
add r3,r2,r30
stw r3,56(r1)
lbzx r0,r2,r30
cmpwi cr7,r0,15
bne- cr7,L233
addi r3,r3,1
stw r3,56(r1)
lbz r0,1(r3)
lbz r30,0(r3)
addi r3,r3,2
extsb r0,r0
stw r3,56(r1)
slwi r0,r0,8
add r30,r30,r0
add r2,r3,r30
lbz r0,-3(r2)
cmpwi cr7,r0,14
beq+ cr7,L239
addi r3,r3,-3
stw r3,56(r1)
b L233
L243:
addi r3,r1,56
mr r4,r28
mr r5,r29
bl _byte_common_op_match_null_string_p
extsb r3,r3
cmpwi cr7,r3,0
beq- cr7,L224
lwz r3,56(r1)
cmplw cr7,r3,r28
b L252
L242:
addi r0,r3,2
li r3,1
stw r0,0(r27)
b L224
.align 2
.globl _xre_set_syntax
_xre_set_syntax:
mflr r0
bcl 20,31,"L00000000003$pb"
"L00000000003$pb":
stw r31,-4(r1)
mflr r31
stw r0,8(r1)
addis r2,r31,ha16(L_xre_syntax_options$non_lazy_ptr-"L00000000003$pb")
lwz r31,-4(r1)
lwz r2,lo16(L_xre_syntax_options$non_lazy_ptr-"L00000000003$pb")(r2)
lwz r0,0(r2)
stw r3,0(r2)
mr r3,r0
lwz r0,8(r1)
mtlr r0
blr
.align 2
.globl _xre_compile_fastmap
_xre_compile_fastmap:
stw r31,-4(r1)
lwz r31,-4(r1)
b _byte_re_compile_fastmap
.align 2
.globl _xre_set_registers
_xre_set_registers:
cmpwi cr0,r5,0
beq- cr0,L256
lwz r2,28(r3)
li r0,1
rlwimi r2,r0,29,1,2
stw r2,28(r3)
stw r7,8(r4)
stw r5,0(r4)
stw r6,4(r4)
blr
L256:
lwz r0,28(r3)
rlwimi r0,r5,29,1,2
stw r0,28(r3)
stw r5,4(r4)
stw r5,0(r4)
stw r5,8(r4)
blr
.align 2
.globl _xregerror
_xregerror:
mflr r0
bcl 20,31,"L00000000004$pb"
"L00000000004$pb":
stmw r27,-20(r1)
cmplwi cr7,r3,16
mflr r31
mr r28,r6
stw r0,8(r1)
mr r27,r5
stwu r1,-96(r1)
slwi r0,r3,2
addis r2,r31,ha16(_re_error_msgid-"L00000000004$pb")
la r2,lo16(_re_error_msgid-"L00000000004$pb")(r2)
bgt- cr7,L263
lwzx r30,r2,r0
mr r3,r30
bl L_strlen$stub
cmpwi cr7,r28,0
addi r29,r3,1
cmplw cr6,r29,r28
beq- cr7,L260
mr r3,r30
mr r4,r27
addi r5,r28,-1
ble- cr6,L261
bl L_bcopy$stub
add r2,r27,r28
li r0,0
stb r0,-1(r2)
L260:
addi r1,r1,96
mr r3,r29
lwz r0,8(r1)
lmw r27,-20(r1)
mtlr r0
blr
L261:
mr r3,r30
mr r4,r27
mr r5,r29
bl L_bcopy$stub
addi r1,r1,96
lwz r0,8(r1)
mr r3,r29
lmw r27,-20(r1)
mtlr r0
blr
L263:
bl L_abort$stub
.align 2
.globl _xregfree
_xregfree:
mflr r0
stmw r29,-12(r1)
mr r30,r3
li r29,0
stw r0,8(r1)
stwu r1,-80(r1)
lwz r3,0(r3)
cmpwi cr7,r3,0
bne- cr7,L268
lwz r3,16(r30)
stw r29,0(r30)
cmpwi cr7,r3,0
stw r29,4(r30)
stw r29,8(r30)
bne- cr7,L269
L266:
lwz r3,20(r30)
lwz r0,28(r30)
cmpwi cr7,r3,0
stw r29,16(r30)
rlwinm r0,r0,0,4,2
stw r0,28(r30)
bne- cr7,L270
L267:
addi r1,r1,80
stw r29,20(r30)
lwz r0,8(r1)
lmw r29,-12(r1)
mtlr r0
blr
L268:
bl L_free$stub
lwz r3,16(r30)
stw r29,0(r30)
cmpwi cr7,r3,0
stw r29,4(r30)
stw r29,8(r30)
beq+ cr7,L266
L269:
bl L_free$stub
lwz r3,20(r30)
lwz r0,28(r30)
cmpwi cr7,r3,0
stw r29,16(r30)
rlwinm r0,r0,0,4,2
stw r0,28(r30)
beq+ cr7,L267
L270:
bl L_free$stub
addi r1,r1,80
lwz r0,8(r1)
stw r29,20(r30)
lmw r29,-12(r1)
mtlr r0
blr
.lcomm done.0,4,2
.data
.cstring
.align 2
LC17:
.ascii "alnum\0"
.align 2
LC18:
.ascii "alpha\0"
.align 2
LC19:
.ascii "blank\0"
.align 2
LC20:
.ascii "cntrl\0"
.align 2
LC21:
.ascii "digit\0"
.align 2
LC22:
.ascii "graph\0"
.align 2
LC23:
.ascii "lower\0"
.align 2
LC24:
.ascii "print\0"
.align 2
LC25:
.ascii "punct\0"
.align 2
LC26:
.ascii "space\0"
.align 2
LC27:
.ascii "upper\0"
.align 2
LC28:
.ascii "xdigit\0"
.data
.const
.align 2
LC29:
.long __CurrentRuneLocale
.text
.align 2
_byte_regex_compile:
mflr r0
mfcr r12
bcl 20,31,"L00000000005$pb"
"L00000000005$pb":
stmw r13,-76(r1)
mflr r31
mr r18,r3
stw r0,8(r1)
li r3,640
stw r12,4(r1)
mr r26,r6
stwu r1,-416(r1)
add r21,r18,r4
stw r18,240(r1)
mr r17,r5
lwz r20,20(r6)
bl L_malloc$stub
cmpwi cr7,r3,0
stw r3,64(r1)
li r25,0
li r23,0
li r22,0
li r16,0
li r3,12
beq- cr7,L271
addis r24,r31,ha16(done.0-"L00000000005$pb")
lwz r0,28(r26)
lwz r2,lo16(done.0-"L00000000005$pb")(r24)
rlwinm r0,r0,0,4,2
stw r17,12(r26)
cmpwi cr7,r2,0
rlwinm r0,r0,0,7,4
li r2,32
stw r25,8(r26)
stw r2,68(r1)
stw r25,24(r26)
stw r0,28(r26)
stw r25,72(r1)
beq- cr7,L1277
L274:
lwz r0,4(r26)
cmpwi cr7,r0,0
beq- cr7,L1278
lwz r3,0(r26)
L284:
lwz r30,240(r1)
mr r27,r3
mr r24,r3
cmpw cr7,r30,r21
beq- cr7,L1018
L1017:
cmpw cr7,r30,r21
beq- cr7,L1201
cmpwi cr3,r20,0
lbz r28,0(r30)
addi r30,r30,1
stw r30,240(r1)
beq- cr3,L290
lbzx r28,r20,r28
L290:
addi r9,r28,-10
cmplwi cr7,r9,114
bgt- cr7,L315
addis r2,r31,ha16(L1016-"L00000000005$pb")
slwi r9,r9,2
la r2,lo16(L1016-"L00000000005$pb")(r2)
lwzx r0,r9,r2
add r0,r0,r2
mtctr r0
bctr
.align 2
L1016:
.long L660-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L316-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L652-L1016
.long L656-L1016
.long L346-L1016
.long L342-L1016
.long L315-L1016
.long L315-L1016
.long L421-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L342-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L434-L1016
.long L671-L1016
.long L315-L1016
.long L294-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L315-L1016
.long L667-L1016
.long L664-L1016
L1278:
lwz r3,0(r26)
cmpwi cr7,r3,0
beq- cr7,L285
li r4,32
bl L_realloc$stub
L1257:
stw r3,0(r26)
lwz r3,0(r26)
cmpwi cr7,r3,0
beq- cr7,L1279
li r0,32
stw r0,4(r26)
b L284
L696:
andi. r0,r17,8192
bne- cr0,L678
lwz r0,72(r1)
cmpwi cr7,r0,0
bne- cr7,L658
andis. r2,r17,2
beq- cr0,L1271
L678:
beq- cr3,L315
lbzx r28,r20,r28
L315:
cmpwi cr7,r25,0
beq- cr7,L987
lbz r0,0(r25)
add r2,r25,r0
addi r2,r2,1
cmpw cr7,r2,r27
beq- cr7,L1280
L987:
lwz r3,0(r26)
mr r23,r27
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,2
cmplw cr7,r2,r0
ble- cr7,L1101
lis r29,0x1
b L1003
L1281:
stw r29,4(r26)
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
L1282:
cmpw cr7,r30,r3
beq- cr7,L993
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L1000
add r22,r22,r3
L1000:
cmpwi cr7,r23,0
beq- cr7,L1001
add r23,r23,r3
L1001:
cmpwi cr7,r25,0
beq- cr7,L993
add r25,r25,r3
L993:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,2
cmplw cr7,r2,r0
ble- cr7,L1101
L1003:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1281
stw r0,4(r26)
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
bne+ cr7,L1282
L1233:
li r3,12
L271:
addi r1,r1,416
lwz r12,4(r1)
lmw r13,-76(r1)
lwz r0,8(r1)
mtcrf 32,r12
mtlr r0
mtcrf 16,r12
mtcrf 8,r12
blr
L1101:
li r0,2
li r2,0
stb r0,0(r27)
stbu r2,1(r27)
addi r27,r27,1
addi r25,r27,-1
L986:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1103
lis r29,0x1
b L1015
L1283:
stw r29,4(r26)
L1009:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L1005
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L1012
add r22,r22,r3
L1012:
cmpwi cr7,r23,0
beq- cr7,L1013
add r23,r23,r3
L1013:
cmpwi cr7,r25,0
beq- cr7,L1005
add r25,r25,r3
L1005:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1103
L1015:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1283
stw r0,4(r26)
b L1009
L1103:
stb r28,0(r27)
addi r27,r27,1
lbz r2,0(r25)
addi r2,r2,1
stb r2,0(r25)
L1114:
lwz r30,240(r1)
L288:
cmpw cr7,r30,r21
bne+ cr7,L1017
cmpwi cr7,r22,0
beq- cr7,L1018
subf r5,r22,r27
li r3,14
addi r5,r5,-3
mr r4,r22
bl _byte_store_op1
L1018:
lwz r0,72(r1)
cmpwi cr7,r0,0
bne- cr7,L1284
andis. r0,r17,4
beq- cr0,L1020
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1105
lis r29,0x1
b L1032
L1285:
stw r29,4(r26)
L1026:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L1022
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
beq- cr7,L1029
add r22,r22,r3
L1029:
cmpwi cr7,r23,0
beq- cr7,L1030
add r23,r23,r3
L1030:
cmpwi cr7,r25,0
beq- cr7,L1022
add r25,r25,r3
L1022:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1105
L1032:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1285
stw r0,4(r26)
b L1026
L1277:
addis r19,r31,ha16(_re_syntax_table-"L00000000005$pb")
li r4,0
la r29,lo16(_re_syntax_table-"L00000000005$pb")(r19)
li r5,256
mr r3,r29
mr r27,r29
bl L_memset$stub
li r29,1
addis r2,r31,ha16(L__CurrentRuneLocale$non_lazy_ptr-"L00000000005$pb")
li r30,0
lwz r28,lo16(L__CurrentRuneLocale$non_lazy_ptr-"L00000000005$pb")(r2)
b L283
L279:
lwz r0,0(r28)
slwi r2,r30,2
add r2,r2,r0
lwz r9,52(r2)
andi. r3,r9,1280
L281:
cmpwi cr7,r3,0
beq- cr7,L277
stbx r29,r27,r30
L277:
addi r30,r30,1
cmpwi cr7,r30,255
bgt- cr7,L1286
L283:
rlwinm. r0,r30,0,0,24
bne- cr0,L277
cmplwi cr7,r30,255
ble+ cr7,L279
mr r3,r30
bl L____runetype$stub
andi. r3,r3,1280
b L281
L285:
li r3,32
bl L_malloc$stub
b L1257
L342:
andi. r0,r17,2
bne- cr0,L315
andi. r2,r17,1024
bne- cr0,L315
L345:
L346:
cmpwi cr1,r23,0
beq- cr1,L1287
L347:
cmpwi cr6,r28,63
cmpwi cr7,r28,43
li r15,0
li r19,0
li r11,0
L1252:
beq- cr7,L353
L1288:
ori r19,r19,1
beq- cr6,L355
L1289:
ori r11,r11,1
L356:
lwz r30,240(r1)
cmpw cr7,r30,r21
beq- cr7,L352
lbz r28,0(r30)
addi r30,r30,1
stw r30,240(r1)
beq- cr3,L358
lbzx r28,r20,r28
L358:
cmpwi cr7,r28,42
beq- cr7,L1107
rlwinm r9,r17,31,31,31
cmpwi cr7,r9,0
bne- cr7,L361
cmpwi cr7,r28,43
cmpwi cr6,r28,63
mfcr r2
rlwinm r0,r2,31,1
rlwinm r2,r2,27,1
or. r10,r0,r2
bne- cr0,L1252
L361:
xori r0,r28,92
subfic r2,r0,0
adde r0,r2,r0
and. r8,r9,r0
beq- cr0,L364
cmpw cr7,r30,r21
beq- cr7,L1188
lbz r29,0(r30)
addi r30,r30,1
stw r30,240(r1)
beq- cr3,L366
lbzx r29,r20,r29
L366:
xori r0,r29,43
xori r2,r29,63
neg r0,r0
neg r2,r2
and. r9,r2,r0
blt- cr0,L1150
mr r28,r29
L1107:
cmpwi cr7,r28,43
cmpwi cr6,r28,63
bne- cr7,L1288
L353:
extsb r19,r19
bne- cr6,L1289
L355:
extsb r11,r11
b L356
L656:
andi. r0,r17,8192
beq- cr0,L315
L658:
cmpwi cr7,r22,0
beq- cr7,L701
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1067
lis r29,0x1
b L713
L1290:
stw r29,4(r26)
L707:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L703
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L710
add r22,r22,r3
L710:
cmpwi cr7,r23,0
beq- cr7,L711
add r23,r23,r3
L711:
cmpwi cr7,r25,0
beq- cr7,L703
add r25,r25,r3
L703:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1067
L713:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1290
stw r0,4(r26)
b L707
L660:
andi. r2,r17,2048
L1267:
srwi r0,r17,10
beq- cr0,L315
L662:
andi. r9,r0,1
bne- cr0,L315
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,3
cmplw cr7,r2,r0
ble- cr7,L1071
lis r29,0x1
b L746
L1291:
stw r29,4(r26)
L740:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L736
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L743
add r22,r22,r3
L743:
cmpwi cr7,r23,0
beq- cr7,L744
add r23,r23,r3
L744:
cmpwi cr7,r25,0
beq- cr7,L736
add r25,r25,r3
L736:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,3
cmplw cr7,r2,r0
ble- cr7,L1071
L746:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1291
stw r0,4(r26)
b L740
L652:
andi. r11,r17,8192
beq- cr0,L315
L654:
lwz r4,72(r1)
addi r16,r16,1
lwz r0,68(r1)
lwz r2,24(r26)
cmpw cr7,r4,r0
addi r2,r2,1
stw r2,24(r26)
beq- cr7,L1292
L679:
cmpwi cr7,r22,0
lwz r3,0(r26)
lwz r8,64(r1)
mulli r9,r4,20
subf r0,r3,r24
subf r2,r3,r22
stwx r0,r9,r8
add r11,r9,r8
addi r0,r2,1
beq- cr7,L1293
L682:
cmplwi cr7,r16,255
mulli r2,r4,20
subf r9,r3,r27
stw r0,4(r11)
add r2,r2,r8
stw r16,16(r2)
stw r9,12(r2)
bgt- cr7,L683
lwz r2,72(r1)
addi r0,r9,2
addi r9,r9,3
mulli r2,r2,20
add r2,r2,r8
stw r0,8(r2)
lwz r0,4(r26)
cmplw cr7,r9,r0
ble- cr7,L1065
lis r29,0x1
L695:
cmpw cr7,r0,r29
mr r30,r3
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
ble- cr7,L1124
stw r29,4(r26)
L689:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L685
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
beq- cr7,L692
add r22,r22,r3
L692:
cmpwi cr7,r23,0
beq- cr7,L693
add r23,r23,r3
L693:
cmpwi cr7,r25,0
beq- cr7,L685
add r25,r25,r3
L685:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
addi r2,r2,3
cmplw cr7,r2,r0
bgt+ cr7,L695
L1065:
li r0,6
stb r0,0(r27)
li r0,0
stbu r16,1(r27)
stbu r0,1(r27)
addi r27,r27,1
L683:
lwz r2,72(r1)
li r22,0
lwz r30,240(r1)
li r23,0
addi r4,r2,1
mr r24,r27
li r25,0
stw r4,72(r1)
b L288
L316:
lwz r2,240(r1)
cmpw cr7,r2,r21
beq- cr7,L318
andi. r0,r17,8
beq- cr0,L1294
L318:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1040
lis r29,0x1
b L339
L1295:
stw r29,4(r26)
L333:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L329
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L336
add r22,r22,r3
L336:
cmpwi cr7,r23,0
beq- cr7,L337
add r23,r23,r3
L337:
cmpwi cr7,r25,0
beq- cr7,L329
add r25,r25,r3
L329:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1040
L339:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1295
stw r0,4(r26)
b L333
L664:
andi. r8,r17,32768
b L1267
L667:
andi. r9,r17,512
beq- cr0,L315
srwi r9,r17,12
andi. r10,r9,1
beq+ cr0,L315
L669:
lwz r30,240(r1)
li r19,-1
li r29,-1
cmpw cr7,r30,r21
mr r11,r30
beq- cr7,L763
L772:
cmpw cr7,r30,r21
beq- cr7,L1201
lbz r28,0(r30)
addi r30,r30,1
stw r30,240(r1)
beq- cr3,L766
lbzx r28,r20,r28
L766:
addi r0,r28,-48
rlwinm r0,r0,0,0xff
cmplwi cr7,r0,9
bgt- cr7,L765
cmpwi cr7,r19,32767
bgt- cr7,L764
nor r0,r19,r19
srawi r0,r0,31
and r19,r19,r0
mulli r2,r19,10
add r2,r2,r28
addi r19,r2,-48
L764:
cmpw cr7,r30,r21
bne+ cr7,L772
L765:
cmpwi cr7,r28,44
beq- cr7,L1296
mr r29,r19
L784:
cmpw cr7,r19,r29
srwi r0,r19,31
li r2,1
bgt- cr7,L786
li r2,0
L786:
or. r8,r0,r2
bne- cr0,L763
andi. r10,r9,1
bne- cr0,L787
cmpwi cr7,r28,92
bne- cr7,L763
lwz r3,240(r1)
cmpw cr7,r3,r21
beq- cr7,L763
addi r30,r3,1
lbz r28,0(r3)
stw r30,240(r1)
beq- cr3,L787
lbzx r28,r20,r28
L787:
cmpwi cr7,r28,125
bne- cr7,L763
cmpwi cr7,r23,0
beq- cr7,L1297
L794:
cmpwi cr7,r29,32767
bgt- cr7,L1203
cmpwi cr7,r29,0
bne- cr7,L801
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,3
cmplw cr7,r2,r0
ble- cr7,L1077
lis r29,0x1
b L812
L1298:
stw r29,4(r26)
L806:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L802
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L809
add r22,r22,r3
L809:
cmpwi cr7,r23,0
beq- cr7,L810
add r23,r23,r3
L810:
cmpwi cr7,r25,0
beq- cr7,L802
add r25,r25,r3
L802:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,3
cmplw cr7,r2,r0
ble- cr7,L1077
L812:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1298
stw r0,4(r26)
b L806
L294:
lwz r2,240(r1)
addi r0,r18,1
cmpw cr7,r2,r0
beq- cr7,L296
andi. r0,r17,8
beq- cr0,L1299
L296:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1038
lis r29,0x1
b L313
L1300:
stw r29,4(r26)
L307:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L303
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L310
add r22,r22,r3
L310:
cmpwi cr7,r23,0
beq- cr7,L311
add r23,r23,r3
L311:
cmpwi cr7,r25,0
beq- cr7,L303
add r25,r25,r3
L303:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1038
L313:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1300
stw r0,4(r26)
b L307
L671:
lwz r2,240(r1)
cmpw cr7,r2,r21
beq- cr7,L1188
lbz r28,0(r2)
addi r30,r2,1
stw r30,240(r1)
addi r9,r28,-39
cmplwi cr7,r9,85
bgt- cr7,L678
addis r2,r31,ha16(L984-"L00000000005$pb")
slwi r9,r9,2
la r2,lo16(L984-"L00000000005$pb")(r2)
lwzx r0,r9,r2
add r0,r0,r2
mtctr r0
bctr
.align 2
L984:
.long L933-L984
.long L676-L984
.long L696-L984
.long L678-L984
.long L978-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L955-L984
.long L955-L984
.long L955-L984
.long L955-L984
.long L955-L984
.long L955-L984
.long L955-L984
.long L955-L984
.long L955-L984
.long L678-L984
.long L678-L984
.long L863-L984
.long L678-L984
.long L877-L984
.long L978-L984
.long L678-L984
.long L678-L984
.long L905-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L849-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L919-L984
.long L678-L984
.long L891-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L835-L984
.long L678-L984
.long L678-L984
.long L678-L984
.long L759-L984
.long L732-L984
L434:
lwz r0,240(r1)
li r15,0
li r14,-1
cmpw cr7,r0,r21
beq- cr7,L1184
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,34
cmplw cr7,r2,r0
ble- cr7,L1050
lis r29,0x1
b L446
L1301:
stw r29,4(r26)
L440:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L436
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L443
add r22,r22,r3
L443:
cmpwi cr7,r23,0
beq- cr7,L444
add r23,r23,r3
L444:
cmpwi cr7,r25,0
beq- cr7,L436
add r25,r25,r3
L436:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,34
cmplw cr7,r2,r0
ble- cr7,L1050
L446:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1301
stw r0,4(r26)
b L440
L421:
lwz r3,0(r26)
mr r23,r27
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1048
lis r29,0x1
b L433
L1302:
stw r29,4(r26)
L427:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L423
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L430
add r22,r22,r3
L430:
cmpwi cr7,r23,0
beq- cr7,L431
add r23,r23,r3
L431:
cmpwi cr7,r25,0
beq- cr7,L423
add r25,r25,r3
L423:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1048
L433:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1302
stw r0,4(r26)
b L427
L1232:
addi r1,r1,416
li r3,15
lwz r12,4(r1)
lmw r13,-76(r1)
lwz r0,8(r1)
mtcrf 32,r12
mtlr r0
mtcrf 16,r12
mtcrf 8,r12
blr
L1286:
la r2,lo16(_re_syntax_table-"L00000000005$pb")(r19)
li r0,1
li r9,1
stb r0,95(r2)
stw r9,lo16(done.0-"L00000000005$pb")(r24)
b L274
L1280:
cmpwi cr7,r0,255
beq- cr7,L987
lwz r30,240(r1)
lbz r0,0(r30)
extsb r0,r0
cmpwi cr7,r0,42
beq- cr7,L987
cmpwi cr7,r0,94
beq- cr7,L987
andi. r2,r17,2
bne- cr0,L1303
L988:
cmpwi cr7,r0,43
beq- cr7,L987
cmpwi cr7,r0,63
beq- cr7,L987
L989:
andi. r8,r17,512
beq- cr0,L986
andi. r9,r17,4096
beq- cr0,L990
lbz r0,0(r30)
L1269:
cmpwi cr7,r0,123
bne+ cr7,L986
b L987
L1105:
li r0,1
stb r0,0(r27)
addi r27,r27,1
L1020:
lwz r3,64(r1)
bl L_free$stub
lwz r0,0(r26)
addi r1,r1,416
li r3,0
subf r0,r0,r27
lwz r12,4(r1)
stw r0,8(r26)
lmw r13,-76(r1)
lwz r0,8(r1)
mtcrf 32,r12
mtcrf 16,r12
mtlr r0
mtcrf 8,r12
blr
L1303:
cmpwi cr7,r0,92
bne+ cr7,L989
lbz r0,1(r30)
extsb r0,r0
b L988
L1294:
addi r0,r2,1
lbz r2,0(r2)
cmplw cr7,r0,r21
mr r9,r0
xori r11,r2,92
subfic r8,r11,0
adde r11,r8,r11
blt- cr7,L320
li r9,0
L320:
andi. r10,r17,8192
li r10,0
beq- cr0,L323
cmpwi cr7,r2,41
L1259:
beq- cr7,L322
L324:
andi. r0,r17,32768
beq- cr0,L325
cmpwi cr7,r2,124
L1260:
beq- cr7,L322
L327:
cmpwi cr7,r10,0
bne+ cr7,L318
b L315
L1299:
addi r2,r2,-2
li r9,0
cmplw cr7,r2,r18
ble- cr7,L297
lbz r0,-1(r2)
cmpwi cr7,r0,92
bne+ cr7,L297
li r9,1
L297:
lbz r0,0(r2)
li r2,0
extsb r0,r0
cmpwi cr7,r0,40
beq- cr7,L1304
cmpwi cr7,r0,124
beq- cr7,L1305
L301:
cmpwi cr7,r2,0
bne+ cr7,L296
b L315
L1071:
subf r5,r24,r27
mr r6,r27
mr r4,r24
addi r5,r5,3
li r3,15
addi r27,r27,3
bl _byte_insert_op1
cmpwi cr7,r22,0
li r25,0
beq- cr7,L747
subf r5,r22,r27
mr r4,r22
addi r5,r5,-3
li r3,14
bl _byte_store_op1
L747:
lwz r3,0(r26)
mr r22,r27
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,3
cmplw cr7,r2,r0
ble- cr7,L1073
lis r29,0x1
b L758
L1306:
stw r29,4(r26)
L752:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L748
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
beq- cr7,L755
add r22,r22,r3
L755:
cmpwi cr7,r23,0
beq- cr7,L756
add r23,r23,r3
L756:
cmpwi cr7,r25,0
beq- cr7,L748
add r25,r25,r3
L748:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,3
cmplw cr7,r2,r0
ble- cr7,L1073
L758:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1306
stw r0,4(r26)
b L752
L1150:
addi r30,r30,-2
stw r30,240(r1)
L352:
beq- cr1,L288
cmpwi cr7,r11,0
beq- cr7,L372
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r29,r3
addi r2,r2,3
cmplw cr7,r2,r0
ble- cr7,L1042
lis r30,0x1
L383:
cmpw cr7,r0,r30
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r30
ble- cr7,L1117
stw r30,4(r26)
L377:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r29,r3
beq- cr7,L373
cmpwi cr7,r22,0
subf r3,r29,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L380
add r22,r22,r3
L380:
cmpwi cr7,r23,0
beq- cr7,L381
add r23,r23,r3
L381:
cmpwi cr7,r25,0
beq- cr7,L373
add r25,r25,r3
L373:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r29,r3
addi r2,r2,3
cmplw cr7,r2,r0
bgt+ cr7,L383
lwz r30,240(r1)
L1042:
beq- cr3,L385
lbz r0,-2(r30)
lbzx r2,r20,r0
extsb r2,r2
L386:
beq- cr3,L387
lbz r0,46(r20)
extsb r0,r0
cmpw cr7,r2,r0
L1262:
beq- cr7,L1307
L384:
subf r5,r27,r23
li r3,18
addi r5,r5,-6
mr r4,r27
bl _byte_store_op1
L393:
addi r27,r27,3
L372:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,3
cmplw cr7,r2,r0
ble- cr7,L1044
lis r29,0x1
L404:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
ble- cr7,L1118
stw r29,4(r26)
L398:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L394
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L401
add r22,r22,r3
L401:
cmpwi cr7,r23,0
beq- cr7,L402
add r23,r23,r3
L402:
cmpwi cr7,r25,0
beq- cr7,L394
add r25,r25,r3
L394:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,3
cmplw cr7,r2,r0
bgt+ cr7,L404
L1044:
xori r3,r15,1
subf r5,r23,r27
mr r6,r27
subfic r3,r3,16
mr r4,r23
addi r27,r27,3
bl _byte_insert_op1
cmpwi cr7,r19,0
li r25,0
bne- cr7,L1114
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,3
cmplw cr7,r2,r0
ble- cr7,L1046
lis r29,0x1
b L420
L1308:
stw r29,4(r26)
L414:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L410
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L417
add r22,r22,r3
L417:
cmpwi cr7,r23,0
beq- cr7,L418
add r23,r23,r3
L418:
cmpwi cr7,r25,0
beq- cr7,L410
add r25,r25,r3
L410:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,3
cmplw cr7,r2,r0
ble- cr7,L1046
L420:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1308
stw r0,4(r26)
b L414
L1118:
stw r0,4(r26)
b L398
L1048:
li r0,3
stb r0,0(r27)
L1270:
lwz r30,240(r1)
addi r27,r27,1
b L288
L1050:
subf r2,r3,r27
mr r23,r27
addi r2,r2,1
mr r30,r3
cmplw cr7,r2,r0
ble- cr7,L1052
lis r29,0x1
b L458
L1309:
stw r29,4(r26)
L452:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L448
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L455
add r22,r22,r3
L455:
cmpwi cr7,r23,0
beq- cr7,L456
add r23,r23,r3
L456:
cmpwi cr7,r25,0
beq- cr7,L448
add r25,r25,r3
L448:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1052
L458:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1309
stw r0,4(r26)
b L452
L1040:
li r0,10
stb r0,0(r27)
b L1270
L1038:
li r0,9
stb r0,0(r27)
b L1270
L1052:
lwz r9,240(r1)
mr r11,r27
addi r27,r27,1
lbz r2,0(r9)
extsb r2,r2
xori r2,r2,94
addic r8,r2,-1
subfe r0,r8,r2
subfic r0,r0,5
stb r0,0(r11)
lwz r30,240(r1)
lbz r0,0(r30)
cmpwi cr7,r0,94
beq- cr7,L1310
L461:
lwz r3,0(r26)
mr r19,r30
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1054
lis r29,0x1
b L473
L1311:
stw r29,4(r26)
L467:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L463
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L470
add r22,r22,r3
L470:
cmpwi cr7,r23,0
beq- cr7,L471
add r23,r23,r3
L471:
cmpwi cr7,r25,0
beq- cr7,L463
add r25,r25,r3
L463:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1054
L473:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1311
stw r0,4(r26)
b L467
L1054:
li r0,0
li r2,32
stb r2,0(r27)
stwu r0,1(r27)
lbz r2,-2(r27)
stw r0,28(r27)
cmpwi cr7,r2,5
stw r0,4(r27)
stw r0,8(r27)
stw r0,12(r27)
stw r0,16(r27)
stw r0,20(r27)
stw r0,24(r27)
beq- cr7,L1312
L474:
srwi r2,r17,2
stw r2,320(r1)
b L1354
L1253:
L1354:
lwz r2,240(r1)
cmpw cr7,r2,r21
beq- cr7,L1184
addi r30,r2,1
lbz r28,0(r2)
stw r30,240(r1)
beq- cr3,L478
lbzx r28,r20,r28
L478:
xori r0,r28,92
subfic r8,r0,0
adde r0,r8,r0
and. r9,r17,r0
beq- cr0,L481
cmpw cr7,r30,r21
beq- cr7,L1188
addi r30,r30,1
lbz r29,1(r2)
stw r30,240(r1)
beq- cr3,L483
lbzx r29,r20,r29
L483:
srwi r11,r29,3
rlwinm r9,r29,0,29,31
lbzx r2,r27,r11
li r0,1
slw r0,r0,r9
mr r14,r29
or r2,r2,r0
stbx r2,r27,r11
b L1253
L1312:
andi. r0,r17,256
beq- cr0,L474
lbz r0,1(r27)
ori r0,r0,4
stb r0,1(r27)
b L474
L481:
cmpwi cr7,r28,93
beq- cr7,L1313
L486:
cmpwi cr6,r28,45
mfcr r0
rlwinm r0,r0,27,1
and. r10,r15,r0
beq- cr0,L487
lbz r0,0(r30)
cmpwi cr7,r0,93
bne- cr7,L1168
L487:
bne- cr6,L488
addi r0,r30,-2
cmplw cr7,r0,r18
blt- cr7,L489
lbz r0,-2(r30)
cmpwi cr7,r0,91
beq- cr7,L488
L489:
addi r0,r30,-3
cmplw cr7,r0,r18
blt- cr7,L490
lbz r0,-3(r30)
cmpwi cr7,r0,91
beq- cr7,L1314
L490:
lbz r0,0(r30)
cmpwi cr7,r0,93
beq- cr7,L488
mr r3,r14
addi r4,r1,240
mr r5,r21
mr r6,r20
mr r7,r17
mr r8,r27
L1272:
bl _byte_compile_range
mr. r29,r3
bne- cr0,L1171
li r14,-1
b L1253
L1314:
lbz r0,-2(r30)
cmpwi cr7,r0,94
bne+ cr7,L490
L488:
lbz r0,0(r30)
cmpwi cr7,r0,45
beq- cr7,L1315
L493:
cmpwi cr6,r28,91
lwz r2,320(r1)
mfcr r0
rlwinm r0,r0,27,1
and. r2,r2,r0
beq- cr0,L499
lbz r0,0(r30)
cmpwi cr7,r0,58
beq- cr7,L1316
L499:
mfcr r0
rlwinm r0,r0,27,1
lwz r10,320(r1)
and. r10,r10,r0
beq- cr0,L599
lbz r0,0(r30)
cmpwi cr7,r0,61
beq- cr7,L1317
L599:
mfcr r0
rlwinm r0,r0,27,1
lwz r2,320(r1)
and. r2,r2,r0
beq- cr0,L624
lbz r0,0(r30)
cmpwi cr7,r0,46
beq- cr7,L1318
L624:
rlwinm r11,r28,29,24,31
rlwinm r9,r28,0,29,31
lbzx r2,r27,r11
li r0,1
slw r0,r0,r9
mr r14,r28
or r2,r2,r0
li r15,0
stbx r2,r27,r11
b L1253
L1313:
addi r0,r19,1
cmpw cr7,r30,r0
beq+ cr7,L486
lbz r9,-1(r27)
mr. r0,r9
beq- cr0,L650
add r2,r27,r0
lbz r0,-1(r2)
cmpwi cr7,r0,0
bne- cr7,L650
L651:
addi r0,r9,-1
stb r0,-1(r27)
lbz r9,-1(r27)
mr. r0,r9
beq- cr0,L1113
add r2,r27,r0
lbz r0,-1(r2)
cmpwi cr7,r0,0
beq+ cr7,L651
L1113:
lwz r30,240(r1)
L650:
add r27,r27,r9
b L288
L1315:
lbz r0,1(r30)
cmpwi cr7,r0,93
beq- cr7,L493
cmpw cr7,r30,r21
beq- cr7,L1201
addi r30,r30,1
mr r3,r28
addi r4,r1,240
mr r5,r21
mr r6,r20
mr r7,r17
mr r8,r27
stw r30,240(r1)
b L1272
L1124:
stw r0,4(r26)
b L689
L1117:
stw r0,4(r26)
b L377
L1318:
cmpw cr7,r30,r21
beq- cr7,L1201
addi r30,r30,1
li r29,0
cmpw cr7,r30,r21
stw r30,240(r1)
beq- cr7,L1184
li r11,0
L1256:
cmpw cr7,r30,r21
beq- cr7,L1201
L1320:
lbz r28,0(r30)
addi r30,r30,1
stw r30,240(r1)
beq- cr3,L631
lbzx r28,r20,r28
L631:
cmpwi cr6,r28,46
beq- cr6,L1319
L636:
cmpw cr7,r30,r21
beq- cr7,L630
andi. r8,r29,128
bne- cr0,L637
addi r10,r1,56
addi r2,r29,1
add r9,r10,r29
rlwinm r29,r2,0,0xff
stb r28,40(r9)
lwz r30,240(r1)
cmpw cr7,r30,r21
bne+ cr7,L1320
L1201:
li r3,14
b L271
L1073:
addi r27,r27,3
lwz r30,240(r1)
li r23,0
mr r24,r27
b L288
L1316:
cmpw cr7,r30,r21
beq- cr7,L1201
addi r30,r30,1
li r29,0
cmpw cr7,r30,r21
stw r30,240(r1)
beq- cr7,L1184
li r11,0
L1254:
cmpw cr7,r30,r21
beq- cr7,L1201
L1322:
lbz r28,0(r30)
addi r30,r30,1
stw r30,240(r1)
beq- cr3,L506
lbzx r28,r20,r28
L506:
cmpwi cr6,r28,58
beq- cr6,L1321
L511:
cmpw cr7,r30,r21
beq- cr7,L505
cmplwi cr7,r29,5
bgt- cr7,L512
addi r8,r1,56
addi r2,r29,1
add r9,r8,r29
rlwinm r29,r2,0,0xff
stb r28,24(r9)
lwz r30,240(r1)
cmpw cr7,r30,r21
bne+ cr7,L1322
li r3,14
b L271
L512:
stb r11,80(r1)
b L1254
L1321:
lbz r0,0(r30)
cmpwi cr7,r0,93
bne+ cr7,L511
L505:
add r2,r1,r29
li r0,0
stb r0,80(r2)
bne- cr6,L514
lwz r30,240(r1)
lbz r0,0(r30)
cmpwi cr7,r0,93
beq- cr7,L1323
L514:
cmpwi cr7,r29,255
beq- cr7,L1058
lwz r30,240(r1)
L597:
addi r0,r29,-1
addi r30,r30,-1
rlwinm r29,r0,0,0xff
cmpwi cr7,r29,255
bne+ cr7,L597
stw r30,240(r1)
L1058:
lbz r0,11(r27)
li r14,58
lbz r2,7(r27)
ori r0,r0,8
ori r2,r2,4
L1264:
li r15,0
stb r0,11(r27)
stb r2,7(r27)
b L1253
L1067:
li r0,20
li r3,14
stb r0,0(r27)
addi r27,r27,1
subf r5,r22,r27
mr r4,r22
addi r5,r5,-4
bl _byte_store_op1
L701:
lwz r10,72(r1)
cmpwi cr7,r10,0
bne- cr7,L714
andis. r0,r17,2
bne+ cr0,L315
L1271:
lwz r3,64(r1)
bl L_free$stub
li r3,16
b L271
L1317:
cmpw cr7,r30,r21
beq- cr7,L1201
addi r30,r30,1
li r29,0
cmpw cr7,r30,r21
stw r30,240(r1)
beq- cr7,L1184
li r9,0
L1255:
cmpw cr7,r30,r21
beq- cr7,L1201
L1325:
lbz r28,0(r30)
addi r30,r30,1
stw r30,240(r1)
beq- cr3,L606
lbzx r28,r20,r28
L606:
cmpwi cr6,r28,61
beq- cr6,L1324
L611:
cmpw cr7,r30,r21
beq- cr7,L605
cmpwi cr7,r29,0
bne- cr7,L612
addi r11,r29,244
addi r2,r29,1
stbx r28,r11,r1
rlwinm r29,r2,0,0xff
lwz r30,240(r1)
cmpw cr7,r30,r21
bne+ cr7,L1325
li r3,14
b L271
L612:
stb r9,244(r1)
b L1255
L1324:
lbz r0,0(r30)
cmpwi cr7,r0,93
bne+ cr7,L611
L605:
li r0,0
addi r2,r1,244
stbx r0,r29,r2
bne- cr6,L614
lwz r30,240(r1)
lbz r0,0(r30)
cmpwi cr7,r0,93
beq- cr7,L1326
L614:
cmpwi cr7,r29,255
beq- cr7,L1060
lwz r30,240(r1)
L622:
addi r0,r29,-1
addi r30,r30,-1
rlwinm r29,r0,0,0xff
cmpwi cr7,r29,255
bne+ cr7,L622
stw r30,240(r1)
L1060:
lbz r0,11(r27)
li r14,61
lbz r2,7(r27)
ori r0,r0,8
ori r2,r2,32
b L1264
L1319:
lbz r0,0(r30)
cmpwi cr7,r0,93
bne+ cr7,L636
L630:
add r2,r1,r29
li r0,0
stb r0,96(r2)
bne- cr6,L639
lwz r30,240(r1)
lbz r0,0(r30)
cmpwi cr7,r0,93
beq- cr7,L1327
L639:
cmpwi cr7,r29,255
beq- cr7,L1062
lwz r30,240(r1)
L647:
addi r0,r29,-1
addi r30,r30,-1
rlwinm r29,r0,0,0xff
cmpwi cr7,r29,255
bne+ cr7,L647
stw r30,240(r1)
L1062:
lbz r0,11(r27)
li r14,46
lbz r2,5(r27)
li r15,0
ori r0,r0,8
ori r2,r2,64
stb r0,11(r27)
stb r2,5(r27)
b L1253
L637:
stb r11,96(r1)
b L1256
L714:
addi r10,r10,-1
lwz r8,64(r1)
mulli r11,r10,20
lwz r3,0(r26)
stw r10,72(r1)
add r2,r11,r8
lwzx r0,r11,r8
lwz r9,4(r2)
add r24,r3,r0
cmpwi cr7,r9,0
add r9,r3,r9
addi r22,r9,-1
bne- cr7,L718
li r22,0
L718:
lwz r0,72(r1)
li r25,0
mulli r0,r0,20
add r2,r0,r8
lwz r29,16(r2)
lwz r0,12(r2)
cmplwi cr7,r29,255
add r23,r3,r0
bgt- cr7,L1114
lwz r2,8(r2)
subf r19,r29,r16
stbx r19,r3,r2
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,3
cmplw cr7,r2,r0
ble- cr7,L1069
lis r28,0x1
b L731
L1328:
stw r28,4(r26)
L725:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L721
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L728
add r22,r22,r3
L728:
cmpwi cr7,r23,0
beq- cr7,L729
add r23,r23,r3
L729:
cmpwi cr7,r25,0
beq- cr7,L721
add r25,r25,r3
L721:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,3
cmplw cr7,r2,r0
ble- cr7,L1069
L731:
cmpw cr7,r0,r28
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r28
bgt- cr7,L1328
stw r0,4(r26)
b L725
L1188:
lwz r3,64(r1)
bl L_free$stub
li r3,5
b L271
L990:
lbz r0,0(r30)
cmpwi cr7,r0,92
bne+ cr7,L986
lbz r0,1(r30)
b L1269
L323:
addic r8,r9,-1
subfe r0,r8,r9
and. r8,r11,r0
beq- cr0,L324
lbz r0,0(r9)
cmpwi cr7,r0,41
b L1259
L364:
addi r30,r30,-1
stw r30,240(r1)
b L352
L1287:
andi. r8,r17,32
bne- cr0,L1202
andi. r9,r17,16
bne+ cr0,L347
b L315
L1284:
lwz r3,64(r1)
bl L_free$stub
li r3,8
b L271
L1305:
rlwinm r0,r17,17,31,31
or. r10,r9,r0
L1258:
beq- cr0,L301
li r2,1
b L301
L1304:
rlwinm r0,r17,19,31,31
or. r8,r9,r0
b L1258
L325:
addic r2,r9,-1
subfe r0,r2,r9
and. r8,r11,r0
beq- cr0,L327
lbz r0,0(r9)
cmpwi cr7,r0,124
b L1260
L322:
li r10,1
b L327
L1307:
rlwinm r0,r19,0,0xff
subfc r2,r21,r30
subfe r2,r2,r2
neg r2,r2
neg r0,r0
srwi r0,r0,31
and. r8,r0,r2
beq- cr0,L384
beq- cr3,L389
lbz r0,0(r30)
lbzx r2,r20,r0
extsb r2,r2
L390:
beq- cr3,L391
lbz r0,10(r20)
extsb r0,r0
cmpw cr7,r2,r0
L1263:
bne+ cr7,L384
andi. r9,r17,64
bne+ cr0,L384
subf r5,r27,r23
li r3,13
addi r5,r5,-3
mr r4,r27
bl _byte_store_op1
li r15,1
b L393
L387:
cmpwi cr7,r2,46
b L1262
L385:
lbz r0,-2(r30)
extsb r2,r0
b L386
L1069:
li r0,7
stb r0,0(r27)
stbu r29,1(r27)
stbu r19,1(r27)
lwz r30,240(r1)
addi r27,r27,1
b L288
L1310:
addi r30,r30,1
stw r30,240(r1)
b L461
L1046:
mr r6,r27
li r3,19
mr r4,r23
li r5,3
bl _byte_insert_op1
lwz r30,240(r1)
addi r27,r27,3
b L288
L1279:
lwz r3,64(r1)
bl L_free$stub
li r3,12
b L271
L1292:
mulli r4,r4,40
lwz r3,64(r1)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,64(r1)
beq- cr7,L1233
lwz r0,68(r1)
lwz r4,72(r1)
slwi r0,r0,1
stw r0,68(r1)
b L679
L1293:
li r0,0
b L682
L763:
andis. r0,r17,32
beq- cr0,L1329
L799:
andi. r10,r9,1
stw r11,240(r1)
li r28,123
beq- cr0,L678
b L315
L1326:
lbz r2,244(r1)
cmpwi cr7,r2,0
beq- cr7,L614
cmpwi cr7,r29,1
bne- cr7,L1186
cmpw cr7,r30,r21
beq- cr7,L1201
addi r30,r30,1
srwi r0,r2,3
stw r30,240(r1)
rlwinm r2,r2,0,29,31
lbzx r9,r27,r0
slw r2,r29,r2
li r15,1
or r9,r9,r2
stbx r9,r27,r0
b L1253
L1327:
lbz r2,96(r1)
cmpwi cr7,r2,0
beq- cr7,L639
cmpwi cr7,r29,1
bne- cr7,L1186
cmpw cr7,r30,r21
beq- cr7,L1201
addi r30,r30,1
srwi r0,r2,3
stw r30,240(r1)
rlwinm r2,r2,0,29,31
lbzx r9,r27,r0
slw r2,r29,r2
li r15,0
or r9,r9,r2
stbx r9,r27,r0
lbz r14,96(r1)
b L1253
L1329:
lwz r3,64(r1)
bl L_free$stub
lwz r0,240(r1)
xor r0,r0,r21
addic r8,r0,-1
subfe r2,r8,r0
addi r3,r2,9
b L271
L1186:
lwz r3,64(r1)
bl L_free$stub
li r3,3
b L271
L801:
cmpwi cr4,r29,1
ble- cr4,L814
li r15,20
L815:
lwz r3,0(r26)
lwz r2,4(r26)
subf r0,r3,r27
mr r30,r3
add r0,r0,r15
cmplw cr7,r0,r2
ble- cr7,L1079
lis r28,0x1
b L826
L1330:
stw r28,4(r26)
L820:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L816
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L823
add r22,r22,r3
L823:
cmpwi cr7,r23,0
beq- cr7,L824
add r23,r23,r3
L824:
cmpwi cr7,r25,0
beq- cr7,L816
add r25,r25,r3
L816:
lwz r3,0(r26)
lwz r2,4(r26)
subf r0,r3,r27
mr r30,r3
add r0,r0,r15
cmplw cr7,r0,r2
ble- cr7,L1079
L826:
cmpw cr7,r2,r28
beq- cr7,L1232
slwi r0,r2,1
cmplw cr7,r0,r28
bgt- cr7,L1330
stw r0,4(r26)
b L820
L1079:
addi r0,r27,5
ble- cr4,L827
subf r2,r23,r0
addi r5,r2,2
L828:
mr r7,r27
li r3,21
mr r27,r0
mr r4,r23
mr r6,r19
bl _byte_insert_op2
mr r7,r27
mr r6,r19
li r3,23
mr r4,r23
li r5,5
bl _byte_insert_op2
addi r27,r27,5
ble+ cr4,L813
addi r29,r29,-1
subf r5,r27,r23
mr r4,r27
addi r5,r5,2
addi r27,r27,5
li r3,22
mr r6,r29
bl _byte_store_op2
subf r5,r23,r27
mr r7,r27
mr r6,r29
li r3,23
mr r4,r23
bl _byte_insert_op2
addi r27,r27,5
L813:
lwz r30,240(r1)
li r25,0
b L288
L827:
subf r2,r23,r0
addi r5,r2,-3
b L828
L814:
li r15,10
b L815
L1203:
lwz r3,64(r1)
bl L_free$stub
li r3,10
b L271
L1297:
andi. r0,r17,32
beq- cr0,L795
andis. r2,r17,32
beq- cr0,L1202
L795:
andi. r8,r17,16
beq- cr0,L799
mr r23,r27
b L794
L1296:
lwz r30,240(r1)
cmpw cr7,r30,r21
bne+ cr7,L782
b L1235
L1331:
lbz r28,0(r30)
addi r30,r30,1
stw r30,240(r1)
beq- cr3,L776
lbzx r28,r20,r28
L776:
addi r0,r28,-48
rlwinm r0,r0,0,0xff
cmplwi cr7,r0,9
bgt- cr7,L775
cmpwi cr7,r29,32767
bgt- cr7,L774
nor r0,r29,r29
srawi r0,r0,31
and r29,r29,r0
mulli r2,r29,10
add r2,r2,r28
addi r29,r2,-48
L774:
cmpw cr7,r30,r21
beq- cr7,L775
L782:
cmpw cr7,r30,r21
bne+ cr7,L1331
li r3,14
b L271
L775:
cmpwi cr7,r29,0
bge+ cr7,L784
L1235:
li r29,32767
b L784
L1077:
subf r5,r23,r27
mr r6,r27
li r3,13
mr r4,r23
bl _byte_insert_op1
addi r27,r27,3
b L813
L1202:
lwz r3,64(r1)
bl L_free$stub
li r3,13
b L271
L391:
cmpwi cr7,r2,10
b L1263
L389:
lbz r0,0(r30)
extsb r2,r0
b L390
L1184:
lwz r3,64(r1)
bl L_free$stub
li r3,7
b L271
L1171:
lwz r3,64(r1)
bl L_free$stub
mr r3,r29
b L271
L1168:
lwz r3,64(r1)
bl L_free$stub
li r3,11
b L271
L1323:
addis r4,r31,ha16(LC17-"L00000000005$pb")
addi r3,r1,80
la r4,lo16(LC17-"L00000000005$pb")(r4)
bl L_strcmp$stub
addis r4,r31,ha16(LC18-"L00000000005$pb")
cmpwi cr2,r3,0
la r4,lo16(LC18-"L00000000005$pb")(r4)
addi r3,r1,80
bl L_strcmp$stub
mfcr r28
rlwinm r28,r28,11,1
addis r4,r31,ha16(LC19-"L00000000005$pb")
cmpwi cr4,r3,0
la r4,lo16(LC19-"L00000000005$pb")(r4)
addi r3,r1,80
bl L_strcmp$stub
mfcr r15
rlwinm r15,r15,19,1
cmpwi cr0,r3,0
addis r4,r31,ha16(LC20-"L00000000005$pb")
la r4,lo16(LC20-"L00000000005$pb")(r4)
addi r3,r1,80
mfcr r29
bl L_strcmp$stub
cmpwi cr0,r3,0
addis r4,r31,ha16(LC21-"L00000000005$pb")
la r4,lo16(LC21-"L00000000005$pb")(r4)
addi r3,r1,80
mfcr r0
stw r0,252(r1)
bl L_strcmp$stub
cmpwi cr0,r3,0
addis r4,r31,ha16(LC22-"L00000000005$pb")
la r4,lo16(LC22-"L00000000005$pb")(r4)
addi r3,r1,80
mfcr r0
stw r0,260(r1)
bl L_strcmp$stub
cmpwi cr0,r3,0
addis r4,r31,ha16(LC23-"L00000000005$pb")
la r4,lo16(LC23-"L00000000005$pb")(r4)
addi r3,r1,80
mfcr r0
stw r0,268(r1)
bl L_strcmp$stub
cmpwi cr0,r3,0
addis r4,r31,ha16(LC24-"L00000000005$pb")
la r4,lo16(LC24-"L00000000005$pb")(r4)
addi r3,r1,80
mfcr r0
stw r0,276(r1)
bl L_strcmp$stub
cmpwi cr0,r3,0
addis r4,r31,ha16(LC25-"L00000000005$pb")
la r4,lo16(LC25-"L00000000005$pb")(r4)
addi r3,r1,80
mfcr r0
stw r0,284(r1)
bl L_strcmp$stub
cmpwi cr0,r3,0
addis r4,r31,ha16(LC26-"L00000000005$pb")
la r4,lo16(LC26-"L00000000005$pb")(r4)
addi r3,r1,80
mfcr r0
stw r0,292(r1)
bl L_strcmp$stub
cmpwi cr0,r3,0
addis r4,r31,ha16(LC27-"L00000000005$pb")
la r4,lo16(LC27-"L00000000005$pb")(r4)
addi r3,r1,80
mfcr r0
stw r0,300(r1)
bl L_strcmp$stub
cmpwi cr0,r3,0
addis r4,r31,ha16(LC28-"L00000000005$pb")
la r4,lo16(LC28-"L00000000005$pb")(r4)
addi r3,r1,80
mfcr r0
stw r0,308(r1)
bl L_strcmp$stub
mtcrf 128,r29
lwz r0,252(r1)
cmpwi cr7,r3,0
mfcr r13
rlwinm r13,r13,3,1
mtcrf 128,r0
mfcr r0
rlwinm r0,r0,3,1
stw r0,248(r1)
lwz r0,260(r1)
mtcrf 128,r0
mfcr r0
rlwinm r0,r0,3,1
stw r0,256(r1)
lwz r0,268(r1)
mtcrf 128,r0
mfcr r0
rlwinm r0,r0,3,1
stw r0,264(r1)
lwz r0,276(r1)
mtcrf 128,r0
mfcr r0
rlwinm r0,r0,3,1
stw r0,272(r1)
lwz r0,284(r1)
mtcrf 128,r0
mfcr r0
rlwinm r0,r0,3,1
stw r0,280(r1)
lwz r0,292(r1)
mtcrf 128,r0
mfcr r0
rlwinm r0,r0,3,1
stw r0,288(r1)
lwz r0,300(r1)
mtcrf 128,r0
mfcr r0
rlwinm r0,r0,3,1
stw r0,296(r1)
lwz r0,308(r1)
mtcrf 128,r0
mfcr r0
rlwinm r0,r0,3,1
stw r0,304(r1)
mfcr r0
rlwinm r0,r0,31,1
stw r0,312(r1)
beq- cr4,L515
beq- cr0,L515
lwz r8,276(r1)
mtcrf 128,r8
beq- cr0,L515
lwz r0,260(r1)
mtcrf 128,r0
beq- cr0,L515
beq- cr2,L515
beq- cr7,L515
lwz r0,300(r1)
mtcrf 128,r0
beq- cr0,L515
lwz r0,284(r1)
mtcrf 128,r0
beq- cr0,L515
lwz r0,292(r1)
mtcrf 128,r0
beq- cr0,L515
lwz r0,268(r1)
mtcrf 128,r0
beq- cr0,L515
lwz r0,252(r1)
mtcrf 128,r0
beq- cr0,L515
rlwinm r29,r29,8,0xffffffff
mtcrf 2,r29
rlwinm r29,r29,24,0xffffffff
bne- cr6,L1175
L515:
cmpw cr7,r30,r21
beq- cr7,L1201
addi r30,r30,1
cmpw cr7,r30,r21
stw r30,240(r1)
beq- cr7,L1184
addis r8,r31,ha16(L__DefaultRuneLocale$non_lazy_ptr-"L00000000005$pb")
addis r2,r31,ha16(LC29-"L00000000005$pb")
lwz r8,lo16(L__DefaultRuneLocale$non_lazy_ptr-"L00000000005$pb")(r8)
li r29,0
lwz r30,lo16(LC29-"L00000000005$pb")(r2)
addi r8,r8,52
stw r8,316(r1)
L593:
extsb. r9,r28
beq- cr0,L525
rlwinm. r10,r29,0,0,24
bne- cr0,L525
cmplwi cr7,r29,255
bgt- cr7,L1332
lwz r0,0(r30)
slwi r2,r29,2
add r2,r2,r0
lwz r9,52(r2)
andi. r3,r9,1280
L528:
cmpwi cr7,r3,0
bne- cr7,L524
L525:
extsb. r0,r15
beq- cr0,L530
rlwinm. r2,r29,0,0,24
bne- cr0,L530
cmplwi cr7,r29,255
bgt- cr7,L1333
lwz r0,0(r30)
slwi r2,r29,2
add r2,r2,r0
lwz r9,52(r2)
rlwinm r3,r9,0,23,23
L533:
cmpwi cr7,r3,0
bne- cr7,L524
L530:
extsb. r0,r13
beq- cr0,L535
rlwinm. r2,r29,0,0,24
bne- cr0,L535
cmplwi cr7,r29,255
bgt- cr7,L1334
lwz r0,0(r30)
slwi r2,r29,2
add r2,r2,r0
lwz r9,52(r2)
rlwinm r3,r9,0,14,14
L538:
cmpwi cr7,r3,0
bne- cr7,L524
L535:
lwz r0,248(r1)
extsb. r0,r0
beq- cr0,L523
rlwinm. r2,r29,0,0,24
bne- cr0,L523
cmplwi cr7,r29,255
bgt- cr7,L1335
lwz r0,0(r30)
slwi r2,r29,2
add r2,r2,r0
lwz r9,52(r2)
rlwinm r3,r9,0,22,22
L542:
cmpwi cr7,r3,0
beq- cr7,L523
L524:
rlwinm r0,r29,0,0xff
li r8,1
srwi r9,r0,3
rlwinm r0,r0,0,29,31
lbzx r2,r27,r9
slw r0,r8,r0
or r2,r2,r0
stbx r2,r27,r9
L523:
lwz r9,256(r1)
extsb. r9,r9
beq- cr0,L546
rlwinm. r10,r29,0,0,24
bne- cr0,L546
cmplwi cr7,r29,255
bgt- cr7,L546
lwz r11,316(r1)
lwz r0,0(r11)
andi. r2,r0,1024
bne- cr0,L545
L546:
lwz r8,264(r1)
extsb. r8,r8
beq- cr0,L549
rlwinm. r9,r29,0,0,24
bne- cr0,L549
cmplwi cr7,r29,255
bgt- cr7,L1336
lwz r0,0(r30)
slwi r2,r29,2
add r2,r2,r0
lwz r9,52(r2)
rlwinm r3,r9,0,20,20
L552:
cmpwi cr7,r3,0
bne- cr7,L545
L549:
lwz r0,272(r1)
extsb. r0,r0
beq- cr0,L554
rlwinm. r2,r29,0,0,24
bne- cr0,L554
cmplwi cr7,r29,255
bgt- cr7,L1337
lwz r0,0(r30)
slwi r2,r29,2
add r2,r2,r0
lwz r9,52(r2)
rlwinm r3,r9,0,19,19
L557:
cmpwi cr7,r3,0
bne- cr7,L545
L554:
lwz r0,280(r1)
extsb. r0,r0
beq- cr0,L544
rlwinm. r2,r29,0,0,24
bne- cr0,L544
cmplwi cr7,r29,255
bgt- cr7,L1338
lwz r0,0(r30)
slwi r2,r29,2
add r2,r2,r0
lwz r9,52(r2)
rlwinm r3,r9,0,13,13
L561:
cmpwi cr7,r3,0
beq- cr7,L544
L545:
rlwinm r0,r29,0,0xff
li r8,1
srwi r9,r0,3
rlwinm r0,r0,0,29,31
lbzx r2,r27,r9
slw r0,r8,r0
or r2,r2,r0
stbx r2,r27,r9
L544:
lwz r9,288(r1)
extsb. r9,r9
beq- cr0,L565
rlwinm. r10,r29,0,0,24
bne- cr0,L565
cmplwi cr7,r29,255
bgt- cr7,L1339
lwz r0,0(r30)
slwi r2,r29,2
add r2,r2,r0
lwz r9,52(r2)
rlwinm r3,r9,0,18,18
L568:
cmpwi cr7,r3,0
bne- cr7,L564
L565:
lwz r0,296(r1)
extsb. r0,r0
beq- cr0,L570
rlwinm. r2,r29,0,0,24
bne- cr0,L570
cmplwi cr7,r29,255
bgt- cr7,L1340
lwz r0,0(r30)
slwi r2,r29,2
add r2,r2,r0
lwz r9,52(r2)
rlwinm r3,r9,0,17,17
L573:
cmpwi cr7,r3,0
bne- cr7,L564
L570:
lwz r0,304(r1)
extsb. r0,r0
beq- cr0,L575
rlwinm. r2,r29,0,0,24
bne- cr0,L575
cmplwi cr7,r29,255
bgt- cr7,L1341
lwz r0,0(r30)
slwi r2,r29,2
add r2,r2,r0
lwz r9,52(r2)
rlwinm r3,r9,0,16,16
L578:
cmpwi cr7,r3,0
bne- cr7,L564
L575:
lwz r0,312(r1)
extsb. r0,r0
beq- cr0,L563
rlwinm. r2,r29,0,0,24
bne- cr0,L563
cmplwi cr7,r29,255
bgt- cr7,L563
lwz r8,316(r1)
lwz r0,0(r8)
andis. r9,r0,1
beq- cr0,L563
L564:
rlwinm r0,r29,0,0xff
li r10,1
srwi r9,r0,3
rlwinm r0,r0,0,29,31
lbzx r2,r27,r9
slw r0,r10,r0
or r2,r2,r0
stbx r2,r27,r9
L563:
beq- cr3,L522
lwz r11,304(r1)
lwz r0,272(r1)
or. r11,r11,r0
beq- cr0,L522
rlwinm. r2,r29,0,0,24
bne- cr0,L522
cmplwi cr7,r29,255
bgt- cr7,L1342
lwz r0,0(r30)
slwi r2,r29,2
add r2,r2,r0
lwz r9,52(r2)
rlwinm r3,r9,0,16,16
L587:
cmpwi cr7,r3,0
bne- cr7,L583
cmplwi cr7,r29,255
bgt- cr7,L1343
lwz r0,0(r30)
slwi r2,r29,2
add r2,r2,r0
lwz r9,52(r2)
rlwinm r3,r9,0,19,19
L591:
cmpwi cr7,r3,0
beq- cr7,L522
L583:
rlwinm r0,r29,0,0xff
li r8,1
srwi r9,r0,3
rlwinm r0,r0,0,29,31
lbzx r2,r27,r9
slw r0,r8,r0
or r2,r2,r0
stbx r2,r27,r9
L522:
addi r29,r29,1
lwz r9,316(r1)
cmpwi cr7,r29,255
addi r9,r9,4
stw r9,316(r1)
ble+ cr7,L593
li r15,1
b L1253
L1339:
mr r3,r29
bl L____runetype$stub
rlwinm r3,r3,0,18,18
b L568
L1340:
mr r3,r29
bl L____runetype$stub
rlwinm r3,r3,0,17,17
b L573
L1336:
mr r3,r29
bl L____runetype$stub
rlwinm r3,r3,0,20,20
b L552
L1333:
mr r3,r29
bl L____runetype$stub
rlwinm r3,r3,0,23,23
b L533
L1332:
mr r3,r29
bl L____runetype$stub
andi. r3,r3,1280
b L528
L1334:
mr r3,r29
bl L____runetype$stub
rlwinm r3,r3,0,14,14
b L538
L1341:
mr r3,r29
bl L____runetype$stub
rlwinm r3,r3,0,16,16
b L578
L1337:
mr r3,r29
bl L____runetype$stub
rlwinm r3,r3,0,19,19
b L557
L1335:
mr r3,r29
bl L____runetype$stub
rlwinm r3,r3,0,22,22
b L542
L1338:
mr r3,r29
bl L____runetype$stub
rlwinm r3,r3,0,13,13
b L561
L1342:
mr r3,r29
bl L____runetype$stub
rlwinm r3,r3,0,16,16
b L587
L1343:
mr r3,r29
bl L____runetype$stub
rlwinm r3,r3,0,19,19
b L591
L1175:
lwz r3,64(r1)
bl L_free$stub
li r3,4
b L271
L732:
srwi r0,r17,10
andi. r2,r0,1
bne- cr0,L678
andi. r8,r17,32768
bne- cr0,L678
b L662
L759:
andi. r0,r17,512
beq- cr0,L678
srwi r9,r17,12
andi. r2,r9,1
bne- cr0,L678
b L669
L835:
andis. r11,r17,8
bne- cr0,L315
lwz r3,0(r26)
mr r23,r27
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1081
lis r29,0x1
b L848
L1344:
stw r29,4(r26)
L842:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L838
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L845
add r22,r22,r3
L845:
cmpwi cr7,r23,0
beq- cr7,L846
add r23,r23,r3
L846:
cmpwi cr7,r25,0
beq- cr7,L838
add r25,r25,r3
L838:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1081
L848:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1344
stw r0,4(r26)
b L842
L1081:
li r0,24
stb r0,0(r27)
b L1270
L891:
andis. r0,r17,8
bne- cr0,L315
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1089
lis r29,0x1
b L904
L1345:
stw r29,4(r26)
L898:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L894
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L901
add r22,r22,r3
L901:
cmpwi cr7,r23,0
beq- cr7,L902
add r23,r23,r3
L902:
cmpwi cr7,r25,0
beq- cr7,L894
add r25,r25,r3
L894:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1089
L904:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1345
stw r0,4(r26)
b L898
L1089:
li r0,28
stb r0,0(r27)
b L1270
L919:
andis. r0,r17,8
bne- cr0,L315
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1093
lis r29,0x1
b L932
L1346:
stw r29,4(r26)
L926:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L922
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L929
add r22,r22,r3
L929:
cmpwi cr7,r23,0
beq- cr7,L930
add r23,r23,r3
L930:
cmpwi cr7,r25,0
beq- cr7,L922
add r25,r25,r3
L922:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1093
L932:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1346
stw r0,4(r26)
b L926
L1093:
li r0,11
stb r0,0(r27)
b L1270
L849:
andis. r0,r17,8
bne- cr0,L315
lwz r3,0(r26)
mr r23,r27
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1083
lis r29,0x1
b L862
L1347:
stw r29,4(r26)
L856:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L852
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L859
add r22,r22,r3
L859:
cmpwi cr7,r23,0
beq- cr7,L860
add r23,r23,r3
L860:
cmpwi cr7,r25,0
beq- cr7,L852
add r25,r25,r3
L852:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1083
L862:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1347
stw r0,4(r26)
b L856
L1083:
li r0,25
stb r0,0(r27)
b L1270
L905:
andis. r0,r17,8
bne- cr0,L315
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1091
lis r29,0x1
b L918
L1348:
stw r29,4(r26)
L912:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L908
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L915
add r22,r22,r3
L915:
cmpwi cr7,r23,0
beq- cr7,L916
add r23,r23,r3
L916:
cmpwi cr7,r25,0
beq- cr7,L908
add r25,r25,r3
L908:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1091
L918:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1348
stw r0,4(r26)
b L912
L1091:
li r0,29
stb r0,0(r27)
b L1270
L978:
andi. r0,r17,2
bne- cr0,L346
b L678
L877:
andis. r0,r17,8
bne- cr0,L315
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1087
lis r29,0x1
b L890
L1349:
stw r29,4(r26)
L884:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L880
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L887
add r22,r22,r3
L887:
cmpwi cr7,r23,0
beq- cr7,L888
add r23,r23,r3
L888:
cmpwi cr7,r25,0
beq- cr7,L880
add r25,r25,r3
L880:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1087
L890:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1349
stw r0,4(r26)
b L884
L1087:
li r0,27
stb r0,0(r27)
b L1270
L863:
andis. r0,r17,8
bne- cr0,L315
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1085
lis r29,0x1
b L876
L1350:
stw r29,4(r26)
L870:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L866
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L873
add r22,r22,r3
L873:
cmpwi cr7,r23,0
beq- cr7,L874
add r23,r23,r3
L874:
cmpwi cr7,r25,0
beq- cr7,L866
add r25,r25,r3
L866:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1085
L876:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1350
stw r0,4(r26)
b L870
L1085:
li r0,26
stb r0,0(r27)
b L1270
L955:
andi. r0,r17,16384
bne- cr0,L315
addi r0,r28,-48
rlwinm r29,r0,0,0xff
cmplw cr7,r29,r16
bgt- cr7,L1224
lwz r0,72(r1)
lwz r11,64(r1)
addic. r9,r0,-1
lwz r2,68(r1)
stw r11,224(r1)
stw r2,228(r1)
stw r0,232(r1)
blt- cr0,L1097
mulli r2,r9,20
add r2,r2,r11
addi r2,r2,16
b L964
L1351:
addic. r9,r9,-1
blt- cr0,L1097
L964:
lwz r0,0(r2)
addi r2,r2,-20
cmpw cr7,r0,r29
bne+ cr7,L1351
li r0,1
L963:
cmpwi cr7,r0,0
bne- cr7,L315
lwz r3,0(r26)
mr r23,r27
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,2
cmplw cr7,r2,r0
ble- cr7,L1099
lis r28,0x1
b L976
L1352:
stw r28,4(r26)
L970:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L966
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L973
add r22,r22,r3
L973:
cmpwi cr7,r23,0
beq- cr7,L974
add r23,r23,r3
L974:
cmpwi cr7,r25,0
beq- cr7,L966
add r25,r25,r3
L966:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,2
cmplw cr7,r2,r0
ble- cr7,L1099
L976:
cmpw cr7,r0,r28
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r28
bgt- cr7,L1352
stw r0,4(r26)
b L970
L1099:
li r0,8
stb r0,0(r27)
stbu r29,1(r27)
lwz r30,240(r1)
addi r27,r27,1
b L288
L1097:
li r0,0
b L963
L1224:
lwz r3,64(r1)
bl L_free$stub
li r3,6
b L271
L676:
andi. r11,r17,8192
beq+ cr0,L654
b L678
L933:
andis. r0,r17,8
bne- cr0,L315
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1095
lis r29,0x1
b L946
L1353:
stw r29,4(r26)
L940:
lwz r4,4(r26)
bl L_realloc$stub
cmpwi cr7,r3,0
stw r3,0(r26)
beq- cr7,L1233
cmpw cr7,r30,r3
beq- cr7,L936
cmpwi cr7,r22,0
subf r3,r30,r3
add r27,r27,r3
add r24,r24,r3
beq- cr7,L943
add r22,r22,r3
L943:
cmpwi cr7,r23,0
beq- cr7,L944
add r23,r23,r3
L944:
cmpwi cr7,r25,0
beq- cr7,L936
add r25,r25,r3
L936:
lwz r3,0(r26)
lwz r0,4(r26)
subf r2,r3,r27
mr r30,r3
addi r2,r2,1
cmplw cr7,r2,r0
ble- cr7,L1095
L946:
cmpw cr7,r0,r29
beq- cr7,L1232
slwi r0,r0,1
cmplw cr7,r0,r29
bgt- cr7,L1353
stw r0,4(r26)
b L940
L1095:
li r0,12
stb r0,0(r27)
b L1270
.align 2
.globl _xregcomp
_xregcomp:
mflr r0
rlwinm r2,r5,0,31,31
bcl 20,31,"L00000000006$pb"
"L00000000006$pb":
stmw r24,-32(r1)
addic r2,r2,-1
subfe r2,r2,r2
mflr r31
stw r0,8(r1)
lis r0,0xfffd
ori r0,r0,20426
stwu r1,-96(r1)
and r26,r2,r0
li r0,0
stw r0,8(r3)
mr r25,r5
stw r0,0(r3)
mr r28,r3
stw r0,4(r3)
addis r2,r26,0x4
li r3,256
mr r24,r4
addi r26,r2,-19716
bl L_malloc$stub
rlwinm r0,r25,31,31,31
stw r3,16(r28)
cmpwi cr7,r0,0
bne- cr7,L1381
stw r0,20(r28)
L1373:
andi. r0,r25,4
beq- cr0,L1374
lwz r0,28(r28)
rlwinm r26,r26,0,26,24
mr r3,r24
ori r26,r26,256
oris r0,r0,0x100
rlwimi r0,r25,24,4,4
stw r0,28(r28)
bl L_strlen$stub
mr r5,r26
mr r4,r3
mr r6,r28
mr r3,r24
bl _byte_regex_compile
cmpwi cr7,r3,16
mr r30,r3
beq- cr7,L1382
L1376:
cmpwi cr7,r3,0
bne- cr7,L1377
lwz r0,16(r28)
cmpwi cr7,r0,0
bne- cr7,L1383
L1377:
mr r3,r30
L1355:
addi r1,r1,96
lwz r0,8(r1)
lmw r24,-32(r1)
mtlr r0
blr
L1374:
lwz r0,28(r28)
mr r3,r24
rlwinm r0,r0,0,8,6
rlwimi r0,r25,24,4,4
stw r0,28(r28)
bl L_strlen$stub
mr r5,r26
mr r4,r3
mr r6,r28
mr r3,r24
bl _byte_regex_compile
cmpwi cr7,r3,16
mr r30,r3
bne+ cr7,L1376
L1382:
li r30,8
b L1377
L1381:
li r3,256
bl L_malloc$stub
cmpwi cr7,r3,0
stw r3,20(r28)
li r3,12
beq- cr7,L1355
addis r2,r31,ha16(L__CurrentRuneLocale$non_lazy_ptr-"L00000000006$pb")
li r30,0
lwz r27,lo16(L__CurrentRuneLocale$non_lazy_ptr-"L00000000006$pb")(r2)
b L1372
L1386:
cmplwi cr7,r30,255
bgt- cr7,L1384
lwz r0,0(r27)
slwi r2,r30,2
add r2,r2,r0
lwz r9,52(r2)
rlwinm r3,r9,0,16,16
L1367:
cmpwi cr7,r3,0
beq- cr7,L1363
cmplwi cr7,r30,255
bgt- cr7,L1385
lwz r0,0(r27)
slwi r2,r30,2
add r2,r2,r0
lwz r3,1076(r2)
L1364:
stbx r3,r29,r30
addi r30,r30,1
cmplwi cr7,r30,255
bgt- cr7,L1373
L1372:
rlwinm. r0,r30,0,0,24
lwz r29,20(r28)
beq- cr0,L1386
L1363:
mr r3,r30
b L1364
L1384:
mr r3,r30
bl L____runetype$stub
rlwinm r3,r3,0,16,16
b L1367
L1385:
mr r3,r30
bl L____tolower$stub
b L1364
L1383:
mr r3,r28
bl _xre_compile_fastmap
cmpwi cr7,r3,-2
bne+ cr7,L1377
lwz r3,16(r28)
bl L_free$stub
stw r30,16(r28)
b L1377
.data
.cstring
.align 2
LC30:
.ascii "No previous regular expression\0"
.text
.align 2
.globl _xre_comp
_xre_comp:
stmw r28,-16(r1)
mr. r28,r3
mflr r0
bcl 20,31,"L00000000007$pb"
"L00000000007$pb":
mflr r31
stw r0,8(r1)
stwu r1,-80(r1)
beq- cr0,L1396
addis r29,r31,ha16(_re_comp_buf-"L00000000007$pb")
la r30,lo16(_re_comp_buf-"L00000000007$pb")(r29)
lwz r0,0(r30)
cmpwi cr7,r0,0
beq- cr7,L1397
L1390:
la r29,lo16(_re_comp_buf-"L00000000007$pb")(r29)
mr r3,r28
lwz r0,28(r29)
oris r0,r0,0x100
stw r0,28(r29)
bl L_strlen$stub
mr r6,r29
addis r2,r31,ha16(L_xre_syntax_options$non_lazy_ptr-"L00000000007$pb")
mr r4,r3
lwz r2,lo16(L_xre_syntax_options$non_lazy_ptr-"L00000000007$pb")(r2)
mr r3,r28
lwz r5,0(r2)
bl _byte_regex_compile
mr. r0,r3
li r3,0
beq- cr0,L1387
addis r2,r31,ha16(_re_error_msgid-"L00000000007$pb")
slwi r0,r0,2
la r2,lo16(_re_error_msgid-"L00000000007$pb")(r2)
lwzx r3,r2,r0
L1387:
addi r1,r1,80
lwz r0,8(r1)
lmw r28,-16(r1)
mtlr r0
blr
L1397:
li r3,200
bl L_malloc$stub
cmpwi cr7,r3,0
stw r3,0(r30)
bne- cr7,L1398
L1395:
addi r1,r1,80
addis r2,r31,ha16(_re_error_msgid-"L00000000007$pb")
lwz r0,8(r1)
la r2,lo16(_re_error_msgid-"L00000000007$pb")(r2)
lwz r3,48(r2)
lmw r28,-16(r1)
mtlr r0
blr
L1396:
addis r2,r31,ha16(_re_comp_buf-"L00000000007$pb")
addis r3,r31,ha16(LC30-"L00000000007$pb")
lwz r2,lo16(_re_comp_buf-"L00000000007$pb")(r2)
la r3,lo16(LC30-"L00000000007$pb")(r3)
cmpwi cr7,r2,0
beq+ cr7,L1387
li r3,0
b L1387
L1398:
li r0,200
li r3,256
stw r0,4(r30)
bl L_malloc$stub
cmpwi cr7,r3,0
stw r3,16(r30)
bne- cr7,L1390
b L1395
.align 2
.globl _xre_compile_pattern
_xre_compile_pattern:
mflr r0
stw r31,-4(r1)
bcl 20,31,"L00000000008$pb"
"L00000000008$pb":
li r2,0
mflr r31
mr r6,r5
stw r0,8(r1)
stwu r1,-80(r1)
lwz r0,28(r5)
rlwimi r0,r2,29,1,2
addis r2,r31,ha16(L_xre_syntax_options$non_lazy_ptr-"L00000000008$pb")
rlwinm r0,r0,0,5,3
oris r0,r0,0x100
stw r0,28(r5)
lwz r2,lo16(L_xre_syntax_options$non_lazy_ptr-"L00000000008$pb")(r2)
lwz r5,0(r2)
bl _byte_regex_compile
li r0,0
cmpwi cr0,r3,0
addis r2,r31,ha16(_re_error_msgid-"L00000000008$pb")
la r2,lo16(_re_error_msgid-"L00000000008$pb")(r2)
slwi r3,r3,2
beq- cr0,L1399
lwzx r0,r3,r2
L1399:
addi r1,r1,80
mr r3,r0
lwz r0,8(r1)
lwz r31,-4(r1)
mtlr r0
blr
.align 2
_byte_re_match_2_internal:
mflr r0
stmw r13,-76(r1)
bcl 20,31,"L00000000009$pb"
"L00000000009$pb":
mr r16,r4
mflr r31
mr r15,r5
stw r0,8(r1)
mr r18,r6
stwu r1,-224(r1)
li r22,257
lwz r0,0(r1)
mr r30,r1
stw r3,248(r30)
li r21,256
stwu r0,-48(r1)
li r17,0
addi r29,r1,64
lwz r11,24(r3)
cmpwi cr7,r29,0
lwz r27,0(r3)
lwz r0,8(r3)
stw r8,268(r30)
lwz r8,20(r3)
add r19,r27,r0
stw r7,264(r30)
li r7,0
stw r9,272(r30)
addi r9,r11,1
stw r29,64(r30)
li r3,-2
stw r7,96(r30)
stw r8,100(r30)
stw r9,104(r30)
stw r7,116(r30)
stw r7,128(r30)
beq- cr7,L1401
cmpwi cr7,r11,0
li r0,5
li r11,0
stw r0,68(r30)
stw r11,72(r30)
bne- cr7,L2158
li r11,0
li r25,0
stw r11,132(r30)
li r24,0
stw r11,124(r30)
li r26,0
stw r11,120(r30)
stw r11,112(r30)
stw r11,108(r30)
stw r25,136(r30)
L1417:
lwz r0,268(r30)
cmpwi cr7,r0,0
blt- cr7,L2140
lwz r2,264(r30)
lwz r7,268(r30)
add r0,r15,r2
cmpw cr7,r7,r0
bgt- cr7,L2140
lwz r8,104(r30)
li r28,1
cmplw cr7,r28,r8
bge- cr7,L1977
addis r9,r31,ha16(_byte_reg_unset_dummy-"L00000000009$pb")
addi r8,r8,-1
la r9,lo16(_byte_reg_unset_dummy-"L00000000009$pb")(r9)
li r11,3
mtctr r8
L2113:
lwz r0,112(r30)
slwi r2,r28,2
lwz r7,108(r30)
addi r28,r28,1
stwx r9,r2,r0
stwx r9,r2,r7
stwx r9,r2,r24
stwx r9,r2,r25
lwzx r0,r2,r26
rlwimi r0,r11,30,0,1
rlwinm r0,r0,0,5,1
stwx r0,r2,r26
bdnz L2113
L1977:
lwz r8,264(r30)
addic r11,r16,-1
subfe r2,r11,r16
subfic r9,r8,0
adde r0,r9,r8
and. r7,r0,r2
beq- cr0,L1434
mr r18,r16
stw r15,264(r30)
li r16,0
li r15,0
L1434:
cmpw cr7,r10,r15
lwz r9,264(r30)
add r8,r16,r15
add r11,r16,r10
add r9,r18,r9
stw r8,140(r30)
stw r9,84(r30)
stw r11,88(r30)
stw r18,92(r30)
ble- cr7,L1436
add r0,r18,r10
stw r8,88(r30)
subf r0,r15,r0
stw r0,92(r30)
L1436:
lwz r0,268(r30)
li r2,1
cmpw cr7,r0,r15
subfic r0,r15,0
addme r0,r0
srwi r0,r0,31
ble- cr7,L1438
li r2,0
L1438:
and. r7,r0,r2
lwz r8,268(r30)
lwz r14,88(r30)
add r23,r16,r8
bne- cr0,L2212
add r0,r18,r8
lwz r14,92(r30)
subf r23,r15,r0
b L2212
L2125:
L2212:
cmpw cr7,r27,r19
beq- cr7,L2159
lbz r9,0(r27)
addi r27,r27,1
cmplwi cr7,r9,29
bgt- cr7,L1935
addis r2,r31,ha16(L1936-"L00000000009$pb")
slwi r9,r9,2
la r2,lo16(L1936-"L00000000009$pb")(r2)
lwzx r0,r9,r2
add r0,r0,r2
mtctr r0
bctr
.align 2
L1936:
.long L2125-L1936
.long L1464-L1936
.long L1530-L1936
.long L1555-L1936
.long L1574-L1936
.long L1574-L1936
.long L1589-L1936
.long L1596-L1936
.long L1644-L1936
.long L1679-L1936
.long L1687-L1936
.long L1694-L1936
.long L1699-L1936
.long L1797-L1936
.long L1797-L1936
.long L1719-L1936
.long L1701-L1936
.long L1785-L1936
.long L1741-L1936
.long L1801-L1936
.long L1816-L1936
.long L1831-L1936
.long L1838-L1936
.long L1843-L1936
.long L1903-L1936
.long L1919-L1936
.long L1877-L1936
.long L1890-L1936
.long L1849-L1936
.long L1863-L1936
L2158:
slwi r2,r9,2
lwz r0,0(r1)
addi r2,r2,30
rlwinm r2,r2,0,0,27
neg r2,r2
stwux r0,r1,r2
addi r25,r1,64
stwux r0,r1,r2
addi r24,r1,64
stwux r0,r1,r2
addi r7,r1,64
subfic r8,r25,0
adde r11,r8,r25
stw r7,108(r30)
subfic r7,r24,0
adde r9,r7,r24
stwux r0,r1,r2
or. r7,r11,r9
addi r8,r1,64
stw r8,112(r30)
stwux r0,r1,r2
addi r8,r1,64
stw r8,120(r30)
stwux r0,r1,r2
addi r9,r1,64
stw r9,124(r30)
stwux r0,r1,r2
addi r26,r1,64
stwux r0,r1,r2
addi r11,r1,64
stw r11,132(r30)
stwux r0,r1,r2
addi r2,r1,64
stw r2,136(r30)
bne- cr0,L1822
lwz r7,108(r30)
lwz r9,112(r30)
subfic r8,r7,0
adde r0,r8,r7
subfic r11,r9,0
adde r2,r11,r9
or. r7,r0,r2
bne- cr0,L1822
lwz r9,120(r30)
subfic r8,r26,0
adde r0,r8,r26
subfic r11,r9,0
adde r2,r11,r9
or. r7,r0,r2
bne- cr0,L1822
lwz r8,124(r30)
lwz r11,132(r30)
subfic r9,r8,0
adde r0,r9,r8
subfic r7,r11,0
adde r2,r7,r11
or. r8,r0,r2
bne- cr0,L1822
lwz r9,136(r30)
cmpwi cr7,r9,0
bne+ cr7,L1417
L1822:
li r3,-2
L1401:
lwz r1,0(r1)
lwz r0,8(r1)
lmw r13,-76(r1)
mtlr r0
blr
L2140:
lwz r1,0(r1)
li r3,-1
lwz r0,8(r1)
lmw r13,-76(r1)
mtlr r0
blr
L2159:
lwz r9,92(r30)
cmpw cr7,r23,r9
beq- cr7,L1464
lwz r11,128(r30)
subfic r10,r15,0
adde r0,r10,r15
subfc r2,r16,r11
subfe r2,r2,r2
neg r2,r2
or. r7,r0,r2
li r2,0
bne- cr0,L1445
lwz r8,140(r30)
cmplw cr7,r11,r8
bgt- cr7,L1445
L1444:
lwz r9,88(r30)
lwz r10,128(r30)
xor r0,r14,r9
subfic r9,r0,0
adde r0,r9,r0
cmpw cr7,r2,r0
subfc r2,r23,r10
subfe r2,r2,r2
neg r2,r2
bne- cr7,L1447
lwz r11,88(r30)
xor r0,r14,r11
addic r7,r0,-1
subfe r2,r7,r0
L1447:
lwz r7,72(r30)
cmpwi cr7,r7,0
beq- cr7,L1448
lwz r8,116(r30)
xori r0,r8,1
or. r9,r0,r2
beq- cr0,L2128
lwz r11,104(r30)
li r10,1
stw r10,116(r30)
li r28,1
cmplw cr7,r10,r11
stw r23,128(r30)
bge- cr7,L2128
addi r11,r11,-1
mtctr r11
L2112:
slwi r0,r28,2
lwz r2,120(r30)
lwzx r9,r25,r0
addi r28,r28,1
lwz r8,124(r30)
stwx r9,r2,r0
lwzx r2,r24,r0
stwx r2,r8,r0
bdnz L2112
L1454:
L2128:
cmpwi cr7,r7,0
beq- cr7,L1441
L2160:
addi r7,r7,-1
lwz r29,64(r30)
stw r7,72(r30)
slwi r2,r7,2
lwzx r0,r2,r29
cmpwi cr7,r0,0
beq- cr7,L1938
mr r23,r0
L1938:
addi r7,r7,-1
stw r7,72(r30)
slwi r2,r7,2
addi r7,r7,-1
lwzx r27,r2,r29
stw r7,72(r30)
slwi r2,r7,2
addi r7,r7,-1
lwzx r21,r2,r29
stw r7,72(r30)
slwi r2,r7,2
lwzx r22,r2,r29
mr r10,r21
cmplw cr7,r21,r22
blt- cr7,L2035
addi r0,r22,-1
subf r0,r0,r21
mtctr r0
L2103:
addi r7,r7,-1
slwi r11,r10,2
stw r7,72(r30)
slwi r2,r7,2
lwzx r0,r2,r29
addi r10,r10,-1
stwx r0,r11,r26
lwz r7,72(r30)
lwz r29,64(r30)
addi r7,r7,-1
stw r7,72(r30)
slwi r2,r7,2
lwzx r9,r2,r29
addi r0,r7,-1
stw r0,72(r30)
slwi r2,r0,2
stwx r9,r11,r24
mr r7,r0
lwzx r0,r2,r29
stwx r0,r11,r25
bdnz L2103
L2035:
cmpwi cr7,r27,0
li r17,0
beq- cr7,L2099
cmplw cr7,r27,r19
bge- cr7,L1950
lbz r0,0(r27)
li r2,0
cmplwi cr7,r0,18
bgt- cr7,L1962
cmplwi cr7,r0,17
bge- cr7,L1955
cmpwi cr7,r0,13
bne- cr7,L1950
L1955:
addi r29,r27,1
cmpwi cr7,r2,0
stw r29,80(r30)
lbz r0,1(r29)
addi r29,r27,3
lbz r28,1(r27)
extsb r0,r0
slwi r0,r0,8
add r28,r28,r0
add r2,r29,r28
stw r2,80(r30)
beq- cr7,L2116
lbz r0,0(r2)
cmpwi cr7,r0,21
beq- cr7,L2099
L1950:
lwz r7,140(r30)
subfc r0,r16,r23
li r0,0
adde r0,r0,r0
subfc r2,r23,r7
li r2,0
adde r2,r2,r2
and. r8,r0,r2
beq- cr0,L2125
lwz r14,88(r30)
b L2125
L1445:
li r2,1
b L1444
L2116:
lbz r0,0(r2)
cmpwi cr7,r0,15
bne- cr7,L1950
L2099:
lwz r7,72(r30)
L2172:
cmpwi cr7,r7,0
bne+ cr7,L2160
L1441:
lwz r9,116(r30)
cmpwi cr7,r9,0
beq- cr7,L2140
L1457:
lwz r23,128(r30)
lwz r10,140(r30)
subfc r0,r16,r23
li r0,0
adde r0,r0,r0
lwz r14,88(r30)
subfc r2,r23,r10
li r2,0
adde r2,r2,r2
and. r11,r0,r2
bne- cr0,L1459
lwz r14,92(r30)
L1459:
lwz r2,104(r30)
li r28,1
cmplw cr7,r28,r2
bge- cr7,L1464
addi r2,r2,-1
mtctr r2
L2111:
lwz r7,120(r30)
slwi r0,r28,2
lwz r8,124(r30)
addi r28,r28,1
lwzx r9,r7,r0
stwx r9,r25,r0
lwzx r2,r8,r0
stwx r2,r24,r0
bdnz L2111
L1464:
lwz r9,272(r30)
cmpwi cr7,r9,0
beq- cr7,L2041
lwz r10,248(r30)
lwz r11,88(r30)
lwz r0,28(r10)
cmpw cr6,r14,r11
andis. r2,r0,2048
bne- cr0,L1465
rlwinm r0,r0,3,30,31
cmpwi cr7,r0,0
bne- cr7,L1466
lwz r7,104(r30)
addi r3,r7,1
cmplwi cr7,r3,30
bge- cr7,L1467
li r3,30
L1467:
lwz r8,272(r30)
stw r3,0(r8)
slwi r3,r3,2
bl L_malloc$stub
lwz r2,272(r30)
lwz r0,0(r2)
stw r3,4(r2)
slwi r3,r0,2
bl L_malloc$stub
lwz r2,272(r30)
lwz r0,4(r2)
stw r3,8(r2)
cmpwi cr7,r0,0
beq- cr7,L1822
cmpwi cr7,r3,0
beq- cr7,L1822
lwz r7,248(r30)
li r2,1
lwz r0,28(r7)
rlwimi r0,r2,29,1,2
stw r0,28(r7)
L2044:
lwz r8,272(r30)
lwz r2,0(r8)
L1480:
cmpwi cr7,r2,0
lwz r9,88(r30)
cmpw cr6,r14,r9
beq- cr7,L1496
lwz r10,272(r30)
lwz r11,268(r30)
lwz r9,4(r10)
lwz r3,8(r10)
stw r11,0(r9)
beq- cr6,L2161
subf r0,r18,r23
add r0,r0,r15
L1498:
lwz r7,272(r30)
stw r0,0(r3)
lwz r2,0(r7)
L1496:
addis r10,r31,ha16(_byte_reg_unset_dummy-"L00000000009$pb")
cmpwi cr1,r15,0
la r10,lo16(_byte_reg_unset_dummy-"L00000000009$pb")(r10)
li r28,1
li r8,-1
L1499:
lwz r11,104(r30)
mr r0,r2
cmplw cr7,r2,r11
ble- cr7,L1502
mr r0,r11
L1502:
cmplw cr7,r28,r0
bge- cr7,L2162
slwi r2,r28,2
lwzx r11,r2,r25
cmpw cr7,r11,r10
beq- cr7,L1504
lwzx r0,r2,r24
cmpw cr7,r0,r10
beq- cr7,L1504
lwz r7,272(r30)
lwz r9,4(r7)
add r9,r2,r9
beq- cr1,L1506
cmplw cr7,r16,r11
bgt- cr7,L1506
lwz r7,140(r30)
subf r0,r16,r11
cmplw cr7,r11,r7
ble- cr7,L1507
L1506:
lwzx r0,r2,r25
subf r0,r18,r0
add r0,r0,r15
L1507:
lwz r11,272(r30)
stw r0,0(r9)
lwz r3,8(r11)
add r3,r2,r3
beq- cr1,L1508
lwzx r0,r2,r24
cmplw cr7,r16,r0
bgt- cr7,L1508
lwz r7,140(r30)
cmplw cr7,r0,r7
subf r0,r16,r0
ble- cr7,L1509
L1508:
lwzx r0,r2,r24
subf r0,r18,r0
add r0,r0,r15
L1509:
stw r0,0(r3)
L1501:
lwz r9,272(r30)
addi r28,r28,1
lwz r2,0(r9)
b L1499
L1962:
cmpwi cr7,r0,22
li r2,1
beq+ cr7,L1955
b L1950
L1919:
cmpw cr7,r23,r14
bne- cr7,L2032
L2163:
lwz r8,92(r30)
cmpw cr7,r14,r8
beq- cr7,L2099
mr r23,r18
mr r14,r8
cmpw cr7,r23,r14
beq- cr7,L2163
L2032:
lwz r9,140(r30)
addis r2,r31,ha16(_re_syntax_table-"L00000000009$pb")
la r2,lo16(_re_syntax_table-"L00000000009$pb")(r2)
cmpw cr7,r23,r9
beq- cr7,L2164
addi r0,r18,-1
cmpw cr7,r23,r0
beq- cr7,L2165
lbz r0,0(r23)
L1926:
lbzx r0,r2,r0
cmpwi cr7,r0,1
beq- cr7,L2099
cmpwi cr7,r17,0
bne- cr7,L1929
cmplw cr7,r22,r21
li r17,1
mr r9,r22
bgt- cr7,L1929
addi r0,r21,1
subf r0,r22,r0
mtctr r0
L2104:
slwi r2,r9,2
addi r9,r9,1
lwzx r0,r2,r26
oris r0,r0,0x1800
stwx r0,r2,r26
bdnz L2104
L1929:
addi r23,r23,1
b L2125
L1903:
cmpw cr7,r23,r14
bne- cr7,L2029
L2166:
lwz r0,92(r30)
cmpw cr7,r14,r0
beq- cr7,L2099
mr r23,r18
mr r14,r0
cmpw cr7,r23,r14
beq- cr7,L2166
L2029:
lwz r2,140(r30)
cmpw cr7,r23,r2
addis r2,r31,ha16(_re_syntax_table-"L00000000009$pb")
la r2,lo16(_re_syntax_table-"L00000000009$pb")(r2)
beq- cr7,L2167
addi r0,r18,-1
cmpw cr7,r23,r0
beq- cr7,L2168
lbz r0,0(r23)
L1910:
lbzx r0,r2,r0
cmpwi cr7,r0,1
bne- cr7,L2099
cmpwi cr7,r17,0
bne- cr7,L1929
cmplw cr7,r22,r21
li r17,1
mr r9,r22
bgt- cr7,L1929
addi r0,r21,1
subf r0,r22,r0
mtctr r0
L2105:
slwi r2,r9,2
addi r9,r9,1
lwzx r0,r2,r26
oris r0,r0,0x1800
stwx r0,r2,r26
bdnz L2105
addi r23,r23,1
b L2125
L1555:
cmpw cr7,r23,r14
bne- cr7,L1989
L2169:
lwz r0,92(r30)
cmpw cr7,r14,r0
beq- cr7,L2099
mr r23,r18
mr r14,r0
cmpw cr7,r23,r14
beq- cr7,L2169
L1989:
lwz r2,248(r30)
lwz r9,12(r2)
andi. r7,r9,64
bne- cr0,L1562
lwz r8,100(r30)
cmpwi cr7,r8,0
beq- cr7,L1563
lbz r0,0(r23)
lbzx r2,r8,r0
cmpwi cr7,r2,10
L2141:
beq- cr7,L2099
L1562:
andi. r10,r9,128
beq- cr0,L1560
lwz r11,100(r30)
cmpwi cr7,r11,0
beq- cr7,L1565
lbz r0,0(r23)
lbzx r2,r11,r0
cmpwi cr7,r2,0
L2142:
beq- cr7,L2099
L1560:
cmpwi cr7,r17,0
bne- cr7,L1929
cmplw cr7,r22,r21
li r17,1
mr r9,r22
bgt- cr7,L1929
addi r0,r21,1
subf r0,r22,r0
mtctr r0
L2109:
slwi r2,r9,2
addi r9,r9,1
lwzx r0,r2,r26
oris r0,r0,0x1800
stwx r0,r2,r26
bdnz L2109
addi r23,r23,1
b L2125
L1745:
cmpw cr7,r10,r19
add r29,r27,r28
stw r29,80(r30)
beq- cr7,L1782
lbz r9,0(r10)
cmpwi cr7,r9,2
beq- cr7,L2079
lwz r7,248(r30)
lwz r0,28(r7)
andis. r8,r0,256
beq- cr0,L1752
cmpwi cr7,r9,10
beq- cr7,L2170
L1752:
cmpwi cr7,r9,4
beq- cr7,L2171
L1751:
addi r27,r27,-2
lbz r0,-1(r27)
cmpwi cr7,r0,17
beq- cr7,L1785
li r0,13
stb r0,-1(r27)
L1784:
L1797:
lbz r0,1(r27)
lbz r28,0(r27)
addi r27,r27,2
extsb r0,r0
slwi r0,r0,8
add r28,r28,r0
add r27,r27,r28
b L2125
L1785:
lwz r7,72(r30)
lwz r29,64(r30)
addi r7,r7,-3
stw r7,72(r30)
slwi r2,r7,2
addi r7,r7,-1
lwzx r0,r2,r29
stw r7,72(r30)
slwi r2,r7,2
lwzx r2,r2,r29
mr r11,r0
cmplw cr7,r0,r2
blt- cr7,L2019
addi r0,r2,-1
subf r0,r0,r11
mtctr r0
L2106:
addi r7,r7,-1
lwz r10,136(r30)
stw r7,72(r30)
slwi r2,r7,2
lwzx r0,r2,r29
slwi r9,r11,2
addi r11,r11,-1
stwx r0,r9,r10
lwz r7,72(r30)
lwz r29,64(r30)
addi r7,r7,-1
lwz r8,132(r30)
stw r7,72(r30)
slwi r2,r7,2
lwzx r0,r2,r29
addi r7,r7,-1
lwz r2,132(r30)
stw r7,72(r30)
stwx r0,r9,r2
slwi r2,r7,2
lwzx r0,r2,r29
stwx r0,r9,r8
bdnz L2106
L2019:
li r17,0
b L1797
L1833:
bne+ cr0,L2125
stb r28,3(r27)
stb r28,2(r27)
L1719:
lbz r0,1(r27)
addi r29,r27,2
lbz r28,0(r27)
cmplw cr7,r29,r19
extsb r0,r0
stw r29,80(r30)
slwi r0,r0,8
mr r27,r29
add r28,r28,r0
L2136:
bge- cr7,L1723
lbz r0,0(r29)
cmpwi cr7,r0,0
bne- cr7,L1723
addi r29,r29,1
cmplw cr7,r29,r19
stw r29,80(r30)
b L2136
L1701:
subf r2,r22,r21
lwz r5,68(r30)
mulli r9,r2,3
lwz r7,72(r30)
lbz r0,1(r27)
addi r9,r9,7
subf r2,r7,r5
cmplw cr7,r2,r9
lbz r28,0(r27)
extsb r0,r0
addi r27,r27,2
slwi r0,r0,8
add r28,r28,r0
bge- cr7,L2008
addis r13,r31,ha16(_xre_max_failures-"L00000000009$pb")
mr r20,r9
la r13,lo16(_xre_max_failures-"L00000000009$pb")(r13)
L1712:
lwz r0,0(r13)
mulli r0,r0,19
cmplw cr7,r5,r0
bgt- cr7,L1822
slwi r2,r5,3
lwz r0,0(r1)
addi r2,r2,30
slwi r5,r5,2
rlwinm r2,r2,0,0,27
neg r2,r2
stwux r0,r1,r2
addi r29,r1,64
lwz r3,64(r30)
mr r4,r29
bl L_bcopy$stub
cmpwi cr7,r29,0
stw r29,64(r30)
beq- cr7,L1822
lwz r0,68(r30)
lwz r7,72(r30)
slwi r0,r0,1
subf r2,r7,r0
mr r5,r0
cmplw cr7,r2,r20
stw r0,68(r30)
blt+ cr7,L1712
L2008:
cmplw cr7,r22,r21
mr r10,r22
bgt- cr7,L2075
lwz r29,64(r30)
L1717:
slwi r9,r10,2
slwi r2,r7,2
lwzx r0,r9,r25
addi r7,r7,1
addi r10,r10,1
slwi r11,r7,2
stwx r0,r2,r29
addi r7,r7,1
lwzx r0,r9,r24
cmplw cr7,r10,r21
lwz r2,64(r30)
stwx r0,r11,r2
slwi r2,r7,2
stw r7,72(r30)
addi r7,r7,1
lwzx r0,r9,r26
lwz r29,64(r30)
stwx r0,r2,r29
stw r7,72(r30)
ble+ cr7,L1717
L2010:
slwi r2,r7,2
addi r7,r7,1
stwx r22,r2,r29
slwi r9,r7,2
lwz r2,64(r30)
addi r7,r7,1
add r0,r27,r28
stwx r21,r9,r2
slwi r9,r7,2
lwz r2,64(r30)
addi r7,r7,1
stwx r0,r9,r2
slwi r9,r7,2
lwz r2,64(r30)
li r0,0
addi r7,r7,1
stwx r0,r9,r2
L2129:
stw r7,72(r30)
b L2125
L1699:
lwz r11,84(r30)
cmpw cr7,r23,r11
beq- cr7,L2125
L2175:
lwz r7,72(r30)
b L2172
L1687:
lwz r10,84(r30)
cmpw cr7,r23,r10
beq- cr7,L2173
lwz r7,140(r30)
cmpw cr7,r23,r7
beq- cr7,L2174
lbz r0,0(r23)
L2143:
cmpwi cr7,r0,10
bne+ cr7,L2099
lwz r8,248(r30)
lwz r0,28(r8)
andis. r9,r0,256
bne- cr0,L2125
lwz r7,72(r30)
b L2172
L1679:
cmpwi cr7,r15,0
beq- cr7,L1682
cmpw cr7,r23,r16
L2133:
beq- cr7,L1681
lwz r0,264(r30)
cmpwi cr7,r0,0
bne- cr7,L1680
L1681:
lwz r2,248(r30)
lwz r0,28(r2)
andis. r7,r0,1024
beq- cr0,L2125
L2153:
lwz r7,72(r30)
b L2172
L1694:
cmpwi cr7,r15,0
beq- cr7,L1697
cmpw cr7,r23,r16
L2134:
beq- cr7,L2125
lwz r10,264(r30)
cmpwi cr7,r10,0
beq- cr7,L2125
b L2175
L1644:
lbz r0,0(r27)
addis r2,r31,ha16(_byte_reg_unset_dummy-"L00000000009$pb")
la r2,lo16(_byte_reg_unset_dummy-"L00000000009$pb")(r2)
addi r27,r27,1
slwi r13,r0,2
lwzx r4,r13,r25
cmpw cr7,r4,r2
beq- cr7,L2099
lwzx r0,r13,r24
cmpw cr7,r0,r2
beq- cr7,L2099
cmpwi cr6,r15,0
mr r20,r4
li r9,0
beq- cr6,L1650
cmplw cr7,r16,r4
bgt- cr7,L1650
lwz r2,140(r30)
cmplw cr7,r4,r2
bgt- cr7,L1650
L1649:
li r2,0
beq- cr6,L1651
lwzx r0,r13,r24
cmplw cr7,r16,r0
bgt- cr7,L1651
lwz r7,140(r30)
cmplw cr7,r0,r7
bgt- cr7,L1651
li r2,1
L1651:
cmpw cr7,r9,r2
lwz r29,88(r30)
beq- cr7,L2213
lwzx r29,r13,r24
b L2213
L2126:
L2213:
cmpw cr7,r20,r29
beq- cr7,L1658
L2115:
cmpw cr7,r23,r14
beq- cr7,L1663
L2002:
subf r28,r23,r14
subf r0,r20,r29
cmpw cr7,r28,r0
ble- cr7,L1664
mr r28,r0
L1664:
lwz r10,100(r30)
cmpwi cr7,r10,0
beq- cr7,L1666
cmpwi cr7,r28,0
mtctr r28
mr r8,r23
mr r10,r20
beq- cr7,L1665
L1672:
lbz r9,0(r8)
addi r8,r8,1
lbz r11,0(r10)
addi r10,r10,1
lwz r0,100(r30)
lbzx r2,r9,r0
lbzx r0,r11,r0
extsb r2,r2
extsb r0,r0
cmpw cr7,r2,r0
bne- cr7,L2099
bdnz L1672
L1665:
cmpwi cr7,r17,0
add r20,r20,r28
add r23,r23,r28
bne- cr7,L2126
cmplw cr7,r22,r21
li r17,1
mr r9,r22
bgt- cr7,L2126
addi r0,r21,1
subf r0,r22,r0
mtctr r0
L2107:
slwi r2,r9,2
addi r9,r9,1
lwzx r0,r2,r26
oris r0,r0,0x1800
stwx r0,r2,r26
bdnz L2107
b L2126
L1596:
lbz r0,0(r27)
lwz r10,112(r30)
slwi r0,r0,2
lwzx r2,r26,r0
add r9,r0,r10
srwi. r11,r2,30
beq- cr0,L1597
lwzx r0,r24,r0
addis r2,r31,ha16(_byte_reg_unset_dummy-"L00000000009$pb")
la r2,lo16(_byte_reg_unset_dummy-"L00000000009$pb")(r2)
cmpw cr7,r0,r2
beq- cr7,L2176
L1598:
stw r0,0(r9)
cmpw cr7,r22,r21
lbz r0,0(r27)
li r17,0
slwi r0,r0,2
stwx r23,r24,r0
lbz r2,0(r27)
slwi r2,r2,2
lwzx r0,r2,r26
rlwinm r0,r0,0,3,1
stwx r0,r2,r26
beq- cr7,L2177
lbz r11,0(r27)
addi r0,r11,-1
rlwinm r9,r0,0,0xff
cmpwi cr7,r9,0
beq- cr7,L1604
slwi r0,r9,2
lwzx r2,r26,r0
andis. r0,r2,8192
L2131:
bne- cr0,L1604
addi r0,r9,-1
rlwinm r9,r0,0,0xff
cmpwi cr7,r9,0
beq- cr7,L1604
slwi r0,r9,2
lwzx r2,r26,r0
andis. r7,r2,8192
b L2131
L1863:
cmpwi cr7,r15,0
beq- cr7,L1866
cmpw cr7,r23,r16
L2145:
beq- cr7,L2099
lwz r2,264(r30)
lwz r8,84(r30)
subfic r7,r2,0
adde r0,r7,r2
xor r2,r23,r8
subfic r8,r2,0
adde r2,r8,r2
or. r9,r0,r2
bne- cr0,L2099
lwz r10,140(r30)
addi r2,r23,-1
addis r11,r31,ha16(_re_syntax_table-"L00000000009$pb")
cmpw cr7,r2,r10
la r9,lo16(_re_syntax_table-"L00000000009$pb")(r11)
beq- cr7,L2178
addi r0,r18,-1
cmpw cr7,r2,r0
beq- cr7,L2179
lbz r0,-1(r23)
L1869:
lwz r7,140(r30)
lbzx r0,r9,r0
la r9,lo16(_re_syntax_table-"L00000000009$pb")(r11)
cmpw cr7,r23,r7
xori r2,r0,1
subfic r8,r2,0
adde r2,r8,r2
beq- cr7,L2180
addi r0,r18,-1
cmpw cr7,r23,r0
beq- cr7,L2181
lbz r0,0(r23)
L1873:
lbzx r0,r9,r0
xori r0,r0,1
subfic r11,r0,0
adde r0,r11,r0
cmpw cr7,r2,r0
beq- cr7,L2125
b L2175
L1849:
cmpwi cr7,r15,0
beq- cr7,L1852
cmpw cr7,r23,r16
L2138:
beq- cr7,L2125
lwz r2,264(r30)
lwz r8,84(r30)
subfic r7,r2,0
adde r0,r7,r2
xor r2,r23,r8
subfic r8,r2,0
adde r2,r8,r2
or. r9,r0,r2
bne- cr0,L2125
lwz r10,140(r30)
addi r2,r23,-1
addis r11,r31,ha16(_re_syntax_table-"L00000000009$pb")
cmpw cr7,r2,r10
la r9,lo16(_re_syntax_table-"L00000000009$pb")(r11)
beq- cr7,L2182
addi r0,r18,-1
cmpw cr7,r2,r0
beq- cr7,L2183
lbz r0,-1(r23)
L1855:
lwz r7,140(r30)
lbzx r0,r9,r0
la r9,lo16(_re_syntax_table-"L00000000009$pb")(r11)
cmpw cr7,r23,r7
xori r2,r0,1
subfic r8,r2,0
adde r2,r8,r2
beq- cr7,L2184
addi r0,r18,-1
cmpw cr7,r23,r0
beq- cr7,L2185
lbz r0,0(r23)
L1859:
lbzx r0,r9,r0
xori r0,r0,1
subfic r11,r0,0
adde r0,r11,r0
cmpw cr7,r2,r0
bne+ cr7,L2125
L2195:
lwz r7,72(r30)
b L2172
L1530:
lwz r10,100(r30)
lbz r28,0(r27)
addi r27,r27,1
cmpwi cr7,r10,0
beq- cr7,L1541
L1532:
cmpw cr7,r23,r14
beq- cr7,L1538
L1983:
lbz r2,0(r23)
addi r23,r23,1
lwz r7,100(r30)
lbz r0,0(r27)
addi r27,r27,1
lbzx r9,r7,r2
cmpw cr7,r9,r0
bne- cr7,L2099
addic. r28,r28,-1
bne+ cr0,L1532
b L1540
L2186:
cmpw cr7,r18,r11
mr r23,r18
mr r14,r11
bne- cr7,L1983
L1538:
lwz r11,92(r30)
cmpw cr7,r14,r11
bne+ cr7,L2186
lwz r7,72(r30)
b L2172
L1541:
cmpw cr7,r23,r14
bne- cr7,L1985
L2187:
lwz r0,92(r30)
cmpw cr7,r14,r0
beq- cr7,L2099
mr r23,r18
mr r14,r0
cmpw cr7,r23,r14
beq- cr7,L2187
L1985:
lbz r0,0(r27)
addi r27,r27,1
lbz r2,0(r23)
addi r23,r23,1
extsb r0,r0
extsb r2,r2
cmpw cr7,r2,r0
bne- cr7,L2099
addic. r28,r28,-1
bne+ cr0,L1541
L1540:
cmpwi cr7,r17,0
bne- cr7,L2125
cmplw cr7,r22,r21
li r17,1
mr r9,r22
bgt- cr7,L2125
addi r0,r21,1
subf r0,r22,r0
mtctr r0
L2110:
slwi r2,r9,2
addi r9,r9,1
lwzx r0,r2,r26
oris r0,r0,0x1800
stwx r0,r2,r26
bdnz L2110
b L2125
L1843:
lbz r0,1(r27)
lbz r28,0(r27)
addi r27,r27,2
extsb r0,r0
slwi r0,r0,8
add r28,r28,r0
add r29,r27,r28
stw r29,80(r30)
lbz r0,1(r27)
lbz r28,0(r27)
addi r27,r27,2
extsb r0,r0
slwi r0,r0,8
add r28,r28,r0
stb r28,0(r29)
srawi r0,r28,8
lwz r2,80(r30)
stb r0,1(r2)
b L2125
L1589:
stw r27,80(r30)
lbz r11,0(r27)
slwi r28,r11,2
lwzx r0,r28,r26
rlwinm r0,r0,2,30,31
cmpwi cr7,r0,3
beq- cr7,L2188
L1590:
slwi r2,r11,2
lwz r7,108(r30)
lwzx r0,r2,r26
add r9,r2,r7
srwi. r8,r0,30
beq- cr0,L1591
lwzx r0,r2,r25
addis r2,r31,ha16(_byte_reg_unset_dummy-"L00000000009$pb")
la r2,lo16(_byte_reg_unset_dummy-"L00000000009$pb")(r2)
cmpw cr7,r0,r2
beq- cr7,L2189
L1592:
stw r0,0(r9)
cmpwi cr7,r22,257
lbz r0,0(r27)
li r17,0
slwi r0,r0,2
stwx r23,r25,r0
lbz r9,0(r27)
slwi r9,r9,2
lwzx r0,r9,r26
oris r0,r0,0x2000
stwx r0,r9,r26
lbz r2,0(r27)
slwi r2,r2,2
lwzx r0,r2,r26
rlwinm r0,r0,0,4,2
stwx r0,r2,r26
lbz r21,0(r27)
beq- cr7,L2190
addi r27,r27,2
stw r27,96(r30)
b L2125
L1574:
lbz r0,-1(r27)
cmpw cr7,r23,r14
xori r10,r0,5
subfic r2,r10,0
adde r10,r2,r10
L2130:
bne- cr7,L1992
lwz r7,92(r30)
cmpw cr7,r14,r7
beq- cr7,L2099
cmpw cr7,r18,r7
mr r23,r18
mr r14,r7
b L2130
L1890:
cmpwi cr7,r15,0
beq- cr7,L1892
cmpw cr7,r23,r16
L2146:
beq- cr7,L2099
lwz r11,264(r30)
cmpwi cr7,r11,0
beq- cr7,L2099
lwz r7,140(r30)
addi r2,r23,-1
addis r11,r31,ha16(_re_syntax_table-"L00000000009$pb")
cmpw cr7,r2,r7
la r9,lo16(_re_syntax_table-"L00000000009$pb")(r11)
beq- cr7,L2191
addi r0,r18,-1
cmpw cr7,r2,r0
beq- cr7,L2192
lbz r0,-1(r23)
L1895:
lbzx r0,r9,r0
cmpwi cr7,r0,1
bne+ cr7,L2099
lwz r9,84(r30)
cmpw cr7,r23,r9
beq- cr7,L2125
lwz r10,140(r30)
la r2,lo16(_re_syntax_table-"L00000000009$pb")(r11)
cmpw cr7,r23,r10
beq- cr7,L2193
addi r0,r18,-1
cmpw cr7,r23,r0
beq- cr7,L2194
lbz r0,0(r23)
lbzx r0,r2,r0
L2147:
cmpwi cr7,r0,1
L2200:
bne+ cr7,L2125
b L2195
L1831:
lbz r0,3(r27)
lbz r28,2(r27)
extsb r0,r0
slwi r0,r0,8
add. r28,r28,r0
ble- cr0,L1833
addi r28,r28,-1
stbu r28,2(r27)
srawi r0,r28,8
stb r0,1(r27)
addi r27,r27,2
b L2125
L1816:
subf r2,r22,r21
lwz r5,68(r30)
mulli r2,r2,3
lwz r7,72(r30)
addi r2,r2,7
subf r0,r7,r5
cmplw cr7,r0,r2
bge- cr7,L2025
addis r20,r31,ha16(_xre_max_failures-"L00000000009$pb")
mr r28,r2
la r20,lo16(_xre_max_failures-"L00000000009$pb")(r20)
L1825:
lwz r0,0(r20)
mulli r0,r0,19
cmplw cr7,r5,r0
bgt- cr7,L1822
slwi r2,r5,3
lwz r0,0(r1)
addi r2,r2,30
slwi r5,r5,2
rlwinm r2,r2,0,0,27
neg r2,r2
stwux r0,r1,r2
addi r29,r1,64
lwz r3,64(r30)
mr r4,r29
bl L_bcopy$stub
cmpwi cr7,r29,0
stw r29,64(r30)
beq- cr7,L1822
lwz r0,68(r30)
lwz r7,72(r30)
slwi r0,r0,1
subf r2,r7,r0
mr r5,r0
cmplw cr7,r2,r28
stw r0,68(r30)
blt+ cr7,L1825
L2025:
cmplw cr7,r22,r21
mr r10,r22
bgt- cr7,L2082
lwz r29,64(r30)
L1830:
slwi r9,r10,2
slwi r2,r7,2
lwzx r0,r9,r25
addi r7,r7,1
addi r10,r10,1
slwi r11,r7,2
stwx r0,r2,r29
addi r7,r7,1
lwzx r0,r9,r24
cmplw cr7,r10,r21
lwz r2,64(r30)
stwx r0,r11,r2
slwi r2,r7,2
stw r7,72(r30)
addi r7,r7,1
lwzx r0,r9,r26
lwz r29,64(r30)
stwx r0,r2,r29
stw r7,72(r30)
ble+ cr7,L1830
L2027:
slwi r2,r7,2
addi r7,r7,1
stwx r22,r2,r29
slwi r9,r7,2
lwz r2,64(r30)
addi r7,r7,1
li r0,0
stwx r21,r9,r2
slwi r9,r7,2
lwz r2,64(r30)
addi r7,r7,1
stwx r0,r9,r2
slwi r9,r7,2
lwz r2,64(r30)
addi r7,r7,1
stwx r0,r9,r2
b L2129
L1877:
lwz r0,84(r30)
cmpw cr7,r23,r0
beq- cr7,L2099
lwz r2,140(r30)
addis r11,r31,ha16(_re_syntax_table-"L00000000009$pb")
cmpw cr7,r23,r2
la r2,lo16(_re_syntax_table-"L00000000009$pb")(r11)
beq- cr7,L2196
addi r0,r18,-1
cmpw cr7,r23,r0
beq- cr7,L2197
lbz r0,0(r23)
L1880:
lbzx r0,r2,r0
cmpwi cr7,r0,1
bne+ cr7,L2099
cmpwi cr7,r15,0
beq- cr7,L1884
cmpw cr7,r23,r16
L2139:
beq- cr7,L2125
lwz r8,264(r30)
cmpwi cr7,r8,0
beq- cr7,L2125
lwz r9,140(r30)
addi r2,r23,-1
cmpw cr7,r2,r9
la r9,lo16(_re_syntax_table-"L00000000009$pb")(r11)
beq- cr7,L2198
addi r0,r18,-1
cmpw cr7,r2,r0
beq- cr7,L2199
lbz r0,-1(r23)
lbzx r0,r9,r0
L2211:
cmpwi cr7,r0,1
b L2200
L1838:
lbz r0,3(r27)
lbz r28,2(r27)
extsb r0,r0
slwi r0,r0,8
add. r28,r28,r0
bne- cr0,L2201
addi r27,r27,4
b L2125
L1801:
subf r2,r22,r21
lwz r5,68(r30)
mulli r2,r2,3
lwz r7,72(r30)
addi r2,r2,7
subf r0,r7,r5
cmplw cr7,r0,r2
bge- cr7,L2021
addis r20,r31,ha16(_xre_max_failures-"L00000000009$pb")
mr r28,r2
la r20,lo16(_xre_max_failures-"L00000000009$pb")(r20)
L1810:
lwz r0,0(r20)
mulli r0,r0,19
cmplw cr7,r5,r0
bgt- cr7,L1822
slwi r2,r5,3
lwz r0,0(r1)
addi r2,r2,30
slwi r5,r5,2
rlwinm r2,r2,0,0,27
neg r2,r2
stwux r0,r1,r2
addi r29,r1,64
lwz r3,64(r30)
mr r4,r29
bl L_bcopy$stub
cmpwi cr7,r29,0
stw r29,64(r30)
beq- cr7,L1822
lwz r0,68(r30)
lwz r7,72(r30)
slwi r0,r0,1
subf r2,r7,r0
mr r5,r0
cmplw cr7,r2,r28
stw r0,68(r30)
blt+ cr7,L1810
L2021:
cmplw cr7,r22,r21
mr r10,r22
bgt- cr7,L2080
lwz r29,64(r30)
L1815:
slwi r9,r10,2
slwi r2,r7,2
lwzx r0,r9,r25
addi r7,r7,1
addi r10,r10,1
slwi r11,r7,2
stwx r0,r2,r29
addi r7,r7,1
lwzx r0,r9,r24
cmplw cr7,r10,r21
lwz r2,64(r30)
stwx r0,r11,r2
slwi r2,r7,2
stw r7,72(r30)
addi r7,r7,1
lwzx r0,r9,r26
lwz r29,64(r30)
stwx r0,r2,r29
stw r7,72(r30)
ble+ cr7,L1815
L2023:
slwi r2,r7,2
addi r7,r7,1
stwx r22,r2,r29
slwi r9,r7,2
lwz r2,64(r30)
addi r7,r7,1
li r0,0
stwx r21,r9,r2
slwi r9,r7,2
lwz r2,64(r30)
addi r7,r7,1
stwx r0,r9,r2
slwi r9,r7,2
lwz r2,64(r30)
addi r7,r7,1
stwx r0,r9,r2
stw r7,72(r30)
b L1797
L1741:
lbz r0,1(r27)
lbz r28,0(r27)
addi r27,r27,2
extsb r0,r0
mr r10,r27
slwi r0,r0,8
add r28,r28,r0
L2127:
addi r0,r10,2
cmplw cr7,r0,r19
bge- cr7,L1746
L2202:
lbz r2,0(r10)
addi r2,r2,-6
cmplwi cr7,r2,1
bgt- cr7,L1746
addi r10,r10,3
addi r0,r10,2
cmplw cr7,r0,r19
blt- cr7,L2202
L1746:
addi r2,r10,6
cmplw cr7,r2,r19
bge- cr7,L1745
lbz r0,0(r10)
cmpwi cr7,r0,19
bne- cr7,L1745
mr r10,r2
b L2127
L2190:
addi r27,r27,2
mr r22,r21
stw r27,96(r30)
b L2125
L2203:
cmpw cr7,r18,r9
mr r23,r18
mr r14,r9
bne- cr7,L2002
L1663:
lwz r9,92(r30)
cmpw cr7,r14,r9
bne+ cr7,L2203
lwz r7,72(r30)
b L2172
L1658:
lwz r8,92(r30)
cmpw cr7,r29,r8
beq- cr7,L2063
lwzx r0,r13,r24
cmpw cr7,r29,r0
beq- cr7,L2063
cmpw cr7,r18,r0
mr r29,r0
mr r20,r18
beq+ cr7,L1658
bne+ cr7,L2115
b L2125
L1650:
li r9,1
b L1649
L1504:
lwz r11,272(r30)
lwz r9,4(r11)
lwz r3,8(r11)
stwx r8,r2,r3
stwx r8,r2,r9
b L1501
L2041:
lwz r8,88(r30)
cmpw cr6,r14,r8
L1465:
lwz r9,268(r30)
subf r2,r9,r23
beq- cr6,L1515
subf r0,r15,r18
subf r28,r0,r2
mr r3,r28
L2204:
lwz r1,0(r1)
lwz r0,8(r1)
lmw r13,-76(r1)
mtlr r0
blr
L1515:
subf r28,r16,r2
mr r3,r28
b L2204
L2162:
lwz r28,104(r30)
cmplw cr7,r28,r2
bge- cr7,L1465
lwz r2,272(r30)
li r11,-1
lwz r9,4(r2)
lwz r3,8(r2)
L1514:
slwi r2,r28,2
lwz r7,272(r30)
stwx r11,r2,r3
addi r28,r28,1
stwx r11,r2,r9
lwz r0,0(r7)
cmplw cr7,r28,r0
blt+ cr7,L1514
b L1465
L1723:
cmplw cr7,r29,r19
bge- cr7,L1725
lbz r0,0(r29)
cmpwi cr7,r0,6
beq- cr7,L2205
L1725:
subf r2,r22,r21
lwz r5,68(r30)
mulli r2,r2,3
lwz r7,72(r30)
addi r2,r2,7
subf r0,r7,r5
cmplw cr7,r0,r2
bge- cr7,L2013
addis r13,r31,ha16(_xre_max_failures-"L00000000009$pb")
mr r20,r2
la r13,lo16(_xre_max_failures-"L00000000009$pb")(r13)
L1735:
lwz r0,0(r13)
mulli r0,r0,19
cmplw cr7,r5,r0
bgt- cr7,L1822
slwi r2,r5,3
lwz r0,0(r1)
addi r2,r2,30
slwi r5,r5,2
rlwinm r2,r2,0,0,27
neg r2,r2
stwux r0,r1,r2
addi r29,r1,64
lwz r3,64(r30)
mr r4,r29
bl L_bcopy$stub
cmpwi cr7,r29,0
stw r29,64(r30)
beq- cr7,L1822
lwz r0,68(r30)
lwz r7,72(r30)
slwi r0,r0,1
subf r2,r7,r0
mr r5,r0
cmplw cr7,r2,r20
stw r0,68(r30)
blt+ cr7,L1735
L2013:
cmplw cr7,r22,r21
mr r10,r22
bgt- cr7,L2077
lwz r29,64(r30)
L1740:
slwi r9,r10,2
slwi r2,r7,2
lwzx r0,r9,r25
addi r7,r7,1
addi r10,r10,1
slwi r11,r7,2
stwx r0,r2,r29
addi r7,r7,1
lwzx r0,r9,r24
cmplw cr7,r10,r21
lwz r2,64(r30)
stwx r0,r11,r2
slwi r2,r7,2
stw r7,72(r30)
addi r7,r7,1
lwzx r0,r9,r26
lwz r29,64(r30)
stwx r0,r2,r29
stw r7,72(r30)
ble+ cr7,L1740
L2015:
slwi r2,r7,2
addi r7,r7,1
stwx r22,r2,r29
slwi r9,r7,2
lwz r2,64(r30)
addi r7,r7,1
add r0,r27,r28
stwx r21,r9,r2
slwi r9,r7,2
lwz r2,64(r30)
addi r7,r7,1
stwx r0,r9,r2
slwi r9,r7,2
lwz r2,64(r30)
addi r7,r7,1
stwx r23,r9,r2
stw r7,72(r30)
b L2125
L1466:
cmpwi cr7,r0,1
beq- cr7,L2206
lwz r7,272(r30)
lwz r2,0(r7)
b L1480
L1992:
lwz r8,100(r30)
cmpwi cr7,r8,0
beq- cr7,L1579
lbz r0,0(r23)
lbzx r9,r8,r0
L1580:
lbz r11,0(r27)
slwi r0,r11,3
cmplw cr7,r9,r0
bge- cr7,L1581
srwi r2,r9,3
rlwinm r9,r9,0,29,31
add r2,r27,r2
lbz r0,1(r2)
sraw r0,r0,r9
andi. r9,r0,1
beq- cr0,L1581
xori r10,r10,1
L1581:
cmpwi cr7,r10,0
add r2,r27,r11
addi r27,r2,1
beq- cr7,L2099
cmpwi cr7,r17,0
bne- cr7,L1929
cmplw cr7,r22,r21
li r17,1
mr r9,r22
bgt- cr7,L1929
addi r0,r21,1
subf r0,r22,r0
mtctr r0
L2108:
slwi r2,r9,2
addi r9,r9,1
lwzx r0,r2,r26
oris r0,r0,0x1800
stwx r0,r2,r26
bdnz L2108
addi r23,r23,1
b L2125
L1604:
cmpwi cr7,r9,0
mr r21,r9
beq- cr7,L2132
L1602:
slwi r0,r11,2
lwzx r2,r26,r0
andis. r8,r2,4096
beq- cr0,L1609
lwz r9,96(r30)
addi r0,r27,-1
cmpw cr7,r9,r0
addi r9,r27,2
beq- cr7,L1609
L1608:
mr r27,r9
b L2125
L2177:
lbz r11,0(r27)
L2132:
li r22,257
li r21,256
b L1602
L1609:
addi r9,r27,2
cmplw cr7,r9,r19
bge- cr7,L1608
stw r9,80(r30)
li r2,0
lbz r0,2(r27)
li r28,0
addi r29,r27,3
cmplwi cr7,r0,19
bgt- cr7,L1620
cmplwi cr7,r0,17
bge- cr7,L2101
cmpwi cr7,r0,13
beq- cr7,L2101
L1610:
cmpwi cr7,r28,0
add r29,r29,r28
stw r29,80(r30)
bge+ cr7,L1608
lbz r0,0(r29)
cmpwi cr7,r0,15
bne+ cr7,L1608
lbz r0,3(r29)
cmpwi cr7,r0,6
bne+ cr7,L1608
lbz r2,4(r29)
lbz r0,0(r27)
cmpw cr7,r2,r0
bne+ cr7,L1608
slwi r2,r2,2
lwzx r0,r2,r26
andis. r10,r0,2048
beq- cr0,L1622
rlwinm r0,r0,0,5,3
stwx r0,r2,r26
lbz r11,0(r27)
lbz r0,1(r27)
add r0,r11,r0
cmplw cr7,r11,r0
bge- cr7,L2057
mr r9,r29
L1627:
lwz r7,108(r30)
slwi r2,r11,2
lwz r8,112(r30)
lwzx r0,r2,r7
stwx r0,r2,r25
lwzx r10,r2,r8
cmplw cr7,r10,r0
blt- cr7,L1625
stwx r10,r2,r24
L1625:
lbz r0,0(r27)
addi r11,r11,1
lbz r2,1(r27)
add r0,r0,r2
cmplw cr7,r11,r0
blt+ cr7,L1627
mr r29,r9
b L1622
L1852:
cmpw cr7,r23,r18
b L2138
L1682:
cmpw cr7,r23,r18
b L2133
L1591:
lwzx r0,r2,r25
b L1592
L1866:
cmpw cr7,r23,r18
b L2145
L1697:
cmpw cr7,r23,r18
b L2134
L1892:
cmpw cr7,r23,r18
b L2146
L1597:
lwzx r0,r24,r0
b L1598
L1666:
mr r3,r23
mr r4,r20
mr r5,r28
bl L_bcmp$stub
cmpwi cr7,r3,0
beq+ cr7,L1665
lwz r7,72(r30)
b L2172
L1680:
lbz r0,-1(r23)
b L2143
L1935:
bl L_abort$stub
L2063:
cmpw cr7,r20,r29
bne+ cr7,L2115
b L2125
L2201:
addi r28,r28,-1
srawi r0,r28,8
stb r28,2(r27)
stb r0,3(r27)
b L1797
L2206:
lwz r9,272(r30)
lwz r10,104(r30)
lwz r2,0(r9)
addi r0,r10,1
cmplw cr7,r2,r0
bge+ cr7,L1480
lwz r3,4(r9)
slwi r4,r0,2
stw r0,0(r9)
bl L_realloc$stub
lwz r2,272(r30)
lwz r4,0(r2)
stw r3,4(r2)
lwz r3,8(r2)
slwi r4,r4,2
bl L_realloc$stub
lwz r2,272(r30)
lwz r9,4(r2)
stw r3,8(r2)
cmpwi cr7,r9,0
beq- cr7,L1822
cmpwi cr7,r3,0
bne- cr7,L2044
li r3,-2
b L1401
L2079:
lbz r9,2(r10)
L1755:
lwz r29,80(r30)
lbz r0,3(r29)
cmpwi cr7,r0,2
beq- cr7,L2207
L1756:
lbz r2,3(r29)
addi r0,r2,-4
cmplwi cr7,r0,1
bgt- cr7,L1751
lbz r0,4(r29)
xori r11,r2,5
subfic r10,r11,0
adde r11,r10,r11
slwi r0,r0,3
cmplw cr7,r9,r0
bge- cr7,L1759
srwi r2,r9,3
rlwinm r9,r9,0,29,31
add r2,r29,r2
lbz r0,5(r2)
sraw r0,r0,r9
andi. r2,r0,1
beq- cr0,L1759
xori r11,r11,1
L1759:
cmpwi cr7,r11,0
bne+ cr7,L1751
L1782:
li r0,17
stb r0,-3(r27)
b L1751
L2075:
lwz r29,64(r30)
b L2010
L2082:
lwz r29,64(r30)
b L2027
L2080:
lwz r29,64(r30)
b L2023
L2077:
lwz r29,64(r30)
b L2015
L2176:
mr r0,r23
b L1598
L1579:
lbz r9,0(r23)
b L1580
L2168:
lwz r7,140(r30)
lbz r0,-1(r7)
b L1910
L2167:
lbz r0,0(r18)
b L1910
L2165:
lwz r10,140(r30)
lbz r0,-1(r10)
b L1926
L2164:
lbz r0,0(r18)
b L1926
L2184:
lbz r0,0(r18)
b L1859
L2182:
lbz r0,0(r18)
b L1855
L2161:
subf r0,r16,r23
b L1498
L1563:
lbz r0,0(r23)
cmpwi cr7,r0,10
b L2141
L2170:
li r9,10
b L1755
L1565:
lbz r0,0(r23)
cmpwi cr7,r0,0
b L2142
L2205:
cmpwi cr7,r22,257
lbz r0,2(r29)
lbz r2,1(r29)
add r21,r2,r0
bne+ cr7,L1725
mr r22,r2
b L1725
L2207:
lbz r0,5(r29)
cmpw cr7,r0,r9
beq- cr7,L1756
li r0,17
stb r0,-3(r27)
b L1751
L2174:
lbz r0,0(r18)
b L2143
L2173:
lwz r11,248(r30)
lwz r0,28(r11)
andis. r2,r0,512
bne- cr0,L2153
b L2125
L2189:
mr r0,r23
b L1592
L1884:
cmpw cr7,r23,r18
b L2139
L2197:
lwz r7,140(r30)
lbz r0,-1(r7)
b L1880
L2196:
lbz r0,0(r18)
b L1880
L2188:
addi r3,r30,80
mr r4,r19
mr r5,r26
bl _byte_group_match_null_string_p
lwzx r0,r28,r26
rlwimi r0,r3,30,0,1
stwx r0,r28,r26
lbz r11,0(r27)
b L1590
L2171:
lwz r29,80(r30)
lbz r0,3(r29)
cmpwi cr7,r0,2
beq- cr7,L2208
L1763:
lbz r0,3(r29)
cmpwi cr7,r0,5
beq- cr7,L2209
cmpwi cr7,r0,4
bne+ cr7,L1751
lbz r7,1(r10)
li r8,0
cmpw cr7,r8,r7
bge- cr7,L1777
lbz r0,4(r29)
cmpw cr7,r8,r0
bge- cr7,L1777
mr r6,r7
mr r5,r0
L1780:
add r9,r29,r8
add r2,r10,r8
lbz r11,2(r2)
lbz r0,5(r9)
and. r9,r11,r0
bne- cr0,L1777
addi r8,r8,1
cmpw cr7,r8,r6
bge- cr7,L1777
cmpw cr7,r8,r5
blt+ cr7,L1780
L1777:
cmpw cr7,r8,r7
beq- cr7,L1782
lbz r0,4(r29)
cmpw cr7,r8,r0
bne+ cr7,L1751
b L1782
L2180:
lbz r0,0(r18)
b L1873
L2178:
lbz r0,0(r18)
b L1869
L1620:
cmpwi cr7,r0,22
bne+ cr7,L1610
li r2,1
L2101:
stw r29,80(r30)
cmpwi cr7,r2,0
lbz r0,1(r29)
lbz r28,0(r29)
addi r29,r29,2
extsb r0,r0
slwi r0,r0,8
add r28,r28,r0
beq- cr7,L1610
addi r29,r29,2
b L1610
L2191:
lbz r0,0(r18)
b L1895
L2179:
lwz r2,140(r30)
lbz r0,-1(r2)
b L1869
L2192:
lwz r8,140(r30)
lbz r0,-1(r8)
b L1895
L2194:
lwz r11,140(r30)
lbz r0,-1(r11)
lbzx r0,r2,r0
b L2147
L2193:
lbz r0,0(r18)
lbzx r0,r2,r0
b L2147
L2183:
lwz r2,140(r30)
lbz r0,-1(r2)
b L1855
L1448:
lwz r9,116(r30)
andc. r9,r9,r2
beq- cr0,L1464
b L1457
L2057:
lwz r29,80(r30)
L1622:
subf r2,r22,r21
lwz r5,68(r30)
mulli r9,r2,3
lwz r7,72(r30)
addi r29,r29,1
stw r29,80(r30)
addi r9,r9,7
subf r2,r7,r5
lbz r0,1(r29)
cmplw cr7,r2,r9
lbz r28,0(r29)
extsb r0,r0
addi r29,r29,2
slwi r0,r0,8
stw r29,80(r30)
add r28,r28,r0
bge- cr7,L1997
addis r27,r31,ha16(_xre_max_failures-"L00000000009$pb")
mr r20,r9
la r27,lo16(_xre_max_failures-"L00000000009$pb")(r27)
L1638:
lwz r0,0(r27)
mulli r0,r0,19
cmplw cr7,r5,r0
bgt- cr7,L1822
slwi r2,r5,3
lwz r0,0(r1)
addi r2,r2,30
slwi r5,r5,2
rlwinm r2,r2,0,0,27
neg r2,r2
stwux r0,r1,r2
addi r29,r1,64
lwz r3,64(r30)
mr r4,r29
bl L_bcopy$stub
cmpwi cr7,r29,0
stw r29,64(r30)
beq- cr7,L1822
lwz r0,68(r30)
lwz r7,72(r30)
slwi r0,r0,1
subf r2,r7,r0
mr r5,r0
cmplw cr7,r2,r20
stw r0,68(r30)
blt+ cr7,L1638
L1997:
cmplw cr7,r22,r21
mr r10,r22
bgt- cr7,L2058
lwz r29,64(r30)
L1643:
slwi r9,r10,2
slwi r2,r7,2
lwzx r0,r9,r25
addi r7,r7,1
addi r10,r10,1
slwi r11,r7,2
stwx r0,r2,r29
addi r7,r7,1
lwzx r0,r9,r24
cmplw cr7,r10,r21
lwz r2,64(r30)
stwx r0,r11,r2
slwi r2,r7,2
stw r7,72(r30)
addi r7,r7,1
lwzx r0,r9,r26
lwz r29,64(r30)
stwx r0,r2,r29
stw r7,72(r30)
ble+ cr7,L1643
b L1999
L2181:
lwz r10,140(r30)
lbz r0,-1(r10)
b L1873
L2209:
lbz r7,1(r10)
li r9,0
cmpw cr7,r9,r7
mr r8,r7
blt+ cr7,L1772
b L1768
L2210:
add r2,r29,r9
lbz r0,5(r2)
andc. r2,r11,r0
bne- cr0,L1768
L1769:
addi r9,r9,1
cmpw cr7,r9,r8
bge- cr7,L1768
L1772:
add r2,r10,r9
lbz r11,2(r2)
cmpwi cr7,r11,0
beq- cr7,L1769
lbz r0,4(r29)
cmpw cr7,r9,r0
blt+ cr7,L2210
L1768:
cmpw cr7,r9,r7
bne+ cr7,L1751
b L1782
L2208:
lbz r0,1(r10)
lbz r9,5(r29)
slwi r0,r0,3
cmpw cr7,r0,r9
ble- cr7,L1782
srwi r2,r9,3
rlwinm r9,r9,0,29,31
add r2,r10,r2
lbz r0,2(r2)
sraw r0,r0,r9
andi. r7,r0,1
beq- cr0,L1782
b L1763
L2199:
lwz r10,140(r30)
lbz r0,-1(r10)
lbzx r0,r9,r0
b L2211
L2198:
lbz r0,0(r18)
lbzx r0,r9,r0
b L2211
L2185:
lwz r10,140(r30)
lbz r0,-1(r10)
b L1859
L2058:
lwz r29,64(r30)
L1999:
slwi r2,r7,2
addi r7,r7,1
stwx r22,r2,r29
slwi r9,r7,2
lwz r2,64(r30)
addi r7,r7,1
lwz r0,80(r30)
stwx r21,r9,r2
slwi r9,r7,2
lwz r2,64(r30)
add r0,r0,r28
addi r7,r7,1
stwx r0,r9,r2
slwi r9,r7,2
lwz r2,64(r30)
addi r7,r7,1
stwx r23,r9,r2
stw r7,72(r30)
b L2128
.align 2
.globl _xre_match_2
_xre_match_2:
stw r31,-4(r1)
lwz r31,-4(r1)
b _byte_re_match_2_internal
.align 2
.globl _xre_match
_xre_match:
stw r31,-4(r1)
mr r9,r7
lwz r31,-4(r1)
mr r7,r5
mr r8,r6
li r5,0
mr r6,r4
mr r10,r7
li r4,0
b _byte_re_match_2_internal
.align 2
.globl _xre_search_2
_xre_search_2:
stmw r17,-60(r1)
add r27,r5,r7
mflr r0
mfcr r12
cmpw cr4,r8,r27
mr r30,r9
stw r12,4(r1)
mr r25,r5
stw r0,8(r1)
mr r20,r7
stwu r1,-128(r1)
mr r29,r8
mr r28,r3
mr r21,r4
mr r23,r6
mr r19,r10
lwz r18,184(r1)
add r9,r8,r9
lwz r26,16(r3)
srwi r0,r8,31
lwz r22,20(r3)
li r2,1
bgt- cr4,L2218
li r2,0
L2218:
or. r11,r0,r2
li r3,-1
bne- cr0,L2219
cmpwi cr7,r9,0
blt- cr7,L2274
cmpw cr7,r9,r27
bgt- cr7,L2275
L2221:
lwz r2,8(r28)
subfic r9,r30,0
addme r9,r9
srwi r9,r9,31
addic r11,r2,-1
subfe r0,r11,r2
and. r2,r0,r9
beq- cr0,L2223
lwz r2,0(r28)
lbz r0,0(r2)
cmpwi cr7,r0,11
beq- cr7,L2224
cmpwi cr7,r0,9
beq- cr7,L2276
L2223:
cmpwi cr3,r26,0
beq- cr3,L2227
lwz r0,28(r28)
andis. r11,r0,4096
beq- cr0,L2277
L2227:
cmpwi cr2,r22,0
addic r0,r26,-1
subfe r24,r0,r26
subfic r2,r25,0
adde r17,r2,r25
b L2280
L2269:
L2280:
li r0,1
blt- cr4,L2232
li r0,0
L2232:
and. r9,r24,r0
beq- cr0,L2231
lwz r0,28(r28)
cmpwi cr7,r0,0
blt- cr7,L2231
cmpwi cr6,r30,0
ble- cr6,L2233
cmpw cr7,r29,r25
subf r0,r25,r23
add r11,r0,r29
li r10,0
mr r8,r30
bge- cr7,L2236
add r0,r29,r30
cmpw cr7,r0,r25
blt- cr7,L2235
subf r0,r29,r25
subf r10,r0,r30
L2235:
add r11,r21,r29
L2236:
beq- cr2,L2272
cmpw cr7,r30,r10
ble- cr7,L2241
L2278:
lbz r9,0(r11)
addi r11,r11,1
lbzx r0,r22,r9
lbzx r2,r26,r0
cmpwi cr7,r2,0
bne- cr7,L2241
addi r30,r30,-1
cmpw cr7,r30,r10
bgt+ cr7,L2278
L2241:
subf r0,r30,r8
add r29,r29,r0
cmpw cr4,r29,r27
L2231:
mfcr r0
rlwinm r0,r0,19,1
nor r2,r30,r30
srwi r2,r2,31
and. r9,r2,r0
beq- cr0,L2253
beq- cr3,L2253
lwz r0,28(r28)
cmpwi cr7,r0,0
bge- cr7,L2230
L2253:
mr r3,r28
mr r4,r21
mr r5,r25
mr r6,r23
mr r7,r20
mr r8,r29
mr r9,r19
mr r10,r18
bl _byte_re_match_2_internal
cmpwi cr0,r3,0
bge- cr0,L2264
cmpwi cr7,r3,-2
beq- cr7,L2265
cmpwi cr6,r30,0
L2252:
beq- cr6,L2230
ble- cr6,L2258
addi r29,r29,1
addi r30,r30,-1
cmpw cr4,r29,r27
b L2269
L2230:
li r3,-1
L2219:
addi r1,r1,128
lwz r12,4(r1)
lmw r17,-60(r1)
lwz r0,8(r1)
mtcrf 32,r12
mtlr r0
mtcrf 16,r12
mtcrf 8,r12
blr
L2272:
cmpw cr7,r30,r10
ble- cr7,L2241
L2271:
lbz r0,0(r11)
addi r11,r11,1
lbzx r2,r26,r0
cmpwi cr7,r2,0
bne- cr7,L2241
addi r30,r30,-1
cmpw cr7,r30,r10
bgt+ cr7,L2271
b L2241
L2275:
subf r30,r29,r27
b L2221
L2274:
neg r30,r29
b L2221
L2258:
addi r29,r29,-1
addi r30,r30,1
cmpw cr4,r29,r27
b L2269
L2233:
cmpw cr7,r29,r25
li r0,1
bge- cr7,L2248
li r0,0
L2248:
or. r11,r17,r0
beq- cr0,L2246
subf r0,r25,r29
lbzx r2,r23,r0
extsb r0,r2
beq- cr2,L2250
L2279:
rlwinm r0,r0,0,0xff
lbzx r2,r22,r0
add r2,r26,r2
L2251:
lbz r0,0(r2)
cmpwi cr7,r0,0
bne+ cr7,L2231
b L2252
L2246:
lbzx r0,r21,r29
extsb r0,r0
bne- cr2,L2279
L2250:
rlwinm r0,r0,0,0xff
add r2,r26,r0
b L2251
L2277:
mr r3,r28
bl _xre_compile_fastmap
cmpwi cr7,r3,-2
li r3,-2
bne+ cr7,L2227
b L2219
L2276:
lwz r0,28(r28)
andis. r9,r0,256
bne- cr0,L2223
L2224:
cmpwi cr7,r8,0
li r30,1
li r3,-1
ble- cr7,L2223
b L2219
L2264:
addi r1,r1,128
mr r3,r29
lwz r12,4(r1)
lmw r17,-60(r1)
lwz r0,8(r1)
mtcrf 32,r12
mtlr r0
mtcrf 16,r12
mtcrf 8,r12
blr
L2265:
addi r1,r1,128
li r3,-2
lwz r12,4(r1)
lmw r17,-60(r1)
lwz r0,8(r1)
mtcrf 32,r12
mtlr r0
mtcrf 16,r12
mtcrf 8,r12
blr
.align 2
.globl _xre_search
_xre_search:
mflr r0
mr r2,r5
stw r31,-4(r1)
mr r9,r7
mr r10,r8
mr r7,r5
stw r0,8(r1)
mr r0,r6
stwu r1,-96(r1)
mr r6,r4
mr r8,r0
li r4,0
li r5,0
stw r2,56(r1)
bl _xre_search_2
addi r1,r1,96
lwz r0,8(r1)
lwz r31,-4(r1)
mtlr r0
blr
.align 2
.globl _xregexec
_xregexec:
mflr r0
stmw r24,-32(r1)
mr r29,r3
mr r30,r5
mr r3,r4
mr r28,r7
stw r0,8(r1)
mr r25,r6
stwu r1,-144(r1)
mr r24,r4
bl L_strlen$stub
lwz r2,28(r29)
rlwinm r11,r28,0,31,31
lwz r5,24(r29)
andis. r0,r2,2048
rlwimi r2,r11,26,5,5
addic r11,r30,-1
subfe r0,r11,r30
lwz r10,8(r29)
mfcr r9
rlwinm r9,r9,3,1
lwz r11,4(r29)
lwz r8,12(r29)
rlwimi r2,r28,24,6,6
and. r27,r9,r0
lwz r7,16(r29)
lwz r9,0(r29)
li r0,2
lwz r6,20(r29)
rlwimi r2,r0,29,1,2
mr r26,r3
stw r9,80(r1)
stw r11,84(r1)
stw r10,88(r1)
stw r8,92(r1)
stw r7,96(r1)
stw r6,100(r1)
stw r5,104(r1)
stw r2,108(r1)
bne- cr0,L2298
L2283:
cmpwi cr7,r27,0
addi r8,r1,64
beq- cr7,L2299
L2288:
mr r5,r26
addi r3,r1,80
mr r4,r24
li r6,0
mr r7,r26
bl _xre_search
cmpwi cr7,r27,0
mr r29,r3
beq- cr7,L2289
cmpwi cr7,r3,0
blt- cr7,L2297
li r10,0
cmplw cr7,r10,r30
bge- cr7,L2297
lwz r3,68(r1)
lwz r8,72(r1)
L2294:
slwi r11,r10,2
slwi r2,r10,3
lwzx r0,r11,r3
addi r10,r10,1
cmplw cr7,r10,r30
stwx r0,r2,r25
add r2,r2,r25
lwzx r9,r11,r8
stw r9,4(r2)
blt+ cr7,L2294
bl L_free$stub
L2289:
srwi r0,r29,31
L2282:
addi r1,r1,144
mr r3,r0
lwz r0,8(r1)
lmw r24,-32(r1)
mtlr r0
blr
L2299:
li r8,0
b L2288
L2298:
slwi r3,r30,3
stw r30,64(r1)
bl L_malloc$stub
li r0,1
cmpwi cr7,r3,0
stw r3,68(r1)
beq- cr7,L2282
slwi r0,r30,2
add r8,r3,r0
stw r8,72(r1)
b L2283
L2297:
lwz r3,68(r1)
bl L_free$stub
b L2289
.align 2
.globl _xre_exec
_xre_exec:
mflr r0
bcl 20,31,"L00000000010$pb"
"L00000000010$pb":
stmw r29,-12(r1)
mr r29,r3
mflr r31
stw r0,8(r1)
stwu r1,-80(r1)
bl L_strlen$stub
mr r4,r29
mr r5,r3
addis r3,r31,ha16(_re_comp_buf-"L00000000010$pb")
la r3,lo16(_re_comp_buf-"L00000000010$pb")(r3)
li r6,0
mr r7,r5
li r8,0
bl _xre_search
addi r1,r1,80
lwz r0,8(r1)
nor r3,r3,r3
srwi r3,r3,31
lmw r29,-12(r1)
mtlr r0
blr
.comm _xre_syntax_options,4
.lcomm _re_syntax_table,256,2
.lcomm _byte_reg_unset_dummy,1,0
.lcomm _re_comp_buf,32,2
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
.align 2
L_bcmp$stub:
.indirect_symbol _bcmp
mflr r0
bcl 20,31,L0$_bcmp
L0$_bcmp:
mflr r11
addis r11,r11,ha16(L_bcmp$lazy_ptr-L0$_bcmp)
mtlr r0
lwzu r12,lo16(L_bcmp$lazy_ptr-L0$_bcmp)(r11)
mtctr r12
bctr
.data
.lazy_symbol_pointer
L_bcmp$lazy_ptr:
.indirect_symbol _bcmp
.long dyld_stub_binding_helper
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
.align 2
L____tolower$stub:
.indirect_symbol ____tolower
mflr r0
bcl 20,31,L0$____tolower
L0$____tolower:
mflr r11
addis r11,r11,ha16(L____tolower$lazy_ptr-L0$____tolower)
mtlr r0
lwzu r12,lo16(L____tolower$lazy_ptr-L0$____tolower)(r11)
mtctr r12
bctr
.data
.lazy_symbol_pointer
L____tolower$lazy_ptr:
.indirect_symbol ____tolower
.long dyld_stub_binding_helper
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
.align 2
L_strcmp$stub:
.indirect_symbol _strcmp
mflr r0
bcl 20,31,L0$_strcmp
L0$_strcmp:
mflr r11
addis r11,r11,ha16(L_strcmp$lazy_ptr-L0$_strcmp)
mtlr r0
lwzu r12,lo16(L_strcmp$lazy_ptr-L0$_strcmp)(r11)
mtctr r12
bctr
.data
.lazy_symbol_pointer
L_strcmp$lazy_ptr:
.indirect_symbol _strcmp
.long dyld_stub_binding_helper
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
.align 2
L_realloc$stub:
.indirect_symbol _realloc
mflr r0
bcl 20,31,L0$_realloc
L0$_realloc:
mflr r11
addis r11,r11,ha16(L_realloc$lazy_ptr-L0$_realloc)
mtlr r0
lwzu r12,lo16(L_realloc$lazy_ptr-L0$_realloc)(r11)
mtctr r12
bctr
.data
.lazy_symbol_pointer
L_realloc$lazy_ptr:
.indirect_symbol _realloc
.long dyld_stub_binding_helper
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
.align 2
L____runetype$stub:
.indirect_symbol ____runetype
mflr r0
bcl 20,31,L0$____runetype
L0$____runetype:
mflr r11
addis r11,r11,ha16(L____runetype$lazy_ptr-L0$____runetype)
mtlr r0
lwzu r12,lo16(L____runetype$lazy_ptr-L0$____runetype)(r11)
mtctr r12
bctr
.data
.lazy_symbol_pointer
L____runetype$lazy_ptr:
.indirect_symbol ____runetype
.long dyld_stub_binding_helper
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
.align 2
L_malloc$stub:
.indirect_symbol _malloc
mflr r0
bcl 20,31,L0$_malloc
L0$_malloc:
mflr r11
addis r11,r11,ha16(L_malloc$lazy_ptr-L0$_malloc)
mtlr r0
lwzu r12,lo16(L_malloc$lazy_ptr-L0$_malloc)(r11)
mtctr r12
bctr
.data
.lazy_symbol_pointer
L_malloc$lazy_ptr:
.indirect_symbol _malloc
.long dyld_stub_binding_helper
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
.align 2
L_free$stub:
.indirect_symbol _free
mflr r0
bcl 20,31,L0$_free
L0$_free:
mflr r11
addis r11,r11,ha16(L_free$lazy_ptr-L0$_free)
mtlr r0
lwzu r12,lo16(L_free$lazy_ptr-L0$_free)(r11)
mtctr r12
bctr
.data
.lazy_symbol_pointer
L_free$lazy_ptr:
.indirect_symbol _free
.long dyld_stub_binding_helper
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
.align 2
L_strlen$stub:
.indirect_symbol _strlen
mflr r0
bcl 20,31,L0$_strlen
L0$_strlen:
mflr r11
addis r11,r11,ha16(L_strlen$lazy_ptr-L0$_strlen)
mtlr r0
lwzu r12,lo16(L_strlen$lazy_ptr-L0$_strlen)(r11)
mtctr r12
bctr
.data
.lazy_symbol_pointer
L_strlen$lazy_ptr:
.indirect_symbol _strlen
.long dyld_stub_binding_helper
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
.align 2
L_abort$stub:
.indirect_symbol _abort
mflr r0
bcl 20,31,L0$_abort
L0$_abort:
mflr r11
addis r11,r11,ha16(L_abort$lazy_ptr-L0$_abort)
mtlr r0
lwzu r12,lo16(L_abort$lazy_ptr-L0$_abort)(r11)
mtctr r12
bctr
.data
.lazy_symbol_pointer
L_abort$lazy_ptr:
.indirect_symbol _abort
.long dyld_stub_binding_helper
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
.align 2
L_bcopy$stub:
.indirect_symbol _bcopy
mflr r0
bcl 20,31,L0$_bcopy
L0$_bcopy:
mflr r11
addis r11,r11,ha16(L_bcopy$lazy_ptr-L0$_bcopy)
mtlr r0
lwzu r12,lo16(L_bcopy$lazy_ptr-L0$_bcopy)(r11)
mtctr r12
bctr
.data
.lazy_symbol_pointer
L_bcopy$lazy_ptr:
.indirect_symbol _bcopy
.long dyld_stub_binding_helper
.data
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
.align 2
L_memset$stub:
.indirect_symbol _memset
mflr r0
bcl 20,31,L0$_memset
L0$_memset:
mflr r11
addis r11,r11,ha16(L_memset$lazy_ptr-L0$_memset)
mtlr r0
lwzu r12,lo16(L_memset$lazy_ptr-L0$_memset)(r11)
mtctr r12
bctr
.data
.lazy_symbol_pointer
L_memset$lazy_ptr:
.indirect_symbol _memset
.long dyld_stub_binding_helper
.data
.non_lazy_symbol_pointer
L__DefaultRuneLocale$non_lazy_ptr:
.indirect_symbol __DefaultRuneLocale
.long 0
L__CurrentRuneLocale$non_lazy_ptr:
.indirect_symbol __CurrentRuneLocale
.long 0
L_xre_syntax_options$non_lazy_ptr:
.indirect_symbol _xre_syntax_options
.long 0
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Another reload problem/bug on powerpc-apple-darwin6.6
2003-09-08 1:07 Another reload problem/bug on powerpc-apple-darwin6.6 Andrew Pinski
@ 2003-09-09 1:16 ` Jim Wilson
0 siblings, 0 replies; 2+ messages in thread
From: Jim Wilson @ 2003-09-09 1:16 UTC (permalink / raw)
To: Andrew Pinski; +Cc: apinski, Geoff Keating, gcc
Andrew Pinski wrote:
> The problem is reload wants to put the external symbol _CurrentRuneLocale
> in a constant label, LC29, but on Darwin this not allowed with shared
> libraries.
Sounds like you need LEGITIMATE_PIC_OPERAND_P defined. Even if code is
always pic, flag_pic should be true if and only if you are building a
shared library, so you can still use it to handle cases like this.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2003-09-09 0:20 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-09-08 1:07 Another reload problem/bug on powerpc-apple-darwin6.6 Andrew Pinski
2003-09-09 1:16 ` Jim Wilson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).