Line 1... |
Line 1... |
/* Xstormy16-specific support for 32-bit ELF.
|
/* Xstormy16-specific support for 32-bit ELF.
|
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2010, 2011
|
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
|
|
This file is part of BFD, the Binary File Descriptor library.
|
This file is part of BFD, the Binary File Descriptor library.
|
|
|
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
Line 535... |
Line 535... |
static bfd_boolean
|
static bfd_boolean
|
xstormy16_relax_plt_check (struct elf_link_hash_entry *h, void * xdata)
|
xstormy16_relax_plt_check (struct elf_link_hash_entry *h, void * xdata)
|
{
|
{
|
struct relax_plt_data *data = (struct relax_plt_data *) xdata;
|
struct relax_plt_data *data = (struct relax_plt_data *) xdata;
|
|
|
if (h->root.type == bfd_link_hash_warning)
|
|
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
|
|
|
if (h->plt.offset != (bfd_vma) -1)
|
if (h->plt.offset != (bfd_vma) -1)
|
{
|
{
|
bfd_vma address;
|
bfd_vma address;
|
|
|
if (h->root.type == bfd_link_hash_undefined
|
if (h->root.type == bfd_link_hash_undefined
|
Line 569... |
Line 566... |
static bfd_boolean
|
static bfd_boolean
|
xstormy16_relax_plt_realloc (struct elf_link_hash_entry *h, void * xdata)
|
xstormy16_relax_plt_realloc (struct elf_link_hash_entry *h, void * xdata)
|
{
|
{
|
bfd_vma *entry = (bfd_vma *) xdata;
|
bfd_vma *entry = (bfd_vma *) xdata;
|
|
|
if (h->root.type == bfd_link_hash_warning)
|
|
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
|
|
|
if (h->plt.offset != (bfd_vma) -1)
|
if (h->plt.offset != (bfd_vma) -1)
|
{
|
{
|
h->plt.offset = *entry;
|
h->plt.offset = *entry;
|
*entry += 4;
|
*entry += 4;
|
}
|
}
|