Date: Sun, 18 Jun 2017 16:03:19 +0300 From: Konstantin Belousov <kostikbel@gmail.com> To: Rick Macklem <rmacklem@uoguelph.ca> Cc: "freebsd-current@freebsd.org" <freebsd-current@freebsd.org> Subject: Re: adding extern maxbcachebuf to param.h Message-ID: <20170618130319.GH2088@kib.kiev.ua> In-Reply-To: <YTXPR01MB01891732246247B4A249C2E7DDC70@YTXPR01MB0189.CANPRD01.PROD.OUTLOOK.COM> References: <YTXPR01MB01891732246247B4A249C2E7DDC70@YTXPR01MB0189.CANPRD01.PROD.OUTLOOK.COM>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jun 18, 2017 at 12:36:59PM +0000, Rick Macklem wrote: > My recent commit (r320062) broke the arm build when it added > extern int maxbcachebuf; > to sys/param.h. Although I don't understand the actual failure, I believe > it is caused by arm/arm/elf_note.S including param.h and then using the > ELFNOTE() macro. > > As a temporary fix, I have committed r320070, which removes the definition > from sys/param.h. > This brings me to the question of how best to fix this? > 1 - Just leave it the way it is now, where "extern int maxbcachebuf" isn't defined > in a generic include file and needs to be defined as above before use. > 2 - Add "!defined(LOCORE)" to the definition of it in sys/param.h, which I believe > will also fix the problem. > 3 - Put it in some other sys/*.h file which never gets included in assembler files. > What .h would be appropriate? I think that sys/buf.h is the best match. Hiding the extern under !LOCORE in the sys/param.h is the second solution, but I like moving the definition to buf.h because param.h is widely used and most of the users do not need this symbol.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20170618130319.GH2088>