aboutsummaryrefslogtreecommitdiff
path: root/gnu/usr.bin/gdb/bfd
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>1995-12-30 19:02:48 +0000
committerPeter Wemm <peter@FreeBSD.org>1995-12-30 19:02:48 +0000
commita5b996a7ecea192e05c848269fbfb40c1e7c50ef (patch)
treeb43d0e66d9963acc026a6322b81fd219d273736b /gnu/usr.bin/gdb/bfd
parentdf2fbf15a2e56a16c3b54b93a3369b662b6f20e5 (diff)
recording cvs-1.6 file death
Notes
Notes: svn path=/cvs2svn/branches/ATT/; revision=13122
Diffstat (limited to 'gnu/usr.bin/gdb/bfd')
-rw-r--r--gnu/usr.bin/gdb/bfd/seclet.c185
-rw-r--r--gnu/usr.bin/gdb/bfd/seclet.h55
2 files changed, 0 insertions, 240 deletions
diff --git a/gnu/usr.bin/gdb/bfd/seclet.c b/gnu/usr.bin/gdb/bfd/seclet.c
deleted file mode 100644
index 5dcc59ab0ef8..000000000000
--- a/gnu/usr.bin/gdb/bfd/seclet.c
+++ /dev/null
@@ -1,185 +0,0 @@
-/* seclet.c
- Copyright (C) 1992, 1993 Free Software Foundation, Inc.
- Written by Cygnus Support.
-
-This file is part of BFD, the Binary File Descriptor library.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-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. */
-
-/* This module is part of BFD */
-
-
-/* The intention is that one day, all the code which uses sections
- will change and use seclets instead - maybe seglet would have been
- a better name..
-
- Anyway, a seclet contains enough info to be able to describe an
- area of output memory in one go.
-
- The only description so far catered for is that of the
- <<bfd_indirect_seclet>>, which is a select which points to a
- <<section>> and the <<asymbols>> associated with the section, so
- that relocation can be done when needed.
-
- One day there will be more types - they will at least migrate from
- the linker's data structures - also there could be extra stuff,
- like a bss seclet, which descibes a lump of memory as containing
- zeros compactly, without the horrible SEC_* flag cruft.
-
-
-*/
-
-#include "bfd.h"
-#include "sysdep.h"
-#include "libbfd.h"
-#include "seclet.h"
-#include "coff/internal.h"
-
-/* Create a new seclet and attach it to a section. */
-
-bfd_seclet_type *
-DEFUN(bfd_new_seclet,(abfd, section),
- bfd *abfd AND
- asection *section)
-{
- bfd_seclet_type *n = (bfd_seclet_type *)bfd_alloc(abfd, sizeof(bfd_seclet_type));
- if (section->seclets_tail != (bfd_seclet_type *)NULL) {
- section->seclets_tail->next = n;
- }
- else
- {
- section->seclets_head = n;
- }
- section->seclets_tail = n;
-
- return n;
-}
-
-/* Given an indirect seclet which points to an input section, relocate
- the contents of the seclet and put the data in its final
- destination. */
-
-static boolean
-DEFUN(rel,(abfd, seclet, output_section, data, relocateable),
- bfd *abfd AND
- bfd_seclet_type *seclet AND
- asection *output_section AND
- PTR data AND
- boolean relocateable)
-{
- if ((output_section->flags & SEC_HAS_CONTENTS) != 0
- && seclet->size)
- {
- data = (PTR) bfd_get_relocated_section_contents(abfd, seclet, data,
- relocateable);
- if(bfd_set_section_contents(abfd,
- output_section,
- data,
- seclet->offset,
- seclet->size) == false)
- {
- abort();
- }
- }
- return true;
-}
-
-/* Put the contents of a seclet in its final destination. */
-
-static boolean
-DEFUN(seclet_dump_seclet,(abfd, seclet, section, data, relocateable),
- bfd *abfd AND
- bfd_seclet_type *seclet AND
- asection *section AND
- PTR data AND
- boolean relocateable)
-{
- switch (seclet->type)
- {
- case bfd_indirect_seclet:
- /* The contents of this section come from another one somewhere
- else */
- return rel(abfd, seclet, section, data, relocateable);
-
- case bfd_fill_seclet:
- /* Fill in the section with us */
- {
- char *d = bfd_xmalloc(seclet->size);
- unsigned int i;
- for (i =0; i < seclet->size; i+=2) {
- d[i] = seclet->u.fill.value >> 8;
- }
- for (i = 1; i < seclet->size; i+=2) {
- d[i] = seclet->u.fill.value ;
- }
- /* Don't bother to fill in empty sections */
- if (!(bfd_get_section_flags(abfd, section) & SEC_HAS_CONTENTS))
- {
- return true;
- }
- return bfd_set_section_contents(abfd, section, d, seclet->offset,
- seclet->size);
- }
-
- default:
- abort();
- }
-
- return true;
-}
-
-/*
-INTERNAL_FUNCTION
- bfd_generic_seclet_link
-
-SYNOPSIS
- boolean bfd_generic_seclet_link
- (bfd *abfd,
- PTR data,
- boolean relocateable);
-
-DESCRIPTION
-
- The generic seclet linking routine. The caller should have
- set up seclets for all the output sections. The DATA argument
- should point to a memory area large enough to hold the largest
- section. This function looks through the seclets and moves
- the contents into the output sections. If RELOCATEABLE is
- true, the orelocation fields of the output sections must
- already be initialized.
-
-*/
-
-boolean
-DEFUN(bfd_generic_seclet_link,(abfd, data, relocateable),
- bfd *abfd AND
- PTR data AND
- boolean relocateable)
-{
- asection *o = abfd->sections;
- while (o != (asection *)NULL)
- {
- bfd_seclet_type *p = o->seclets_head;
- while (p != (bfd_seclet_type *)NULL)
- {
- if (seclet_dump_seclet(abfd, p, o, data, relocateable) == false)
- return false;
- p = p ->next;
- }
- o = o->next;
- }
-
- return true;
-}
diff --git a/gnu/usr.bin/gdb/bfd/seclet.h b/gnu/usr.bin/gdb/bfd/seclet.h
deleted file mode 100644
index de5fdff0bb14..000000000000
--- a/gnu/usr.bin/gdb/bfd/seclet.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Definitions of little sections (seclets) for BFD.
- Copyright 1992 Free Software Foundation, Inc.
- Hacked by Steve Chamberlain of Cygnus Support.
-
-This file is part of BFD, the Binary File Descriptor library.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-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. */
-
-#ifndef _SECLET_H
-#define _SECLET_H
-
-enum bfd_seclet_enum
-{
- bfd_indirect_seclet,
- bfd_fill_seclet
-};
-
-struct bfd_seclet
-{
- struct bfd_seclet *next;
- enum bfd_seclet_enum type;
- unsigned int offset;
- unsigned int size;
- union
- {
- struct
- {
- asection *section;
- asymbol **symbols;
- } indirect;
- struct {
- int value;
- } fill;
- }
- u;
-};
-
-typedef struct bfd_seclet bfd_seclet_type;
-
-bfd_seclet_type *
-bfd_new_seclet PARAMS ((bfd *, asection *));
-
-#endif