Home | History | Annotate | Download | only in gold

Lines Matching refs:eei

119   Expression_eval_info eei;
120 eei.symtab = symtab;
121 eei.layout = layout;
122 eei.check_assertions = check_assertions;
123 eei.is_dot_available = is_dot_available;
124 eei.dot_value = dot_value;
125 eei.dot_section = dot_section;
131 eei.result_section_pointer = result_section_pointer;
135 eei.type_pointer = type_pointer;
136 eei.vis_pointer = vis_pointer;
137 eei.nonvis_pointer = nonvis_pointer;
139 eei.result_alignment_pointer = result_alignment_pointer;
141 uint64_t val = this->value(&eei);
202 Symbol_expression::value(const Expression_eval_info* eei)
204 Symbol* sym = eei->symtab->lookup(this->name_.c_str());
212 if (eei->result_section_pointer != NULL)
213 *eei->result_section_pointer = sym->output_section();
214 if (eei->type_pointer != NULL)
215 *eei->type_pointer = sym->type();
216 if (eei->vis_pointer != NULL)
217 *eei->vis_pointer = sym->visibility();
218 if (eei->nonvis_pointer != NULL)
219 *eei->nonvis_pointer = sym->nonvis();
222 return eei->symtab->get_sized_symbol<32>(sym)->value();
224 return eei->symtab->get_sized_symbol<64>(sym)->value();
247 Dot_expression::value(const Expression_eval_info* eei)
249 if (!eei->is_dot_available)
255 if (eei->result_section_pointer != NULL)
256 *eei->result_section_pointer = eei->dot_section;
257 return eei->dot_value;
285 arg_value(const Expression_eval_info* eei,
288 return this->arg_->eval_maybe_dot(eei->symtab, eei->layout,
289 eei->check_assertions,
290 eei->is_dot_available,
291 eei->dot_value,
292 eei->dot_section,
294 eei->result_alignment_pointer,
321 value(const Expression_eval_info* eei) \
324 uint64_t ret = OPERATOR this->arg_value(eei, &arg_section); \
367 left_value(const Expression_eval_info* eei,
371 return this->left_->eval_maybe_dot(eei->symtab, eei->layout,
372 eei->check_assertions,
373 eei->is_dot_available,
374 eei->dot_value,
375 eei->dot_section,
385 right_value(const Expression_eval_info* eei,
389 return this->right_->eval_maybe_dot(eei->symtab, eei->layout,
390 eei->check_assertions,
391 eei->is_dot_available,
392 eei->dot_value,
393 eei->dot_section,
445 value(const Expression_eval_info* eei) \
449 uint64_t left = this->left_value(eei, &left_section, \
453 uint64_t right = this->right_value(eei, &right_section, \
457 if (eei->result_section_pointer != NULL) \
458 *eei->result_section_pointer = right_section; \
459 if (eei->result_alignment_pointer != NULL \
460 && right_alignment > *eei->result_alignment_pointer) \
461 *eei->result_alignment_pointer = right_alignment; \
467 if (eei->result_section_pointer != NULL) \
468 *eei->result_section_pointer = left_section; \
469 if (eei->result_alignment_pointer != NULL \
470 && left_alignment > *eei->result_alignment_pointer) \
471 *eei->result_alignment_pointer = left_alignment; \
540 arg1_value(const Expression_eval_info* eei,
543 return this->arg1_->eval_maybe_dot(eei->symtab, eei->layout,
544 eei->check_assertions,
545 eei->is_dot_available,
546 eei->dot_value,
547 eei->dot_section,
557 arg2_value(const Expression_eval_info* eei,
561 return this->arg1_->eval_maybe_dot(eei->symtab, eei->layout,
562 eei->check_assertions,
563 eei->is_dot_available,
564 eei->dot_value,
565 eei->dot_section,
575 arg3_value(const Expression_eval_info* eei,
579 return this->arg1_->eval_maybe_dot(eei->symtab, eei->layout,
580 eei->check_assertions,
581 eei->is_dot_available,
582 eei->dot_value,
583 eei->dot_section,
620 value(const Expression_eval_info* eei)
623 uint64_t arg1 = this->arg1_value(eei, &arg1_section);
625 ? this->arg2_value(eei, eei->result_section_pointer,
626 eei->result_alignment_pointer)
627 : this->arg3_value(eei, eei->result_section_pointer,
628 eei->result_alignment_pointer));
660 value(const Expression_eval_info* eei)
664 uint64_t left = this->left_value(eei, &left_section, &left_alignment);
667 uint64_t right = this->right_value(eei, &right_section, &right_alignment);
670 if (eei->result_section_pointer != NULL)
671 *eei->result_section_pointer = left_section;
676 if (eei->result_alignment_pointer != NULL)
678 uint64_t ra = *eei->result_alignment_pointer;
685 *eei->result_alignment_pointer = ra;
711 value(const Expression_eval_info* eei)
715 uint64_t left = this->left_value(eei, &left_section, &left_alignment);
718 uint64_t right = this->right_value(eei, &right_section, &right_alignment);
721 if (eei->result_section_pointer != NULL)
722 *eei->result_section_pointer = left_section;
727 if (eei->result_alignment_pointer != NULL)
729 uint64_t ra = *eei->result_alignment_pointer;
736 *eei->result_alignment_pointer = ra;
789 Section_expression::value(const Expression_eval_info* eei)
792 Output_section* os = eei->layout->find_output_section(section_name);
794 return this->value_from_output_section(eei, os);
800 const Script_options* ss = eei->layout->script_options();
827 value(const Expression_eval_info* eei)
829 uint64_t ret = this->arg_value(eei, NULL);
831 if (eei->result_section_pointer != NULL)
832 *eei->result_section_pointer = NULL;
861 value(const Expression_eval_info* eei)
864 uint64_t align = this->right_value(eei, &align_section, NULL);
869 if (eei->result_alignment_pointer != NULL
870 && align > *eei->result_alignment_pointer)
875 *eei->result_alignment_pointer = a;
878 uint64_t value = this->left_value(eei, eei->result_section_pointer, NULL);
905 value(const Expression_eval_info* eei)
907 uint64_t value = this->arg_value(eei, eei->result_section_pointer);
908 if (!value && eei->check_assertions)
943 value_from_output_section(const Expression_eval_info* eei,
946 if (eei->result_section_pointer != NULL)
947 *eei->result_section_pointer = os;
1114 value(const Expression_eval_info* eei)
1116 Symbol* sym = eei->symtab->lookup(this->symbol_name_.c_str());
1145 value_from_output_section(const Expression_eval_info* eei,
1152 if (eei->result_section_pointer != NULL)
1153 *eei->result_section_pointer = os;
1228 Sizeof_headers_expression::value(const Expression_eval_info* eei)
1245 return ehdr_size + phdr_size * eei->layout->expected_segment_count();
1281 Segment_start_expression::value(const Expression_eval_info* eei)
1295 uint64_t ret = this->arg_value(eei, NULL);
1297 if (eei->result_section_pointer != NULL)
1298 *eei->result_section_pointer = NULL;