All of lore.kernel.org
 help / color / mirror / Atom feed
From: Volker Eckert <volker.eckert@citrix.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: ELF header data types / elfstructs.h, Elf64_Half, Elf64_Quarter
Date: Wed, 16 Nov 2011 18:12:26 +0000	[thread overview]
Message-ID: <4EC3FD0A.4010105@citrix.com> (raw)
In-Reply-To: <4EC3F681.4050304@citrix.com>

[-- Attachment #1: Type: text/plain, Size: 985 bytes --]

Andrew, thank you for the prompt reply.

>> Please read http://wiki.xen.org/wiki/SubmittingXenPatches
>>
>> Specifically, you need to make a declaration of origin.

please find the patch attached in a separate file, with a declaration of 
origin. i don't have hg installed, so it is still created using git. the 
wiki page doesn't say anything about hg being the exclusive way for 
patch submissions so i hope that is acceptable.


>> It is a good idea to attach your patch as a file as quite a few mail
>> clients mangle whitespace of the email text.

done, sorry about that.


> P.S. Please match the whitespace conventions of the file you are working
> in, which you have not done in your submitted patch.

i guess they got mangled by the mailer(?)

as i only replaced parts of words i didn't change any whitespace - it 
was and still is 4 spaces per indentation inside xc_dom_elfloader.c and 
tabs for the rest of the files, which i just checked. unless i am 
missing something...

[-- Attachment #2: elf64_half.patch --]
[-- Type: text/x-patch, Size: 3242 bytes --]

Elf64_Half is a uint16_t according to the ELF standard

Signed-off-by: Volker Eckert <volker.eckert@citrix.com>

diff --git a/tools/libxc/xc_dom_elfloader.c b/tools/libxc/xc_dom_elfloader.c
index 906e3a2..4d7b8e0 100644
--- a/tools/libxc/xc_dom_elfloader.c
+++ b/tools/libxc/xc_dom_elfloader.c
@@ -237,7 +237,7 @@ static int xc_dom_load_elf_symtab(struct xc_dom_image *dom,
 
         /* Name is NULL. */
         if ( elf_64bit(&syms) )
-            *(Elf64_Half*)(&shdr->e64.sh_name) = 0;
+            *(Elf64_Word*)(&shdr->e64.sh_name) = 0;
         else
             *(Elf32_Word*)(&shdr->e32.sh_name) = 0;
     }
diff --git a/xen/include/xen/elfstructs.h b/xen/include/xen/elfstructs.h
index 62f9399..1c46cd4 100644
--- a/xen/include/xen/elfstructs.h
+++ b/xen/include/xen/elfstructs.h
@@ -44,7 +44,7 @@ typedef uint32_t	Elf64_Word;
 typedef int64_t		Elf64_Sxword;
 typedef uint64_t	Elf64_Xword;
 
-typedef uint32_t	Elf64_Half;
+typedef uint16_t	Elf64_Half;
 typedef uint16_t	Elf64_Quarter;
 
 /*
@@ -129,11 +129,11 @@ typedef struct {
 	unsigned char	e_ident[EI_NIDENT];	/* Id bytes */
 	Elf64_Quarter	e_type;			/* file type */
 	Elf64_Quarter	e_machine;		/* machine type */
-	Elf64_Half	e_version;		/* version number */
+	Elf64_Word	e_version;		/* version number */
 	Elf64_Addr	e_entry;		/* entry point */
 	Elf64_Off	e_phoff;		/* Program hdr offset */
 	Elf64_Off	e_shoff;		/* Section hdr offset */
-	Elf64_Half	e_flags;		/* Processor flags */
+	Elf64_Word	e_flags;		/* Processor flags */
 	Elf64_Quarter	e_ehsize;		/* sizeof ehdr */
 	Elf64_Quarter	e_phentsize;		/* Program header entry size */
 	Elf64_Quarter	e_phnum;		/* Number of program headers */
@@ -202,14 +202,14 @@ typedef struct {
 } Elf32_Shdr;
 
 typedef struct {
-	Elf64_Half	sh_name;	/* section name */
-	Elf64_Half	sh_type;	/* section type */
+	Elf64_Word	sh_name;	/* section name */
+	Elf64_Word	sh_type;	/* section type */
 	Elf64_Xword	sh_flags;	/* section flags */
 	Elf64_Addr	sh_addr;	/* virtual address */
 	Elf64_Off	sh_offset;	/* file offset */
 	Elf64_Xword	sh_size;	/* section size */
-	Elf64_Half	sh_link;	/* link to another */
-	Elf64_Half	sh_info;	/* misc info */
+	Elf64_Word	sh_link;	/* link to another */
+	Elf64_Word	sh_info;	/* misc info */
 	Elf64_Xword	sh_addralign;	/* memory alignment */
 	Elf64_Xword	sh_entsize;	/* table entry size */
 } Elf64_Shdr;
@@ -284,7 +284,7 @@ typedef struct elf32_sym {
 } Elf32_Sym;
 
 typedef struct {
-	Elf64_Half	st_name;	/* Symbol name index in str table */
+	Elf64_Word	st_name;	/* Symbol name index in str table */
 	Elf_Byte	st_info;	/* type / binding attrs */
 	Elf_Byte	st_other;	/* unused */
 	Elf64_Quarter	st_shndx;	/* section index of symbol */
@@ -368,8 +368,8 @@ typedef struct {
 } Elf32_Phdr;
 
 typedef struct {
-	Elf64_Half	p_type;		/* entry type */
-	Elf64_Half	p_flags;	/* flags */
+	Elf64_Word	p_type;		/* entry type */
+	Elf64_Word	p_flags;	/* flags */
 	Elf64_Off	p_offset;	/* offset */
 	Elf64_Addr	p_vaddr;	/* virtual address */
 	Elf64_Addr	p_paddr;	/* physical address */
@@ -458,9 +458,9 @@ typedef struct {
 } Elf32_Note;
 
 typedef struct {
-	Elf64_Half namesz;
-	Elf64_Half descsz;
-	Elf64_Half type;
+	Elf64_Word namesz;
+	Elf64_Word descsz;
+	Elf64_Word type;
 } Elf64_Note;
 
 

[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

  reply	other threads:[~2011-11-16 18:12 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-16 17:20 ELF header data types / elfstructs.h, Elf64_Half, Elf64_Quarter Volker Eckert
2011-11-16 17:42 ` Andrew Cooper
2011-11-16 17:44   ` Andrew Cooper
2011-11-16 18:12     ` Volker Eckert [this message]
2011-11-16 18:26       ` Keir Fraser
2011-11-16 18:22 ` Keir Fraser

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4EC3FD0A.4010105@citrix.com \
    --to=volker.eckert@citrix.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.