diff options
author | Ian Lance Taylor <ian@airs.com> | 2008-04-09 00:26:48 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2008-04-09 00:26:48 +0000 |
commit | 2c38906f72b07a9e3b8386d9de8a61b33db04d99 (patch) | |
tree | 2a6adbbd5b22a4cc9eeffb02b04d65b4c3e066b1 /gold/object.cc | |
parent | c9825dba58c3e58303a5a09d368275dd220b7c48 (diff) | |
download | gdb-2c38906f72b07a9e3b8386d9de8a61b33db04d99.zip gdb-2c38906f72b07a9e3b8386d9de8a61b33db04d99.tar.gz gdb-2c38906f72b07a9e3b8386d9de8a61b33db04d99.tar.bz2 |
* layout.h (class Layout): Add added_eh_frame_data_ field.
* layout.cc (Layout::Layout): Initialize new field.
(Layout::layout_eh_frame): Don't add eh_frame_data_ to .eh_frame
output section until we find a section we merged successfully.
* object.cc (Sized_relobj::check_eh_frame_flags): Don't require
that the size be non-zero.
Diffstat (limited to 'gold/object.cc')
-rw-r--r-- | gold/object.cc | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gold/object.cc b/gold/object.cc index c1ddae4..36d3dcc 100644 --- a/gold/object.cc +++ b/gold/object.cc @@ -226,8 +226,7 @@ bool Sized_relobj<size, big_endian>::check_eh_frame_flags( const elfcpp::Shdr<size, big_endian>* shdr) const { - return (shdr->get_sh_size() > 0 - && shdr->get_sh_type() == elfcpp::SHT_PROGBITS + return (shdr->get_sh_type() == elfcpp::SHT_PROGBITS && (shdr->get_sh_flags() & elfcpp::SHF_ALLOC) != 0); } |