//- directives -------------------------------------------------------- public void handleDirective(Directive directive) { switch (directive.type) { case DirectiveType.PUBLIC: Symbol sym = ((PublicDir)directive).sym; sym.type = Symbol.SymType.PUBLIC; break; case DirectiveType.SECTION: String secName = ((SectionDir)directive).name; Section sec = oboe.findSection(secName); if (sec == null) { //Section.Flags flags = Section.TEXTFLAGS; //Section.Alignment align = Section.Alignment.IMAGE_SCN_ALIGN_16BYTES; //if (secName.Equals(".data")) { // flags = Section.DATAFLAGS; // align = Section.Alignment.IMAGE_SCN_ALIGN_4BYTES; //} //else if (secName.Equals(".bss")) //{ // flags = Section.BSSFLAGS; // align = Section.Alignment.IMAGE_SCN_ALIGN_4BYTES; //} //sec = oboe.addSection(secName, flags, align); } curSection = sec; break; default: break; } }