Home | History | Annotate | Download | only in include
History log of /src/sys/arch/powerpc/include/ansi.h
RevisionDateAuthorComments
 1.31  07-May-2019  kamil Switch all users (except ia64) of custom machine/ansi.h to common_ansi.h

Deduplicate the code among ports and poll definitions of types
directly from a compiler.

This fixes miscompilation of certain programs that instruct compilers
to generate code for different types. This bug has been detected with
-fshort-wchar in EFI firmware.

Proposed and discussed on a mailing list (twice).

Itanium uses custom !ELF fallback switch, temporarily leave it as it is.
 1.30  17-Jun-2015  matt branches: 1.30.18;
Make _BSD_CLOCK_T_ unsigned int so it's the same for IPL32 and LP64
environments. We don't really have a powerpc64 native userland
and the mips64 native userland is IPL32 so this shouldn't affect anything.
 1.29  17-Jul-2011  joerg branches: 1.29.12; 1.29.28; 1.29.30;
Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.28  27-Mar-2010  tnozaki 1. {wctype,wctrans,mbstate}_t: switch MD to MI like other
libc implementation (such as *BSD and glibc2).

2. don't typedef void * wc{type,trans}_t, suggested by soda@-san.
it may pass through compiler type check, it's harmful.
so i introduce dummy struct __tag_wc{type,trans}_t(iconv_t already does).

no ABI change was made.
 1.27  11-Jan-2009  christos branches: 1.27.4; 1.27.6;
merge christos-time_t
 1.26  21-Jun-2008  gmcgarry branches: 1.26.4;
Add stdargs support for pcc.
 1.25  17-Oct-2007  garbled branches: 1.25.16; 1.25.18; 1.25.22; 1.25.24; 1.25.26;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.24  03-Sep-2007  drochner clean up some definitions around rune_t which are not needed anymore
 1.23  04-Oct-2006  tnozaki branches: 1.23.8; 1.23.16; 1.23.22; 1.23.26; 1.23.28;
fix gcc -Werror -Wmissing-braces problem
mbstate_t(this is opaque object)'s initializer should be ``{ 0 }'',
so changed 1st field of union from character array to integer.
 1.22  11-Dec-2005  christos branches: 1.22.20; 1.22.22;
merge ktrace-lwp.
 1.21  24-Sep-2003  matt branches: 1.21.16;
Define va_list as __builtin_va_list for GCC 3.x. Change stdarg macros
appropriately. (this is committed from a system run a kernel and userland
built with these changes).
 1.20  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.19  02-Mar-2003  tshiozak branches: 1.19.2;
add some ISO C 1995 I18N functions and types:
btowc, wctrans, towctrans, wcscoll, wcsxfrm, wctype_t and wctrans_t.
 1.18  18-Jan-2003  matt Fix LP64 botch.
 1.17  04-Dec-2002  thorpej Revert my previous GCC 3.3-related changes; GCC 3.3 has been fixed
to handle our stdarg/varargs ABI for PowerPC.
 1.16  25-Oct-2002  thorpej Make these work with GCC 3.x.
 1.15  14-Aug-2002  matt Prepare for PPC64. Use register_t for mtmsr/mfmsr since the msr on PPC64
is 64bits wide. Define proper types for PPC64 if _LP64 is defined.
 1.14  07-Aug-2002  tsubai Re-correct previous. It's intentional.
 1.13  07-Aug-2002  matt Correct __va_list typedef for GCC 3.* to match the GCC 3.* definition.
 1.12  01-Jun-2002  tsubai Add gcc 3.x version.
 1.11  03-Jan-2001  takemura branches: 1.11.4; 1.11.8; 1.11.16; 1.11.18;
replace 'long long' with int64_t to compile stand alone program with
compiler other than GCC.
 1.10  26-Dec-2000  itojun make mbstate_t bigger (32 -> 128 bytes).
XXX if you have libc after citrus locale import, please recompile libc,
and your applications that use mbstate_t (rather rare). really sorry
for the mess.
 1.9  21-Dec-2000  itojun populate _BSD_MBSTATE_T_. add warning regarding to rune_t.
 1.8  27-Jun-2000  kleink G/c _BSD_INTPTR_T_ and _BSD_UINTPTR_T_.
 1.7  27-Feb-2000  tsubai branches: 1.7.2;
Rewrite stdarg/varargs.
 1.6  16-Aug-1998  kleink branches: 1.6.12;
Add missing wint_t (currently unused).
 1.5  27-Apr-1998  kleink Provide definitions for intptr_t and uintptr_t, signed resp. unsigned integral
