Remove the specific SHT_GNU_HASH for some version unix OS.
authorlgao4 <lgao4@7335b38e-4728-0410-8992-fb3ffe349368>
Fri, 4 Jul 2008 08:10:06 +0000 (08:10 +0000)
committerlgao4 <lgao4@7335b38e-4728-0410-8992-fb3ffe349368>
Fri, 4 Jul 2008 08:10:06 +0000 (08:10 +0000)
git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1276 7335b38e-4728-0410-8992-fb3ffe349368

Source/C/GenFw/GenFw.c

index a61dad0..f278378 100644 (file)
@@ -508,28 +508,7 @@ IsTextShdr(
   Elf_Shdr *Shdr\r
   )\r
 {\r
-  int Status;\r
-  int NotText = 1;\r
-  Status = (int)((Shdr->sh_flags & (SHF_WRITE | SHF_ALLOC)) == SHF_ALLOC);\r
-  if (Ehdr->e_type == ET_EXEC)\r
-    return Status;\r
-  else {\r
-    //\r
-    // this is a shared object file.\r
-    //\r
-    switch (Shdr->sh_type) {\r
-      case SHT_HASH:\r
-      case SHT_DYNSYM:\r
-      case SHT_STRTAB:\r
-      case SHT_REL:\r
-      case SHT_GNU_HASH:\r
-        NotText = 0;\r
-        break;\r
-      default:\r
-        break;\r
-    }\r
-    return Status && NotText;\r
-  }\r
+  return (Shdr->sh_flags & (SHF_WRITE | SHF_ALLOC)) == SHF_ALLOC;\r
 }\r
 \r
 int\r
@@ -537,9 +516,7 @@ IsDataShdr(
   Elf_Shdr *Shdr\r
   )\r
 {\r
-  int Status;\r
-  Status = (Shdr->sh_flags & (SHF_WRITE | SHF_ALLOC)) == (SHF_ALLOC | SHF_WRITE);\r
-  return Status && !(Shdr->sh_type == (SHT_DYNAMIC));\r
+  return (Shdr->sh_flags & (SHF_WRITE | SHF_ALLOC)) == (SHF_ALLOC | SHF_WRITE);\r
 }\r
 \r
 VOID\r
@@ -720,8 +697,12 @@ WriteSections(
   memset(CoffFile + CoffSectionsOffset[Idx], 0, Shdr->sh_size);\r
   break;\r
       default:\r
-  Error (NULL, 0, 3000, "Invalid", "%s unhandled section type %x.", mInImageName, (UINTN)Shdr->sh_type);\r
-      }\r
+  //\r
+  //  Ignore for unkown section type.\r
+  //    \r
+  VerboseMsg ("%s unknown section type %x. We directly copy this section into Coff file", mInImageName, (UINTN)Shdr->sh_type);\r
+  break;\r
+     }\r
     }\r
   }\r
 \r