aboutsummaryrefslogtreecommitdiff
path: root/bfd/wasm-module.c
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/wasm-module.c')
-rw-r--r--bfd/wasm-module.c250
1 files changed, 125 insertions, 125 deletions
diff --git a/bfd/wasm-module.c b/bfd/wasm-module.c
index e2af184..18e72d9 100644
--- a/bfd/wasm-module.c
+++ b/bfd/wasm-module.c
@@ -104,10 +104,10 @@ wasm_section_name_to_code (const char *name)
incomplete numbers). SIGN means interpret the number as SLEB128. */
static bfd_vma
-wasm_read_leb128 (bfd * abfd,
- bfd_boolean * error_return,
- unsigned int * length_return,
- bfd_boolean sign)
+wasm_read_leb128 (bfd * abfd,
+ bfd_boolean * error_return,
+ unsigned int * length_return,
+ bfd_boolean sign)
{
bfd_vma result = 0;
unsigned int num_read = 0;
@@ -123,10 +123,10 @@ wasm_read_leb128 (bfd * abfd,
shift += 7;
if ((byte & 0x80) == 0)
- {
- success = TRUE;
- break;
- }
+ {
+ success = TRUE;
+ break;
+ }
}
if (length_return != NULL)
@@ -152,10 +152,10 @@ wasm_write_uleb128 (bfd *abfd, bfd_vma v)
v >>= 7;
if (v)
- c |= 0x80;
+ c |= 0x80;
if (bfd_bwrite (&c, 1, abfd) != 1)
- return FALSE;
+ return FALSE;
}
while (v);
@@ -164,16 +164,16 @@ wasm_write_uleb128 (bfd *abfd, bfd_vma v)
/* Read the LEB128 integer at P, saving it to X; at end of buffer,
jump to error_return. */
-#define READ_LEB128(x, p, end) \
- do \
- { \
- unsigned int length_read; \
- (x) = _bfd_safe_read_leb128 (abfd, (p), &length_read, \
- FALSE, (end)); \
- (p) += length_read; \
- if (length_read == 0) \
- goto error_return; \
- } \
+#define READ_LEB128(x, p, end) \
+ do \
+ { \
+ unsigned int length_read; \
+ (x) = _bfd_safe_read_leb128 (abfd, (p), &length_read, \
+ FALSE, (end)); \
+ (p) += length_read; \
+ if (length_read == 0) \
+ goto error_return; \
+ } \
while (0)
/* Verify the magic number at the beginning of a WebAssembly module
@@ -257,18 +257,18 @@ wasm_scan_name_function_section (bfd *abfd, sec_ptr asect)
{
bfd_byte subsection_code = *p++;
if (subsection_code == WASM_FUNCTION_SUBSECTION)
- break;
+ break;
/* subsection_code is documented to be a varuint7, meaning that
- it has to be a single byte in the 0 - 127 range. If it isn't,
- the spec must have changed underneath us, so give up. */
+ it has to be a single byte in the 0 - 127 range. If it isn't,
+ the spec must have changed underneath us, so give up. */
if (subsection_code & 0x80)
- return FALSE;
+ return FALSE;
READ_LEB128 (payload_size, p, end);
if (p > p + payload_size)
- return FALSE;
+ return FALSE;
p += payload_size;
}
@@ -318,11 +318,11 @@ wasm_scan_name_function_section (bfd *abfd, sec_ptr asect)
READ_LEB128 (len, p, end);
if (p + len < p || p + len > end)
- goto error_return;
+ goto error_return;
name = bfd_zalloc (abfd, len + 1);
if (! name)
- goto error_return;
+ goto error_return;
memcpy (name, p, len);
p += len;
@@ -362,7 +362,7 @@ wasm_read_byte (bfd *abfd, bfd_boolean *errorptr)
if (bfd_bread (&byte, (bfd_size_type) 1, abfd) != 1)
{
if (bfd_get_error () != bfd_error_file_truncated)
- *errorptr = TRUE;
+ *errorptr = TRUE;
return EOF;
}
@@ -393,74 +393,74 @@ wasm_scan (bfd *abfd)
while ((section_code = wasm_read_byte (abfd, &error)) != EOF)
{
if (section_code != 0)
- {
- const char *sname = wasm_section_code_to_name (section_code);
-
- if (! sname)
- goto error_return;
-
- name = strdup (sname);
- bfdsec = bfd_make_section_anyway_with_flags (abfd, name, SEC_HAS_CONTENTS);
- if (bfdsec == NULL)
- goto error_return;
- name = NULL;
-
- bfdsec->vma = vma;
- bfdsec->lma = vma;
- bfdsec->size = wasm_read_leb128 (abfd, &error, &bytes_read, FALSE);
- if (error)
- goto error_return;
- bfdsec->filepos = bfd_tell (abfd);
- bfdsec->alignment_power = 0;
- }
+ {
+ const char *sname = wasm_section_code_to_name (section_code);
+
+ if (! sname)
+ goto error_return;
+
+ name = strdup (sname);
+ bfdsec = bfd_make_section_anyway_with_flags (abfd, name, SEC_HAS_CONTENTS);
+ if (bfdsec == NULL)
+ goto error_return;
+ name = NULL;
+
+ bfdsec->vma = vma;
+ bfdsec->lma = vma;
+ bfdsec->size = wasm_read_leb128 (abfd, &error, &bytes_read, FALSE);
+ if (error)
+ goto error_return;
+ bfdsec->filepos = bfd_tell (abfd);
+ bfdsec->alignment_power = 0;
+ }
else
- {
- bfd_vma payload_len;
- file_ptr section_start;
- bfd_vma namelen;
- char *prefix = WASM_SECTION_PREFIX;
- char *p;
- int ret;
-
- payload_len = wasm_read_leb128 (abfd, &error, &bytes_read, FALSE);
- if (error)
- goto error_return;
- section_start = bfd_tell (abfd);
- namelen = wasm_read_leb128 (abfd, &error, &bytes_read, FALSE);
- if (error || namelen > payload_len)
- goto error_return;
- name = bfd_zmalloc (namelen + strlen (prefix) + 1);
- if (! name)
- goto error_return;
- p = name;
- ret = sprintf (p, "%s", prefix);
- if (ret < 0 || (bfd_vma) ret != strlen (prefix))
- goto error_return;
- p += ret;
- if (bfd_bread (p, namelen, abfd) != namelen)
+ {
+ bfd_vma payload_len;
+ file_ptr section_start;
+ bfd_vma namelen;
+ char *prefix = WASM_SECTION_PREFIX;
+ char *p;
+ int ret;
+
+ payload_len = wasm_read_leb128 (abfd, &error, &bytes_read, FALSE);
+ if (error)
+ goto error_return;
+ section_start = bfd_tell (abfd);
+ namelen = wasm_read_leb128 (abfd, &error, &bytes_read, FALSE);
+ if (error || namelen > payload_len)
+ goto error_return;
+ name = bfd_zmalloc (namelen + strlen (prefix) + 1);
+ if (! name)
+ goto error_return;
+ p = name;
+ ret = sprintf (p, "%s", prefix);
+ if (ret < 0 || (bfd_vma) ret != strlen (prefix))
+ goto error_return;
+ p += ret;
+ if (bfd_bread (p, namelen, abfd) != namelen)
goto error_return;
- bfdsec = bfd_make_section_anyway_with_flags (abfd, name, SEC_HAS_CONTENTS);
- if (bfdsec == NULL)
- goto error_return;
- name = NULL;
+ bfdsec = bfd_make_section_anyway_with_flags (abfd, name, SEC_HAS_CONTENTS);
+ if (bfdsec == NULL)
+ goto error_return;
+ name = NULL;
- bfdsec->vma = vma;
- bfdsec->lma = vma;
- bfdsec->filepos = bfd_tell (abfd);
- bfdsec->size = section_start + payload_len - bfdsec->filepos;
- bfdsec->alignment_power = 0;
- }
+ bfdsec->vma = vma;
+ bfdsec->lma = vma;
+ bfdsec->filepos = bfd_tell (abfd);
+ bfdsec->size = section_start + payload_len - bfdsec->filepos;
+ bfdsec->alignment_power = 0;
+ }
if (bfdsec->size != 0)
- {
- bfdsec->contents = bfd_zalloc (abfd, bfdsec->size);
- if (! bfdsec->contents)
- goto error_return;
+ {
+ bfdsec->contents = bfd_zalloc (abfd, bfdsec->size);
+ if (! bfdsec->contents)
+ goto error_return;
- if (bfd_bread (bfdsec->contents, bfdsec->size, abfd) != bfdsec->size)
+ if (bfd_bread (bfdsec->contents, bfdsec->size, abfd) != bfdsec->size)
goto error_return;
- }
+ }
vma += bfdsec->size;
}
@@ -487,7 +487,7 @@ wasm_scan (bfd *abfd)
static void
wasm_register_section (bfd *abfd ATTRIBUTE_UNUSED,
- asection *asect,
+ asection *asect,
void *fsarg)
{
sec_ptr *numbered_sections = fsarg;
@@ -517,7 +517,7 @@ struct compute_section_arg
static void
wasm_compute_custom_section_file_position (bfd *abfd,
sec_ptr asect,
- void *fsarg)
+ void *fsarg)
{
struct compute_section_arg *fs = fsarg;
int index;
@@ -540,18 +540,18 @@ wasm_compute_custom_section_file_position (bfd *abfd,
payload_len += name_len;
do
- {
- payload_len++;
- nl >>= 7;
- }
+ {
+ payload_len++;
+ nl >>= 7;
+ }
while (nl);
bfd_seek (abfd, fs->pos, SEEK_SET);
if (! wasm_write_uleb128 (abfd, 0)
- || ! wasm_write_uleb128 (abfd, payload_len)
- || ! wasm_write_uleb128 (abfd, name_len)
- || bfd_bwrite (name, name_len, abfd) != name_len)
- goto error_return;
+ || ! wasm_write_uleb128 (abfd, payload_len)
+ || ! wasm_write_uleb128 (abfd, name_len)
+ || bfd_bwrite (name, name_len, abfd) != name_len)
+ goto error_return;
fs->pos = asect->filepos = bfd_tell (abfd);
}
else
@@ -602,13 +602,13 @@ wasm_compute_section_file_positions (bfd *abfd)
bfd_size_type size;
if (! sec)
- continue;
+ continue;
size = sec->size;
if (bfd_seek (abfd, fs.pos, SEEK_SET) != 0)
- return FALSE;
+ return FALSE;
if (! wasm_write_uleb128 (abfd, i)
- || ! wasm_write_uleb128 (abfd, size))
- return FALSE;
+ || ! wasm_write_uleb128 (abfd, size))
+ return FALSE;
fs.pos = sec->filepos = bfd_tell (abfd);
fs.pos += size;
}
@@ -627,10 +627,10 @@ wasm_compute_section_file_positions (bfd *abfd)
static bfd_boolean
wasm_set_section_contents (bfd *abfd,
- sec_ptr section,
- const void *location,
- file_ptr offset,
- bfd_size_type count)
+ sec_ptr section,
+ const void *location,
+ file_ptr offset,
+ bfd_size_type count)
{
if (count == 0)
return TRUE;
@@ -713,9 +713,9 @@ wasm_make_empty_symbol (bfd *abfd)
static void
wasm_print_symbol (bfd *abfd,
- void * filep,
- asymbol *symbol,
- bfd_print_symbol_type how)
+ void * filep,
+ asymbol *symbol,
+ bfd_print_symbol_type how)
{
FILE *file = (FILE *) filep;
@@ -733,8 +733,8 @@ wasm_print_symbol (bfd *abfd,
static void
wasm_get_symbol_info (bfd *abfd ATTRIBUTE_UNUSED,
- asymbol *symbol,
- symbol_info *ret)
+ asymbol *symbol,
+ symbol_info *ret)
{
bfd_symbol_info (symbol, ret);
}
@@ -768,31 +768,31 @@ wasm_object_p (bfd *abfd)
}
/* BFD_JUMP_TABLE_WRITE */
-#define wasm_set_arch_mach _bfd_generic_set_arch_mach
+#define wasm_set_arch_mach _bfd_generic_set_arch_mach
/* BFD_JUMP_TABLE_SYMBOLS */
-#define wasm_get_symbol_version_string _bfd_nosymbols_get_symbol_version_string
-#define wasm_bfd_is_local_label_name bfd_generic_is_local_label_name
+#define wasm_get_symbol_version_string _bfd_nosymbols_get_symbol_version_string
+#define wasm_bfd_is_local_label_name bfd_generic_is_local_label_name
#define wasm_bfd_is_target_special_symbol ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
-#define wasm_get_lineno _bfd_nosymbols_get_lineno
-#define wasm_find_nearest_line _bfd_nosymbols_find_nearest_line
-#define wasm_find_line _bfd_nosymbols_find_line
-#define wasm_find_inliner_info _bfd_nosymbols_find_inliner_info
-#define wasm_bfd_make_debug_symbol _bfd_nosymbols_bfd_make_debug_symbol
-#define wasm_read_minisymbols _bfd_generic_read_minisymbols
-#define wasm_minisymbol_to_symbol _bfd_generic_minisymbol_to_symbol
+#define wasm_get_lineno _bfd_nosymbols_get_lineno
+#define wasm_find_nearest_line _bfd_nosymbols_find_nearest_line
+#define wasm_find_line _bfd_nosymbols_find_line
+#define wasm_find_inliner_info _bfd_nosymbols_find_inliner_info
+#define wasm_bfd_make_debug_symbol _bfd_nosymbols_bfd_make_debug_symbol
+#define wasm_read_minisymbols _bfd_generic_read_minisymbols
+#define wasm_minisymbol_to_symbol _bfd_generic_minisymbol_to_symbol
const bfd_target wasm_vec =
{
- "wasm", /* Name. */
+ "wasm", /* Name. */
bfd_target_unknown_flavour,
BFD_ENDIAN_LITTLE,
BFD_ENDIAN_LITTLE,
(HAS_SYMS | WP_TEXT), /* Object flags. */
(SEC_CODE | SEC_DATA | SEC_HAS_CONTENTS), /* Section flags. */
- 0, /* Leading underscore. */
- ' ', /* AR_pad_char. */
- 255, /* AR_max_namelen. */
+ 0, /* Leading underscore. */
+ ' ', /* AR_pad_char. */
+ 255, /* AR_max_namelen. */
0, /* Match priority. */
/* Routines to byte-swap various sized integers from the data sections. */
bfd_getl64, bfd_getl_signed_64, bfd_putl64,