X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbestabs.c;h=a51fdfde7f9f25421ef917e2cb3657bed77bdbfe;hb=22b354ac921664032c93e5f0176fa668c95dfc60;hp=6b5fe3cf56d60fe635a6b3d9d873166e7e7c9dfd;hpb=2bc2dd4bd4f64982e9c5d2f1ea70d63d0eb10044;p=libfirm diff --git a/ir/be/bestabs.c b/ir/be/bestabs.c index 6b5fe3cf5..a51fdfde7 100644 --- a/ir/be/bestabs.c +++ b/ir/be/bestabs.c @@ -682,7 +682,7 @@ static void stabs_method_begin(dbg_handle *handle, ir_entity *ent, const be_stac type_num = get_type_number(h, rtp); be_emit_irprintf("\t.stabs\t\"%s:%c%u\",%u,0,0,%s\n", get_entity_name(ent), - entity_is_externally_visible(ent) ? 'F' : 'f', + get_entity_visibility(ent) == ir_visibility_local ? 'f' : 'F', type_num, N_FUN, get_entity_ld_name(ent)); @@ -794,11 +794,7 @@ static void stabs_variable(dbg_handle *handle, ir_entity *ent) { unsigned tp_num = get_type_number(h, get_entity_type(ent)); char buf[1024]; - if (entity_is_externally_visible(ent)) { - /* a global variable */ - snprintf(buf, sizeof(buf), "\t.stabs\t\"%s:G%u\",%d,0,0,0\n", - get_entity_name(ent), tp_num, N_GSYM); - } else { + if (get_entity_visibility(ent) == ir_visibility_local) { /* some kind of local */ ir_linkage linkage = get_entity_linkage(ent); int kind = N_STSYM; @@ -807,6 +803,10 @@ static void stabs_variable(dbg_handle *handle, ir_entity *ent) { kind = N_ROSYM; snprintf(buf, sizeof(buf), "\t.stabs\t\"%s:S%u\",%d,0,0,%s\n", get_entity_name(ent), tp_num, kind, get_entity_ld_name(ent)); + } else { + /* a global variable */ + snprintf(buf, sizeof(buf), "\t.stabs\t\"%s:G%u\",%d,0,0,0\n", + get_entity_name(ent), tp_num, N_GSYM); } buf[sizeof(buf) - 1] = '\0';