Commit Graph

24 Commits

Author SHA1 Message Date
Stephen Kelly
931e055d8c Port all cmOStringStream to std::ostringstream.
All compilers hosting CMake support the std class.
2015-01-11 17:06:03 +01:00
Rolf Eike Beer
3022f2a1ef cmELF: fix signedness warning on OpenBSD
OpenBSD defines Elf64_Dyn::d_tag to be of an unsigned type, which differs from
what most other platforms do and what is the case for 32 bit. To have the tag
as unsigned makes sense, but this causes a compilation warning:

/.../CMake/Source/cmELF.cxx: In member function 'const cmELF::StringEntry* cmELFInternalImpl<Types>::GetDynamicSectionString(int) [with Types = cmELFTypes64]':
/.../CMake/Source/cmELF.cxx:945:   instantiated from here
/.../CMake/Source/cmELF.cxx:668: warning: comparison between signed and unsigned integer expressions

Add an explicit typedef to cast the value to for 32 and 64 bit. That type is
unsigned and has the proper length for both platforms so no information is
lost. Explicitely cast both arguments before comparing them to avoid the
warning in all situations.
2014-04-14 20:43:10 +02:00
Adrien Destugues
84603d804c Haiku: Enable CMake builtin ELF editor
Co-Author: Brad King <brad.king@kitware.com>
2014-03-21 08:19:09 -04:00
Ryo ONODERA
172d8d94f4 cmELF: Fix typo in comment, 32-bit => 64-bit (#14799) 2014-03-10 11:05:26 -04:00
Clinton Stimpson
5730710c86 Use cmsys::[io]fstream instead of cmsys_ios::[io]fstream.
Also use SystemTools::Fopen() instead of fopen().
This is to eventually support utf-8 filenames.
2014-01-07 09:27:44 -05:00
David Coppa
480e924dae OpenBSD: Enable ELF parsing and editing (#14241)
OpenBSD provides ELF ABI declarations in

 #include <stdint.h>
 #include <elf_abi.h>

Teach the platform check and cmELF implementation to use these.
2013-06-21 08:27:40 -04:00
Brad King
9d21281b7d Fix line-too-long style errors 2010-09-10 14:42:09 -04:00
Brad King
6fc4cd8680 Fix or cast integer conversions in cmake
These were revealed by GCC's -Wconversion option.  Fix types where it is
easy to do so.  Cast in cases we know the integer will not be truncated.
2010-06-25 09:05:15 -04:00
Bill Hoffman
f2d18d6e99 Try to remove some warnings. 2010-05-12 10:41:06 -04:00
Brad King
d4ef3bcf59 Use explicit conversion to avoid warnings in cmELF 2009-10-06 08:33:05 -04:00
Brad King
96afb12087 Convert CMake to OSI-approved BSD License
This converts the CMake license to a pure 3-clause OSI-approved BSD
License.  We drop the previous license clause requiring modified
versions to be plainly marked.  We also update the CMake copyright to
cover the full development time range.
2009-09-28 11:43:28 -04:00
Brad King
0c20967a6b BUG: Fix operator precedence error in cmELF
When attempting to load the RPATH out of a non-ELF file cmELF would
crash because the check for a valid file was done with in correct
operator precedence.  See bug#7392.
2008-08-04 09:38:38 -04:00
Brad King
9eee4149ec BUG: When byte order is not known at compile time make sure NeedSwap in cmELF is still initialized. 2008-05-13 10:34:24 -04:00
Brad King
d707719d57 ENH: In cmELF it is okay if the byte order is not known at compile time.
- We perform a runtime check of the input file anyway.
2008-05-13 10:24:23 -04:00
Brad King
cf3e180f14 COMP: Fix signed/unsigned comparison warning in cmELF. 2008-04-15 09:00:20 -04:00
Brad King
3ff5404cca ENH: Added cmELF methods to get information about DYNAMIC section entries. 2008-04-14 15:02:24 -04:00
Brad King
e98ee8cf70 COMP: Fix cmELF to build when ET_LOOS, ET_HIOS, ET_LOPROC, ET_HIPROC may not be defined. 2008-03-03 08:48:37 -05:00
Brad King
78d27ce7a6 BUG: Fix bug introduced by workaround to warning. 2008-03-02 16:31:06 -05:00
Brad King
f42c3de1d7 BUG: A few more corrections for cmELF
- Add os-specific and processor-specific file types
  - Add more error strings for invalid files.
  - Byte order of header fields does not always match encoding
2008-03-02 16:19:40 -05:00
Brad King
61178a0682 ENH: Add Size member to cmELF::StringEntry to return the amount of space in the string entry. 2008-03-01 12:50:42 -05:00
Brad King
03ef00bc93 ENH: Make cmELF parser more general and powerful
- Add support to get RPATH and RUNPATH entries.
  - Add support to get file offsets to strings.
  - Add more DT_* tags to byte swapping.
2008-02-29 11:12:59 -05:00
Brad King
d404c6bff6 COMP: cmELF needs to include sys/link.h to get dynamic section structures on the Sun. 2008-02-28 08:43:10 -05:00
Brad King
fcad490654 COMP: Fix warnings in cmELF. 2008-02-28 08:32:05 -05:00
Brad King
4c137bad6b ENH: Add ELF file parsing
- Enabled when system provides elf.h
  - Introduce cmELF class to parse ELF files
  - Use in cmSystemTools::GuessLibrarySOName to really get soname
2008-02-27 16:26:35 -05:00