daily update
[deliverable/binutils-gdb.git] / ld / ldexp.h
index 3ed71af5b0630af36ddaf0e0246ac9ea43d32e07..a90f1ef7b73e3652ea97afb74afed019777a6086 100644 (file)
@@ -1,6 +1,6 @@
 /* ldexp.h -
-   Copyright 1991, 92, 93, 94, 95, 98, 2000
-   Free Software Foundation, Inc.
+   Copyright 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001, 2002,
+   2003, 2004 Free Software Foundation, Inc.
 
    This file is part of GLD, the Gnu Linker.
 
 #define LDEXP_H
 
 /* The result of an expression tree */
-typedef struct
-{
+typedef struct {
   bfd_vma value;
+  char *str;
   struct lang_output_section_statement_struct *section;
-  boolean valid_p;
+  bfd_boolean valid_p;
 } etree_value_type;
 
-typedef struct
-{
+typedef struct {
   int node_code;
-  enum { etree_binary,
-          etree_trinary,
-          etree_unary,
-          etree_name,
-          etree_assign,
-          etree_provide,
-          etree_undef,
-          etree_unspec,
-          etree_value,
-          etree_assert,
-          etree_rel } node_class;
+  enum {
+    etree_binary,
+    etree_trinary,
+    etree_unary,
+    etree_name,
+    etree_assign,
+    etree_provide,
+    etree_provided,
+    etree_undef,
+    etree_unspec,
+    etree_value,
+    etree_assert,
+    etree_rel
+  } node_class;
 } node_type;
 
-typedef union etree_union
-{
+typedef union etree_union {
   node_type type;
   struct {
     node_type type;
@@ -62,21 +63,21 @@ typedef union etree_union
   } trinary;
   struct {
     node_type type;
-    CONST char *dst;
+    const char *dst;
     union etree_union *src;
   } assign;
-
   struct {
     node_type type;
-    union   etree_union *child;
+    union etree_union *child;
   } unary;
   struct {
     node_type type;
-   CONST char *name;
+    const char *name;
   } name;
   struct {
     node_type type;
     bfd_vma value;
+    char *str;
   } value;
   struct {
     node_type type;
@@ -90,23 +91,54 @@ typedef union etree_union
   } assert_s;
 } etree_type;
 
-etree_type *exp_intop PARAMS ((bfd_vma));
-etree_type *exp_relop PARAMS ((asection *, bfd_vma));
-etree_value_type invalid PARAMS ((void));
-etree_value_type exp_fold_tree PARAMS ((etree_type *, struct
-                                       lang_output_section_statement_struct *,
-                                       lang_phase_type,
-                                       bfd_vma, bfd_vma *));
-etree_type *exp_binop PARAMS ((int, etree_type *, etree_type *));
-etree_type *exp_trinop PARAMS ((int,etree_type *, etree_type *, etree_type *));
-etree_type *exp_unop PARAMS ((int, etree_type *));
-etree_type *exp_nameop PARAMS ((int, CONST char *));
-etree_type *exp_assop PARAMS ((int, CONST char *, etree_type *));
-etree_type *exp_provide PARAMS ((const char *, etree_type *));
-etree_type *exp_assert PARAMS ((etree_type *, const char *));
-void exp_print_tree PARAMS ((etree_type *));
-bfd_vma exp_get_vma PARAMS ((etree_type *, bfd_vma, char *, lang_phase_type));
-int exp_get_value_int PARAMS ((etree_type *, int, char *,lang_phase_type));
-bfd_vma exp_get_abs_int PARAMS ((etree_type *, int, char *,lang_phase_type));
+extern struct exp_data_seg {
+  enum {
+    exp_dataseg_none,
+    exp_dataseg_align_seen,
+    exp_dataseg_relro_seen,
+    exp_dataseg_end_seen,
+    exp_dataseg_relro_adjust,
+    exp_dataseg_adjust
+  } phase;
+  bfd_vma base, relro_end, end, pagesize;
+} exp_data_seg;
+
+typedef struct _fill_type fill_type;
+
+etree_type *exp_intop
+  (bfd_vma);
+etree_type *exp_bigintop
+  (bfd_vma, char *);
+etree_type *exp_relop
+  (asection *, bfd_vma);
+etree_value_type invalid
+  (void);
+etree_value_type exp_fold_tree
+  (etree_type *, struct lang_output_section_statement_struct *,
+   lang_phase_type, bfd_vma, bfd_vma *);
+etree_type *exp_binop
+  (int, etree_type *, etree_type *);
+etree_type *exp_trinop
+  (int,etree_type *, etree_type *, etree_type *);
+etree_type *exp_unop
+  (int, etree_type *);
+etree_type *exp_nameop
+  (int, const char *);
+etree_type *exp_assop
+  (int, const char *, etree_type *);
+etree_type *exp_provide
+  (const char *, etree_type *);
+etree_type *exp_assert
+  (etree_type *, const char *);
+void exp_print_tree
+  (etree_type *);
+bfd_vma exp_get_vma
+  (etree_type *, bfd_vma, char *, lang_phase_type);
+int exp_get_value_int
+  (etree_type *, int, char *, lang_phase_type);
+fill_type *exp_get_fill
+  (etree_type *, fill_type *, char *, lang_phase_type);
+bfd_vma exp_get_abs_int
+  (etree_type *, int, char *, lang_phase_type);
 
 #endif
This page took 0.02752 seconds and 4 git commands to generate.