summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-10-31GNU MIG 1.6v1.6Thomas Schwinge
* configure.ac (AC_INIT): Set version to 1.6. * NEWS: Finalize for 1.6.
2015-10-05Update NEWS fileJustus Winter
2015-06-05Change x_server_routine functions to "static inline" for -std=gnu11David Michael
* header.c (WriteServerHeader): Replace "extern" with "static". * server.c (WriteEpilog): Remove WriteSubsystemServerRoutine call.
2015-04-10GNU MIG 1.5.v1.5Thomas Schwinge
* configure.ac (AC_INIT): Set version to 1.5. * NEWS: Finalize for 1.5.
2015-02-15Do not generate code dereferencing type-punned pointersJustus Winter
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.
2015-02-06Test the configured yacc programDavid Michael
* configure.ac (yacc_is_bison): Test the configured yacc program.
2015-02-06Check that yacc is provided by bisonYves-Gael Cheny ( irc hurdman_begin )
* configure.ac: Check that yacc --version contains bison.
2014-12-01Add static branch prediction to type checksJustus Winter
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.
2014-11-06Provide default implementations for server functionsJustus Winter
By providing default implementations, servers can provide partial implementations of protocols without having to stub out functions. * server.c (WriteDefaultRoutine): New function. (WriteRoutine): Call WriteDefaultRoutine.
2014-10-10Add support for protected payloadsJustus Winter
Add support for protected payloads. The new `intranpayload' option can be used to specify a translation function translating payloads to values of the translated type. This function will be used instead of the `intran' function to to look up the receiving object of a message in a server. This makes it easy to use the protected payloads introduced in GNU Mach 1.5. An inTransPayload function translates payloads to objects, like an inTrans function translates from port names to objects. Generate code in the server routine to optimize lookups to the receiver of the message. Additionally, if no intran function is provided, but an intranpayload function is, it is expected to translate from payloads to port names. This is used to preserve the semantics in case the server routine expects a port name. * NEWS: Add item. * lexxer.l: Emit syInTranPayload. * parser.h: Define syInTranPayload. * parser.y (TransTypeSpec): Handle syInTranPayload. * type.h (struct ipc_type): Add itInTransPayload. * server.c (WriteExtractArgValue): If a payload-aware intrans function has been specified, use it to get a reference to the receiving object. * routine.c (rtAugmentArgKind): Force the use of a local variable if a payload-aware translate-in function is defined.
2014-09-24Update NEWS fileJustus Winter
2014-02-21Fix variable-sized c stringsJustus Winter
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.
2013-12-16Generate a x_server_routine in the sheader so it can be inlinedJustus Winter
* header.c (WriteServerHeader): Emit a x_server_routine that can be inlined. * server.c (WriteEpilog): Export the x_routines array so it can be used from the inlined x_server_routine.
2013-12-16Move the generation of x_server_routine function into a functionJustus Winter
* server.c (WriteSubsystemServerRoutine): New function. (WriteEpilog): Adjust accordingly. * write.h (WriteSubsystemServerRoutine): New declaration.
2013-12-16Clean up generated sourcesJustus Winter
* Makefile (CLEANFILES): Add generated source files lexxer.c and parser.c.
2013-12-16Avoid a compiler warning in WriteDefinesJustus Winter
* header.c (WriteDefines): Avoid warning about unused parameter.
2013-12-16Advise flex not to generate the input functionJustus Winter
This avoids a warning about input being unused. * lexxer.l: Define YY_NO_INPUT.
2013-12-15mig/server.c (WriteVarDecls): quiet GCC warning about set but unused variableMarin Ramesa
This is again that code where variable is assigned to itself, but I don't know how to fix this the other way. * server.c (WriteVarDecls) (msgh_simple): Assign to itself.
2013-09-27GNU MIG 1.4.v1.4Thomas Schwinge
* configure.ac (AC_INIT): Set version to 1.4. * NEWS: Finalize changes for 1.4. * README: Update.
2013-09-27Generate ChangeLog files for distributions.Thomas Schwinge
* gitlog-to-changelog: New file; import from gnulib's 9fc81090f6c5590bd1b0e0fa5087577a2ee43a3e:build-aux/gitlog-to-changelog. * Makefile.am (gen-ChangeLog): New target. (dist-hook): Depend on it.
2013-09-04Drop the auto keywordJustus Winter
Drop the auto keyword from the generated source code. auto is the default storage type for variables anyway and it is customary to omit it. * utils.c (WriteCheckDecl): Drop auto from generated source. (WriteStaticLongDecl): Likewise. (WriteStaticShortDecl): Likewise.
2013-08-19Drop alloca.cJustus Winter
This file was only used with GCC < 2, so it's time to drop it. * alloca.c: Remove file. * configure.ac: Remove test for alloca. * Makefile.am (migcom_LDADD): Remove @ALLOCA@.
2013-08-19Drop the register keywordJustus Winter
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.
2013-08-19Remove unused file alloc.hJustus Winter
* alloc.h: Remove file. * Makefile (migcom_SOURCES): Remove alloc.h.
2013-02-19Fix spurious deallocationOlaf Buddenhagen
* server.c (WriteDestroyArg): Only dealloc out-of-line memory from request message if KERN_SUCCESS.
2012-09-09Merge remote-tracking branch 'savannah/master'Thomas Schwinge
2012-07-01Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/migSamuel Thibault
2012-07-01Fix format string build failure with _FORTIFY_SOURCE=2Guillem Jover
* parser.y (yyerror): Use a format string instead of directly passing the argument to error.
2012-03-19Make the installation tree relocatable.Thomas Schwinge
* mig.in: Compute a relative path from the mig to migcom.
2011-09-07* .gitignore: Tighten some rules.Thomas Schwinge
2011-08-30Add silent rules support if available and disable it by defaultGuillem Jover
* configure.ac (AM_SILENT_RULES): Add silent rules support if available, and disable it by default. * Makefile.am (AWK_V, AWK_V_, AWK_V_0): New variables. (.sym.symc): Use AWK_V in front of AWK. (.symc.symo): Use AM_V_CC in front of TARGET_CC. (.symo.h): Use AM_V_GEN in front of sed.
2011-08-30Add a .gitignore fileGuillem Jover
* .gitignore: New file.
2010-01-04Fix indentationSamuel Thibault
* user.c (WriteCheckIdentity): Prepend `\t' before calling WriteMsgError.
2009-10-25Fix warning during mach compilationSamuel Thibault
* user.c (WriteIncludes): Include <kern/ipc_mig.h> when building kernel user.
2009-07-11Switch to the new ChangeLog style.Thomas Schwinge
* ChangeLog: Wipe out content, and add instructions about how to get it back.
2008-05-282008-05-28 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
[bug #23417: Building with -g3] * lexxer.l (^\#define[ \t]): Ignore until EOL.
2007-06-022007-06-02 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* 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.
2007-04-032007-04-03 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* mig.in (--help): Document the ``-i'' option better.
2007-03-042007-03-05 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* COPYING: Update the FSF's postal address.
2007-03-042007-03-05 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
Remove automatically regeneratable files. * INSTALL: Remove file. * Makefile.in: Likewise. * aclocal.m4: Likewise. * configure: Likewise. * lexxer.c: Likewise. * parser.c: Likewise. * build-aux/config.guess: Likewise. * build-aux/config.sub: Likewise. * build-aux/depcomp: Likewise. * build-aux/install-sh: Likewise. * build-aux/missing: Likewise. * build-aux/ylwrap: Likewise.
2006-12-042006-12-04 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* Makefile.in: Regenerate. * configure: Likewise.
2006-12-042006-12-04 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* configure.ac (AM_INIT_AUTOMAKE): Add `dist-bzip2'.
2006-12-042006-12-04 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* Makefile.am (AUTOMAKE_OPTIONS): Remove variable after having moved the `gnu' option to... * configure.ac (AM_INIT_AUTOMAKE): ... here. Bump version to 1.3.1.99. * NEWS: Update. * README: Likewise.
2006-12-032006-12-03 Leonardo Lopes Pereira <leonardolopespereira@gmail.com>Thomas Schwinge
[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.
2006-11-302006-11-29 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* configure: Regenerate. * lexxer.c: Likewise. * parser.c: Likewise.
2006-11-302006-11-29 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
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.
2006-11-292006-11-29 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* configure.ac (AM_INIT_AUTOMAKE): Add the `no-define' option.
2006-11-29Revert the following change:Thomas Schwinge
#v+ 2006-11-29 Thomas Schwinge <tschwinge@gnu.org> * Makefile.am (TARGET_CPPFLAGS, TARGET_CFLAGS): New variables. #v-
2006-11-29Savannah tag.Thomas Schwinge
2006-11-292006-11-29 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* Makefile.in: File updated by `autoreconf'. * configure: Likewise.