| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
* server.c: Include stdint.h in the header code.
* user.c: Likewise.
|
|
|
|
|
|
| |
* server.c: Use word_size and update comments.
* type.c: Use word_size to compute padding.
* user.c: Use word_size and update comments.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This has been tested by cross-compiling a base Hurd system to make sure
these kinds of routines are no longer used.
* lexxer.l: Remove tokens.
* parser.y: Remove token types and production rules.
* routine.c: Remove rtMakeProcedure, rtMakeSimpleProcedure,
rtMakeFunction.
* routine.h: Remove enum values rkSimpleProcedure, rkProcedure,
rkFunction. Remove dead fields from struct routine.
* user.c: Simplify and remove dead code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For variable-length arrays, up to 2048 bytes are transmitted inline.
If the array is larger, the data is transmitted out-of-line, and a
pointer to a vm_allocated region is stored at the beginning of the
array.
Previously, the generated code casted the field. Use a union instead.
This fixes the gcc warning `dereferencing type-punned pointer will
break strict-aliasing rules [-Wstrict-aliasing]'.
* global.c (OOLPostfix): New variable.
* global.h (OOLPostfix): New declaration.
* server.c (WriteServerCallArg): Avoid cast.
(WriteDestroyArg): Likewise.
(WritePackArgValue): Likewise.
(WritePackArg): Likewise.
* user.c (WriteExtractArgValue): Likewise.
* utils.c (WriteFieldDeclPrim): Generate a union with an additional
pointer field for variable-length arrays.
|
|
|
|
|
|
|
|
|
| |
Annotate generated type checks with static branch prediction
optimizing well-formed messages.
* utils.c (WriteBogusDefines): Define `mig_unlikely' if not defined.
* server.c: Use `mig_unlikely' in generated type checks.
* user.c: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the terminating zero of variable-sized c strings was only
included when copying the message if the length of the string was not
a multiple of four. mig_strncpy returns the length of the string
excluding the terminating zero. Fix this by properly accounting for
the byte for the terminating zero in the array length.
* server.c (WritePackArgValue): Account for the terminating zero in
the array length.
* user.c (WritePackArgValue): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Drop the register keyword both from MIGs code and from the generated
code. The register keyword is only a hint and it is ignored by modern
compilers.
* alloca.c: Drop the register keyword.
* header.c: Likewise.
* lexxer.l: Likewise.
* parser.y: Likewise.
* routine.c: Likewise.
* server.c: Likewise.
* statement.c: Likewise.
* string.c: Likewise.
* type.c: Likewise.
* user.c: Likewise.
* utils.c: Likewise.
* vprint.c: Likewise.
|
|
|
|
|
| |
* user.c (WriteCheckIdentity): Prepend `\t' before calling
WriteMsgError.
|
|
|
|
|
| |
* user.c (WriteIncludes): Include <kern/ipc_mig.h> when building kernel
user.
|
|
|
|
|
|
|
|
|
| |
* global.c (LintLib): Remove definition.
* global.h (LintLib): Remove declaration.
* header.c (WriteUserRoutine, WriteServerRoutine): Don't emit `Lint'
code.
* user.c (WriteIncludes): Likewise.
* utils.c (WriteRCSDecl): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
| |
[patch #5018 --- ``Remove support to msg_send interface.'']
* global.c (UseMsgRPC): Removed definition.
* global.h (UseMsgRPC): Removed declaration.
* mig.in (--help): Removed information about `-r' and `-R' options.
* migcom.c (parseArgs): Changed the switches `-r' and `-R' to deal with
the absence of obsolete the send/receive pairs.
* user.c (WriteRoutine): Adapted the use of `UseMsgRPC' as if it was
defined to `TRUE'.
(WriteMsgSendReceive): Removed, since it is not used anymore.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix compiler, flex and bison warnings.
* error.c: Include <stdlib.h>.
* lexxer.h (yylex): Add declaration.
* migcom.c: Include <stdlib.h>.
(main): Set USER, SHEADER and IHEADER to `NULL' by default.
(myfclose): Add lost conversion specifications.
* parser.h (yyerror): Add declaration.
* routine.c (rtPrintArg, rtCheckRoutine): Add braces to avoid
ambiguousness.
* server.c (WriteSymTabEntries): Make NUM an `u_int'.
* user.c (WriteUserIndividual): Add a `default' case in a switch
statement and add lost conversion specifications.
* lexxer.l: Set option `nounput'.
* parser.y (%left): Change commas to spaces.
|
|
|
|
|
|
| |
* migcom.c (myfclose): New function.
(main): Use myfclose instead of fclose.
* user.c (WriteUserIndividual): Check for errors when closing file.
|
|
|
|
|
|
|
|
| |
* user.c (WriteTypeCheck): Use BAD_TYPECHECK macro instead of type-pun.
* server.c (WriteTypeCheck): Likewise.
* utils.c (WriteBogusDefines): Write a #define for that macro.
* utils.c (WriteCheckDecl): Write auto const, not static const.
(WriteStaticShortDecl, WriteStaticLongDecl): Likewise.
|
|
|
|
|
| |
* user.c (WriteIncludes): Fix missing newline in last change.
* server.c (WriteIncludes): Likewise.
|
|
|
|
|
|
|
|
|
|
| |
* server.c (WriteIncludes): Write:
#ifndef _GNU_SOURCE
#define _GNU_SOURCE 1
#endif
into the output before all else. This is required for building
stubs with GNU libc's built-in Mach/MiG support code.
* user.c (WriteIncludes): Likewise.
|
|
|