Line 1... |
Line 1... |
/* M16C/M32C specific support for 32-bit ELF.
|
/* M16C/M32C specific support for 32-bit ELF.
|
Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
|
Copyright (C) 2005, 2006, 2007, 2008, 2009, 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 987... |
Line 987... |
m32c_relax_plt_check (struct elf_link_hash_entry *h,
|
m32c_relax_plt_check (struct elf_link_hash_entry *h,
|
PTR xdata)
|
PTR 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 1022... |
Line 1019... |
m32c_relax_plt_realloc (struct elf_link_hash_entry *h,
|
m32c_relax_plt_realloc (struct elf_link_hash_entry *h,
|
PTR xdata)
|
PTR 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;
|
}
|
}
|