osprey/cygnus/ld/ldexp.c File Reference

#include "bfd.h"
#include "sysdep.h"
#include "bfdlink.h"
#include "ld.h"
#include "ldmain.h"
#include "ldmisc.h"
#include "ldexp.h"
#include <ldgram.h>
#include "ldlang.h"
#include "libiberty.h"
#include "safe-ctype.h"

Include dependency graph for ldexp.c:

Go to the source code of this file.

Defines

#define BOP(x, y)   case x : result.value = result.value y other.value; break;

Functions/Subroutines

static etree_value_type exp_fold_tree_no_dot (etree_type *, lang_output_section_statement_type *, lang_phase_type)
static bfd_vma align_n (bfd_vma, bfd_vma)
static void exp_print_token (token_code_type code, int infix_p)
static void make_abs (etree_value_type *ptr)
static etree_value_type new_abs (bfd_vma value)
etree_typeexp_intop (bfd_vma value)
etree_typeexp_bigintop (bfd_vma value, char *str)
etree_typeexp_relop (asection *section, bfd_vma value)
static etree_value_type new_rel (bfd_vma value, char *str, lang_output_section_statement_type *section)
static etree_value_type new_rel_from_section (bfd_vma value, lang_output_section_statement_type *section)
static etree_value_type fold_unary (etree_type *tree, lang_output_section_statement_type *current_section, lang_phase_type allocation_done, bfd_vma dot, bfd_vma *dotp)
static etree_value_type fold_binary (etree_type *tree, lang_output_section_statement_type *current_section, lang_phase_type allocation_done, bfd_vma dot, bfd_vma *dotp)
static etree_value_type fold_trinary (etree_type *tree, lang_output_section_statement_type *current_section, lang_phase_type allocation_done, bfd_vma dot, bfd_vma *dotp)
static etree_value_type fold_name (etree_type *tree, lang_output_section_statement_type *current_section, lang_phase_type allocation_done, bfd_vma dot)
etree_value_type exp_fold_tree (etree_type *tree, lang_output_section_statement_type *current_section, lang_phase_type allocation_done, bfd_vma dot, bfd_vma *dotp)
etree_typeexp_binop (int code, etree_type *lhs, etree_type *rhs)
etree_typeexp_trinop (int code, etree_type *cond, etree_type *lhs, etree_type *rhs)
etree_typeexp_unop (int code, etree_type *child)
etree_typeexp_nameop (int code, const char *name)
etree_typeexp_assop (int code, const char *dst, etree_type *src)
etree_typeexp_provide (const char *dst, etree_type *src)
etree_typeexp_assert (etree_type *exp, const char *message)
void exp_print_tree (etree_type *tree)
bfd_vma exp_get_vma (etree_type *tree, bfd_vma def, char *name, lang_phase_type allocation_done)
int exp_get_value_int (etree_type *tree, int def, char *name, lang_phase_type allocation_done)
fill_typeexp_get_fill (etree_type *tree, fill_type *def, char *name, lang_phase_type allocation_done)
bfd_vma exp_get_abs_int (etree_type *tree, int def ATTRIBUTE_UNUSED, char *name, lang_phase_type allocation_done)

Variables

struct exp_data_seg exp_data_seg
segment_typesegments
static bfd_boolean assigning_to_dot = FALSE


Define Documentation

#define BOP ( x,
 )     case x : result.value = result.value y other.value; break;

Referenced by fold_binary().


Function Documentation

static bfd_vma align_n ( bfd_vma  value,
bfd_vma  align 
) [static]

Definition at line 1172 of file ldexp.c.

Referenced by fold_binary(), and fold_unary().

etree_type* exp_assert ( etree_type exp,
const char *  message 
)

etree_type* exp_assop ( int  code,
const char *  dst,
etree_type src 
)

etree_type* exp_bigintop ( bfd_vma  value,
char *  str 
)

Definition at line 170 of file ldexp.c.

References INT, and stat_alloc().

Referenced by yyparse().

etree_type* exp_binop ( int  code,
etree_type lhs,
etree_type rhs 
)

etree_value_type exp_fold_tree ( etree_type tree,
lang_output_section_statement_type current_section,
lang_phase_type  allocation_done,
bfd_vma  dot,
bfd_vma dotp 
)

static etree_value_type exp_fold_tree_no_dot ( etree_type tree,
lang_output_section_statement_type current_section,
lang_phase_type  allocation_done 
) [static]

bfd_vma exp_get_abs_int ( etree_type tree,
int def  ATTRIBUTE_UNUSED,
char *  name,
lang_phase_type  allocation_done 
)

fill_type* exp_get_fill ( etree_type tree,
fill_type def,
char *  name,
lang_phase_type  allocation_done 
)

int exp_get_value_int ( etree_type tree,
int  def,
char *  name,
lang_phase_type  allocation_done 
)

Definition at line 1088 of file ldexp.c.

References exp_get_vma().

Referenced by lang_enter_output_section_statement(), and lang_new_phdr().

bfd_vma exp_get_vma ( etree_type tree,
bfd_vma  def,
char *  name,
lang_phase_type  allocation_done 
)

etree_type* exp_intop ( bfd_vma  value  ) 

etree_type* exp_nameop ( int  code,
const char *  name 
)

static void exp_print_token ( token_code_type  code,
int  infix_p 
) [static]

void exp_print_tree ( etree_type tree  ) 

etree_type* exp_provide ( const char *  dst,
etree_type src 
)

etree_type* exp_relop ( asection section,
bfd_vma  value 
)

Definition at line 183 of file ldexp.c.

References REL, and stat_alloc().

Referenced by ldctor_build_sets().

etree_type* exp_trinop ( int  code,
etree_type cond,
etree_type lhs,
etree_type rhs 
)

etree_type* exp_unop ( int  code,
etree_type child 
)

static etree_value_type fold_binary ( etree_type tree,
lang_output_section_statement_type current_section,
lang_phase_type  allocation_done,
bfd_vma  dot,
bfd_vma dotp 
) [static]

static etree_value_type fold_name ( etree_type tree,
lang_output_section_statement_type current_section,
lang_phase_type  allocation_done,
bfd_vma  dot 
) [static]

static etree_value_type fold_trinary ( etree_type tree,
lang_output_section_statement_type current_section,
lang_phase_type  allocation_done,
bfd_vma  dot,
bfd_vma dotp 
) [static]

static etree_value_type fold_unary ( etree_type tree,
lang_output_section_statement_type current_section,
lang_phase_type  allocation_done,
bfd_vma  dot,
bfd_vma dotp 
) [static]

static void make_abs ( etree_value_type ptr  )  [static]

static etree_value_type new_abs ( bfd_vma  value  )  [static]

Definition at line 148 of file ldexp.c.

References abs_output_section, NULL, TRUE, and etree_value_type::valid_p.

Referenced by fold_name().

static etree_value_type new_rel ( bfd_vma  value,
char *  str,
lang_output_section_statement_type section 
) [static]

Definition at line 194 of file ldexp.c.

References TRUE, and etree_value_type::valid_p.

Referenced by exp_fold_tree(), and fold_name().

static etree_value_type new_rel_from_section ( bfd_vma  value,
lang_output_section_statement_type section 
) [static]


Variable Documentation

bfd_boolean assigning_to_dot = FALSE [static]

Definition at line 58 of file ldexp.c.

Referenced by exp_fold_tree(), and fold_name().

Definition at line 53 of file ldexp.c.

Definition at line 55 of file ldexp.c.

Referenced by set_segment_start().


Generated on Wed Apr 8 15:01:41 2009 for Open64 by  doxygen 1.5.6