Displaying 8 results from an estimated 8 matches for "total_sz".
Did you mean:
total_sg
2013 Nov 27
0
[PATCH 2/4] efi: Location, size and alignment of .text section
...etions(-)
diff --git a/efi/wrapper.c b/efi/wrapper.c
index ec77271..bd2c175 100644
--- a/efi/wrapper.c
+++ b/efi/wrapper.c
@@ -54,11 +54,15 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
struct coff_hdr c_hdr;
struct header hdr;
struct coff_reloc c_rel;
- __uint32_t total_sz = so_size;
+ __uint32_t total_sz = data_size;
__uint32_t dummy = 0;
__uint32_t hdr_sz;
__uint32_t reloc_start, reloc_end;
+ hdr_sz = 512;
+ total_sz += hdr_sz;
+ entry += hdr_sz;
+
memset(&hdr, 0, sizeof(hdr));
hdr.msdos_signature = MSDOS_SIGNATURE;
@@ -77,11 +81,6 @@ static void...
2013 Nov 27
20
[PATCH 0/4] efi: PE header generation fix
The PE headers of the generated efi file were quite buggy. And since OVMF
perform a few consistency checks, syslinux was unable to run on it. I don't
pretend to have a thorough understanding of the PE+ headers, some bugs may
remain. :)
Celelibi (4):
efi: Fix PE header field rva_and_sizes_nr
efi: Location, size and alignment of .text section
efi: Useless relocations in PE file
efi: PE
2013 Nov 27
0
[PATCH 1/4] efi: Fix PE header field rva_and_sizes_nr
...+++++++++++------------
2 files changed, 19 insertions(+), 15 deletions(-)
diff --git a/efi/wrapper.c b/efi/wrapper.c
index 04c895f..ec77271 100644
--- a/efi/wrapper.c
+++ b/efi/wrapper.c
@@ -102,7 +102,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
e_hdr.image_sz = total_sz;
e_hdr.headers_sz = 512;
e_hdr.subsystem = IMAGE_SUBSYSTEM_EFI_APPLICATION;
- e_hdr.rva_and_sizes_nr = 1;
+ e_hdr.rva_and_sizes_nr = sizeof(e_hdr.data_directory) / sizeof(__uint64_t);
fwrite(&e_hdr, sizeof(e_hdr), 1, f);
}
else if (class == ELFCLASS64) {
@@ -130,7 +130,7 @@ stati...
2013 Nov 29
1
[PATCH 1/4] efi: Fix PE header field rva_and_sizes_nr
...anged, 19 insertions(+), 15 deletions(-)
>
> diff --git a/efi/wrapper.c b/efi/wrapper.c
> index 04c895f..ec77271 100644
> --- a/efi/wrapper.c
> +++ b/efi/wrapper.c
> @@ -102,7 +102,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
> e_hdr.image_sz = total_sz;
> e_hdr.headers_sz = 512;
> e_hdr.subsystem = IMAGE_SUBSYSTEM_EFI_APPLICATION;
> - e_hdr.rva_and_sizes_nr = 1;
> + e_hdr.rva_and_sizes_nr = sizeof(e_hdr.data_directory) / sizeof(__uint64_t);
Since the data directories aren't ever used, can't we just delete them
and se...
2013 Nov 29
1
[PATCH 2/4] efi: Location, size and alignment of .text section
...efi/wrapper.c
> index ec77271..bd2c175 100644
> --- a/efi/wrapper.c
> +++ b/efi/wrapper.c
> @@ -54,11 +54,15 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
> struct coff_hdr c_hdr;
> struct header hdr;
> struct coff_reloc c_rel;
> - __uint32_t total_sz = so_size;
> + __uint32_t total_sz = data_size;
> __uint32_t dummy = 0;
> __uint32_t hdr_sz;
> __uint32_t reloc_start, reloc_end;
>
> + hdr_sz = 512;
Please include a comment to explain the magic 512.
> @@ -163,6 +159,16 @@ static void write_header(FILE *f, __uint32_t...
2013 Dec 01
0
[PATCH v2 1/4] efi: Fix PE header field rva_and_sizes_nr
...+++++++++++------------
2 files changed, 19 insertions(+), 15 deletions(-)
diff --git a/efi/wrapper.c b/efi/wrapper.c
index 04c895f..ec77271 100644
--- a/efi/wrapper.c
+++ b/efi/wrapper.c
@@ -102,7 +102,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
e_hdr.image_sz = total_sz;
e_hdr.headers_sz = 512;
e_hdr.subsystem = IMAGE_SUBSYSTEM_EFI_APPLICATION;
- e_hdr.rva_and_sizes_nr = 1;
+ e_hdr.rva_and_sizes_nr = sizeof(e_hdr.data_directory) / sizeof(__uint64_t);
fwrite(&e_hdr, sizeof(e_hdr), 1, f);
}
else if (class == ELFCLASS64) {
@@ -130,7 +130,7 @@ stati...
2013 Dec 01
0
[PATCH v2 3/4] efi: Useless relocations in PE file
...ry, size_t data_size,
{
struct optional_hdr o_hdr;
struct optional_hdr_pe32p o_hdr_pe32p;
- struct section t_sec, r_sec;
+ struct section t_sec;
struct extra_hdr e_hdr;
struct extra_hdr_pe32p e_hdr_pe32p;
struct coff_hdr c_hdr;
struct header hdr;
- struct coff_reloc c_rel;
__uint32_t total_sz = data_size;
- __uint32_t dummy = 0;
__uint32_t hdr_sz;
__uint32_t reloc_start, reloc_end;
@@ -82,7 +80,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
fwrite(&hdr, sizeof(hdr), 1, f);
memset(&c_hdr, 0, sizeof(c_hdr));
- c_hdr.nr_sections = 2;
+ c_hdr....
2013 Nov 27
0
[PATCH 3/4] efi: Useless relocations in PE file
...ry, size_t data_size,
{
struct optional_hdr o_hdr;
struct optional_hdr_pe32p o_hdr_pe32p;
- struct section t_sec, r_sec;
+ struct section t_sec;
struct extra_hdr e_hdr;
struct extra_hdr_pe32p e_hdr_pe32p;
struct coff_hdr c_hdr;
struct header hdr;
- struct coff_reloc c_rel;
__uint32_t total_sz = data_size;
- __uint32_t dummy = 0;
__uint32_t hdr_sz;
__uint32_t reloc_start, reloc_end;
@@ -78,7 +76,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
fwrite(&hdr, sizeof(hdr), 1, f);
memset(&c_hdr, 0, sizeof(c_hdr));
- c_hdr.nr_sections = 2;
+ c_hdr....