*(.got .got.*)\r
\r
/*\r
- * The contents of AutoGen.c files are constant from the POV of the program,\r
- * but most of its contents end up in .data or .bss by default since few of\r
+ * The contents of AutoGen.c files are mostly constant from the POV of the\r
+ * program, but most of it ends up in .data or .bss by default since few of\r
* the variable definitions that get emitted are declared as CONST.\r
+ * Unfortunately, we cannot pull it into the .text section entirely, since\r
+ * patchable PCDs are also emitted here, but we can at least move all of the\r
+ * emitted GUIDs here.\r
*/\r
- *:AutoGen.obj(.data .data.* .bss .bss.*)\r
+ *:AutoGen.obj(.data.g*Guid)\r
}\r
\r
/*\r
KEEP (*(.eh_frame))\r
}\r
\r
- .rela ALIGN(CONSTANT(COMMONPAGESIZE)) : {\r
+ .rela (INFO) : {\r
*(.rela .rela.*)\r
}\r
\r
KEEP (*(.hii))\r
}\r
\r
+ /*\r
+ * Retain the GNU build id but in a non-allocatable section so GenFw\r
+ * does not copy it into the PE/COFF image.\r
+ */\r
+ .build-id (INFO) : { *(.note.gnu.build-id) }\r
+\r
/DISCARD/ : {\r
*(.note.GNU-stack)\r
*(.gnu_debuglink)\r