Lines Matching refs:mf

53 typedef Token (*dir_func_t)(Mapfile *mf);
63 typedef Token (* attr_func_t)(Mapfile *mf, Token eq_tok, void *uvalue);
71 typedef void (* gts_efunc_t)(Mapfile *mf, Token tok, ld_map_tkval_t *tkv);
148 gettoken_eq(Mapfile *mf, attr_fmt_t eq_type, const char *lhs) in gettoken_eq() argument
155 switch (tok = ld_map_gettoken(mf, 0, &tkv)) { in gettoken_eq()
188 mf_fatal(mf, err, lhs, ld_map_tokenstr(tok, &tkv, &inv_buf)); in gettoken_eq()
243 set_capmask(Mapfile *mf, Capmask *capmask, Token eq_tok, in set_capmask() argument
247 DBG_CALL(Dbg_cap_mapfile_title(mf->mf_ofl->ofl_lml, in set_capmask()
248 mf->mf_lineno)); in set_capmask()
249 DBG_CALL(Dbg_cap_val_entry(mf->mf_ofl->ofl_lml, DBG_STATE_CURRENT, in set_capmask()
256 ld_map_cap_set_ovflag(mf, type); in set_capmask()
257 DBG_CALL(Dbg_cap_val_entry(mf->mf_ofl->ofl_lml, in set_capmask()
262 DBG_CALL(Dbg_cap_val_entry(mf->mf_ofl->ofl_lml, in set_capmask()
268 DBG_CALL(Dbg_cap_val_entry(mf->mf_ofl->ofl_lml, in set_capmask()
279 if (!ld_map_cap_sanitize(mf, type, capmask)) in set_capmask()
283 DBG_CALL(Dbg_cap_val_entry(mf->mf_ofl->ofl_lml, in set_capmask()
305 set_capstr(Mapfile *mf, Caplist *caplist, Token eq_tok, in set_capstr() argument
312 DBG_CALL(Dbg_cap_mapfile_title(mf->mf_ofl->ofl_lml, mf->mf_lineno)); in set_capstr()
315 DBG_CALL(Dbg_cap_ptr_entry(mf->mf_ofl->ofl_lml, in set_capstr()
319 DBG_CALL(Dbg_cap_ptr_entry(mf->mf_ofl->ofl_lml, in set_capstr()
341 DBG_CALL(Dbg_cap_ptr_entry(mf->mf_ofl->ofl_lml, in set_capstr()
345 DBG_CALL(Dbg_cap_ptr_entry(mf->mf_ofl->ofl_lml, in set_capstr()
348 ld_map_cap_set_ovflag(mf, type); in set_capstr()
382 DBG_CALL(Dbg_cap_ptr_entry(mf->mf_ofl->ofl_lml, in set_capstr()
417 DBG_CALL(Dbg_cap_ptr_entry(mf->mf_ofl->ofl_lml, in set_capstr()
428 DBG_CALL(Dbg_cap_ptr_entry(mf->mf_ofl->ofl_lml, in set_capstr()
432 DBG_CALL(Dbg_cap_ptr_entry(mf->mf_ofl->ofl_lml, in set_capstr()
452 gettoken_optattr(Mapfile *mf, const char *lhs) in gettoken_optattr() argument
458 switch (tok = ld_map_gettoken(mf, 0, &tkv)) { in gettoken_optattr()
465 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_SEMLBKT), lhs, in gettoken_optattr()
482 gettoken_term(Mapfile *mf, const char *lhs) in gettoken_term() argument
488 switch (tok = ld_map_gettoken(mf, 0, &tkv)) { in gettoken_term()
495 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_SEMRBKT), lhs, in gettoken_term()
511 gettoken_semicolon(Mapfile *mf, const char *lhs) in gettoken_semicolon() argument
517 switch (tok = ld_map_gettoken(mf, 0, &tkv)) { in gettoken_semicolon()
523 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_SEM), lhs, in gettoken_semicolon()
540 gettoken_leftbkt(Mapfile *mf, const char *lhs) in gettoken_leftbkt() argument
546 switch (tok = ld_map_gettoken(mf, 0, &tkv)) { in gettoken_leftbkt()
552 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_LBKT), lhs, in gettoken_leftbkt()
569 gettoken_int(Mapfile *mf, const char *lhs, ld_map_tkval_t *tkv, int flags) in gettoken_int() argument
573 char *start = mf->mf_next; in gettoken_int()
575 switch (tok = ld_map_gettoken(mf, flags, tkv)) { in gettoken_int()
602 (ld_map_peektoken(mf) == TK_LEFTSQR)) { in gettoken_int()
607 (void) ld_map_gettoken(mf, flags, &mltplr); in gettoken_int()
609 if (ld_map_gettoken(mf, flags & ~TK_F_MULOK, in gettoken_int()
611 tkv->tkv_int.tkvi_cnt = mf->mf_next - start; in gettoken_int()
612 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_INT), in gettoken_int()
618 if (ld_map_peektoken(mf) != TK_RIGHTSQR) { in gettoken_int()
619 tkv->tkv_int.tkvi_cnt = mf->mf_next - start; in gettoken_int()
620 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_RIGHTSQ), in gettoken_int()
626 (void) ld_map_gettoken(mf, flags, NULL); in gettoken_int()
627 tkv->tkv_int.tkvi_cnt = mf->mf_next - start; in gettoken_int()
633 mf_fatal(mf, MSG_INTL(MSG_MAP_MULOVERFLOW), in gettoken_int()
642 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_INT), lhs, in gettoken_int()
661 gettoken_str(Mapfile *mf, int flags, ld_map_tkval_t *tkv, gts_efunc_t efunc) in gettoken_str() argument
665 switch (tok = ld_map_gettoken(mf, flags, tkv)) { in gettoken_str()
672 (* efunc)(mf, tok, tkv); in gettoken_str()
711 parse_attributes(Mapfile *mf, const char *item_name, attr_t *attr_list, in parse_attributes() argument
723 switch (tok = ld_map_gettoken(mf, TK_F_KEYWORD, &tkv)) { in parse_attributes()
749 op_tok = gettoken_eq(mf, attr->at_fmt, in parse_attributes()
756 switch (tok = attr->at_func(mf, op_tok, uvalue)) { in parse_attributes()
780 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_ATTR), in parse_attributes()
792 mf_fatal(mf, MSG_INTL(MSG_MAP_NOATTR), item_name); in parse_attributes()
813 parse_segment_flags(Mapfile *mf, Xword *flags) in parse_segment_flags() argument
859 switch (tok = ld_map_gettoken(mf, TK_F_KEYWORD, &tkv)) { in parse_segment_flags()
904 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_SEGFLAG), in parse_segment_flags()
916 mf_fatal(mf, MSG_INTL(MSG_MAP_NOVALUES), in parse_segment_flags()
946 parse_cap_mask(Mapfile *mf, Token eq_tok, Capmask *capmask, in parse_cap_mask() argument
957 switch (tok = ld_map_gettoken(mf, TK_F_KEYWORD, &tkv)) { in parse_cap_mask()
980 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_CAPMASK), in parse_cap_mask()
986 if (!set_capmask(mf, capmask, eq_tok, type, value, TRUE)) in parse_cap_mask()
1007 parse_cap_list(Mapfile *mf, Token eq_tok, Caplist *caplist, in parse_cap_list() argument
1019 switch (tok = ld_map_gettoken(mf, 0, &tkv)) { in parse_cap_list()
1045 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_CAPNAME), in parse_cap_list()
1051 if (!set_capstr(mf, caplist, eq_tok, type, strs)) in parse_cap_list()
1061 at_cap_hw(Mapfile *mf, Token eq_tok, void *uvalue) in at_cap_hw() argument
1071 switch (tok = ld_map_gettoken(mf, TK_F_KEYWORD, &tkv)) { in at_cap_hw()
1101 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_CAPHW), in at_cap_hw()
1107 if (!set_capmask(mf, &mf->mf_ofl->ofl_ocapset.oc_hw_1, eq_tok, in at_cap_hw()
1110 if (!set_capmask(mf, &mf->mf_ofl->ofl_ocapset.oc_hw_2, eq_tok, in at_cap_hw()
1113 if (!set_capmask(mf, &mf->mf_ofl->ofl_ocapset.oc_hw_3, eq_tok, in at_cap_hw()
1124 at_cap_hw_1(Mapfile *mf, Token eq_tok, void *uvalue) in at_cap_hw_1() argument
1126 return (parse_cap_mask(mf, eq_tok, &mf->mf_ofl->ofl_ocapset.oc_hw_1, in at_cap_hw_1()
1135 at_cap_hw_2(Mapfile *mf, Token eq_tok, void *uvalue) in at_cap_hw_2() argument
1137 return (parse_cap_mask(mf, eq_tok, &mf->mf_ofl->ofl_ocapset.oc_hw_2, in at_cap_hw_2()
1146 at_cap_sf(Mapfile *mf, Token eq_tok, void *uvalue) in at_cap_sf() argument
1156 switch (tok = ld_map_gettoken(mf, TK_F_KEYWORD, &tkv)) { in at_cap_sf()
1175 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_CAPSF), in at_cap_sf()
1181 if (!set_capmask(mf, &mf->mf_ofl->ofl_ocapset.oc_sf_1, eq_tok, in at_cap_sf()
1193 at_cap_sf_1(Mapfile *mf, Token eq_tok, void *uvalue) in at_cap_sf_1() argument
1195 return (parse_cap_mask(mf, eq_tok, &mf->mf_ofl->ofl_ocapset.oc_sf_1, in at_cap_sf_1()
1204 at_cap_mach(Mapfile *mf, Token eq_tok, void *uvalue) in at_cap_mach() argument
1206 return (parse_cap_list(mf, eq_tok, &mf->mf_ofl->ofl_ocapset.oc_mach, in at_cap_mach()
1215 at_cap_plat(Mapfile *mf, Token eq_tok, void *uvalue) in at_cap_plat() argument
1217 return (parse_cap_list(mf, eq_tok, &mf->mf_ofl->ofl_ocapset.oc_plat, in at_cap_plat()
1226 at_cap_hw_3(Mapfile *mf, Token eq_tok, void *uvalue) in at_cap_hw_3() argument
1228 return (parse_cap_mask(mf, eq_tok, &mf->mf_ofl->ofl_ocapset.oc_hw_3, in at_cap_hw_3()
1239 dir_capability(Mapfile *mf) in dir_capability() argument
1284 switch (tok = ld_map_gettoken(mf, 0, &tkv)) { in dir_capability()
1289 capstr = &mf->mf_ofl->ofl_ocapset.oc_id; in dir_capability()
1296 DBG_CALL(Dbg_cap_id(mf->mf_ofl->ofl_lml, mf->mf_lineno, in dir_capability()
1300 mf->mf_ofl->ofl_ocapset.oc_flags |= FLG_OCS_USRDEFID; in dir_capability()
1306 switch (tok = gettoken_optattr(mf, capstr->cs_str)) { in dir_capability()
1321 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_CAPID), in dir_capability()
1328 if (parse_attributes(mf, MSG_ORIG(MSG_MAPKW_CAPABILITY), in dir_capability()
1333 return (gettoken_semicolon(mf, MSG_ORIG(MSG_MAPKW_CAPABILITY))); in dir_capability()
1340 gts_efunc_at_dv_allow(Mapfile *mf, Token tok, ld_map_tkval_t *tkv) in gts_efunc_at_dv_allow() argument
1344 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_VERSION), in gts_efunc_at_dv_allow()
1353 at_dv_allow(Mapfile *mf, Token eq_tok, void *uvalue) in at_dv_allow() argument
1357 if (gettoken_str(mf, 0, &tkv, gts_efunc_at_dv_allow) == TK_ERROR) in at_dv_allow()
1361 if (!ld_map_dv_entry(mf, uvalue, FALSE, tkv.tkv_str)) in at_dv_allow()
1365 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_ALLOW))); in at_dv_allow()
1372 gts_efunc_at_dv_require(Mapfile *mf, Token tok, ld_map_tkval_t *tkv) in gts_efunc_at_dv_require() argument
1376 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_VERSION), in gts_efunc_at_dv_require()
1385 at_dv_require(Mapfile *mf, Token eq_tok, void *uvalue) in at_dv_require() argument
1390 if (gettoken_str(mf, 0, &tkv, gts_efunc_at_dv_require) == TK_ERROR) in at_dv_require()
1394 if (!ld_map_dv_entry(mf, uvalue, TRUE, tkv.tkv_str)) in at_dv_require()
1398 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_REQUIRE))); in at_dv_require()
1405 gts_efunc_dir_depend_versions(Mapfile *mf, Token tok, ld_map_tkval_t *tkv) in gts_efunc_dir_depend_versions() argument
1409 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_OBJNAM), in gts_efunc_dir_depend_versions()
1421 dir_depend_versions(Mapfile *mf) in dir_depend_versions() argument
1444 if (gettoken_str(mf, 0, &tkv, gts_efunc_dir_depend_versions) == in dir_depend_versions()
1449 if ((sdf = ld_map_dv(mf, tkv.tkv_str)) == NULL) in dir_depend_versions()
1453 if (gettoken_leftbkt(mf, tkv.tkv_str) == TK_ERROR) in dir_depend_versions()
1457 if (parse_attributes(mf, MSG_ORIG(MSG_MAPKW_DEPEND_VERSIONS), in dir_depend_versions()
1462 return (gettoken_semicolon(mf, MSG_ORIG(MSG_MAPKW_DEPEND_VERSIONS))); in dir_depend_versions()
1472 dir_hdr_noalloc(Mapfile *mf) in dir_hdr_noalloc() argument
1474 mf->mf_ofl->ofl_dtflags_1 |= DF_1_NOHDR; in dir_hdr_noalloc()
1475 DBG_CALL(Dbg_map_hdr_noalloc(mf->mf_ofl->ofl_lml, mf->mf_lineno)); in dir_hdr_noalloc()
1478 return (gettoken_semicolon(mf, MSG_ORIG(MSG_MAPKW_HDR_NOALLOC))); in dir_hdr_noalloc()
1488 dir_phdr_add_null(Mapfile *mf) in dir_phdr_add_null() argument
1494 if (gettoken_eq(mf, ATTR_FMT_EQ, in dir_phdr_add_null()
1499 if (gettoken_int(mf, MSG_ORIG(MSG_MAPKW_PHDR_ADD_NULL), &tkv, 0) == in dir_phdr_add_null()
1507 if (ld_map_seg_insert(mf, DBG_STATE_NEW, sgp, 0) == in dir_phdr_add_null()
1513 return (gettoken_semicolon(mf, MSG_ORIG(MSG_MAPKW_PHDR_ADD_NULL))); in dir_phdr_add_null()
1521 at_seg_align(Mapfile *mf, Token eq_tok, void *uvalue) in at_seg_align() argument
1527 if (gettoken_int(mf, MSG_ORIG(MSG_MAPKW_ALIGN), &tkv, 0) == TK_ERROR) in at_seg_align()
1534 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_ALIGN))); in at_seg_align()
1541 gts_efunc_at_seg_assign_file_basename(Mapfile *mf, Token tok, in gts_efunc_at_seg_assign_file_basename() argument
1546 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_FILNAM), in gts_efunc_at_seg_assign_file_basename()
1556 at_seg_assign_file_basename(Mapfile *mf, Token eq_tok, void *uvalue) in at_seg_assign_file_basename() argument
1562 if (gettoken_str(mf, 0, &tkv, gts_efunc_at_seg_assign_file_basename) == in at_seg_assign_file_basename()
1566 if (!ld_map_seg_ent_files(mf, enp, TYP_ECF_BASENAME, tkv.tkv_str)) in at_seg_assign_file_basename()
1570 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_FILE_BASENAME))); in at_seg_assign_file_basename()
1577 gts_efunc_at_seg_assign_file_objname(Mapfile *mf, Token tok, in gts_efunc_at_seg_assign_file_objname() argument
1582 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_OBJNAM), in gts_efunc_at_seg_assign_file_objname()
1592 at_seg_assign_file_objname(Mapfile *mf, Token eq_tok, void *uvalue) in at_seg_assign_file_objname() argument
1598 if (gettoken_str(mf, 0, &tkv, gts_efunc_at_seg_assign_file_objname) == in at_seg_assign_file_objname()
1602 if (!ld_map_seg_ent_files(mf, enp, TYP_ECF_OBJNAME, tkv.tkv_str)) in at_seg_assign_file_objname()
1606 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_FILE_OBJNAME))); in at_seg_assign_file_objname()
1613 gts_efunc_at_seg_assign_file_path(Mapfile *mf, Token tok, ld_map_tkval_t *tkv) in gts_efunc_at_seg_assign_file_path() argument
1617 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_FILPATH), in gts_efunc_at_seg_assign_file_path()
1627 at_seg_assign_file_path(Mapfile *mf, Token eq_tok, void *uvalue) in at_seg_assign_file_path() argument
1633 if (gettoken_str(mf, 0, &tkv, gts_efunc_at_seg_assign_file_path) == in at_seg_assign_file_path()
1637 if (!ld_map_seg_ent_files(mf, enp, TYP_ECF_PATH, tkv.tkv_str)) in at_seg_assign_file_path()
1641 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_FILE_PATH))); in at_seg_assign_file_path()
1649 at_seg_assign_flags(Mapfile *mf, Token eq_tok, void *uvalue) in at_seg_assign_flags() argument
1685 switch (tok = ld_map_gettoken(mf, 0, &tkv)) { in at_seg_assign_flags()
1692 mf_fatal0(mf, MSG_INTL(MSG_MAP_SFLG_ONEBANG)); in at_seg_assign_flags()
1720 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_SECFLAG), in at_seg_assign_flags()
1735 mf_fatal0(mf, MSG_INTL(MSG_MAP_SFLG_EXBANG)); in at_seg_assign_flags()
1741 mf_fatal(mf, MSG_INTL(MSG_MAP_NOVALUES), in at_seg_assign_flags()
1753 gts_efunc_at_seg_assign_is_name(Mapfile *mf, Token tok, ld_map_tkval_t *tkv) in gts_efunc_at_seg_assign_is_name() argument
1757 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_SECNAM), in gts_efunc_at_seg_assign_is_name()
1766 at_seg_assign_is_name(Mapfile *mf, Token eq_tok, void *uvalue) in at_seg_assign_is_name() argument
1772 if (gettoken_str(mf, 0, &tkv, gts_efunc_at_seg_assign_is_name) == in at_seg_assign_is_name()
1778 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_IS_NAME))); in at_seg_assign_is_name()
1785 gts_efunc_at_seg_assign_type(Mapfile *mf, Token tok, ld_map_tkval_t *tkv) in gts_efunc_at_seg_assign_type() argument
1789 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_SHTYPE), in gts_efunc_at_seg_assign_type()
1798 at_seg_assign_type(Mapfile *mf, Token eq_tok, void *uvalue) in at_seg_assign_type() argument
1805 if (gettoken_str(mf, TK_F_KEYWORD, &tkv, in at_seg_assign_type()
1829 gts_efunc_at_seg_assign_type(mf, TK_STRING, &tkv); in at_seg_assign_type()
1837 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_TYPE))); in at_seg_assign_type()
1845 at_seg_assign(Mapfile *mf, Token eq_tok, void *uvalue) in at_seg_assign() argument
1889 tok = ld_map_gettoken(mf, 0, &tkv); in at_seg_assign()
1896 tok = ld_map_gettoken(mf, 0, &tkv); in at_seg_assign()
1901 if ((enp = ld_map_seg_ent_add(mf, sgp, name)) == NULL) in at_seg_assign()
1907 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_SEMLBKT), in at_seg_assign()
1920 if (parse_attributes(mf, MSG_ORIG(MSG_MAPKW_ASSIGN_SECTION), in at_seg_assign()
1925 tok = gettoken_term(mf, MSG_ORIG(MSG_MAPKW_ASSIGN_SECTION)); in at_seg_assign()
1931 DBG_CALL(Dbg_map_ent(mf->mf_ofl->ofl_lml, enp, mf->mf_ofl, in at_seg_assign()
1932 mf->mf_lineno)); in at_seg_assign()
1941 at_seg_disable(Mapfile *mf, Token eq_tok, void *uvalue) in at_seg_disable() argument
1947 mf_fatal(mf, MSG_INTL(MSG_MAP_CNTDISSEG), sgp->sg_name); in at_seg_disable()
1955 return (gettoken_semicolon(mf, MSG_ORIG(MSG_MAPKW_DISABLE))); in at_seg_disable()
1969 at_seg_flags(Mapfile *mf, Token eq_tok, void *uvalue) in at_seg_flags() argument
1975 tok = parse_segment_flags(mf, &flags); in at_seg_flags()
1990 at_seg_is_order(Mapfile *mf, Token eq_tok, void *uvalue) in at_seg_is_order() argument
2011 switch (tok = ld_map_gettoken(mf, 0, &tkv)) { in at_seg_is_order()
2020 enp = ld_ent_lookup(mf->mf_ofl, tkv.tkv_str, NULL); in at_seg_is_order()
2022 mf_fatal(mf, MSG_INTL(MSG_MAP_UNKENT), in at_seg_is_order()
2032 mf_fatal(mf, in at_seg_is_order()
2050 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_ECNAM), in at_seg_is_order()
2064 at_seg_max_size(Mapfile *mf, Token eq_tok, void *uvalue) in at_seg_max_size() argument
2070 if (gettoken_int(mf, MSG_ORIG(MSG_MAPKW_MAX_SIZE), &tkv, 0) == TK_ERROR) in at_seg_max_size()
2077 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_MAX_SIZE))); in at_seg_max_size()
2085 at_seg_nohdr(Mapfile *mf, Token eq_tok, void *uvalue) in at_seg_nohdr() argument
2102 return (gettoken_semicolon(mf, MSG_ORIG(MSG_MAPKW_NOHDR))); in at_seg_nohdr()
2110 at_seg_os_order(Mapfile *mf, Token eq_tok, void *uvalue) in at_seg_os_order() argument
2129 switch (tok = ld_map_gettoken(mf, 0, &tkv)) { in at_seg_os_order()
2134 if (!ld_map_seg_os_order_add(mf, sgp, tkv.tkv_str)) in at_seg_os_order()
2144 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_SECNAM), in at_seg_os_order()
2158 at_seg_paddr(Mapfile *mf, Token eq_tok, void *uvalue) in at_seg_paddr() argument
2167 for (APLIST_TRAVERSE(mf->mf_ofl->ofl_segs_order, idx, sgp2)) in at_seg_paddr()
2169 mf_fatal(mf, in at_seg_paddr()
2175 if (gettoken_int(mf, MSG_ORIG(MSG_MAPKW_PADDR), &tkv, 0) == TK_ERROR) in at_seg_paddr()
2182 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_PADDR))); in at_seg_paddr()
2190 at_seg_round(Mapfile *mf, Token eq_tok, void *uvalue) in at_seg_round() argument
2196 if (gettoken_int(mf, MSG_ORIG(MSG_MAPKW_ROUND), &tkv, 0) == TK_ERROR) in at_seg_round()
2203 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_ROUND))); in at_seg_round()
2211 at_seg_size_symbol(Mapfile *mf, Token eq_tok, void *uvalue) in at_seg_size_symbol() argument
2223 switch (tok = ld_map_gettoken(mf, 0, &tkv)) { in at_seg_size_symbol()
2228 if (!ld_map_seg_size_symbol(mf, sgp, eq_tok, in at_seg_size_symbol()
2248 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_SYMNAM), in at_seg_size_symbol()
2257 mf_fatal(mf, MSG_INTL(MSG_MAP_NOVALUES), in at_seg_size_symbol()
2270 at_seg_vaddr(Mapfile *mf, Token eq_tok, void *uvalue) in at_seg_vaddr() argument
2279 for (APLIST_TRAVERSE(mf->mf_ofl->ofl_segs_order, idx, sgp2)) in at_seg_vaddr()
2281 mf_fatal(mf, in at_seg_vaddr()
2287 if (gettoken_int(mf, MSG_ORIG(MSG_MAPKW_VADDR), &tkv, 0) == TK_ERROR) in at_seg_vaddr()
2294 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_VADDR))); in at_seg_vaddr()
2318 dir_segment_inner(Mapfile *mf, const char *dir_name, Word seg_type, in dir_segment_inner() argument
2329 if (gettoken_str(mf, 0, &tkv, gts_efunc) == TK_ERROR) in dir_segment_inner()
2331 sgp = ld_seg_lookup(mf->mf_ofl, tkv.tkv_str, &where); in dir_segment_inner()
2344 mf_fatal(mf, MSG_INTL(MSG_MAP_EXPSEGTYPE), in dir_segment_inner()
2359 ndx = ld_map_seg_index(mf, sgp); in dir_segment_inner()
2360 DBG_CALL(Dbg_map_seg(mf->mf_ofl, DBG_STATE_MOD_BEFORE, in dir_segment_inner()
2361 ndx, sgp, mf->mf_lineno)); in dir_segment_inner()
2368 switch (tok = gettoken_optattr(mf, dir_name)) { in dir_segment_inner()
2376 if (parse_attributes(mf, dir_name, in dir_segment_inner()
2381 tok = gettoken_semicolon(mf, dir_name); in dir_segment_inner()
2393 if (ld_map_seg_insert(mf, DBG_STATE_NEW, sgp, where) == in dir_segment_inner()
2398 DBG_CALL(Dbg_map_seg(mf->mf_ofl, DBG_STATE_MOD_AFTER, in dir_segment_inner()
2399 ndx, sgp, mf->mf_lineno)); in dir_segment_inner()
2409 gts_efunc_dir_load_segment(Mapfile *mf, Token tok, ld_map_tkval_t *tkv) in gts_efunc_dir_load_segment() argument
2413 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_SEGNAM), in gts_efunc_dir_load_segment()
2425 dir_load_segment(Mapfile *mf) in dir_load_segment() argument
2468 return (dir_segment_inner(mf, MSG_ORIG(MSG_MAPKW_LOAD_SEGMENT), in dir_load_segment()
2500 gts_efunc_dir_note_segment(Mapfile *mf, Token tok, ld_map_tkval_t *tkv) in gts_efunc_dir_note_segment() argument
2504 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_SEGNAM), in gts_efunc_dir_note_segment()
2516 dir_note_segment(Mapfile *mf) in dir_note_segment() argument
2518 return (dir_segment_inner(mf, MSG_ORIG(MSG_MAPKW_NOTE_SEGMENT), in dir_note_segment()
2528 gts_efunc_dir_null_segment(Mapfile *mf, Token tok, ld_map_tkval_t *tkv) in gts_efunc_dir_null_segment() argument
2532 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_SEGNAM), in gts_efunc_dir_null_segment()
2544 dir_null_segment(Mapfile *mf) in dir_null_segment() argument
2546 return (dir_segment_inner(mf, MSG_ORIG(MSG_MAPKW_NULL_SEGMENT), in dir_null_segment()
2558 dir_segment_order(Mapfile *mf) in dir_segment_order() argument
2568 tok = gettoken_eq(mf, ATTR_FMT_EQ_PEQ, in dir_segment_order()
2573 DBG_CALL(Dbg_map_seg_order(mf->mf_ofl, ELFOSABI_SOLARIS, in dir_segment_order()
2574 ld_targ.t_m.m_mach, DBG_STATE_MOD_BEFORE, mf->mf_lineno)); in dir_segment_order()
2581 aplist_reset(mf->mf_ofl->ofl_segs_order); in dir_segment_order()
2585 switch (tok = ld_map_gettoken(mf, 0, &tkv)) { in dir_segment_order()
2593 sgp = ld_seg_lookup(mf->mf_ofl, tkv.tkv_str, NULL); in dir_segment_order()
2595 mf_fatal(mf, MSG_INTL(MSG_MAP_UNKSEG), in dir_segment_order()
2603 for (APLIST_TRAVERSE(mf->mf_ofl->ofl_segs_order, in dir_segment_order()
2606 mf_fatal(mf, in dir_segment_order()
2618 mf_fatal(mf, MSG_INTL(MSG_MAP_CNTADDRORDER), in dir_segment_order()
2625 if (aplist_append(&mf->mf_ofl->ofl_segs_order, sgp, in dir_segment_order()
2635 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_SEGNAM), in dir_segment_order()
2642 DBG_CALL(Dbg_map_seg_order(mf->mf_ofl, ELFOSABI_SOLARIS, in dir_segment_order()
2643 ld_targ.t_m.m_mach, DBG_STATE_MOD_AFTER, mf->mf_lineno)); in dir_segment_order()
2655 dir_stack(Mapfile *mf) in dir_stack() argument
2677 if (gettoken_leftbkt(mf, MSG_ORIG(MSG_MAPKW_STACK)) == TK_ERROR) in dir_stack()
2681 sgp = ld_map_seg_stack(mf); in dir_stack()
2684 if (parse_attributes(mf, MSG_ORIG(MSG_MAPKW_STACK), in dir_stack()
2689 tok = gettoken_semicolon(mf, MSG_ORIG(MSG_MAPKW_STACK)); in dir_stack()
2694 Xword ndx = ld_map_seg_index(mf, sgp); in dir_stack()
2696 Dbg_map_seg(mf->mf_ofl, DBG_STATE_MOD_AFTER, ndx, sgp, in dir_stack()
2697 mf->mf_lineno); in dir_stack()
2707 gts_efunc_at_sym_aux(Mapfile *mf, Token tok, ld_map_tkval_t *tkv) in gts_efunc_at_sym_aux() argument
2711 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_OBJNAM), in gts_efunc_at_sym_aux()
2720 at_sym_aux(Mapfile *mf, Token eq_tok, void *uvalue) in at_sym_aux() argument
2726 if (gettoken_str(mf, 0, &tkv, gts_efunc_at_sym_aux) == TK_ERROR) in at_sym_aux()
2729 ld_map_sym_filtee(mf, &ss->ss_mv, &ss->ss_ms, FLG_SY_AUXFLTR, in at_sym_aux()
2733 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_AUX))); in at_sym_aux()
2740 gts_efunc_at_sym_filter(Mapfile *mf, Token tok, ld_map_tkval_t *tkv) in gts_efunc_at_sym_filter() argument
2744 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_OBJNAM), in gts_efunc_at_sym_filter()
2753 at_sym_filter(Mapfile *mf, Token eq_tok, void *uvalue) in at_sym_filter() argument
2759 if (gettoken_str(mf, 0, &tkv, gts_efunc_at_sym_filter) == TK_ERROR) in at_sym_filter()
2762 ld_map_sym_filtee(mf, &ss->ss_mv, &ss->ss_ms, FLG_SY_STDFLTR, in at_sym_filter()
2766 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_FILTER))); in at_sym_filter()
2774 at_sym_flags(Mapfile *mf, Token eq_tok, void *uvalue) in at_sym_flags() argument
2814 Ofl_desc *ofl = mf->mf_ofl; in at_sym_flags()
2817 switch (tok = ld_map_gettoken(mf, TK_F_KEYWORD, &tkv)) { in at_sym_flags()
2859 mf_fatal0(mf, in at_sym_flags()
2894 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_SYMFLAG), in at_sym_flags()
2907 mf_fatal(mf, MSG_INTL(MSG_MAP_NOVALUES), in at_sym_flags()
2920 at_sym_size(Mapfile *mf, Token eq_tok, void *uvalue) in at_sym_size() argument
2926 if (gettoken_int(mf, MSG_ORIG(MSG_MAPKW_SIZE), &tkv, in at_sym_size()
2934 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_SIZE))); in at_sym_size()
2965 gts_efunc_at_sym_type(Mapfile *mf, Token tok, ld_map_tkval_t *tkv) in gts_efunc_at_sym_type() argument
2970 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_SYMTYPE), in gts_efunc_at_sym_type()
2981 at_sym_type(Mapfile *mf, Token eq_tok, void *uvalue) in at_sym_type() argument
2988 if (gettoken_str(mf, TK_F_KEYWORD, &tkv, gts_efunc_at_sym_type) == in at_sym_type()
2995 gts_efunc_at_sym_type(mf, TK_STRING, &tkv); in at_sym_type()
3004 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_TYPE))); in at_sym_type()
3012 at_sym_value(Mapfile *mf, Token eq_tok, void *uvalue) in at_sym_value() argument
3018 if (gettoken_int(mf, MSG_ORIG(MSG_MAPKW_VALUE), &tkv, 0) == TK_ERROR) in at_sym_value()
3025 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_VALUE))); in at_sym_value()
3057 gts_efunc_at_ass_type(Mapfile *mf, Token tok, ld_map_tkval_t *tkv) in gts_efunc_at_ass_type() argument
3062 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_SYMTYPE), in gts_efunc_at_ass_type()
3084 gts_efunc_at_ass_shattr(Mapfile *mf, Token tok, ld_map_tkval_t *tkv) in gts_efunc_at_ass_shattr() argument
3089 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_SHATTRTYPE), in gts_efunc_at_ass_shattr()
3097 at_ass_shattr(Mapfile *mf, Token eq_tok, void *uvalue) in at_ass_shattr() argument
3103 if (gettoken_str(mf, TK_F_KEYWORD, &tkv, in at_ass_shattr()
3111 gts_efunc_at_ass_shattr(mf, TK_STRING, &tkv); in at_ass_shattr()
3118 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_SHATTR))); in at_ass_shattr()
3139 gts_efunc_at_ass_bind(Mapfile *mf, Token tok, ld_map_tkval_t *tkv) in gts_efunc_at_ass_bind() argument
3144 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_BINDTYPE), in gts_efunc_at_ass_bind()
3151 at_ass_bind(Mapfile *mf, Token eq_tok, void *uvalue) in at_ass_bind() argument
3157 if (gettoken_str(mf, TK_F_KEYWORD, &tkv, in at_ass_bind()
3165 gts_efunc_at_ass_bind(mf, TK_STRING, &tkv); in at_ass_bind()
3172 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_BIND))); in at_ass_bind()
3176 at_ass_size(Mapfile *mf, Token eq_tok, void *uvalue) in at_ass_size() argument
3181 if (gettoken_int(mf, MSG_ORIG(MSG_MAPKW_SIZE), &tkv, in at_ass_size()
3188 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_SIZE))); in at_ass_size()
3192 at_ass_alias(Mapfile *mf, Token eq_tok, void *uvalue) in at_ass_alias() argument
3197 if (ld_map_gettoken(mf, 0, &tkv) != TK_STRING) { in at_ass_alias()
3198 mf_fatal0(mf, MSG_INTL(MSG_MAP_BADALIAS)); in at_ass_alias()
3205 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_ALIAS))); in at_ass_alias()
3209 at_ass_type(Mapfile *mf, Token eq_tok, void *uvalue) in at_ass_type() argument
3215 if (gettoken_str(mf, TK_F_KEYWORD, &tkv, in at_ass_type()
3223 gts_efunc_at_ass_type(mf, TK_STRING, &tkv); in at_ass_type()
3230 return (gettoken_term(mf, MSG_ORIG(MSG_MAPKW_ASSERT))); in at_ass_type()
3234 at_sym_assert(Mapfile *mf, Token eq_tok, void *uvalue) in at_sym_assert() argument
3266 switch (tok = ld_map_gettoken(mf, 0, &tkv)) { in at_sym_assert()
3270 if (parse_attributes(mf, ss->ss_ms.ms_name, in at_sym_assert()
3282 mf_fatal(mf, MSG_INTL(MSG_MAP_ALIAS_COMBO), in at_sym_assert()
3287 tok = gettoken_term(mf, MSG_INTL(MSG_MAP_SYMATTR)); in at_sym_assert()
3294 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_SYMDELIM), in at_sym_assert()
3318 parse_symbol_attributes(Mapfile *mf, const char *dir_name, symbol_state_t *ss) in parse_symbol_attributes() argument
3362 switch (tok = ld_map_gettoken(mf, 0, &tkv_sym)) { in parse_symbol_attributes()
3371 ss->ss_ma.ass_file = mf->mf_name; in parse_symbol_attributes()
3372 ss->ss_ma.ass_lineno = mf->mf_lineno; in parse_symbol_attributes()
3395 switch (tok = ld_map_gettoken(mf, 0, &tkv)) { in parse_symbol_attributes()
3400 ld_map_sym_scope(mf, tkv_sym.tkv_str, in parse_symbol_attributes()
3405 if (parse_attributes(mf, tkv_sym.tkv_str, in parse_symbol_attributes()
3410 tok = gettoken_term(mf, in parse_symbol_attributes()
3428 mf_fatal(mf, in parse_symbol_attributes()
3443 if (!ld_map_sym_enter(mf, &ss->ss_mv, in parse_symbol_attributes()
3449 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_SYMDELIM), in parse_symbol_attributes()
3469 ld_map_sym_autoreduce(mf, &ss->ss_mv); in parse_symbol_attributes()
3475 switch (tok = gettoken_term(mf, dir_name)) { in parse_symbol_attributes()
3485 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_SYM), in parse_symbol_attributes()
3511 dir_symbol_scope(Mapfile *mf) in dir_symbol_scope() argument
3516 if (gettoken_leftbkt(mf, MSG_ORIG(MSG_MAPKW_SYMBOL_SCOPE)) == TK_ERROR) in dir_symbol_scope()
3520 if (!ld_map_sym_ver_init(mf, NULL, &ss.ss_mv)) in dir_symbol_scope()
3524 if (parse_symbol_attributes(mf, MSG_ORIG(MSG_MAPKW_SYMBOL_SCOPE), in dir_symbol_scope()
3529 return (gettoken_semicolon(mf, MSG_ORIG(MSG_MAPKW_SYMBOL_SCOPE))); in dir_symbol_scope()
3537 gts_efunc_dir_symbol_version(Mapfile *mf, Token tok, ld_map_tkval_t *tkv) in gts_efunc_dir_symbol_version() argument
3541 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_VERSION), in gts_efunc_dir_symbol_version()
3553 dir_symbol_version(Mapfile *mf) in dir_symbol_version() argument
3560 if (gettoken_str(mf, 0, &tkv, gts_efunc_dir_symbol_version) == TK_ERROR) in dir_symbol_version()
3564 if (gettoken_leftbkt(mf, MSG_ORIG(MSG_MAPKW_SYMBOL_VERSION)) == in dir_symbol_version()
3569 if (!ld_map_sym_ver_init(mf, tkv.tkv_str, &ss.ss_mv)) in dir_symbol_version()
3573 if (parse_symbol_attributes(mf, MSG_ORIG(MSG_MAPKW_SYMBOL_VERSION), in dir_symbol_version()
3581 if (!ld_map_sym_ver_fini(mf, &ss.ss_mv)) in dir_symbol_version()
3592 ld_map_parse_v2(Mapfile *mf) in ld_map_parse_v2() argument
3641 tok = ld_map_gettoken(mf, TK_F_EOFOK | TK_F_KEYWORD, &tkv); in ld_map_parse_v2()
3659 if (tldir->func(mf) == TK_ERROR) in ld_map_parse_v2()
3667 mf_fatal(mf, MSG_INTL(MSG_MAP_EXP_DIR), in ld_map_parse_v2()