mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 17:18:24 +08:00
2009-12-11 Doug Kwan <dougkwan@google.com>
* arm.cc (Target_arm::do_finalize_sections): Fix build breakage due to -Wshadow. * attributes.cc (Object_attribute::size): Ditto. (Attributes_section_data::size): Ditto. (Attributes_section_data::Attributes_section_data): Ditto. (Output_attributes_section_data::do_write): Ditto. * attributes.h (Object_attribute::set_type): Ditto. * testsuite/tls_test_main.cc (safe_lock, safe_unlock): Ditto.
This commit is contained in:
@ -1,3 +1,14 @@
|
|||||||
|
2009-12-11 Doug Kwan <dougkwan@google.com>
|
||||||
|
|
||||||
|
* arm.cc (Target_arm::do_finalize_sections): Fix build breakage
|
||||||
|
due to -Wshadow.
|
||||||
|
* attributes.cc (Object_attribute::size): Ditto.
|
||||||
|
(Attributes_section_data::size): Ditto.
|
||||||
|
(Attributes_section_data::Attributes_section_data): Ditto.
|
||||||
|
(Output_attributes_section_data::do_write): Ditto.
|
||||||
|
* attributes.h (Object_attribute::set_type): Ditto.
|
||||||
|
* testsuite/tls_test_main.cc (safe_lock, safe_unlock): Ditto.
|
||||||
|
|
||||||
2009-12-11 Nick Clifton <nickc@redhat.com>
|
2009-12-11 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* archive.cc: Fix shadowed variable warnings.
|
* archive.cc: Fix shadowed variable warnings.
|
||||||
|
@ -4784,11 +4784,10 @@ Target_arm<big_endian>::do_finalize_sections(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create an .ARM.attributes section if there is not one already.
|
// Create an .ARM.attributes section if there is not one already.
|
||||||
Output_attributes_section_data* attributes_section =
|
Output_attributes_section_data* as =
|
||||||
new Output_attributes_section_data(*this->attributes_section_data_);
|
new Output_attributes_section_data(*this->attributes_section_data_);
|
||||||
layout->add_output_section_data(".ARM.attributes",
|
alayout->add_output_section_data(".ARM.attributes",
|
||||||
elfcpp::SHT_ARM_ATTRIBUTES, 0,
|
elfcpp::SHT_ARM_ATTRIBUTES, 0, as, false);
|
||||||
attributes_section, false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return whether a direct absolute static relocation needs to be applied.
|
// Return whether a direct absolute static relocation needs to be applied.
|
||||||
|
@ -45,12 +45,12 @@ Object_attribute::size(int tag) const
|
|||||||
if (this->is_default_attribute())
|
if (this->is_default_attribute())
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
size_t size = get_length_as_unsigned_LEB_128(tag);
|
size_t uleb128_size = get_length_as_unsigned_LEB_128(tag);
|
||||||
if (Object_attribute::attribute_type_has_int_value(this->type_))
|
if (Object_attribute::attribute_type_has_int_value(this->type_))
|
||||||
size += get_length_as_unsigned_LEB_128(this->int_value_);
|
uleb128_size += get_length_as_unsigned_LEB_128(this->int_value_);
|
||||||
if (Object_attribute::attribute_type_has_string_value(this->type_))
|
if (Object_attribute::attribute_type_has_string_value(this->type_))
|
||||||
size += this->string_value_.size() + 1;
|
uleb128_size += this->string_value_.size() + 1;
|
||||||
return size;
|
return uleb128_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Whether this has the default value (0/"").
|
// Whether this has the default value (0/"").
|
||||||
@ -266,11 +266,11 @@ Attributes_section_data::size() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Construct an Attributes_section_data object by parsing section contents
|
// Construct an Attributes_section_data object by parsing section contents
|
||||||
// specified by VIEW and SIZE.
|
// specified by VIEW and VIEW_SIZE.
|
||||||
|
|
||||||
Attributes_section_data::Attributes_section_data(
|
Attributes_section_data::Attributes_section_data(
|
||||||
const unsigned char* view,
|
const unsigned char* view,
|
||||||
section_size_type size)
|
section_size_type view_size)
|
||||||
{
|
{
|
||||||
for (int vendor = OBJ_ATTR_FIRST; vendor <= OBJ_ATTR_LAST; ++vendor)
|
for (int vendor = OBJ_ATTR_FIRST; vendor <= OBJ_ATTR_LAST; ++vendor)
|
||||||
this->vendor_object_attributes_[vendor] =
|
this->vendor_object_attributes_[vendor] =
|
||||||
@ -280,16 +280,16 @@ Attributes_section_data::Attributes_section_data(
|
|||||||
p = view;
|
p = view;
|
||||||
if (*(p++) == 'A')
|
if (*(p++) == 'A')
|
||||||
{
|
{
|
||||||
size--;
|
view_size--;
|
||||||
while (size > 0)
|
while (view_size > 0)
|
||||||
{
|
{
|
||||||
// Size of vendor attributes section.
|
// Size of vendor attributes section.
|
||||||
section_size_type section_size =
|
section_size_type section_size =
|
||||||
convert_to_section_size_type(read_from_pointer<32>(&p));
|
convert_to_section_size_type(read_from_pointer<32>(&p));
|
||||||
|
|
||||||
if (section_size > size)
|
if (section_size > view_size)
|
||||||
section_size = size;
|
section_size = view_size;
|
||||||
size -= section_size;
|
view_size -= section_size;
|
||||||
|
|
||||||
const char* section_name = reinterpret_cast<const char*>(p);
|
const char* section_name = reinterpret_cast<const char*>(p);
|
||||||
section_size_type section_name_size = strlen(section_name) + 1;
|
section_size_type section_name_size = strlen(section_name) + 1;
|
||||||
@ -443,10 +443,9 @@ Attributes_section_data::write(std::vector<unsigned char>* buffer) const
|
|||||||
void
|
void
|
||||||
Output_attributes_section_data::do_write(Output_file* of)
|
Output_attributes_section_data::do_write(Output_file* of)
|
||||||
{
|
{
|
||||||
off_t offset = this->offset();
|
|
||||||
const section_size_type oview_size =
|
const section_size_type oview_size =
|
||||||
convert_to_section_size_type(this->data_size());
|
convert_to_section_size_type(this->data_size());
|
||||||
unsigned char* const oview = of->get_output_view(offset, oview_size);
|
unsigned char* const oview = of->get_output_view(this->offset(), oview_size);
|
||||||
|
|
||||||
std::vector<unsigned char> buffer;
|
std::vector<unsigned char> buffer;
|
||||||
this->attributes_section_data_.write(&buffer);
|
this->attributes_section_data_.write(&buffer);
|
||||||
|
@ -103,8 +103,8 @@ class Object_attribute
|
|||||||
|
|
||||||
// Set attribute type.
|
// Set attribute type.
|
||||||
void
|
void
|
||||||
set_type(int type)
|
set_type(int at)
|
||||||
{ this->type_ = type; }
|
{ this->type_ = at; }
|
||||||
|
|
||||||
// Return integer value.
|
// Return integer value.
|
||||||
unsigned int
|
unsigned int
|
||||||
|
@ -33,16 +33,16 @@
|
|||||||
#define safe_lock(muptr) \
|
#define safe_lock(muptr) \
|
||||||
do \
|
do \
|
||||||
{ \
|
{ \
|
||||||
int err = pthread_mutex_lock(muptr); \
|
int pthread_err = pthread_mutex_lock(muptr); \
|
||||||
assert(err == 0); \
|
assert(pthread_err == 0); \
|
||||||
} \
|
} \
|
||||||
while (0)
|
while (0)
|
||||||
|
|
||||||
#define safe_unlock(muptr) \
|
#define safe_unlock(muptr) \
|
||||||
do \
|
do \
|
||||||
{ \
|
{ \
|
||||||
int err = pthread_mutex_unlock(muptr); \
|
int pthread_err = pthread_mutex_unlock(muptr); \
|
||||||
assert(err == 0); \
|
assert(pthread_err == 0); \
|
||||||
} \
|
} \
|
||||||
while (0)
|
while (0)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user