types large enough to hold any pointer.
 1.4  23-Nov-1997  kleink Add _BSD_SUSECONDS_T_ and _BSD_USECONDS_T_; do some space vs. tab formatting
cleanup
 1.3  16-Apr-1997  thorpej Update to varargs/stdarg implementation; conform to the SVR4 calling
convention.
 1.2  15-Nov-1996  jtc Define _BSD_CLOCKID_T_ and _BSD_TIMER_T_
 1.1  30-Sep-1996  ws PowerPC port
 1.6.12.2  05-Jan-2001  bouyer Sync with HEAD
 1.6.12.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.7.2.1  28-May-2000  minoura Citrus Project XPG4DL, an implementation of I18N (locale) framework,
is imported.
 1.11.18.2  21-Nov-2002  he Apply patch (requested by he in ticket #638):
Back out latest change -- it is somewhat controversial,
ref. revision 1.14 and causes a build problem.
 1.11.18.1  16-Nov-2002  he Pull up revision 1.13 (via patch, requested by matt in ticket #638):
Correct __va_list typedef for GCC 3.x to match the GCC 3.x
definition.
 1.11.16.2  31-Aug-2002  gehenna catch up with -current.
 1.11.16.1  15-Jul-2002  gehenna catch up with -current.
 1.11.8.4  11-Dec-2002  thorpej Sync with HEAD.
 1.11.8.3  11-Nov-2002  nathanw Catch up to -current
 1.11.8.2  27-Aug-2002  nathanw Catch up to -current.
 1.11.8.1  20-Jun-2002  nathanw Catch up to -current.
 1.11.4.2  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.11.4.1  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.19.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.19.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.19.2.1  03-Aug-2004  skrll Sync with HEAD
 1.21.16.2  27-Oct-2007  yamt sync with head.
 1.21.16.1  30-Dec-2006  yamt sync with head.
 1.22.22.1  22-Oct-2006  yamt sync with head
 1.22.20.1  18-Nov-2006  ad Sync with head.
 1.23.28.1  06-Nov-2007  matt sync with HEAD
 1.23.26.1  02-Oct-2007  joerg Sync with HEAD.
 1.23.22.1  10-Sep-2007  skrll Sync with HEAD.
 1.23.16.1  03-Oct-2007  garbled Sync with HEAD
 1.23.8.1  09-Oct-2007  ad Sync with head.
 1.25.26.1  27-Jun-2008  simonb Sync with head.
 1.25.24.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.25.22.2  11-Aug-2010  yamt sync with head.
 1.25.22.1  04-May-2009  yamt sync with head.
 1.25.18.4  04-Jan-2009  christos handle LP64
 1.25.18.3  01-Nov-2008  christos Sync with head.
 1.25.18.2  30-Mar-2008  christos time_t is now __int64_t
 1.25.18.1  29-Mar-2008  christos Welcome to the time_t=long long dev_t=uint64_t branch.
 1.25.16.2  17-Jan-2009  mjf Sync with HEAD.
 1.25.16.1  29-Jun-2008  mjf Sync with HEAD.
 1.26.4.1  19-Jan-2009  skrll Sync with HEAD.
 1.27.6.1  30-May-2010  rmind sync with head
 1.27.4.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.29.30.1  22-Sep-2015  skrll Sync with HEAD
 1.29.28.1  16-Jul-2015  riz Pull up following revision(s) (requested by martin in ticket #846):
sys/arch/mips/include/ansi.h: revision 1.29
sys/arch/sh3/include/ansi.h: revision 1.16
sys/arch/sparc64/include/ansi.h: revision 1.18
sys/arch/m68k/include/ansi.h: revision 1.24
sys/arch/powerpc/include/ansi.h: revision 1.30
sys/arch/hppa/include/ansi.h: revision 1.14
sys/arch/i386/include/ansi.h: revision 1.27
sys/arch/alpha/include/ansi.h: revision 1.25
sys/arch/usermode/include/ansi.h: revision 1.5
sys/arch/sparc/include/ansi.h: revision 1.24
Make _BSD_CLOCK_T_ unsigned int so it's the same for IPL32 and LP64
environments. We don't really have a powerpc64 native userland
and the mips64 native userland is IPL32 so this shouldn't affect anything.
Make clock_t unsigned
Make clock_t unsigned int everywhere.
Ok: matt@, mrg@
 1.29.12.1  03-Dec-2017  jdolecek update from HEAD
 1.30.18.1  10-Jun-2019  christos Sync with HEAD

RSS XML Feed