]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/C/GenFw/Elf32Convert.c
BaseTools GenFw: Support CLANG8ELF with conversion ELF to PE/COFF image
[mirror_edk2.git] / BaseTools / Source / C / GenFw / Elf32Convert.c
index 2485b2cb7ad9a67a9d52fb236261db900b4cd94e..7c8a065678ac1f28b08eba1130d46fcf5d5a6848 100644 (file)
@@ -238,7 +238,7 @@ IsTextShdr (
   Elf_Shdr *Shdr\r
   )\r
 {\r
-  return (BOOLEAN) ((Shdr->sh_flags & (SHF_WRITE | SHF_ALLOC)) == SHF_ALLOC);\r
+  return (BOOLEAN) ((Shdr->sh_flags & (SHF_EXECINSTR | SHF_ALLOC)) == (SHF_EXECINSTR | SHF_ALLOC));\r
 }\r
 \r
 STATIC\r
@@ -261,7 +261,7 @@ IsDataShdr (
   if (IsHiiRsrcShdr(Shdr)) {\r
     return FALSE;\r
   }\r
-  return (BOOLEAN) (Shdr->sh_flags & (SHF_WRITE | SHF_ALLOC)) == (SHF_ALLOC | SHF_WRITE);\r
+  return (BOOLEAN) (Shdr->sh_flags & (SHF_EXECINSTR | SHF_WRITE | SHF_ALLOC)) == (SHF_ALLOC | SHF_WRITE);\r
 }\r
 \r
 STATIC\r
@@ -749,13 +749,7 @@ WriteSections32 (
           if (SymName == NULL) {\r
             SymName = (const UINT8 *)"<unknown>";\r
           }\r
-\r
-          Error (NULL, 0, 3000, "Invalid",\r
-                 "%s: Bad definition for symbol '%s'@%#x or unsupported symbol type.  "\r
-                 "For example, absolute and undefined symbols are not supported.",\r
-                 mInImageName, SymName, Sym->st_value);\r
-\r
-          exit(EXIT_FAILURE);\r
+          continue;\r
         }\r
         SymShdr = GetShdrByIndex(Sym->st_shndx);\r
 \r