{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":86865609,"defaultBranch":"master","name":"edk2-BuildSpecification","ownerLogin":"tianocore-docs","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-03-31T22:38:58.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/16601543?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1606794036.0","currentOid":""},"activityList":{"items":[{"before":"d6200b14371352162d433e982350de6cbf6b2984","after":"fb8058a5e9e2ea994082079a638ac1efd89df813","ref":"refs/heads/gh-pages","pushedAt":"2024-03-01T13:42:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mdkinney","name":"Michael Kinney","path":"/mdkinney","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12265078?s=80&v=4"},"commit":{"message":"Updated by gitbook-action 2024-03-01 13:40:23","shortMessageHtmlLink":"Updated by gitbook-action 2024-03-01 13:40:23"}},{"before":"db69f5661caec977fac9730e21e5a1132f6ff80b","after":"7a7165a7d1997c56a46cff266fafed1b6bf4fbcd","ref":"refs/heads/master","pushedAt":"2024-03-01T13:39:27.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"lersek","name":"Laszlo Ersek","path":"/lersek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4354893?s=80&v=4"},"commit":{"message":"AutoGen.h: declare ProcessLibraryConstructorList() for SEC modules\n\nMost module types have standardized entry point function prototypes. They\nare declared in headers like\n\n- MdePkg/Include/Library/PeiCoreEntryPoint.h\n- MdePkg/Include/Library/PeimEntryPoint.h\n- MdePkg/Include/Library/DxeCoreEntryPoint.h\n- MdePkg/Include/Library/UefiDriverEntryPoint.h\n- MdePkg/Include/Library/UefiApplicationEntryPoint.h\n\nThese header files also declare matching ProcessLibraryConstructorList()\nprototypes.\n\nThe SEC module type does not have a standardized entry point prototype\n(aka parameter list), therefore no header file like the above ones exists\nfor SEC. Consequently, no header file *declares*\nProcessLibraryConstructorList() for SEC modules, even though AutoGen\nalways *defines* ProcessLibraryConstructorList() with the same, empty,\nparameter list (i.e., just (VOID)).\n\nThe lack of a central declaration is a problem because in SEC code,\nProcessLibraryConstructorList() needs to be called manually, and those\ncalls need a prototype. Most SEC modules in edk2 get around this by\ndeclaring ProcessLibraryConstructorList() manually, while some others use\nan incorrect (PEIM) prototype.\n\nLiming suggested in\n that AutoGen\nprovide the declaration as well. Accompanying the upcoming BaseTools\npatch, document the feature in the Build spec.\n\n\"INF_VERSION >= 1.30\" reflects that the latest (draft) version of the INF\nspecification, as of this writing, is commit a31e3c842bee / version 1.29.\n\nCc: Bob Feng \nCc: Liming Gao \nCc: Michael D Kinney \nCc: Rebecca Cran \nCc: Yuwei Chen \nRef: https://bugzilla.tianocore.org/show_bug.cgi?id=991\nSuggested-by: Liming Gao \nSuggested-by: Michael D Kinney \nSigned-off-by: Laszlo Ersek \nMessage-Id: <20240224212338.42671-4-lersek@redhat.com>\nReviewed-by: Liming Gao ","shortMessageHtmlLink":"AutoGen.h: declare ProcessLibraryConstructorList() for SEC modules"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMy0wMVQxMzo0MjoxMC4wMDAwMDBazwAAAAQJzmCi","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMy0wMVQxMzo0MjoxMC4wMDAwMDBazwAAAAQJzmCi","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMy0wMVQxMzozOToyNy4wMDAwMDBazwAAAAQJzcne"}},"title":"Activity ยท tianocore-docs/edk2-BuildSpecification"}