Message ID | 20201221005318.11866-6-jiaxun.yang@flygoat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Alpine Linux build fix and CI pipeline | expand |
On 21/12/2020 01.53, Jiaxun Yang wrote: > As per POSIX specification of limits.h [1], OS libc may define > PAGE_SIZE in limits.h. > > To prevent collosion of definition, we rename PAGE_SIZE here. > > [1]: https://pubs.opengroup.org/onlinepubs/7908799/xsh/limits.h.html > > Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> > --- > contrib/elf2dmp/addrspace.c | 4 ++-- > contrib/elf2dmp/addrspace.h | 6 +++--- > contrib/elf2dmp/main.c | 18 +++++++++--------- > 3 files changed, 14 insertions(+), 14 deletions(-) > > diff --git a/contrib/elf2dmp/addrspace.c b/contrib/elf2dmp/addrspace.c > index 8a76069cb5..53ded17061 100644 > --- a/contrib/elf2dmp/addrspace.c > +++ b/contrib/elf2dmp/addrspace.c > @@ -207,8 +207,8 @@ int va_space_rw(struct va_space *vs, uint64_t addr, > void *buf, size_t size, int is_write) > { > while (size) { > - uint64_t page = addr & PFN_MASK; > - size_t s = (page + PAGE_SIZE) - addr; > + uint64_t page = addr & ELF2DMP_PFN_MASK; > + size_t s = (page + ELF2DMP_PAGE_SIZE) - addr; > void *ptr; > > s = (s > size) ? size : s; > diff --git a/contrib/elf2dmp/addrspace.h b/contrib/elf2dmp/addrspace.h > index d87f6a18c6..00b44c1218 100644 > --- a/contrib/elf2dmp/addrspace.h > +++ b/contrib/elf2dmp/addrspace.h > @@ -10,9 +10,9 @@ > > #include "qemu_elf.h" > > -#define PAGE_BITS 12 > -#define PAGE_SIZE (1ULL << PAGE_BITS) > -#define PFN_MASK (~(PAGE_SIZE - 1)) > +#define ELF2DMP_PAGE_BITS 12 > +#define ELF2DMP_PAGE_SIZE (1ULL << ELF2DMP_PAGE_BITS) > +#define ELF2DMP_PFN_MASK (~(ELF2DMP_PAGE_SIZE - 1)) > > #define INVALID_PA UINT64_MAX > > diff --git a/contrib/elf2dmp/main.c b/contrib/elf2dmp/main.c > index ac746e49e0..20b477d582 100644 > --- a/contrib/elf2dmp/main.c > +++ b/contrib/elf2dmp/main.c > @@ -244,8 +244,8 @@ static int fill_header(WinDumpHeader64 *hdr, struct pa_space *ps, > WinDumpHeader64 h; > size_t i; > > - QEMU_BUILD_BUG_ON(KUSD_OFFSET_SUITE_MASK >= PAGE_SIZE); > - QEMU_BUILD_BUG_ON(KUSD_OFFSET_PRODUCT_TYPE >= PAGE_SIZE); > + QEMU_BUILD_BUG_ON(KUSD_OFFSET_SUITE_MASK >= ELF2DMP_PAGE_SIZE); > + QEMU_BUILD_BUG_ON(KUSD_OFFSET_PRODUCT_TYPE >= ELF2DMP_PAGE_SIZE); > > if (!suite_mask || !product_type) { > return 1; > @@ -281,14 +281,14 @@ static int fill_header(WinDumpHeader64 *hdr, struct pa_space *ps, > }; > > for (i = 0; i < ps->block_nr; i++) { > - h.PhysicalMemoryBlock.NumberOfPages += ps->block[i].size / PAGE_SIZE; > + h.PhysicalMemoryBlock.NumberOfPages += ps->block[i].size / ELF2DMP_PAGE_SIZE; > h.PhysicalMemoryBlock.Run[i] = (WinDumpPhyMemRun64) { > - .BasePage = ps->block[i].paddr / PAGE_SIZE, > - .PageCount = ps->block[i].size / PAGE_SIZE, > + .BasePage = ps->block[i].paddr / ELF2DMP_PAGE_SIZE, > + .PageCount = ps->block[i].size / ELF2DMP_PAGE_SIZE, > }; > } > > - h.RequiredDumpSpace += h.PhysicalMemoryBlock.NumberOfPages << PAGE_BITS; > + h.RequiredDumpSpace += h.PhysicalMemoryBlock.NumberOfPages << ELF2DMP_PAGE_BITS; > > *hdr = h; > > @@ -379,7 +379,7 @@ static int pe_get_pdb_symstore_hash(uint64_t base, void *start_addr, > size_t pdb_name_sz; > size_t i; > > - QEMU_BUILD_BUG_ON(sizeof(*dos_hdr) >= PAGE_SIZE); > + QEMU_BUILD_BUG_ON(sizeof(*dos_hdr) >= ELF2DMP_PAGE_SIZE); > > if (memcmp(&dos_hdr->e_magic, e_magic, sizeof(e_magic))) { > return 1; > @@ -509,10 +509,10 @@ int main(int argc, char *argv[]) > } > printf("CPU #0 IDT[0] -> 0x%016"PRIx64"\n", idt_desc_addr(first_idt_desc)); > > - KernBase = idt_desc_addr(first_idt_desc) & ~(PAGE_SIZE - 1); > + KernBase = idt_desc_addr(first_idt_desc) & ~(ELF2DMP_PAGE_SIZE - 1); > printf("Searching kernel downwards from 0x%016"PRIx64"...\n", KernBase); > > - for (; KernBase >= 0xfffff78000000000; KernBase -= PAGE_SIZE) { > + for (; KernBase >= 0xfffff78000000000; KernBase -= ELF2DMP_PAGE_SIZE) { > nt_start_addr = va_space_resolve(&vs, KernBase); > if (!nt_start_addr) { > continue; > Reviewed-by: Thomas Huth <thuth@redhat.com>
diff --git a/contrib/elf2dmp/addrspace.c b/contrib/elf2dmp/addrspace.c index 8a76069cb5..53ded17061 100644 --- a/contrib/elf2dmp/addrspace.c +++ b/contrib/elf2dmp/addrspace.c @@ -207,8 +207,8 @@ int va_space_rw(struct va_space *vs, uint64_t addr, void *buf, size_t size, int is_write) { while (size) { - uint64_t page = addr & PFN_MASK; - size_t s = (page + PAGE_SIZE) - addr; + uint64_t page = addr & ELF2DMP_PFN_MASK; + size_t s = (page + ELF2DMP_PAGE_SIZE) - addr; void *ptr; s = (s > size) ? size : s; diff --git a/contrib/elf2dmp/addrspace.h b/contrib/elf2dmp/addrspace.h index d87f6a18c6..00b44c1218 100644 --- a/contrib/elf2dmp/addrspace.h +++ b/contrib/elf2dmp/addrspace.h @@ -10,9 +10,9 @@ #include "qemu_elf.h" -#define PAGE_BITS 12 -#define PAGE_SIZE (1ULL << PAGE_BITS) -#define PFN_MASK (~(PAGE_SIZE - 1)) +#define ELF2DMP_PAGE_BITS 12 +#define ELF2DMP_PAGE_SIZE (1ULL << ELF2DMP_PAGE_BITS) +#define ELF2DMP_PFN_MASK (~(ELF2DMP_PAGE_SIZE - 1)) #define INVALID_PA UINT64_MAX diff --git a/contrib/elf2dmp/main.c b/contrib/elf2dmp/main.c index ac746e49e0..20b477d582 100644 --- a/contrib/elf2dmp/main.c +++ b/contrib/elf2dmp/main.c @@ -244,8 +244,8 @@ static int fill_header(WinDumpHeader64 *hdr, struct pa_space *ps, WinDumpHeader64 h; size_t i; - QEMU_BUILD_BUG_ON(KUSD_OFFSET_SUITE_MASK >= PAGE_SIZE); - QEMU_BUILD_BUG_ON(KUSD_OFFSET_PRODUCT_TYPE >= PAGE_SIZE); + QEMU_BUILD_BUG_ON(KUSD_OFFSET_SUITE_MASK >= ELF2DMP_PAGE_SIZE); + QEMU_BUILD_BUG_ON(KUSD_OFFSET_PRODUCT_TYPE >= ELF2DMP_PAGE_SIZE); if (!suite_mask || !product_type) { return 1; @@ -281,14 +281,14 @@ static int fill_header(WinDumpHeader64 *hdr, struct pa_space *ps, }; for (i = 0; i < ps->block_nr; i++) { - h.PhysicalMemoryBlock.NumberOfPages += ps->block[i].size / PAGE_SIZE; + h.PhysicalMemoryBlock.NumberOfPages += ps->block[i].size / ELF2DMP_PAGE_SIZE; h.PhysicalMemoryBlock.Run[i] = (WinDumpPhyMemRun64) { - .BasePage = ps->block[i].paddr / PAGE_SIZE, - .PageCount = ps->block[i].size / PAGE_SIZE, + .BasePage = ps->block[i].paddr / ELF2DMP_PAGE_SIZE, + .PageCount = ps->block[i].size / ELF2DMP_PAGE_SIZE, }; } - h.RequiredDumpSpace += h.PhysicalMemoryBlock.NumberOfPages << PAGE_BITS; + h.RequiredDumpSpace += h.PhysicalMemoryBlock.NumberOfPages << ELF2DMP_PAGE_BITS; *hdr = h; @@ -379,7 +379,7 @@ static int pe_get_pdb_symstore_hash(uint64_t base, void *start_addr, size_t pdb_name_sz; size_t i; - QEMU_BUILD_BUG_ON(sizeof(*dos_hdr) >= PAGE_SIZE); + QEMU_BUILD_BUG_ON(sizeof(*dos_hdr) >= ELF2DMP_PAGE_SIZE); if (memcmp(&dos_hdr->e_magic, e_magic, sizeof(e_magic))) { return 1; @@ -509,10 +509,10 @@ int main(int argc, char *argv[]) } printf("CPU #0 IDT[0] -> 0x%016"PRIx64"\n", idt_desc_addr(first_idt_desc)); - KernBase = idt_desc_addr(first_idt_desc) & ~(PAGE_SIZE - 1); + KernBase = idt_desc_addr(first_idt_desc) & ~(ELF2DMP_PAGE_SIZE - 1); printf("Searching kernel downwards from 0x%016"PRIx64"...\n", KernBase); - for (; KernBase >= 0xfffff78000000000; KernBase -= PAGE_SIZE) { + for (; KernBase >= 0xfffff78000000000; KernBase -= ELF2DMP_PAGE_SIZE) { nt_start_addr = va_space_resolve(&vs, KernBase); if (!nt_start_addr) { continue;
As per POSIX specification of limits.h [1], OS libc may define PAGE_SIZE in limits.h. To prevent collosion of definition, we rename PAGE_SIZE here. [1]: https://pubs.opengroup.org/onlinepubs/7908799/xsh/limits.h.html Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> --- contrib/elf2dmp/addrspace.c | 4 ++-- contrib/elf2dmp/addrspace.h | 6 +++--- contrib/elf2dmp/main.c | 18 +++++++++--------- 3 files changed, 14 insertions(+), 14 deletions(-)