*/
#define SEC_CONSTRUCTOR 0x100
+ /* The section is a constuctor, and should be placed at the end of the ..
+ */
+#define SEC_CONSTRUCTOR_TEXT 0x1100
+#define SEC_CONSTRUCTOR_DATA 0x2100
+#define SEC_CONSTRUCTOR_BSS 0x3100
+
/* The section has contents - a bss section could be
@code{SEC_ALLOC} | @code{SEC_HAS_CONTENTS}, a debug section could be
@code{SEC_HAS_CONTENTS}
/* Used by the linker
*/
#define BSF_KEEP 0x10000
-#define BSF_WARNING 0x20000
#define BSF_KEEP_G 0x80000
/* Unused
This bit is set by the target bfd part to convey this information.
*/
#define BSF_NOT_AT_END 0x40000
+
+ /* Signal that the symbol is the label of constructor section.
+ */
+#define BSF_CONSTRUCTOR 0x1000000
+
+ /* Signal that the symbol is a warning symbol. If the symbol is a warning
+ symbol, then the value field (I know this is tacky) will point to the
+ asymbol which when referenced will cause the warning.
+ */
+#define BSF_WARNING 0x2000000
+
+ /* Signal that the symbol is indirect. The value of the symbol is a
+ pointer to an undefined asymbol which contains the name to use
+ instead.
+ */
+#define BSF_INDIRECT 0x4000000
flagword flags;
/* Aointer to the section to which this symbol is relative, or 0 if the
/* Used whilst processing archives. Sets the head of the chain of bfds
contained in an archive to @var{new_head}. (see chapter on archives)
*/
-PROTO(boolean, bfd_set_archive_head, (bfd *output, bfd *new_head));
-
-PROTO(bfd *, bfd_get_elt_at_index, (bfd *, int));
-
-
+PROTO(boolean, bfd_set_archive_head, (bfd *output, bfd *new_head));PROTO(bfd *, bfd_get_elt_at_index, (bfd *, int));
/* Initially provided a bfd containing an archive and NULL, opens a bfd
on the first contained element and returns that. Subsequent calls to
bfd_openr_next_archived_file should pass the archive and the previous
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+
\f
+
+/* Alias symbol. Any reference to this will turn into into one to the
+ next symbol in the table
+*/
+
+__define_stab (N_INDR, 0x0b, "INDR")
+
+/* Warning symbol. The text gives a warning message, the next symbol
+ in the table will be undefined. When the symbol is referenced, the
+ message is printed.
+*/
+
+__define_stab (N_WARNING, 0x1e,"WARNING")
+
/* Global variable. Only the name is significant.
To find the address, look in the corresponding external symbol. */
__define_stab (N_GSYM, 0x20, "GSYM")