be_emit_write_line();
/* gcc fills space between function with 0x90, no idea if this is needed */
- if(be_gas_flavour == GAS_FLAVOUR_MACH_O) {
+ if (be_gas_flavour == GAS_FLAVOUR_MACH_O) {
fill_byte = "0x90";
}
- maximum_skip = (1 << alignment) - 1;
- be_emit_cstring("\t.p2align ");
- be_emit_irprintf("%u,%s,%u\n", alignment, fill_byte, maximum_skip);
- be_emit_write_line();
-
+ if (alignment > 0) {
+ maximum_skip = (1 << alignment) - 1;
+ be_emit_cstring("\t.p2align ");
+ be_emit_irprintf("%u,%s,%u\n", alignment, fill_byte, maximum_skip);
+ be_emit_write_line();
+ }
if (get_entity_visibility(entity) == visibility_external_visible) {
be_emit_cstring(".globl ");
be_emit_string(name);
switch (bytes) {
case 1:
be_emit_irprintf("0x%02x", get_tarval_sub_bits(tv, 0));
- break;
+ return;
case 2:
be_emit_irprintf("0x%02x%02x", get_tarval_sub_bits(tv, 1), get_tarval_sub_bits(tv, 0));
- break;
+ return;
case 4:
be_emit_irprintf("0x%02x%02x%02x%02x",
get_tarval_sub_bits(tv, 3), get_tarval_sub_bits(tv, 2), get_tarval_sub_bits(tv, 1), get_tarval_sub_bits(tv, 0));
- break;
+ return;
case 8:
be_emit_irprintf("0x%02x%02x%02x%02x%02x%02x%02x%02x",
get_tarval_sub_bits(tv, 7), get_tarval_sub_bits(tv, 6), get_tarval_sub_bits(tv, 5), get_tarval_sub_bits(tv, 4),
get_tarval_sub_bits(tv, 3), get_tarval_sub_bits(tv, 2), get_tarval_sub_bits(tv, 1), get_tarval_sub_bits(tv, 0));
- break;
+ return;
- case 10:
case 12:
- break;
+ be_emit_irprintf("0x%02x%02x%02x%02x%02x%02x%02x%02x"
+ "%02x%02x%02x%02x", get_tarval_sub_bits(tv, 11),
+ get_tarval_sub_bits(tv, 10), get_tarval_sub_bits(tv, 9),
+ get_tarval_sub_bits(tv, 8), get_tarval_sub_bits(tv, 7),
+ get_tarval_sub_bits(tv, 6), get_tarval_sub_bits(tv, 5),
+ get_tarval_sub_bits(tv, 4), get_tarval_sub_bits(tv, 3),
+ get_tarval_sub_bits(tv, 2), get_tarval_sub_bits(tv, 1),
+ get_tarval_sub_bits(tv, 0));
+ return;
case 16:
be_emit_irprintf("0x%02x%02x%02x%02x%02x%02x%02x%02x"
get_tarval_sub_bits(tv, 5), get_tarval_sub_bits(tv, 4),
get_tarval_sub_bits(tv, 3), get_tarval_sub_bits(tv, 2),
get_tarval_sub_bits(tv, 1), get_tarval_sub_bits(tv, 0));
- break;
-
-
- default:
- fprintf(stderr, "Try to dump an tarval with %d bytes\n", bytes);
- assert(0);
+ return;
}
+
+ panic("Can't dump a tarval with %d bytes\n", bytes);
}
/**
section = GAS_SECTION_COMMON;
if (visibility != visibility_local)
emit_as_common = 1;
+ } else {
+ section = GAS_SECTION_DATA;
}
if(!emit_as_common) {