Home | History | Annotate | Line # | Download | only in dist
      1     Updated Changelog
      2 
      3     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
      4 
      5 commit 37d7bee82a627999563069b090866076e055a871
      6 Author: Nigel Croxon <nigel.croxon (a] hp.com>
      7 Date:   Thu May 14 12:38:39 2015 -0400
      8 
      9     Added some missing error code descriptions
     10     
     11     Signed-off-by: Peter Jones <pjones (a] redhat.com>
     12     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
     13 
     14 commit dae0b4b0b0d522caecf09123db2cf0250c37a169
     15 Author: Nigel Croxon <nigel.croxon (a] hp.com>
     16 Date:   Thu May 14 12:20:51 2015 -0400
     17 
     18     Turns out we actually need setjmp in one of gnu-efi's prominent
     19     users, and it seems to make more sense to put it here than in
     20     the application.
     21     
     22     All of these are derived from the Tiano code, but I re-wrote the
     23     x86_64 one because we use the ELF psABI calling conventions instead
     24     of the MS ABI calling conventions.  Which is to say you probably
     25     shouldn't setjmp()/longjmp() between functions with EFIAPI (aka
     26     __attribute__((ms_abi))) and those without.
     27     
     28     Signed-off-by: Peter Jones <pjones (a] redhat.com>
     29     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
     30 
     31 commit b5a8e93cec396381a6d2beee022abbf50100f2fd
     32 Author: Nigel Croxon <nigel.croxon (a] hp.com>
     33 Date:   Fri Apr 10 08:49:50 2015 -0400
     34 
     35     Bump version to 3.0.2
     36     
     37     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
     38 
     39 commit 01c9f11ed5ad55661e8fc8a3eee35c578564754b
     40 Author: Nigel Croxon <nigel.croxon (a] hp.com>
     41 Date:   Fri Apr 10 08:46:40 2015 -0400
     42 
     43     Fix ARM32 and AARCH64 builds
     44     Without these added into SUBDIRS the initplat.c compilation will fail.
     45     
     46     Signed-off-by: Koen Kooi <koen.kooi (a] linaro.org>
     47     Acked-by: Ard Biesheuvel <ard.biesheuvel (a] linaro.org>
     48     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
     49 
     50 commit dada63fd3de148c6f8551d253355c113547cd5a0
     51 Author: Nigel Croxon <nigel.croxon (a] hp.com>
     52 Date:   Mon Mar 23 10:41:43 2015 -0400
     53 
     54     [PATCH] _SPrint: fix NULL termination
     55     
     56     maxlen is the maximum string length not the buffer size.
     57     
     58     Signed-off-by: Jeremy Compostella <jeremy.compostella (a] intel.com>
     59     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
     60 
     61 commit ce7098fb52e5fd4d16038964d029eb759f28eaaf
     62 Author: Nigel Croxon <nigel.croxon (a] hp.com>
     63 Date:   Thu Feb 19 11:22:45 2015 -0500
     64 
     65     Enable out-of-tree building
     66     
     67     This patch enables building gnu-efi outside of the source tree.
     68     That in turn enables building for multiple architectures in parallel.
     69     
     70     The build directory is controlled by the OBJDIR make variable.  It
     71     defaults to the value of ARCH, and can be overridden from the command
     72     line.
     73     
     74     This patch also cleans up some doubled slashes between INSTALLROOT
     75     and PREFIX.
     76     
     77     Signed-off-by: Jonathan Boeing <jonathan.n.boeing (a] gmail.com>
     78     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
     79 
     80 commit f64cef26270bfbe04f038da33f95ae3f14c071bc
     81 Author: Nigel Croxon <nigel.croxon (a] hp.com>
     82 Date:   Tue Jan 6 15:49:50 2015 -0500
     83 
     84     Since we're keeping this in git, it'd be nice not to see a bunch
     85     of make targets in 'status'
     86     
     87     Signed-off-by: Peter Jones <pjones (a] redhat.com>
     88     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
     89 
     90 commit 322efb6b21ed0a5e42e8f124fd22bf0f8dbf01ae
     91 Author: Nigel Croxon <nigel.croxon (a] hp.com>
     92 Date:   Mon Jan 5 13:20:43 2015 -0500
     93 
     94     version number changed from VERSION = 3.0u to VERSION = 3.0.1
     95     
     96     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
     97 
     98 commit 09027207f7c18af6caa45a744fc15c90b2a829db
     99 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    100 Date:   Mon Jan 5 13:13:22 2015 -0500
    101 
    102     From: Pete Batard <pete (a] akeo.ie>
    103     Date: Wed, 10 Dec 2014 21:08:34 +0000
    104     Subject: [PATCH] fixes for MSVC compilation
    105     
    106     These fixes are needed to address the following error and warnings when compiling the library part
    107     using Visual Studio 2013 Community Edition (as in https://github.com/pbatard/uefi-simple):
    108     * "lib\x86_64\math.c(49): error C4235: nonstandard extension used : '_asm' keyword not supported
    109       on this architecture"
    110     * "lib\print.c(98): error C2059: syntax error : '('" due to placement of EFIAPI macro
    111     * "lib\cmdline.c(94): warning C4090: 'function' : different 'const' qualifiers"
    112     * "lib\smbios.c(25): warning C4068: unknown pragma"
    113     * Also update macro definitions in "inc\<arch>\efibind.h" for MSVC
    114     
    115     Signed-off-by: Pete Batard <pete (a] akeo.ie>
    116     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    117 
    118 commit 15805ff38b83a72c2c7c96a24bd642ee1176d819
    119 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    120 Date:   Tue Nov 25 14:23:21 2014 -0500
    121 
    122     Add README.git file. Instructions on how to archive.
    123     
    124     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    125 
    126 commit b868aa75669723b7e32f46524822e17e388fe2ba
    127 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    128 Date:   Tue Nov 25 13:26:45 2014 -0500
    129 
    130     This patch makes generating releases from git a very simple process; you
    131     simply edit the makefile's "VERSION" line to the new version, commit
    132     that as its own commit, and do: "make test-archive".  That'll make a
    133     file in the current directory gnu-efi-$VERSION.tar.bz2 , with its top
    134     level directory gnu-efi-$VERSION/ and the source tree under that.
    135     
    136     Once you've tested that and you're sure it's what you want to release,
    137     you do "make archive", which will tag a release in git and generate a
    138     final tarball from it.  You then push to the archive, being sure to
    139     include the tag:
    140     
    141     git push origin master:master --tags
    142     
    143     And upload the archive wherever it's supposed to go.
    144     
    145     Signed-off-by: Peter Jones <pjones (a] redhat.com>
    146     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    147 
    148 commit 530d68ba191850edafc6da22cb2df55bec0c5fa5
    149 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    150 Date:   Tue Nov 25 10:09:50 2014 -0500
    151 
    152     The gnu-efi-3.0 toplevel subdirectory is really annoying. Kill it.
    153     
    154     Signed-off-by: Peter Jones <pjones (a] redhat.com>
    155     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    156 
    157 commit 00bd66ef46b59a1623a293491a8b2c65a6d61975
    158 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    159 Date:   Mon Nov 24 14:33:09 2014 -0500
    160 
    161     FreeBSD's binutils doesn't have "-j <glob>" support, so we need to
    162     include non-globbed versions of .rel/.rela individually.
    163     
    164     Signed-off-by: Peter Jones <pjones (a] redhat.com>
    165     Signed-off-by: Bill Paul <wpaul (a] windriver.com>
    166     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    167 
    168 commit 56eb64d3c06854b9b68d61e3c2d3bdf6ff2a9853
    169 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    170 Date:   Mon Nov 24 14:27:14 2014 -0500
    171 
    172     Right now we wind up trying to build gnuefi/.o from a source file that's
    173     an empty string.  This is caused by the macros trying to generate
    174     install rules, but there's no real reason to have all that anyway.  So
    175     just have some static install rules that are simpler and don't generate
    176     stuff on the fly.
    177     
    178     Signed-off-by: Peter Jones <pjones (a] redhat.com>
    179     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    180 
    181 commit 65e28a90a7be9e990b360286cea31e63319217fb
    182 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    183 Date:   Mon Nov 24 12:17:45 2014 -0500
    184 
    185     Add current OsIndications values.
    186     
    187     Signed-off-by: Peter Jones <pjones (a] redhat.com>
    188     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com
    189 
    190 commit be231055ce14d17610f0d7b6133a87b99a22662b
    191 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    192 Date:   Mon Nov 24 12:15:34 2014 -0500
    193 
    194     Add the QueryVariableInfo() API.
    195     
    196     Signed-off-by: Peter Jones <pjones (a] redhat.com>
    197     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    198 
    199 commit 60efb7a2939b65a01e95aa8b535f1b756d984fba
    200 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    201 Date:   Mon Nov 24 12:13:23 2014 -0500
    202 
    203     Add the capsule API.
    204     
    205     Signed-off-by: Peter Jones <pjones (a] redhat.com>
    206     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    207 
    208 commit ef08b655d1f8dfbd9a0f3a86d5685b24695ef12f
    209 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    210 Date:   Mon Nov 17 16:05:42 2014 -0500
    211 
    212     Fix Table Header misspelling. Change from EFI_TABLE_HEARDER to
    213     EFI_TABLE_HEADER.
    214     
    215     Signed-Off-By: Nigel Croxon <nigel.croxon (a] hp.com>
    216 
    217 commit 370cce41da3fff41ba38feb1262002aff2d85ffd
    218 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    219 Date:   Thu Nov 6 14:41:40 2014 -0500
    220 
    221     If CROSS_COMPILE is set, ignore the ARCH value supplied on the
    222     command line and use the target machine of the cross compiler.
    223     
    224     Signed-off-by: Ard Biesheuvel <ard.biesheuvel (a] linaro.org>
    225     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    226 
    227 commit d32fb845433ff6fb38e81ae0d9273454e7d18197
    228 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    229 Date:   Thu Nov 6 14:30:03 2014 -0500
    230 
    231     Allow reuse of this file beyond GPL compatible software,
    232     update the license of crt0-efi-aarch64.S to dual 2-clause BSD/GPLv2+.
    233     
    234     Signed-off-by: Ard Biesheuvel <ard.biesheuvel (a] linaro.org>
    235     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    236 
    237 commit aa1df67f48f3c035fa8891e1bb311ec21500d6d9
    238 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    239 Date:   Tue Oct 21 11:08:47 2014 -0400
    240 
    241     Add the missing Variable attributes
    242     
    243     From: Jeremy Compostella <jeremy.compostella (a] intel.com>
    244     Date: Mon, 13 Oct 2014 17:50:50 +0200
    245     Subject: [PATCH] Add the missing Variable attributes
    246     
    247     Signed-off-by: Jeremy Compostella <jeremy.compostella (a] intel.com>
    248     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    249 
    250 commit 5706dff09364cbbec37f47e2fe1350747f631d74
    251 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    252 Date:   Tue Aug 26 10:54:22 2014 -0400
    253 
    254     From: David Decotigny <decot (a] googlers.com>
    255     Date: Mon, 25 Aug 2014 13:28:49 -0700
    256     Subject: [PATCH] document that binutils >= 2.24 needed.
    257     
    258     commit ac983081 "Add support for non-PE/COFF capable objcopy" depends
    259     on objcopy accepting wildcards for the section names. This feature is
    260     available only with binutils >= 2.24 (binutils 2e62b7218 "PR
    261     binutils/15033").
    262     
    263     Signed-off-by: David Decotigny <decot (a] googlers.com>
    264     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    265 
    266 commit 6c10e225bc759d69af520a551b9d7b37f3ae0a82
    267 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    268 Date:   Mon Aug 25 08:51:23 2014 -0400
    269 
    270     From: David Decotigny <decot (a] googlers.com>
    271     Date: Thu, 31 Jul 2014 18:19:16 -0700
    272     Subject: [PATCH 5/5] allow to use external stdarg.h
    273     
    274     in cases we use gnu-efi together with other libs that define stdarg.h,
    275     break the tie by telling gnu-efi to use that stdarg.h .
    276     
    277     Signed-off-by: David Decotigny <decot (a] googlers.com>
    278     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    279 
    280 commit 16d65c0669258c8044e3549b2d9eb0cf0eb08f5a
    281 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    282 Date:   Tue Aug 19 12:07:00 2014 -0400
    283 
    284     From: Ard Biesheuvel <ard.biesheuvel (a] linaro.org>
    285     Date: Mon, 11 Aug 2014 15:39:16 +0200
    286     Subject: [PATCH] Add support for 32-bit ARM
    287     
    288     This adds support for 32-bit ARM using an approach similar to the one used for
    289     64-bit ARM (AArch64), i.e., it does not rely on an objcopy that is aware of EFI
    290     or PE/COFF, but lays out the entire PE/COFF header using the assembler.
    291     
    292     In the 32-bit ARM case (which does not have a division instruction), some code
    293     has been imported from the Linux kernel to perform the division operations in
    294     software.
    295     
    296     Signed-off-by: Ard Biesheuvel <ard.biesheuvel (a] linaro.org>
    297     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    298 
    299 commit b28143d4fb4f6969dc0c87c853d3527d889951d7
    300 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    301 Date:   Fri Aug 8 15:54:19 2014 -0400
    302 
    303     Updated Changelog
    304     
    305     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    306 
    307 commit 1525190354f5faac33015e17c9ba7ea2bb2be35b
    308 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    309 Date:   Fri Aug 8 15:35:09 2014 -0400
    310 
    311     From: Ard Biesheuvel <ard.biesheuvel (a] linaro.org>
    312     Date: Fri, 8 Aug 2014 18:16:59 +0200
    313     Subject: [PATCH 4/4] Add support for 64-bit ARM (AArch64)
    314     
    315     This adds support for 64-bit ARM (AArch64) environments. Since there is no
    316     EFI-capable objcopy for this platform, this contains a manually laid out
    317     PE/COFF header using the assembler.
    318     
    319     In addition, it includes the relocation bits, some string functions that GCC
    320     assumes are available and other glue to hold it all together.
    321     
    322     This can be cross built using
    323     
    324         make CROSS_COMPILE=aarch64-linux-gnu-
    325     
    326     Signed-off-by: Ard Biesheuvel <ard.biesheuvel (a] linaro.org>
    327     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    328 
    329 commit ac983081525f9483941517dfb53cf8d0163d49c0
    330 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    331 Date:   Fri Aug 8 15:32:26 2014 -0400
    332 
    333     From: Ard Biesheuvel <ard.biesheuvel (a] linaro.org>
    334     Date: Fri, 8 Aug 2014 17:53:42 +0200
    335     Subject: [PATCH 3/4] Add support for non-PE/COFF capable objcopy
    336     
    337     Introduce HAVE_EFI_OBJCOPY and set it if objcopy for $ARCH support PE/COOF and
    338     EFI, i.e., it supports --target efi-[app|bsdrv|rtdrv] options. Use it to decide
    339     whether to invoke objcopy with those options or use the linker to populate the
    340     PE/COFF header.
    341     
    342     Signed-off-by: Ard Biesheuvel <ard.biesheuvel (a] linaro.org>
    343     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    344 
    345 commit fb063f0f65543b3e2bf55a39d5aa70b17a98c65e
    346 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    347 Date:   Fri Aug 8 15:26:38 2014 -0400
    348 
    349     From: Ard Biesheuvel <ard.biesheuvel (a] linaro.org>
    350     Date: Fri, 8 Aug 2014 17:37:36 +0200
    351     Subject: [PATCH 2/4] Add support for cross compilation
    352     
    353     This changes the logic that defines ARCH (and HOSTARCH) to take CROSS_COMPILE
    354     into account. Also, $prefix is not assigned, so that the default will be what
    355     is on the path rather than hardcoded in /usr/bin.
    356     
    357     This results in the build doing the right thing if CROSS_COMPILE is set in the
    358     environment and no ARCH or prefix options are passed to make, aligning it with
    359     most other CROSS_COMPILE compatible projects.
    360     
    361     Signed-off-by: Ard Biesheuvel <ard.biesheuvel (a] linaro.org>
    362     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    363 
    364 commit 7a98d83fc32de6cf0b1ce5e12dfe80690f29fb3f
    365 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    366 Date:   Fri Aug 8 15:25:03 2014 -0400
    367 
    368     From: Ard Biesheuvel <ard.biesheuvel (a] linaro.org>
    369     Date: Fri, 8 Aug 2014 16:50:45 +0200
    370     Subject: [PATCH 1/4] Restrict GNU_EFI_USE_MS_ABI GCC version test to x86_64
    371     
    372     The version test only applies to x86_64 builds, so no need to do it
    373     for other archs.
    374     
    375     Signed-off-by: Ard Biesheuvel <ard.biesheuvel (a] linaro.org>
    376     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    377 
    378 commit f42974dd9a7d0ea690d293f88396abd289f0014c
    379 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    380 Date:   Fri Aug 8 15:21:16 2014 -0400
    381 
    382     From: David Decotigny <decot (a] googlers.com>
    383     Date: Thu, 31 Jul 2014 13:42:23 -0700
    384     Subject: [PATCH 4/4] Use Shell protocols to retrieve argc/argv, when
    385      available.
    386     
    387     New header files efishellintf.h efishellparm.h are coming from EDK
    388     II, initial location and license at top of files. Only modifications:
    389      - efishellintf.h: s/EFI_FILE_PROTOCOL/EFI_FILE/ + expand BITx macros (1<<x)
    390      - efishellparm.h: typedef VOID *SHELL_FILE_HANDLE to avoid including
    391        ShellBase.h
    392      - both: removed extern EFI_GUID variable decls
    393     
    394     This also adds apps/t8.c, a simple demo.
    395     
    396     Signed-off-by: David Decotigny <decot (a] googlers.com>
    397     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    398 
    399 commit a61fa058e9a87f966de3342b8c95fdbdcb007827
    400 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    401 Date:   Fri Aug 8 15:17:32 2014 -0400
    402 
    403     From: David Decotigny <decot (a] googlers.com>
    404     Date: Thu, 31 Jul 2014 13:41:52 -0700
    405     Subject: [PATCH 3/4] document format of LoadedImage::LoadOptions data
    406     
    407     Signed-off-by: David Decotigny <decot (a] googlers.com>
    408     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    409 
    410 commit 2f440200c855154f929d28971b2fd702ea7a207a
    411 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    412 Date:   Fri Aug 8 15:15:59 2014 -0400
    413 
    414     From: David Decotigny <decot (a] googlers.com>
    415     Date: Thu, 31 Jul 2014 13:39:37 -0700
    416     Subject: [PATCH 2/4] Use OpenProtocol instead of HandleProtocol
    417     
    418     UEFI 2.x recommends OpenProtocol instead of HandleProtocol.
    419     
    420     Signed-off-by: David Decotigny <decot (a] googlers.com>
    421     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    422 
    423 commit 7f173da1e54f8cfe4c7c7c091ab6585af07b25ce
    424 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    425 Date:   Fri Aug 8 15:14:26 2014 -0400
    426 
    427     From: David Decotigny <decot (a] googlers.com>
    428     Date: Thu, 31 Jul 2014 13:30:07 -0700
    429     Subject: [PATCH 1/4] move cmdline parser to its own file
    430     
    431     Signed-off-by: David Decotigny <decot (a] googlers.com>
    432     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    433 
    434 commit 0ad8fb87cbc59f58675b18253ad802ba51f1d132
    435 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    436 Date:   Wed Jul 30 15:06:36 2014 -0400
    437 
    438     From: David Decotigny <decot (a] googlers.com>
    439     Date: Mon, 28 Jul 2014 21:28:50 -0700
    440     Subject: [PATCH 3/3] make cmdline parsing a 1st class citizen
    441     
    442     Refactor ParseCmdline and apps/Alloc+FreePages to factorize
    443     boilerplate and move the new parser to the main API.
    444     
    445     Signed-off-by: David Decotigny <decot (a] googlers.com>
    446     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    447 
    448 commit ff7ec964f2c0de0cfc4b52cfdd356003450f28bf
    449 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    450 Date:   Wed Jul 30 15:05:28 2014 -0400
    451 
    452     From: David Decotigny <decot (a] googlers.com>
    453     Date: Mon, 28 Jul 2014 21:00:52 -0700
    454     Subject: [PATCH 2/3] Avoid buffer overflow while parsing the cmdline args
    455     
    456     Signed-off-by: David Decotigny <decot (a] googlers.com>
    457     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    458 
    459 commit 8d86ee202a9bb553375f56ae1d2944818112b68b
    460 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    461 Date:   Wed Jul 30 15:04:44 2014 -0400
    462 
    463     From: David Decotigny <decot (a] googlers.com>
    464     Date: Mon, 28 Jul 2014 21:01:35 -0700
    465     Subject: [PATCH 1/3] Fix cmdline parser
    466     
    467     The cmdline parser would not return the correct number of args, would
    468     allocate one too many. Also make it clear from the declaration that we
    469     expect a suitably lare argv.
    470     
    471     Signed-off-by: David Decotigny <decot (a] googlers.com>
    472     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    473 
    474 commit 1ec094bfaf46a610a740dadc0150bf457dd72345
    475 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    476 Date:   Wed Jul 23 09:54:25 2014 -0400
    477 
    478     From: Julian Klode <julian.klode (a] gmail.com>
    479     Date: Mon, 21 Jul 2014 14:26:23 -0400
    480     Subject: [PATCH] inc/efistdarg.h: Use gcc builtins instead of stdarg.h or broken stubs
    481     
    482     We cannot use stdarg.h, as this breaks applications compiling
    483     with -nostdinc because those will not find the header.
    484     We also cannot use the stubs, as they just produce broken code,
    485     as seen in the gummiboot 45-1 Debian release.
    486     
    487     Signed-off-by: Julian Klode <julian.klode (a] gmail.com>
    488     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    489 
    490 commit 6caab22f23434f41f42cfe7591d9a7ae66de9f0a
    491 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    492 Date:   Thu Jun 19 10:39:23 2014 -0400
    493 
    494     From: Laszlo Ersek <lersek (a] redhat.com>
    495     Date: Mon, 2 Jun 2014 23:26:48 +0200
    496     Subject: [PATCH] always observe EFIAPI calling convention when calling
    497      STO.SetAttribute
    498     
    499     We have to consider the following cases wrt. the PRINT_STATE.Output and
    500     PRINT_STATE.SetAttr EFIAPI function pointers, especially when building for
    501     x86_64 with gcc:
    502     
    503     (1) The compiler is new enough, and EFIAPI actually ensures the Microsoft
    504         calling convention. In this case everything happens to work fine even
    505         if we forget uefi_call_wrapper(), because the wrapper would expand to
    506         a normal C function call anyway.
    507     
    508     (2) Otherwise (ie. gcc is old), EFIAPI expands to nothing, and we must
    509         take into account the called function's origin:
    510     
    511       (2a) If the callee that is declared EFIAPI is *defined* inside gnu-efi,
    512            then EFIAPI means nothing for the callee too, so caller and callee
    513            only understand each other if the caller intentionally omits
    514            uefi_call_wrapper().
    515     
    516       (2b) If the callee that is declared EFIAPI is defined by the platform
    517            UEFI implementation, then the caller *must* use
    518            uefi_call_wrapper().
    519     
    520     The PRINT_STATE.Output EFIAPI function pointer is dereferenced correctly:
    521     the PFLUSH() distinguishes cases (2a) from (2b) by using IsLocalPrint().
    522     
    523     However use of the PRINT_STATE.SetAttr EFIAPI function pointer is not
    524     always correct:
    525     
    526     - The PSETATTR() helper function always relies on the wrapper (case (2b)).
    527       This is correct, because PRINT_STATE.SetAttr always points to a
    528       platform-provided function.
    529     
    530     - The DbgPrint() function contains two incorrect calls: they mistakenly
    531       assume case (2a) (or case (1)), even though the pointer always points to
    532       a platform function, implying (2b). (The error is masked in case (1).)
    533       Fix them.
    534     
    535     Signed-off-by: Laszlo Ersek <lersek (a] redhat.com>
    536     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    537 
    538 commit ecfd1ded9a799c3a572d4eb7fbb52582fe4d3390
    539 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    540 Date:   Tue Jun 10 12:59:09 2014 -0400
    541 
    542     Add VPoolPrint Function
    543     
    544     Equivalent to PoolPrint but using a va_list parameter
    545     
    546     Signed-off-by: Sylvain Chouleur <sylvain.chouleur (a] intel.com>
    547     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    548 
    549 commit f16d93f3b9e314336a387a3885c7fd2f176c41d3
    550 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    551 Date:   Fri May 16 11:33:51 2014 -0400
    552 
    553     Revert "The prototype of DbgPrint() is incorrect, at the end of "inc/efidebug.h"."
    554     A problem was found compiling on GCC 4.8.
    555     
    556     This reverts commit 644898eabc06c8efaa3aa54f84cdd468960a2f6c.
    557 
    558 commit 644898eabc06c8efaa3aa54f84cdd468960a2f6c
    559 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    560 Date:   Wed May 14 09:09:47 2014 -0400
    561 
    562     The prototype of DbgPrint() is incorrect, at the end of "inc/efidebug.h".
    563     Consequently, when your program calls DbgPrint() via the DEBUG() macro,
    564     it fails to set up the stack correctly (it does not pass the arguments
    565     through the ellipsis (...) according to the EFIAPI calling convention).
    566     However, va_start() inside DbgPrint() *assumes* that stack.
    567     
    568     Signed-off-by: Laszlo Ersek <lersek (a] redhat.com>
    569     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    570 
    571 commit 8921ba2fc5f6163bdad3b5902c5d9d638415dde0
    572 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    573 Date:   Mon Apr 14 18:49:23 2014 -0400
    574 
    575     Cleaned up compile warnings.
    576     
    577     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    578 
    579 commit 42cca551dbf1c0be9e02e8d3d3c417ce35749638
    580 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    581 Date:   Mon Apr 14 14:04:11 2014 -0400
    582 
    583     Module lib/ParseCmdLine.c has errors, it incorrectly mixes "char" and "CHAR16"
    584     and uses a pointer to argv[] like it's argv[]. The compiler only issues
    585     warnings though. Here is a patch to remove compiler warnings and make the
    586     code behave.
    587     
    588     Signed-off-by: Bernard Burette <bub75 (a] users.sf.net>
    589     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    590 
    591 commit 4e8460f1aedd2724de876be5b154eb5752bfada5
    592 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    593 Date:   Mon Apr 14 13:53:03 2014 -0400
    594 
    595     Here is a very small patch to remove a compiler warning when processing lib/smbios.c.
    596     
    597     Signed-off-by: Bernard Burette <bub75 (a] users.sf.net>
    598     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    599 
    600 commit 6a0875ca2fcb67e7d1a1e2d15f3bcc645329dc75
    601 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    602 Date:   Mon Apr 14 13:45:16 2014 -0400
    603 
    604     Here is a very small patch to remove compiler warning in function
    605     "LibLocateHandleByDiskSignature()" because the "Start" variable is
    606     give a value which is not used.
    607     
    608     Signed-off-by: Bernard Burette <bub75 (a] users.sf.net>
    609     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    610 
    611 commit d5f35dfb8008ba65bcc641559accd9bc13386ef9
    612 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    613 Date:   Mon Apr 14 13:40:29 2014 -0400
    614 
    615     Here is a very small patch to remove *~ files in include diretory.
    616     
    617     Signed-off-by: Bernard Burette <bub75 (a] users.sf.net>
    618     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    619 
    620 commit 1a04669a7bb022984c9b54a0f73d7d67a2540fb7
    621 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    622 Date:   Mon Apr 14 12:45:57 2014 -0400
    623 
    624     Here is a patch for "DevicePathToStr()" to display device path according to UEFI 2 specification.
    625     The path is in the two files inc/efidevp.h and lib/dpath.c.
    626     
    627     It also add the Sata device path and removes the "/?" path for unknown device paths.
    628     
    629     Signed-off-by: Bernard Burette <bub75 (a] users.sf.net>
    630     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    631 
    632 commit 3c62e78556aea01e9798380cd46794c6ca09d4bd
    633 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    634 Date:   Tue Apr 1 10:26:44 2014 -0400
    635 
    636        Removed GPL code setjmp_ia32.S, setjmp_ia64.S, setjmp_x86_64.S
    637        Not used anymore.
    638     
    639        Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    640 
    641 commit f9baa4f622cf34576d73e00d4a774a31f0f81fd7
    642 Author: Nigel Croxon <nigel.croxon (a] hp.com>
    643 Date:   Mon Mar 31 08:37:56 2014 -0400
    644 
    645     Remove incumbent GPL 'debian' subdiretory.
    646     Update ChangeLog
    647     
    648     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    649 
    650 
    651 Changelog format change from here and above to 'git log' style.
    652 
    653 2014-04-01 Nigel Croxon <nigel.croxon (a] hp.com>
    654 
    655    Removed GPL code setjmp_ia32.S, setjmp_ia64.S, setjmp_x86_64.S
    656    Not used anymore.
    657 
    658    Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    659 
    660 2014-03-17 Nigel Croxon <nigel.croxon (a] hp.com>
    661 
    662    Add support for the simple pointer and absolute pointer protocols
    663        
    664     Signed-off-by: John Cronin <johncronin (a] users.sf.net>
    665     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    666 
    667 2014-03-14 Nigel Croxon <nigel.croxon (a] hp.com>
    668 
    669     Trying to recurse into subdirectories of object files may lead
    670     to an error if the directory doesn't exist. Even when cleaning.
    671 	    
    672     Signed-off-by: Sylvain Gault <sylvain.gault (a] gmail.com>
    673     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    674 
    675 2014-03-14 Nigel Croxon <nigel.croxon (a] hp.com>
    676 
    677     Make install used to copy files unconditionnally to their
    678     destination. However, if the destination is used by another
    679     Makefile, it will always see modified files. "install" target
    680     now only updates the files when they need to.
    681 
    682     Signed-off-by: Sylvain Gault <sylvain.gault (a] gmail.com>
    683     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    684 
    685 2014-02-13 Nigel Croxon <nigel.croxon (a] hp.com>
    686 
    687     Patch GNU-EFI to remove the ELILO code
    688         
    689     Signed-off-by: Jerry Hoemann <jerry.hoemann (a] hp.com>
    690     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    691 
    692 2014-02-13 Nigel Croxon <nigel.croxon (a] hp.com>
    693 
    694     Initialize Status before calling GrowBuffer()
    695     Status must be initialized before calling GrowBuffer() as it may
    696     otherwise be uninitialized or set to EFI_BUFFER_TOO_SMALL by
    697     other functions.
    698 
    699     Signed-off-by: Gene Cumm <gene.cumm (a] gmail.com>
    700     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    701 
    702 2014-01-23 Nigel Croxon <nigel.croxon (a] hp.com>
    703 
    704     These changes allow manually overridden SRCDIR (current source
    705     directory) and TOPDIR (top of source tree) to separate the
    706     build directory from the source tree.
    707 	        
    708     Signed-off-by: Gene Cumm <gene.cumm (a] gmail.com>
    709     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    710 
    711 2014-01-16 Nigel Croxon <nigel.croxon (a] hp.com>
    712     compilation: fix uninitialized variables warning
    713         
    714     Signed-off-by: Jeremy Compostella <jeremy.compostella (a] intel.com>
    715     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    716 
    717 2014-01-13 Nigel Croxon <nigel.croxon (a] hp.com>
    718    Implement VSPrint function, prints a formatted unicode string to a buffer.
    719        
    720     Signed-off-by: Jeremy Compostella <jeremy.compostella (a] gmail.com>
    721     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    722 
    723 2014-01-10 Nigel Croxon <nigel.croxon (a] hp.com>
    724     Created lib/argify.c and inc/argify.h containing the function argify.
    725     It contains verbatim copy of the comment at beginning of file from
    726     elilo.
    727     There was no COPYING file in the elilo source that the comment refers to.
    728 
    729     Signed-off-by: Jerry Hoemann <jerry.hoemann (a] hp.com>
    730     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    731 
    732 2014-01-08 Nigel Croxon <nigel.croxon (a] hp.com>
    733     The information needed is not really the host architecture as given by
    734     the kernel arch. The information actually needed is the default target
    735     of gcc.
    736 	        
    737     Signed-off-by: Sylvain Gault <sylvain.gault (a] gmail.com>
    738     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    739 
    740 2013-10-11 Nigel Croxon <nigel.croxon (a] hp.com>
    741     Added support for SetVariable to store volatile variable,
    742     and SetNVVariable to store non volatile variable.
    743 	    
    744     Signed-off-by: Sylvain Chouleur <sylvain.chouleur (a] gmail.com>
    745     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    746 
    747 2013-10-07 Nigel Croxon <nigel.croxon (a] hp.com>
    748 
    749     Atoi needs to have consistent declaration/definition.
    750     
    751     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    752 
    753 2013-10-07 Nigel Croxon <nigel.croxon (a] hp.com>
    754     if you have a function that takes const arguments and then
    755     e.g. tries to copy StrCmp, gcc will give you warnings about those
    756     calls, and the warnings are right.  These clutter up other things
    757     you might miss that you should be more concered about.
    758 
    759     You could work around it through vigorous typecasting
    760     to non-const types, but why should you have to? All of these
    761     functions are regorously defined as not changing their input
    762     - it is const, and should be marked as such.
    763 
    764     Signed-off-by: Peter Jones <pjones (a] redhat.com>
    765 
    766 2013-10-02 Nigel Croxon <nigel.croxon (a] hp.com>
    767 
    768     Added two simple applications to allocate/free memory at EFI.
    769     Used to test/find memory fragmentation issues linux.
    770 	    
    771     Signed-off-by: Jerry Hoemann <jerry.hoemann (a] hp.com>
    772     Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com>
    773 
    774 2013-06-25 Nigel Croxon <nigel.croxon (a] hp.com>
    775     Sample boot service driver.
    776         
    777     Signed-off-by: David Decotigny <decot (a] googlers.com>
    778 
    779 2013-06-25 Nigel Croxon <nigel.croxon (a] hp.com>
    780 Date:   Tue Jun 25 08:47:03 2013 -0400
    781 
    782     Be more pedantic when linking, don't allow duplicate symbols,
    783     abort upon first error. Also make sure linker script comes 
    784     last for apps.
    785 
    786     Signed-off-by: David Decotigny <decot (a] googlers.com>
    787 
    788 2013-06-25 Nigel Croxon <nigel.croxon (a] hp.com>
    789     Fix compilation on x86_64 without HAVE_USE_MS_ABI
    790     make -C apps would fail on tcc.c because uefi_call_wrapper()
    791     doesn't deal correctly with efi_callO-type invocation.
    792 
    793     Signed-off-by: David Decotigny <decot (a] googlers.com>
    794 
    795 2013-06-12 Nigel Croxon <nigel.croxon (a] hp.com>
    796     Fix typo when disabling mno-mmx
    797         
    798     Signed-Off-By: Nigel Croxon <nigel.croxon (a] hp.com>
    799 
    800 2013-06-12 Nigel Croxon <nigel.croxon (a] hp.com>
    801     Disable MMX and SSE
    802     
    803     GCC 4.8.0 adds some optimizations that will use movups/movaps (and use
    804     %xmm* registers) when they're faster, and of course that won't work at
    805     all since UEFI firmwares aren't guaranteed to initialize the mmx/sse
    806     instructions.
    807     
    808     This will be even more annoying, since most UEFI firmwares don't
    809     initialize the #DE or #UD trap handlers, and your backtrace will be a
    810     random path through uninitialized memory, occasionally including
    811     whatever address the IDT has for #UD, but also addresses like "0x4" and
    812     "0x507" that you don't normally expect to see in your call path.
    813     
    814     Signed-off-by: Peter Jones <pjones (a] redhat.com>
    815 
    816     Author: Nigel Croxon <nigel.croxon (a] hp.com>
    817     Date:   Wed Jun 12 10:29:40 2013 -0400
    818 
    819     bug in make 3.82 expand to odd values
    820     
    821     Some Makefiles tickle a bug in make 3.82 that cause libefi.a
    822     and libgnuefi.a dependencies to expand to the odd values:
    823     
    824     libefi.a: boxdraw.o) smbios.o) ...
    825     libgnuefi.a(reloc_x86_64.o:
    826     
    827     The patch replaces libgnuefi.a($(OBJS)) & libefi.a($(OBJS))
    828     with an equivalent expansion that should work with any make
    829     that supports $(patsubst).
    830 
    831     Author: Nigel Croxon <nigel.croxon (a] hp.com>
    832     Date:   Wed Jun 12 09:53:01 2013 -0400
    833 
    834     support .text.* sections on x86_64
    835     
    836     Group them in .text. Also add vague linkage sections in .text.
    837     
    838     Signed-off-by: David Decotigny <decot (a] googlers.com>
    839 
    840     Author: Nigel Croxon <nigel.croxon (a] hp.com>
    841     Date:   Wed Jun 12 09:51:36 2013 -0400
    842 
    843     cleanup and fix Make.defaults
    844     
    845     Reorder variables in Make.defaults so that they are grouped by
    846     functions. Also fixed ifeq (x,y) to have required syntax and make it
    847     work for ARCH amd64->x86_64 renaming on BSD. Also provides top-level
    848     Makefile with a "mkvars" target that displays effective variables.
    849     
    850     Signed-off-by: David Decotigny <decot (a] googlers.com>
    851 
    852     Author: Nigel Croxon <nigel.croxon (a] hp.com>
    853     Date:   Wed Jun 12 09:47:16 2013 -0400
    854 
    855     automatically determine number of uefi_call_wrapper() args on x86_64
    856     
    857     Instead of asking developers to explicitly pass the number of
    858     parameters to the functions that get called, we determine them
    859     automatically at preprocessing time. This should result in more
    860     robust code.
    861     
    862     Argument va_num is now ignored in x86_64 code, both with and
    863     without HAVE_USE_MS_ABI.
    864     
    865     Credits to the macro magic given in the comments.
    866     
    867     Signed-off-by: David Decotigny <decot (a] googlers.com>
    868 
    869     Author: Nigel Croxon <nigel.croxon (a] hp.com>
    870     Date:   Wed Jun 12 09:38:10 2013 -0400
    871 
    872     fix parameter-passing corruption on x86_64 for >= 5 args
    873     
    874     On x86_64 without HAVE_USE_MS_ABI support, uefi_call_wrapper() is a
    875     variadic function. Parameters >=5 are copied to the stack and, when
    876     passed small immediate values (and possibly other parameters), gcc
    877     would emit a movl instruction before calling uefi_call_wrapper(). As a
    878     result, only the lower 32b of these stack values are significant, the
    879     upper 32b potentially contain garbage. Considering that
    880     uefi_call_wrapper() assumes these arguments are clean 64b values
    881     before calling the efi_callX() trampolines, the latter may be passed
    882     garbage. This makes calling functions like
    883     EFI_PCI_IO_PROTOCOL.Mem.Read()/Write() or BS->OpenProtocol() quite
    884     unreliable.
    885     
    886     This patch fixes this by turning uefi_call_wrapper() into a macro that
    887     allows to expose the efi_callX() trampoline signatures to the callers,
    888     so that gcc can know upfront that it has to pass all arguments to
    889     efi_callX() as clean 64b values (eg. movq for immediates). The
    890     _cast64_efi_callX macros are just here to avoid a gcc warning, they do
    891     nothing otherwise.
    892     
    893     Signed-off-by: David Decotigny <decot (a] googlers.com>
    894 
    895     Author: noxorc <nigel.croxon (a] hp.com>
    896     Date:   Wed May 15 15:26:16 2013 -0400
    897 
    898     - Removes the ElfW() macro usage from reloc_ia32.c and reloc_x86_64.c. These
    899     macros only exist in link.h on Linux. On FreeBSD, the equivalent macro is
    900     __ElfN(). But the macro usage is redundant. You're only going to compile the
    901     ia32 file for IA32 binaries and the x86_64 file for X64 binaries. If you had
    902     just one file built for both cases, then using the macro might make more
    903     sense.
    904     
    905     - Removes the "#define foo_t efi_foo_t" macros from reloc_ia32.c and
    906     reloc_x86_64.c.
    907     
    908     - Modifies inc/x86_64/efibind.h and inc/ia32/efibind.h to use the new
    909     definitions for uint64_t, int64_t and int8_t. The 64-bit types are now defined
    910     as:
    911     
    912             typedef int __attribute__((__mode__(__DI__)))           int64_t;
    913             typedef unsigned int __attribute__((__mode__(__DI__)))  uint64_t;
    914     
    915     This removes the conflict between the host types dragged in by elf.h and the
    916     type definitions in efibind.h that made the #define foo_t efi_foo_t" hack
    917     necessary. Also, int8_t is now defined as signed char instead of just char
    918     (assuming char == signed char is apparently not good enough).
    919     
    920     - Also modifies these files to use stdint.h instead of stdint-gcc.h. It's
    921     unclear if this is completely correct, but stdint-gcc.h is not present with
    922     all GCC installs, and if you use -std=c99 or later you will force this case to
    923     be hit. This also can break clang, which doesn't have a stdint-gcc.h at all.
    924     
    925     - Removes the #include of <link.h> from reloc_ia32.c and reloc_x86_64.c (since
    926     with the previous changes it's not needed anymore).
    927     
    928     - Places the #include of <elf.h> after #include <efi>/#include <efilib.h> so
    929     that we know the types will always be defined properly, in case you build on a
    930     system where <elf.h> doesn't automatically pull in the right header files to
    931     define all the needed types. (This actually happens on VxWorks. It's harmless
    932     elsewhere. If you don't care about VxWorks, you can leave this out.)
    933     
    934     - Modifies setjmp_ia32.S and setjmp_x86_64.S so to change "function" to
    935     @function. The clang compiler doesn't like the former. Clang and GCC both like
    936     the latter.
    937     
    938     - Modifles Make.defaults so that if ARCH is detected as "amd64," it's changed
    939     to "x86_64." It happens that uname -m on 64-bit FreeBSD reports the former
    940     rather than the latter, which breaks the build. This may also be the case on
    941     some other OSes. There's a way to force uname(1) to return x86_64 as the
    942     machine type, but this way is a little friendlier.
    943     
    944     - Creates gnuefi/elf_ia32_fbsd_efi.lds which specifies the object file type as
    945     elf-ia32-freebsd. This is required for building on FreeBSD/i386, not just
    946     FreeBSD/amd64.
    947     
    948     - Modifies apps/Makefile to always use
    949     $(TOPDIR)/gnuefi/elf_$(ARCH)_fbsd_efi.lds when building on either 32-bit or
    950     64-bit FreeBSD instead of just for the x86_64 case.
    951     
    952     - Changed LDFLAGS in Make.defaults to include --no-undefined. This will cause
    953     linking to fail if there are any unsatisfied symbols when creating foo.so
    954     during any of the app builds, as opposed to just silently succeeding and
    955     producing an unusable binary.
    956     
    957     - Changed CFLAGS to include -ffreestanding -fno-stack-protector -fno-stack-
    958     check. This prevents clang from inserting a call to memset() when compiling
    959     the RtZeroMem() and RtSetMem() routines in lib/runtime/efirtlib.c and guards
    960     against the native compiler in some Linux distros from adding in stack
    961     checking code which relies on libc help that isn't present in the EFI runtime
    962     environment.
    963     
    964     This does the following:
    965     
    966     - Cleans up the ia32 and x86-64 relocation code a bit (tries to break the
    967     dependency between the host ELF headers and the EFI runtime environment)
    968     - Avoids the dependency on stdint-gcc.h which may not always be available
    969     - Allows GNU EFI to build out of the box on both FreeBSD/i386 and
    970     FreeBSD/amd64
    971     - Allows GNU EFI to build out of the box with either GCC or clang on
    972     FreeBSD/i386 and FreeBSD/amd64 9.0 and later.
    973     - Makes things a little easier to port to VxWorks
    974     - Avoids creating un-runable binaries with unresolved symbol definitions
    975     (which can be very confusing to debug)
    976 
    977     Author: noxorc <nigel.croxon (a] hp.com>
    978     Date:   Wed May 8 16:29:45 2013 -0400
    979 
    980     Add the definitions for TCP, UDP and IP, for both IPv4 and IPv6.
    981 
    982 
    983 2013-05-02 Nigel Croxon <nigel.croxon (a] hp.com>
    984 	* Chnage from Matt Fleming <matt.fleming (a] intel.com>
    985 	  - Preparation for adding the networking protocol definitions.
    986 	    Add the service binding protocol.
    987 
    988 2013-02-21 Nigel Croxon <nigel.croxon (a] hp.com>
    989 	* Change from Peter Jones <pjones (a] redhat.com>
    990 	  - Previously we were incorrectly passing 3 functions with
    991             the System V ABI to UEFI functions as EFI ABI functions.
    992             Mark them as EFIAPI so the compiler will (in our new
    993             GNU_EFI_USE_MS_ABI world) use the correct ABI.
    994           - These need to be EFIAPI functions because in some cases
    995             they call ST->ConOut->OutputString(), which is an EFIAPI
    996             function. (Which means that previously in cases that 
    997             needed "cdecl", these didn't work right.)
    998           - If the compiler version is new enough, and GNU_EFI_USE_MS_ABI
    999             is defined, use the function attribute ms_abi on everything
   1000             defined with "EFIAPI".  Such calls will no longer go through
   1001             efi_call*, and as such will be properly type-checked.
   1002           - Honor PREFIX and LIBDIR correctly when passed in during the build.
   1003           - Add machine type defines for i386, arm/thumb, ia64, ebc, x86_64.
   1004           - __STDC_VERSION__ never actually gets defined unless there's a
   1005             --std=... line.  So we were accidentally defining lots of c99
   1006             types ourself. Since it's 2012, use --std=c11 where appropriate,
   1007             and if it's defined and we're using gcc, actually include gcc's
   1008             stdint definitions.
   1009           - New test application added: route80h. This is a test program
   1010             for PciIo.  It routes ioport 80h on ICH10 to PCI. This is also
   1011             useful on a very limited set of hardware to enable use of
   1012             a port 80h debug card.
   1013           - New test applcation added: modelist. This lists video modes
   1014             the GOP driver is showing us.
   1015 	* Change from Finnbarr Murphy
   1016           - https://sourceforge.net/p/gnu-efi/feature-requests/2/
   1017             Please add the following status codes to <efierr.h>
   1018             EFI_INCOMPATIBLE_VERSION 25
   1019             EFI_SECURITY_VIOLATION 26 
   1020             EFI_CRC_ERROR 27 
   1021             EFI_END_OF_MEDIA 28 
   1022             EFI_END_OF_FILE 31 
   1023             EFI_INVALID_LANGUAGE 32 
   1024             EFI_COMPROMISED_DATA 33
   1025 	* Change from SourceForge.net Bug report
   1026           - https://sourceforge.net/p/gnu-efi/bugs/5/
   1027             BufferSize is a UINT64 *. The file shipped with GNU EFI is from
   1028             1998 whereas the latest one is from 2004. I suspect Intel changed
   1029             the API in order handle 64-bit systems.
   1030         * Change from Felipe Contreras <felipe.contreras (a] gmail.com>
   1031           - The current code seems to screw the stack at certain points.
   1032             Multiple people have complained that gummiboot hangs right away,
   1033             which is in part the fault of gummiboot, but happens only
   1034             because the stack gets screwed. x86_64 EFI already aligns the
   1035             stack, so there's no need for so much code to find a proper
   1036             alignment, we always need to shift by 8 anyway.
   1037         * Change from A. Steinmetz
   1038           - https://sourceforge.net/p/gnu-efi/patches/1/
   1039             The patch prepares for elilo to support uefi pxe over ipv6
   1040             See uefi spec 2.3.1 errata c page 963 as reference.
   1041             Verfied on an ASUS Sabertooth X79 BIOS Rev. 2104 system which
   1042             is able to do an IPv6 UEFI PXE boot.
   1043 	* Release 3.0t
   1044 
   1045 2012-09-21 Nigel Croxon <nigel.croxon (a] hp.com>
   1046 	* Change from Peter Jones <pjones (a] redhat.com>
   1047 	  - EFI Block I/O protocol versions 2 and 3 provide more information
   1048 	    regarding physical disk layout, including alingment offset at the
   1049 	    beginning of the disk ("LowestAlignedLba"), logical block size
   1050 	    ("LogicalBlocksPerPhysicalBlock"), and optimal block transfer size
   1051 	    ("OptimalTransferLengthGranularity").
   1052 	* Release 3.0r
   1053 
   1054 2012-04-30 Nigel Croxon <nigel.croxon (a] hp.com>
   1055 	* Change from Matt Fleming <matt.fleming (a] intel.com>
   1056 	  -  The .reloc section is now 4096-byte boundary for x86_64.
   1057 	     Without this patch the .reloc section will not adhere to
   1058 	     the alignment value in the FileAlignment field (512 bytes by
   1059 	     default) of the PE/COFF header. This results in a signed
   1060 	     executable failing to boot in a secure boot environment.
   1061 	* Release 3.0q
   1062 
   1063 2011-12-12 Nigel Croxon <nigel.croxon (a] hp.com>
   1064         * Changes from Fenghua Yu <fenghua.yu (a] intel.com>
   1065           - This fixes redefined types compilation failure for tcc.c on x86_64 machines.
   1066         * Release 3.0p
   1067 
   1068 2011-11-15 Nigel Croxon <nigel.croxon (a] hp.com>
   1069         * Changes from Darren Hart <dvhart (a] linux.intel.com>
   1070           - Conditionally assign toolchain binaries to allow overriding them.
   1071           - Force a dependency on lib for gnuefi.
   1072         * Release 3.0n
   1073 
   1074 2011-08-23 Nigel Croxon <nigel.croxon (a] hp.com>
   1075         * Changes from Peter Jones <pjones (a] redhat.com>
   1076           - Add guarantee 16-byte stack alignment on x86_64.
   1077           - Add routine to make callbacks work.
   1078           - Add apps/tcc.efi to test calling convention.
   1079         * Release 3.0m
   1080 
   1081 2011-07-22 Nigel Croxon <nigel.croxon (a] hp.com>
   1082 	* Changed Makefiles from GPL to BSD.
   1083 	* Changes from Peter Jones <pjones (a] redhat.com>
   1084 	  - Add ifdefs for ia64 to mirror ia32 and x86-64 so that
   1085 	    one can build with GCC.
   1086 	  - Add headers for PciIo.
   1087 	  - Add the UEFI 2.x bits for EFI_BOOT_SERVICES
   1088 	  - Add an ignore for .note.GNU-stack section in X86-64 linker maps.
   1089         * Release 3.0l
   1090 
   1091 2011-04-07  Nigel Croxon <nigel.croxon (a] hp.com>
   1092         * Change license from GPL to BSD.
   1093         * Release 3.0j
   1094 
   1095 2009-09-12  Julien BLACHE <jb (a] jblache.org>
   1096 	* Add support for FreeBSD.
   1097 	* Release 3.0i
   1098 
   1099 2009-09-11  Julien BLACHE <jb (a] jblache.org>
   1100 	* Fix elf_ia32_efi.lds linker script to be compatible with the new
   1101           linker behaviour. Patch from the RedHat bugzilla 492183.
   1102 
   1103 2009-06-18  Nigel Croxon <nigel.croxon (a] hp.com>
   1104         * Release 3.0h
   1105 
   1106 2008-11-06  Nigel Croxon <nigel.croxon (a] hp.com>
   1107         * Fix to not having any relocations at all. 
   1108 
   1109 2008-09-18  Nigel Croxon <nigel.croxon (a] hp.com>
   1110         * Use LIBDIR in makefiles
   1111         * Add setjmp/longjmp
   1112         * Fixes incorrect section attribute in crt0-efi-ia32.S
   1113         * Adds value EfiResetShutdown to enum EFI_RESET_TYPE
   1114         * Fixes a RAW warning in reloc_ia64.S
   1115         * Adds the USB HCI device path structure in the headers
   1116           patches were supplied by Peter Jones @ RedHat
   1117 
   1118 2008-02-22  Nigel Croxon <nigel.croxon (a] hp.com>
   1119 	* Added '-mno-red-zone' to x68_64 compiles.
   1120 	  Patch provided by Mats Andersson.
   1121 
   1122 2008-01-23  Nigel Croxon <nigel.croxon (a] hp.com>
   1123         * release 3.0e to support x86_64
   1124           EFI calling convention, the stack should be aligned in 16 bytes
   1125           to make it possible to use SSE2 in EFI boot services.
   1126           This patch fixes this issue. Patch provided by Huang Ying from Intel.
   1127 
   1128 2007-05-11 Nigel Croxon <nigel.croxon (a] hp.com>
   1129         * release 3.0d to support x86_64 from Chandramouli Narayanan
   1130           from Intel and based on 3.0c-1
   1131 
   1132 2006-03-21  Stephane Eranian <eranian (a] hpl.hp.com>
   1133 	* merged patch to support gcc-4.1 submitted by
   1134 	  Raymund Will from Novell/SuSE
   1135 
   1136 2006-03-20  Stephane Eranian <eranian (a] hpl.hp.com>
   1137 	* updated ia-64 and ia-32 linker scripts to
   1138 	  match latest gcc. The new gcc may put functions in
   1139 	  .text* sections. patch submitted by H.J. Lu from Intel.
   1140 
   1141 2004-11-19  Stephane Eranian <eranian (a] hpl.hp.com>
   1142 	* added patch to ignore .eh_frame section for IA-32. Patch
   1143 	  submitted by Jim Wilson
   1144 
   1145 2004-09-23  Stephane Eranian <eranian (a] hpl.hp.com>
   1146 	* added patch to discard unwind sections, newer toolchains
   1147 	  complained about them. Patch submitted by Jesse Barnes from SGI.
   1148 
   1149 2003-09-29  Stephane Eranian <eranian (a] hpl.hp.com>
   1150 	* updated elf_ia64_efi.lds to reflect new data sections 
   1151 	  created by gcc-3.3. Patch provided by Andreas Schwab from Suse.
   1152 
   1153 2003-06-20  Stephane Eranian <eranian (a] hpl.hp.com>
   1154 	* updated elf_ia64_efi.lds and elf_ia32_efi.lds to include
   1155 	  new types data sections produced by recent version of gcc-3.x
   1156 
   1157 2002-02-22  Stephane Eranian <eranian (a] hpl.hp.com>
   1158 	* release 3.0a
   1159 	* modified both IA-64 and IA-32 loader scripts to add support for the
   1160 	  new .rodata sections names (such as rodata.str2.8). Required
   1161 	  for new versions of gcc3.x.
   1162 
   1163 2001-06-20  Stephane Eranian <eranian (a] hpl.hp.com>
   1164 	* release 3.0
   1165 	* split gnu-efi package in two different packages: the libary+include+crt and the bootloader.
   1166 	* removed W2U() hack and related files to get from wide-char to unicode. 
   1167 	* Use -fshort-wchar option for unicode.
   1168 	* restructured Makefiles now install under INSTALLROOT.
   1169 
   1170 2001-04-06  Stephane Eranian <eranian (a] hpl.hp.com>
   1171 
   1172 	* incorporated patches from David and Michael Johnston at Intel
   1173 	  to get the package to compile for IA-32 linux target.
   1174 
   1175 	* Fixed ELILO to compile for Ia-32 (does not execute yet, though):
   1176 	  Makefile and start_kernel() function.
   1177 
   1178 2001-04-06  Andreas Schwab <schwab (a] suse.de>
   1179 
   1180 	* Fixed config.c  to
   1181 	  get the timeout directive to do something. implemented the global
   1182 	  root= directive.
   1183 
   1184 	* Fix the efi_main() to deal with the -C option properly
   1185 
   1186 2001-04-05  Stephane Eranian <eranian (a] hpl.hp.com>
   1187 
   1188 	* update efi library to latest EFI toolkit 1.02 as distributed
   1189 	  by Intel. Fixed header + library files to compile with GCC
   1190 
   1191 	* merged ELI and LILO (as of gnu-efi-1.1) together, mostly
   1192 	  taking the config file feature of ELI.
   1193 
   1194 	* renamed LILO to ELILO to make the distinction
   1195 
   1196 	* restructured code to make it easier to understand and maintain
   1197 
   1198 	* fixed FPSWA driver checking and loading: we try all possible
   1199 	  files and let the driver itself figure out if it is the most
   1200 	  recent.
   1201 	* added support for compression (gzip) but keep support for plain
   1202 	  ELF image. ELILO autodetects the format
   1203 
   1204 	* change the way the kernel is invoked. Now we call it in 
   1205 	  physical memory mode. This breaks the dependency between the
   1206 	  kernel code and the loader. No more lilo_start.c madness.
   1207 
   1208 	* changed the way the boot_params are passed. We don't use the 
   1209 	  ZERO_PAGE_ADDR trick anymore. Instead we use EFI runtime memory.
   1210 	  The address of the structure is passed to the kernel in r28
   1211 	  by our convention.
   1212 
   1213 	* released as gnu-efi-2.0
   1214 
   1215 2001-04-03  David Mosberger  <davidm (a] hpl.hp.com>
   1216 
   1217 	* gnuefi/reloc_ia32.c (_relocate): Change return type from "void"
   1218 	to "int".  Return error status if relocation fails for some
   1219 	reason.
   1220 
   1221 	* gnuefi/elf_ia32_efi.lds: Drop unneeded ".rel.reloc" section.
   1222 
   1223 	* gnuefi/crt0-efi-ia32.S (_start): Exit if _relocate() returns with
   1224 	non-zero exit status.
   1225 
   1226 	* inc/ia32/efibind.h [__GNUC__]: Force 8-byte alignment for 64-bit
   1227 	types as that is what EFI appears to be expecting, despite the
   1228 	"#pragma pack()" at the beginning of the file!
   1229 
   1230 2001-03-29  David Mosberger  <davidm (a] hpl.hp.com>
   1231 
   1232 	* gnuefi/reloc_ia32.c: Add a couple of defines to work around
   1233 	libc/efilib collision on uint64_t et al.
   1234 	(_relocate): Use ELF32_R_TYPE() instead of ELFW(R_TYPE)().
   1235 
   1236 	* gnuefi/crt0-efi-ia32.S (dummy): Add a dummy relocation entry.
   1237 
   1238 2001-03-29  David Mosberger  <davidm (a] hpl.hp.com>
   1239 
   1240         * gnuefi/reloc_ia32.c: Add a couple of defines to work around
   1241         libc/efilib collision on uint64_t et al.
   1242         (_relocate): Use ELF32_R_TYPE() instead of ELFW(R_TYPE)().
   1243 
   1244         * gnuefi/crt0-efi-ia32.S (dummy): Add a dummy relocation entry.
   1245 
   1246 2000-10-26  David Mosberger  <davidm (a] hpl.hp.com>
   1247  
   1248  	* gnuefi/elf_ia64_efi.lds: Mention .rela.sdata.
   1249  
   1250  	* Make.defaults (CFLAGS): Remove -nostdinc flags so we can pick
   1251  	up the C compiler's stdarg.h.
   1252  
   1253  	* inc/stdarg.h: Remove this file.  It's not correct for gcc (nor
   1254  	most other optimizing compilers).
   1255 
   1256 2000-10-10  Stephane Eranian <eranian (a] hpl.hp.com>
   1257 
   1258 	* cleaned up the error message and printing of those.
   1259 	* added support to load the FPSWA from a file in case support is not
   1260 	  present in the firmware already
   1261 	* fixed split_args() to do the right thing when you have leading spaces
   1262 	  before kernel name
   1263 	* changed the argify() function to rely on \0 instead of LoadOptionSize
   1264 	  as the field seems to be broken with current firmware
   1265 	* bumped version to 1.0
   1266 
   1267 2000-10-04  David Mosberger  <davidm (a] hpl.hp.com>
   1268  
   1269 	* gnuefi/reloc_ia64.S: Reserve space for up to 750 function descriptors.
   1270 
   1271 	* gnuefi/elf_ia64_efi.lds: Add .sdata section for small data and
   1272 	put __gp in the "middle" of it.
   1273 
   1274 	* gnuefi/crt0-efi-ia64.S (_start): Use movl/add to load
   1275 	gp-relative addresses that could be out of the range of the addl
   1276 	offset.
   1277 	* gnuefi/reloc_ia64.S (_relocate): Ditto.
   1278 
   1279 	* apps/Makefile: Remove standard rules and include Make.rules instead.
   1280 	* lilo/Makefile: Ditto.
   1281 
   1282 	* Make.rules: New file.
   1283 
   1284 2000-08-04  Stephane Eranian <eranian (a] hpl.hp.com>
   1285 	* released version 0.9
   1286 	* incorporated ACPI changes for Asuza by NEC < kouchi (a] hpc.bs1.fc.nec.co.jp>
   1287 	* added support for initrd (-i option) original ELI code from Bill Nottingham <notting (a] redhat.com>)
   1288 	* lots of cleanups 
   1289 	* got rid of #ifdef LILO_DEBUG and uses macro instead
   1290 	* fix a few extra memory leaks in create_boot_params()
   1291 	* added exit capability just before starting the kernel
   1292 
   1293 2000-06-22  David Mosberger  <davidm (a] hpl.hp.com>
   1294 
   1295 	* gnuefi/elf_ia64_efi.lds: Add .srodata, .ctors, .IA64.unwind,
   1296 	.IA64.unwind_info to .data section and .rela.ctors to .rela
   1297 	section.
   1298 
   1299 2000-04-03  David Mosberger  <davidm (a] hpl.hp.com>
   1300 
   1301 	* lilo/lilo.c (LILO_VERSION): Up version number to 0.9.
   1302 
   1303 	* gnuefi/elf_ia64_efi.lds: Include .IA_64.unwind and
   1304 	.IA_64.unwind_info in .data segment to avoid EFI load error
   1305 	"ImageAddress: pointer outside of image" error due to the .dynsym
   1306 	relocations against these sections.
   1307 
   1308 	* ChangeLog: Moved from lilo/ChangeLogs.
   1309 
   1310 	* gnuefi/reloc_ia64.S: fixed typo: .space directive had constant
   1311 	100 hardcoded instead of using MAX_FUNCTION_DESCRIPTORS
   1312 	macro. Duh.
   1313 
   1314 2000-03-17 Stephane Eranian <eranian (a] hpl.hp.com>
   1315 
   1316 	* Released 0.8
   1317 	* replace the  getopt.c with new version free with better license
   1318 	* created a documentation file
   1319 	* fix a couple of memory leaks
   1320 	* code cleanups
   1321 	* created a separate directory for lilo in the gnu-efi package.
   1322 	* added support for the BOOT_IMAGE argument to kernel
   1323 	* default is to build natively now
   1324 
   1325