This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Section alignment not set when libbfd is built for all targets


Hello all,

I am trying to build libbfd.a for *all* targets using the following commands:

tar -xjf binutils-2.21.1a.tar.bz2
cd binutils-2.21.1/bfd/
./configure --enable-targets=all --enable-64-bit-bfd
make

The build completes successfully, and I am able to link against the library.

The problem is, when I dump the section information of a given elf,
the alignment_power field of all sections is always zero (0).  (Note
the other section fields I have checked are correct, i.e., vma, lma,
name, size, etc.).

This problem does not happen when I link with a version of libbfd that
was built as part of binutils with a specific target (or use the
libbfd installed on my operating system).

Am I building incorrectly?

Below is a very simple test program that demonstrates the problem.

Usage is: ./program_below <some_elf>

-------------------------------------------

#include <stdlib.h>
#include <stdint.h>
#include <stddef.h>
#include <stdio.h>
#include <string.h>

#include <bfd.h>

int
main (int argc, char **argv)
{
? ? bfd *abfd;
? ? char *filename = NULL;
? ? char **matching;
? ? asection* section;


? ? if (argc < 2) {
? ? ? ? exit(1);
? ? }

? ? filename = argv[1];

? ? abfd = bfd_openr (filename, NULL);
? ? if (abfd == NULL) {
? ? ? ? printf("Failed to open\n");
? ? ? ? exit(1);
? ? }

? ? if (!bfd_check_format_matches (abfd, bfd_object, &matching)) {

? ? ? ? if (bfd_get_error () == bfd_error_file_ambiguously_recognized) {
? ? ? ? ? ? //list_matching_formats (matching);
? ? ? ? ? ? free (matching);
? ? ? ? ? ? exit(1);
? ? ? ? }
? ? }

? ? section = abfd->sections;

? ? while (section != NULL) {
? ? ? ? printf("%s 2**%u\n", section->name, section->alignment_power);
? ? ? ? section = section->next;
? ? }

? ? return 0;
}

-------------------------------------------

Thanks,

Anthony


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]