fixed to generate only external commons
This commit is contained in:
parent
f210ef4f8e
commit
d6dfd5d1ad
|
@ -126,6 +126,15 @@ reduce_name_table()
|
|||
for (i = 0; i < nname; i++, np++) {
|
||||
int old_diff_index = diff_index[i-1];
|
||||
|
||||
if ((np->on_type & S_COM) && ! (np->on_type & S_EXT)) {
|
||||
long sz = np->on_valu;
|
||||
|
||||
switchseg(SEGBSS);
|
||||
align_word();
|
||||
np->on_type &= (~S_COM);
|
||||
np->on_valu = cur_value();
|
||||
bss(sz);
|
||||
}
|
||||
if (removable(np)) {
|
||||
diff_index[i] = old_diff_index + 1;
|
||||
}
|
||||
|
|
|
@ -19,6 +19,15 @@ do_local_relocation()
|
|||
for ( rp = reloc_info; rp < relo; rp++) {
|
||||
register struct outname *np = &symbol_table[rp->or_nami];
|
||||
|
||||
if ((np->on_type & S_COM) && ! (np->on_type & S_EXT)) {
|
||||
long sz = np->on_valu;
|
||||
|
||||
switchseg(SEGBSS);
|
||||
align_word();
|
||||
np->on_type &= (~S_COM);
|
||||
np->on_valu = cur_value();
|
||||
bss(sz);
|
||||
}
|
||||
if ( np->on_valu != -1 && ! (np->on_type & S_COM)) {
|
||||
register char *sect;
|
||||
|
||||
|
|
Loading…
Reference in a new issue