void bfd_init (void);
/* Extracted from opncls.c. */
+/* Set to N to open the next N BFDs using an alternate id space. */
extern unsigned int bfd_use_reserved_id;
bfd *bfd_fopen (const char *filename, const char *target,
const char *mode, int fd);
/* Extracted from bfdwin.c. */
/* Extracted from section.c. */
+
typedef struct bfd_section
{
/* The name of the section; the name isn't a copy, the pointer is
(enum bfd_architecture arch, unsigned long machine);
/* Extracted from reloc.c. */
+
typedef enum bfd_reloc_status
{
/* No errors detected. */
}
arelent;
+
enum complain_overflow
{
/* Do not complain on overflow. */
unsigned number. */
complain_overflow_unsigned
};
+struct bfd_symbol; /* Forward declaration. */
struct reloc_howto_struct
{
/* Adapteva EPIPHANY - 8 bit immediate for 16 bit mov instruction. */
BFD_RELOC_EPIPHANY_IMM8,
BFD_RELOC_UNUSED };
+
typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
reloc_howto_type *bfd_reloc_type_lookup
(bfd *abfd, bfd_reloc_code_real_type code);
(ibfd, isymbol, obfd, osymbol))
/* Extracted from bfd.c. */
+
enum bfd_direction
{
no_direction = 0,
return TRUE;
}
+
typedef enum bfd_error
{
bfd_error_no_error = 0,
void bfd_perror (const char *message);
+
typedef void (*bfd_error_handler_type) (const char *, ...);
bfd_error_handler_type bfd_set_error_handler (bfd_error_handler_type);
bfd_error_handler_type bfd_get_error_handler (void);
+
typedef void (*bfd_assert_handler_type) (const char *bfd_formatmsg,
const char *bfd_version,
const char *bfd_file,
return idx;
}
+static unsigned int
+skip_past_newline_1 (ptr, idx)
+ string_type *ptr;
+ unsigned int idx;
+{
+ while (at (ptr, idx)
+ && at (ptr, idx) != '\n')
+ idx++;
+ if (at (ptr, idx) == '\n')
+ return idx + 1;
+ return idx;
+}
+
/***********************************************************************/
string_type stack[STACK];
while (at (tos, idx))
{
- if (at (tos, idx) == '\n' && at (tos, idx + 1) == '.')
+ /* Every iteration begins at the start of a line. */
+ if (at (tos, idx) == '.')
{
char c;
- idx += 2;
+
+ idx++;
while ((c = at (tos, idx)) && c != '\n')
{
idx++;
}
}
+ if (c == '\n')
+ idx++;
catchar (&out, '\n');
}
else
{
- idx++;
+ idx = skip_past_newline_1 (tos, idx);
}
}
static void
skip_past_newline ()
{
- while (at (ptr, idx)
- && at (ptr, idx) != '\n')
- idx++;
- idx++;
+ idx = skip_past_newline_1 (ptr, idx);
pc++;
}