Added new macro CONST_CAST to avoid compiler warnings.
committer: mfx <mfx> 974103100 +0000
This commit is contained in:
+1
-2
@@ -328,8 +328,7 @@ void *upx_main(
|
|||||||
Elf32_Phdr const *phdr = (Elf32_Phdr const *)(1+ehdr);
|
Elf32_Phdr const *phdr = (Elf32_Phdr const *)(1+ehdr);
|
||||||
Elf32_Addr entry;
|
Elf32_Addr entry;
|
||||||
struct Extent xo;
|
struct Extent xo;
|
||||||
struct Extent xi = { 0, (sizeof(struct p_info) + lsize + (char *)my_ehdr) };
|
struct Extent xi = { 0, sizeof(struct p_info) + lsize + CONST_CAST(char *, my_ehdr) };
|
||||||
// warning: 'const' cast away
|
|
||||||
|
|
||||||
size_t const sz_elfhdrs = ((size_t *)xi.buf)[0]; // sizeof(Ehdr+Phdrs), uncompressed
|
size_t const sz_elfhdrs = ((size_t *)xi.buf)[0]; // sizeof(Ehdr+Phdrs), uncompressed
|
||||||
size_t const sz_pckhdrs = ((size_t *)xi.buf)[1]; // sizeof(Ehdr+Phdrs), compressed
|
size_t const sz_pckhdrs = ((size_t *)xi.buf)[1]; // sizeof(Ehdr+Phdrs), compressed
|
||||||
|
|||||||
+1
-1
@@ -296,7 +296,7 @@ void *upx_main(
|
|||||||
*(unsigned short const *)(0x7c + (char const *)my_ehdr);
|
*(unsigned short const *)(0x7c + (char const *)my_ehdr);
|
||||||
struct Extent xi = { // describe compressed shell script
|
struct Extent xi = { // describe compressed shell script
|
||||||
((Elf32_Phdr const *)(1 + my_ehdr))->p_filesz - lsize,
|
((Elf32_Phdr const *)(1 + my_ehdr))->p_filesz - lsize,
|
||||||
(lsize + (char *)my_ehdr) // warning: 'const' cast away
|
lsize + CONST_CAST(char *, my_ehdr)
|
||||||
};
|
};
|
||||||
struct Extent xo = { ((struct p_info *)xi.buf)[-1].p_filesize, uncbuf };
|
struct Extent xo = { ((struct p_info *)xi.buf)[-1].p_filesize, uncbuf };
|
||||||
|
|
||||||
|
|||||||
@@ -51,6 +51,10 @@ struct timex;
|
|||||||
#include <linux/unistd.h>
|
#include <linux/unistd.h>
|
||||||
|
|
||||||
|
|
||||||
|
#define CONST_CAST(type, var) \
|
||||||
|
((type) ((unsigned long) (var)))
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
// constants and types
|
// constants and types
|
||||||
**************************************************************************/
|
**************************************************************************/
|
||||||
|
|||||||
Reference in New Issue
Block a user