688b70685415f854108b70e4e1f82a6778a19a3e
1 /* AVR-specific support for 32-bit ELF.
2 Copyright (C) 2006-2015 Free Software Foundation, Inc.
4 Written by Bjoern Haase <bjoern.m.haase@web.de>
6 This file is part of BFD, the Binary File Descriptor library.
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3 of the License, or
11 (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street - Fifth Floor,
21 Boston, MA 02110-1301, USA. */
24 /* These four functions will be called from the ld back-end. */
27 elf32_avr_setup_params (struct bfd_link_info
*, bfd
*, asection
*,
28 bfd_boolean
, bfd_boolean
, bfd_boolean
,
29 bfd_vma
, bfd_boolean
);
32 elf32_avr_setup_section_lists (bfd
*, struct bfd_link_info
*);
35 elf32_avr_size_stubs (bfd
*, struct bfd_link_info
*, bfd_boolean
);
38 elf32_avr_build_stubs (struct bfd_link_info
*);
40 /* The name of the section into which the property records are stored. */
41 #define AVR_PROPERTY_RECORD_SECTION_NAME ".avr.prop"
43 /* The current version number for the format of the property records. */
44 #define AVR_PROPERTY_RECORDS_VERSION 1
46 /* The size of the header that is written to the property record section
47 before the property records are written out. */
48 #define AVR_PROPERTY_SECTION_HEADER_SIZE 4
50 /* This holds a single property record in memory, the structure of this
51 data when written out to the ELF section is more compressed. */
53 struct avr_property_record
55 /* The section and offset for this record. */
59 /* The type of this record. */
62 RECORD_ORG_AND_FILL
= 1,
64 RECORD_ALIGN_AND_FILL
= 3
67 /* Type specific data. */
70 /* RECORD_ORG and RECORD_ORG_AND_FILL. */
76 /* RECORD_ALIGN and RECORD_ALIGN_AND_FILL. */
82 /* This field is used during linker relaxation to track the number of
83 bytes that have been opened up before this alignment directive.
84 When we have enough bytes available it is possible to move the
85 re-align this directive backwards while still maintaining the
86 alignment requirement. */
87 unsigned long preceding_deleted
;
This page took 0.031011 seconds and 3 git commands to generate.