From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 03:13:30 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8C69E106566C; Sun, 17 Oct 2010 03:13:30 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7A3628FC0A; Sun, 17 Oct 2010 03:13:30 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9H3DUGF001321; Sun, 17 Oct 2010 03:13:30 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9H3DUud001319; Sun, 17 Oct 2010 03:13:30 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <201010170313.o9H3DUud001319@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Sun, 17 Oct 2010 03:13:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213944 - stable/7/sys/netipsec X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 03:13:30 -0000 Author: bz Date: Sun Oct 17 03:13:30 2010 New Revision: 213944 URL: http://svn.freebsd.org/changeset/base/213944 Log: MFC r213836: Style: make the asterisk go with the variable name, not the type. Modified: stable/7/sys/netipsec/ipsec_output.c Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/netipsec/ipsec_output.c ============================================================================== --- stable/7/sys/netipsec/ipsec_output.c Sun Oct 17 00:18:26 2010 (r213943) +++ stable/7/sys/netipsec/ipsec_output.c Sun Oct 17 03:13:30 2010 (r213944) @@ -705,7 +705,7 @@ ipsec6_output_tunnel(struct ipsec_output struct ipsecrequest *isr; struct secasindex saidx; int error; - struct sockaddr_in6* dst6; + struct sockaddr_in6 *dst6; struct mbuf *m; IPSEC_ASSERT(state != NULL, ("null state")); From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 04:40:00 2010 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6E7AC106566C; Sun, 17 Oct 2010 04:40:00 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 2D4578FC14; Sun, 17 Oct 2010 04:40:00 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id o9H4ZAut054759; Sat, 16 Oct 2010 22:35:10 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Sat, 16 Oct 2010 22:35:10 -0600 (MDT) Message-Id: <20101016.223510.41688183.imp@bsdimp.com> To: jhb@FreeBSD.org From: Warner Losh In-Reply-To: <201010150845.22576.jhb@freebsd.org> References: <201010141539.23573.jhb@freebsd.org> <4CB771A6.1070103@FreeBSD.org> <201010150845.22576.jhb@freebsd.org> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: svn-src-head@FreeBSD.org, rpaulo@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, dim@FreeBSD.org Subject: Re: svn commit: r213845 - head/sys/dev/aic7xxx/aicasm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 04:40:00 -0000 From: John Baldwin Subject: Re: svn commit: r213845 - head/sys/dev/aic7xxx/aicasm Date: Fri, 15 Oct 2010 08:45:22 -0400 > On Thursday, October 14, 2010 5:09:58 pm Dimitry Andric wrote: > > On 2010-10-14 21:39, John Baldwin wrote: > > > On Thursday, October 14, 2010 3:19:19 pm Rui Paulo wrote: > > ... > > >> Revert r213765. This is required because our build infrastructure uses > > >> the host lex instead of the lex built during buildworld. I will MFC the > > >> lex changes soon and in a few weeks this I'll commit again r213765. > > > Can't you make 'lex' a build-tool to workaround this? > > > > That will not help for "cd conf/CONF && make kernel", apparently. It > > will always use the host lex. > > Well, yes, but that is always true. build-tools are only used for > buildkernel. However, if an 8.x lex cannot build a 9.x kernel, then having > lex be a build-tool (or cross-tool, ru@ knows which category better than I) > will let a 'make kernel-toolchain' followed by 'make buildkernel' of a 9.x > source tree work on an 8.x host. Agreed. Just because it doesn't fix one case doesn't invalidate the usefulness for the other. In general, we support the config FOO method of building only on kernels that are "close" versions to the host... Warner From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 04:40:01 2010 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 027D6106564A; Sun, 17 Oct 2010 04:40:00 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id A8D588FC16; Sun, 17 Oct 2010 04:40:00 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id o9H4bCSj054764; Sat, 16 Oct 2010 22:37:12 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Sat, 16 Oct 2010 22:37:12 -0600 (MDT) Message-Id: <20101016.223712.71141197.imp@bsdimp.com> To: rpaulo@FreeBSD.org From: Warner Losh In-Reply-To: <96F4E353-55A6-48E6-BA20-92720EC2C4E7@freebsd.org> References: <4CB771A6.1070103@FreeBSD.org> <201010150845.22576.jhb@freebsd.org> <96F4E353-55A6-48E6-BA20-92720EC2C4E7@freebsd.org> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, dim@FreeBSD.org, jhb@FreeBSD.org Subject: Re: svn commit: r213845 - head/sys/dev/aic7xxx/aicasm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 04:40:01 -0000 From: Rui Paulo Subject: Re: svn commit: r213845 - head/sys/dev/aic7xxx/aicasm Date: Fri, 15 Oct 2010 19:50:46 +0100 > On 15 Oct 2010, at 13:45, John Baldwin wrote: > > > On Thursday, October 14, 2010 5:09:58 pm Dimitry Andric wrote: > >> On 2010-10-14 21:39, John Baldwin wrote: > >>> On Thursday, October 14, 2010 3:19:19 pm Rui Paulo wrote: > >> ... > >>>> Revert r213765. This is required because our build infrastructure uses > >>>> the host lex instead of the lex built during buildworld. I will MFC the > >>>> lex changes soon and in a few weeks this I'll commit again r213765. > >>> Can't you make 'lex' a build-tool to workaround this? > >> > >> That will not help for "cd conf/CONF && make kernel", apparently. It > >> will always use the host lex. > > > > Well, yes, but that is always true. build-tools are only used for > > buildkernel. However, if an 8.x lex cannot build a 9.x kernel, then having > > lex be a build-tool (or cross-tool, ru@ knows which category better than I) > > will let a 'make kernel-toolchain' followed by 'make buildkernel' of a 9.x > > source tree work on an 8.x host. > > Yes, but I was told that 'cd conf/CONF && make kernel' is a supported configuration (without requiring kernel-toolchain first). Only on "similar" versions... Warner From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 07:11:41 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0FD59106566C; Sun, 17 Oct 2010 07:11:41 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F00DC8FC12; Sun, 17 Oct 2010 07:11:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9H7Bei4008400; Sun, 17 Oct 2010 07:11:40 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9H7Be8w008396; Sun, 17 Oct 2010 07:11:40 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201010170711.o9H7Be8w008396@svn.freebsd.org> From: Edwin Groothuis Date: Sun, 17 Oct 2010 07:11:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213945 - stable/7/usr.bin/ncal X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 07:11:41 -0000 Author: edwin Date: Sun Oct 17 07:11:40 2010 New Revision: 213945 URL: http://svn.freebsd.org/changeset/base/213945 Log: Mega-merge of ncal into stable/7: r186401: Implement a new feature for the "-m" option: if the month number is followed by 'f' or 'p', use the following or preceding month of that number, respectively. Document this. Also includes other minor grammatical and punctuation fixes to the manual page (capitalize Easter, etc.). r191330: Implement highlighting of today in month view of cal/ncal just like gnu cal does. This is currently disabled for year view because of hard coded padding in that case. This will hopefully be fixed soon. r191364: Couple of changes based on feedback o Change mr/me to so/se [1]. o Introduce a -h option to disable highlighting. [2] o Spell STDOUT_FILENO as such and pass NULL to tgetent() to handle the case of unset TERM. [3] r191687: Fixed missing dependency. r194366: Fix column width of weekday names for multibyte locales. r194447: Since the width is always 2, it is enough to put just one trailing space is enough. r204697: - Implement -3 option (show previous, this and next month) option. - Add -A option (months after this month). - Add -B option (months before this month). - Fix highlighting of today in year overview. - Fix aligning of "foreign" characters. r204706: Remove no-op of WARNS?= r204849: - document the -3, -A and -B properly in Synopsis. - add highlight of current date for non-terminals. - fix -J option. - code cleanup. r204908: - Fix the highlighting for non-terminals when the last week is not 7 days long. - "-m " now prints only the month, not the whole year. r205071: - With the introduction of -A, -B and -3, not all combinations of arguments makes sense anymore. For example, what would a combination of -3 (show three months) and -y (show the whole year) do? We will abort on these cases. - Move the debug option -d to -H (from highlight), while -d is now used for setting the day of "today" so that -y and friends can be tested. r205427: Replace -b with -C and -B (as proposed by Alexander). Add -3, -A and -B to the usage. Update regression test for the new parameters. r212032: Use basename(3) to determine the name of the program. Modified: stable/7/usr.bin/ncal/Makefile stable/7/usr.bin/ncal/ncal.1 stable/7/usr.bin/ncal/ncal.c Directory Properties: stable/7/usr.bin/ncal/ (props changed) Modified: stable/7/usr.bin/ncal/Makefile ============================================================================== --- stable/7/usr.bin/ncal/Makefile Sun Oct 17 03:13:30 2010 (r213944) +++ stable/7/usr.bin/ncal/Makefile Sun Oct 17 07:11:40 2010 (r213945) @@ -2,9 +2,8 @@ PROG= ncal -DPADD= ${LIBCALENDAR} -LDADD= -lcalendar -WARNS?= 1 +DPADD= ${LIBCALENDAR} ${LIBTERMCAP} +LDADD= -lcalendar -ltermcap LINKS= ${BINDIR}/ncal ${BINDIR}/cal MLINKS= ncal.1 cal.1 Modified: stable/7/usr.bin/ncal/ncal.1 ============================================================================== --- stable/7/usr.bin/ncal/ncal.1 Sun Oct 17 03:13:30 2010 (r213944) +++ stable/7/usr.bin/ncal/ncal.1 Sun Oct 17 07:11:40 2010 (r213945) @@ -30,34 +30,46 @@ .Sh NAME .Nm cal , .Nm ncal -.Nd displays a calendar and the date of easter +.Nd displays a calendar and the date of Easter .Sh SYNOPSIS .Nm -.Op Fl jy +.Op Fl 3hjy +.Op Fl A Ar number +.Op Fl B Ar number .Oo .Op Ar month .Ar year .Oc .Nm -.Op Fl j +.Op Fl 3hj +.Op Fl A Ar number +.Op Fl B Ar number .Fl m Ar month .Op Ar year .Nm ncal -.Op Fl jJpwy +.Op Fl 3hjJpwy +.Op Fl A Ar number +.Op Fl B Ar number .Op Fl s Ar country_code .Oo .Op Ar month .Ar year .Oc .Nm ncal -.Op Fl Jeo +.Op Fl 3hJeo +.Op Fl A Ar number +.Op Fl B Ar number .Op Ar year +.Nm ncal +.Op Fl CN +.Op Fl H Ar yyyy-mm-dd +.Op Fl d Ar yyyy-mm .Sh DESCRIPTION The .Nm utility displays a simple calendar in traditional format and .Nm ncal -offers an alternative layout, more options and the date of easter. +offers an alternative layout, more options and the date of Easter. The new format is a little cramped but it makes a year fit on a 25x80 terminal. If arguments are not specified, @@ -65,19 +77,29 @@ the current month is displayed. .Pp The options are as follows: .Bl -tag -width indent +.It Fl h +Turns off highlighting of today. .It Fl J Display Julian Calendar, if combined with the .Fl e -option, display date of easter according to the Julian Calendar. +option, display date of Easter according to the Julian Calendar. .It Fl e -Display date of easter (for western churches). +Display date of Easter (for western churches). .It Fl j Display Julian days (days one-based, numbered from January 1). .It Fl m Ar month Display the specified .Ar month . +If +.Ar month +is specified as a decimal number, it may be followed by the letter +.Ql f +or +.Ql p +to indicate the following or preceding month of that number, +respectively. .It Fl o -Display date of orthodox easter (Greek and Russian +Display date of Orthodox Easter (Greek and Russian Orthodox Churches). .It Fl p Print the country codes and switching days from Julian to Gregorian @@ -99,21 +121,56 @@ Britain and her colonies switched to the Print the number of the week below each week column. .It Fl y Display a calendar for the specified year. +.It Fl 3 +Display the previous, current and next month surrounding today. +.It Fl A Ar number +Display the +.Ar number +of months after the current month. +.It Fl B Ar number +Display the +.Ar number +of months before the current month. +.It Fl C +Switch to +.Nm cal +mode. +.It Fl N +Switch to +.Nm ncal +mode. +.It Fl d Ar yyyy-mm +Use +.Ar yyyy-mm +as the current date (for debugging of date selection). +.It Fl H Ar yyyy-mm-dd +Use +.Ar yyyy-mm-dd +as the current date (for debugging of highlighting). .El .Pp -A single parameter specifies the year (1 - 9999) to be displayed; +A single parameter specifies the year (1\(en9999) to be displayed; note the year must be fully specified: .Dq Li cal 89 will .Em not -display a calendar for 1989. -Two parameters denote the month and year; the month is either a number between -1 and 12, or a full or abbreviated name as specified by the current locale. -Month and year default to those of the current system clock and time zone (so +display a calendar for 1989. Two parameters denote the month and +year; the month is either a number between 1 and 12, or a full or +abbreviated name as specified by the current locale. Month and +year default to those of the current system clock and time zone (so .Dq Li cal -m 8 -will display a calendar for the month of August in the current year). +will display a calendar for the month of August in the current +year). +.Pp +Not all options can be used together. For example +.Dq Li -3 -A 2 -B 3 -y -m 7 +would mean: +show me the three months around the seventh month, three before +that, two after that and the whole year. +.Nm ncal +will warn about these combinations. .Pp -A year starts on Jan 1. +A year starts on January 1. .Sh SEE ALSO .Xr calendar 3 , .Xr strftime 3 @@ -132,5 +189,8 @@ The command and manual were written by .An Wolfgang Helbig Aq helbig@FreeBSD.org . .Sh BUGS -The assignment of Julian\(emGregorian switching dates to -country codes is historically naive for many countries. +The assignment of Julian\(enGregorian switching dates to country +codes is historically naive for many countries. +.Pp +Not all options are compatible and using them in different orders +will give varying results. Modified: stable/7/usr.bin/ncal/ncal.c ============================================================================== --- stable/7/usr.bin/ncal/ncal.c Sun Oct 17 03:13:30 2010 (r213944) +++ stable/7/usr.bin/ncal/ncal.c Sun Oct 17 07:11:40 2010 (r213945) @@ -33,6 +33,7 @@ static const char rcsid[] = #include #include #include +#include #include #include #include @@ -42,15 +43,17 @@ static const char rcsid[] = #include #include #include +#include +#undef lines /* term.h defines this */ -/* Width of one month with backward compatibility */ +/* Width of one month with backward compatibility and in regular mode*/ #define MONTH_WIDTH_B_J 27 #define MONTH_WIDTH_B 20 -#define MONTH_WIDTH_J 24 -#define MONTH_WIDTH 18 +#define MONTH_WIDTH_R_J 24 +#define MONTH_WIDTH_R 18 -#define MAX_WIDTH 28 +#define MAX_WIDTH 64 typedef struct date date; @@ -58,6 +61,7 @@ struct monthlines { wchar_t name[MAX_WIDTH + 1]; char lines[7][MAX_WIDTH + 1]; char weeks[MAX_WIDTH + 1]; + unsigned int extralen[7]; }; struct weekdays { @@ -156,29 +160,29 @@ char jdaystr[] = " 1 2 3 4 " 350 351 352 353 354 355 356 357 358 359" " 360 361 362 363 364 365 366"; +int flag_nohighlight; /* user doesn't want a highlighted today */ int flag_weeks; /* user wants number of week */ int nswitch; /* user defined switch date */ int nswitchb; /* switch date for backward compatibility */ +int highlightdate; -char *center(char *s, char *t, int w); +char *center(char *s, char *t, int w); wchar_t *wcenter(wchar_t *s, wchar_t *t, int w); -void mkmonth(int year, int month, int jd_flag, struct monthlines * monthl); -void mkmonthb(int year, int month, int jd_flag, struct monthlines * monthl); -void mkweekdays(struct weekdays * wds); -int parsemonth(const char *s); -void printcc(void); -void printeaster(int year, int julian, int orthodox); -void printmonth(int year, int month, int jd_flag); -void printmonthb(int year, int month, int jd_flag); -void printyear(int year, int jd_flag); -void printyearb(int year, int jd_flag); int firstday(int y, int m); -date *sdate(int ndays, struct date * d); -date *sdateb(int ndays, struct date * d); -int sndays(struct date * d); -int sndaysb(struct date * d); -static void usage(void); -int weekdayb(int nd); +void highlight(char *dst, char *src, int len, int *extraletters); +void mkmonthr(int year, int month, int jd_flag, struct monthlines * monthl); +void mkmonthb(int year, int month, int jd_flag, struct monthlines * monthl); +void mkweekdays(struct weekdays * wds); +void monthranger(int year, int m, int jd_flag, int before, int after); +void monthrangeb(int year, int m, int jd_flag, int before, int after); +int parsemonth(const char *s, int *m, int *y); +void printcc(void); +void printeaster(int year, int julian, int orthodox); +date *sdater(int ndays, struct date * d); +date *sdateb(int ndays, struct date * d); +int sndaysr(struct date * d); +int sndaysb(struct date * d); +static void usage(void); int main(int argc, char *argv[]) @@ -186,20 +190,32 @@ main(int argc, char *argv[]) struct djswitch *p, *q; /* to search user defined switch date */ date never = {10000, 1, 1}; /* outside valid range of dates */ date ukswitch = {1752, 9, 2};/* switch date for Great Britain */ + date dt; int ch; /* holds the option character */ int m = 0; /* month */ int y = 0; /* year */ int flag_backward = 0; /* user called cal--backward compat. */ - int flag_hole_year = 0; /* user wants the whole year */ + int flag_wholeyear = 0; /* user wants the whole year */ int flag_julian_cal = 0; /* user wants Julian Calendar */ - int flag_julian_day = 0; /* user wants the Julian day - * numbers */ - int flag_orthodox = 0; /* use wants Orthodox easter */ - int flag_easter = 0; /* use wants easter date */ + int flag_julian_day = 0; /* user wants the Julian day numbers */ + int flag_orthodox = 0; /* user wants Orthodox easter */ + int flag_easter = 0; /* user wants easter date */ + int flag_3months = 0; /* user wants 3 month display (-3) */ + int flag_after = 0; /* user wants to see months after */ + int flag_before = 0; /* user wants to see months before */ + int flag_specifiedmonth = 0;/* user wants to see this month (-m) */ + int flag_givenmonth = 0; /* user has specified month [n] */ + int flag_givenyear = 0; /* user has specified year [n] */ char *cp; /* character pointer */ + char *flag_today = NULL; /* debug: use date as being today */ char *flag_month = NULL; /* requested month as string */ + char *flag_highlightdate = NULL; /* debug: date to highlight */ + int before, after; const char *locale; /* locale to get country code */ + flag_nohighlight = 0; + flag_weeks = 0; + /* * Use locale to determine the country code, * and use the country code to determine the default @@ -230,23 +246,57 @@ main(int argc, char *argv[]) * Get the filename portion of argv[0] and set flag_backward if * this program is called "cal". */ - cp = strrchr(argv[0], '/'); - cp = (cp == NULL) ? argv[0] : cp + 1; - if (strcmp("cal", cp) == 0) + if (strncmp(basename(argv[0]), "cal", strlen("cal")) == 0) flag_backward = 1; /* Set the switch date to United Kingdom if backwards compatible */ if (flag_backward) nswitchb = ndaysj(&ukswitch); - while ((ch = getopt(argc, argv, "Jejm:ops:wy")) != -1) + before = after = -1; + + while ((ch = getopt(argc, argv, "3A:B:Cd:eH:hjJm:Nops:wy")) != -1) switch (ch) { + case '3': + flag_3months = 1; + break; + case 'A': + if (flag_after > 0) + errx(EX_USAGE, "Double -A specified"); + flag_after = strtol(optarg, NULL, 10); + if (flag_after <= 0) + errx(EX_USAGE, + "Argument to -A must be positive"); + break; + case 'B': + if (flag_before > 0) + errx(EX_USAGE, "Double -A specified"); + flag_before = strtol(optarg, NULL, 10); + if (flag_before <= 0) + errx(EX_USAGE, + "Argument to -B must be positive"); + break; case 'J': if (flag_backward) usage(); nswitch = ndaysj(&never); flag_julian_cal = 1; break; + case 'C': + flag_backward = 1; + break; + case 'N': + flag_backward = 0; + break; + case 'd': + flag_today = optarg; + break; + case 'H': + flag_highlightdate = optarg; + break; + case 'h': + flag_nohighlight = 1; + break; case 'e': if (flag_backward) usage(); @@ -256,7 +306,10 @@ main(int argc, char *argv[]) flag_julian_day = 1; break; case 'm': + if (flag_specifiedmonth) + errx(EX_USAGE, "Double -m specified"); flag_month = optarg; + flag_specifiedmonth = 1; break; case 'o': if (flag_backward) @@ -289,7 +342,7 @@ main(int argc, char *argv[]) flag_weeks = 1; break; case 'y': - flag_hole_year = 1; + flag_wholeyear = 1; break; default: usage(); @@ -303,14 +356,21 @@ main(int argc, char *argv[]) if (flag_easter) usage(); flag_month = *argv++; + flag_givenmonth = 1; + m = strtol(flag_month, NULL, 10); /* FALLTHROUGH */ case 1: - y = atoi(*argv++); + y = atoi(*argv); if (y < 1 || y > 9999) - errx(EX_USAGE, "year %d not in range 1..9999", y); + errx(EX_USAGE, "year `%s' not in range 1..9999", *argv); + argv++; + flag_givenyear = 1; break; case 0: - { + if (flag_today != NULL) { + y = strtol(flag_today, NULL, 10); + m = strtol(flag_today + 5, NULL, 10); + } else { time_t t; struct tm *tm; @@ -325,26 +385,115 @@ main(int argc, char *argv[]) } if (flag_month != NULL) { - m = parsemonth(flag_month); - if (m < 1 || m > 12) + if (parsemonth(flag_month, &m, &y)) { errx(EX_USAGE, "%s is neither a month number (1..12) nor a name", flag_month); + } + } + + /* + * What is not supported: + * -3 with -A or -B + * -3 displays 3 months, -A and -B change that behaviour. + * -3 with -y + * -3 displays 3 months, -y says display a whole year. + * -3 with a given year but no given month or without -m + * -3 displays 3 months, no month specified doesn't make clear + * which three months. + * -m with a given month + * conflicting arguments, both specify the same field. + * -y with -m + * -y displays the whole year, -m displays a single month. + * -y with a given month + * -y displays the whole year, the given month displays a single + * month. + * -y with -A or -B + * -y displays the whole year, -A and -B display extra months. + */ + + /* -3 together with -A or -B. */ + if (flag_3months && (flag_after || flag_before)) + errx(EX_USAGE, "-3 together with -A and -B is not supported."); + /* -3 together with -y. */ + if (flag_3months && flag_wholeyear) + errx(EX_USAGE, "-3 together with -y is not supported."); + /* -3 together with givenyear but no givenmonth. */ + if (flag_3months && flag_givenyear && + !(flag_givenmonth || flag_specifiedmonth)) + errx(EX_USAGE, + "-3 together with a given year but no given month is " + "not supported."); + /* -m together with xx xxxx. */ + if (flag_specifiedmonth && flag_givenmonth) + errx(EX_USAGE, + "-m together with a given month is not supported."); + /* -y together with -m. */ + if (flag_wholeyear && flag_specifiedmonth) + errx(EX_USAGE, "-y together with -m is not supported."); + /* -y together with xx xxxx. */ + if (flag_wholeyear && flag_givenmonth) + errx(EX_USAGE, "-y together a given month is not supported."); + /* -y together with -A or -B. */ + if (flag_wholeyear && (flag_before > 0 || flag_after > 0)) + errx(EX_USAGE, "-y together a -A or -B is not supported."); + /* The rest should be fine. */ + + /* Select the period to display, in order of increasing priority .*/ + if (flag_wholeyear || + (flag_givenyear && !(flag_givenmonth || flag_specifiedmonth))) { + m = 1; + before = 0; + after = 11; + } + if (flag_givenyear && flag_givenmonth) { + before = 0; + after = 0; + } + if (flag_specifiedmonth) { + before = 0; + after = 0; + } + if (flag_before) { + before = flag_before; + } + if (flag_after) { + after = flag_after; + } + if (flag_3months) { + before = 1; + after = 1; + } + if (after == -1) + after = 0; + if (before == -1) + before = 0; + + /* Highlight a specified day or today .*/ + if (flag_highlightdate != NULL) { + dt.y = strtol(flag_highlightdate, NULL, 10); + dt.m = strtol(flag_highlightdate + 5, NULL, 10); + dt.d = strtol(flag_highlightdate + 8, NULL, 10); + } else { + time_t t; + struct tm *tm1; + + t = time(NULL); + tm1 = localtime(&t); + dt.y = tm1->tm_year + 1900; + dt.m = tm1->tm_mon + 1; + dt.d = tm1->tm_mday; } + highlightdate = sndaysb(&dt); + /* And now we finally start to calculate and output calendars. */ if (flag_easter) printeaster(y, flag_julian_cal, flag_orthodox); - else if (argc == 1 || flag_hole_year) - if (flag_backward) - printyearb(y, flag_julian_day); - else - printyear(y, flag_julian_day); else if (flag_backward) - printmonthb(y, m, flag_julian_day); + monthrangeb(y, m, flag_julian_day, before, after); else - printmonth(y, m, flag_julian_day); - + monthranger(y, m, flag_julian_day, before, after); return (0); } @@ -353,14 +502,17 @@ usage(void) { fputs( - "usage: cal [-jy] [[month] year]\n" - " cal [-j] [-m month] [year]\n" - " ncal [-Jjpwy] [-s country_code] [[month] year]\n" - " ncal [-Jeo] [year]\n", stderr); +"Usage: cal [general options] [-hjy] [[month] year]\n" +" cal [general options] [-hj] [-m month] [year]\n" +" ncal [general options] [-hJjpwy] [-s country_code] [[month] year]\n" +" ncal [general options] [-hJeo] [year]\n" +"General options: [-NC3] [-A months] [-B months]\n" +"For debug the highlighting: [-H yyyy-mm-dd] [-d yyyy-mm]\n", + stderr); exit(EX_USAGE); } -/* print the assumed switches for all countries */ +/* Print the assumed switches for all countries. */ void printcc(void) { @@ -381,13 +533,13 @@ printcc(void) printf(FSTR"\n", FSTRARG(p)); } -/* print the date of easter sunday */ +/* Print the date of easter sunday. */ void printeaster(int y, int julian, int orthodox) { date dt; struct tm tm; - char buf[80]; + char buf[MAX_WIDTH]; static int d_first = -1; if (d_first < 0) @@ -412,183 +564,201 @@ printeaster(int y, int julian, int ortho printf("%s\n", buf); } -void -printmonth(int y, int m, int jd_flag) -{ - struct monthlines month; - struct weekdays wds; - int i, len; - - mkmonth(y, m - 1, jd_flag, &month); - mkweekdays(&wds); - printf(" %ls %d\n", month.name, y); - for (i = 0; i != 7; i++) { - len = wcslen(wds.names[i]); - if (wcswidth(wds.names[i], len) == len) - wprintf(L"%.2ls%s\n", wds.names[i], month.lines[i]); - else - wprintf(L"%.1ls%s\n", wds.names[i], month.lines[i]); - } - if (flag_weeks) - printf(" %s\n", month.weeks); -} - -void -printmonthb(int y, int m, int jd_flag) -{ - struct monthlines month; - struct weekdays wds; - wchar_t s[MAX_WIDTH], t[MAX_WIDTH]; - int i; - int mw; - - mkmonthb(y, m - 1, jd_flag, &month); - mkweekdays(&wds); - - mw = jd_flag ? MONTH_WIDTH_B_J : MONTH_WIDTH_B; - - swprintf(s, MAX_WIDTH, L"%ls %d", month.name, y); - wprintf(L"%ls\n", wcenter(t, s, mw)); - - if (jd_flag) - wprintf(L" %ls %ls %ls %ls %ls %ls %.2ls\n", - wds.names[6], wds.names[0], - wds.names[1], wds.names[2], wds.names[3], - wds.names[4], wds.names[5]); - else - wprintf(L"%ls%ls%ls%ls%ls%ls%.2ls\n", wds.names[6], - wds.names[0], wds.names[1], wds.names[2], wds.names[3], - wds.names[4], wds.names[5]); - - for (i = 0; i != 6; i++) - printf("%s\n", month.lines[i]+1); -} +#define MW(mw, me) ((mw) + me) +#define DECREASEMONTH(m, y) \ + if (--m == 0) { \ + m = 12; \ + y--; \ + } +#define INCREASEMONTH(m, y) \ + if (++(m) == 13) { \ + (m) = 1; \ + (y)++; \ + } +#define M2Y(m) ((m) / 12) +#define M2M(m) (1 + (m) % 12) +/* Print all months for the period in the range [ before .. y-m .. after ]. */ void -printyear(int y, int jd_flag) +monthrangeb(int y, int m, int jd_flag, int before, int after) { struct monthlines year[12]; struct weekdays wds; - char s[80], t[80]; + char s[MAX_WIDTH], t[MAX_WIDTH]; + wchar_t ws[MAX_WIDTH], ws1[MAX_WIDTH]; + const char *wdss; int i, j; int mpl; int mw; + int m1, m2; + int printyearheader; + int prevyear = -1; + + mpl = jd_flag ? 2 : 3; + mw = jd_flag ? MONTH_WIDTH_B_J : MONTH_WIDTH_B; + wdss = (mpl == 2) ? " " : ""; + + while (before != 0) { + DECREASEMONTH(m, y); + before--; + after++; + } + m1 = y * 12 + m - 1; + m2 = m1 + after; - for (i = 0; i != 12; i++) - mkmonth(y, i, jd_flag, year + i); mkweekdays(&wds); - mpl = jd_flag ? 3 : 4; - mw = jd_flag ? MONTH_WIDTH_J : MONTH_WIDTH; - sprintf(s, "%d", y); - printf("%s\n", center(t, s, mpl * mw)); + /* + * The year header is printed when there are more than 'mpl' months + * and if the first month is a multitude of 'mpl'. + * If not, it will print the year behind every month. + */ + printyearheader = (after >= mpl - 1) && (M2M(m1) - 1) % mpl == 0; - for (j = 0; j != 12; j += mpl) { - wprintf(L" %-*ls%-*ls", - mw, year[j].name, - mw, year[j + 1].name); - if (mpl == 3) - printf("%ls\n", year[j + 2].name); - else - wprintf(L"%-*ls%ls\n", - mw, year[j + 2].name, - year[j + 3].name); - for (i = 0; i != 7; i++) { - wprintf(L"%.2ls%-*s%-*s", - wds.names[i], - mw, year[j].lines[i], - mw, year[j + 1].lines[i]); - if (mpl == 3) - printf("%s\n", year[j + 2].lines[i]); - else - printf("%-*s%s\n", - mw, year[j + 2].lines[i], - year[j + 3].lines[i]); + m = m1; + while (m <= m2) { + int count = 0; + for (i = 0; i != mpl && m + i <= m2; i++) { + mkmonthb(M2Y(m + i), M2M(m + i) - 1, jd_flag, year + i); + count++; } - if (flag_weeks) { - if (mpl == 3) - printf(" %-*s%-*s%-s\n", - mw, year[j].weeks, - mw, year[j + 1].weeks, - year[j + 2].weeks); - else - printf(" %-*s%-*s%-*s%-s\n", - mw, year[j].weeks, - mw, year[j + 1].weeks, - mw, year[j + 2].weeks, - year[j + 3].weeks); + + /* Empty line between two rows of months */ + if (m != m1) + printf("\n"); + + /* Year at the top. */ + if (printyearheader && M2Y(m) != prevyear) { + sprintf(s, "%d", M2Y(m)); + printf("%s\n", center(t, s, mpl * mw)); + prevyear = M2Y(m); + } + + /* Month names. */ + for (i = 0; i < count; i++) + if (printyearheader) + wprintf(L"%-*ls ", + mw, wcenter(ws, year[i].name, mw)); + else { + swprintf(ws, sizeof(ws), L"%-ls %d", + year[i].name, M2Y(m + i)); + wprintf(L"%-*ls ", mw, wcenter(ws1, ws, mw)); + } + printf("\n"); + + /* Day of the week names. */ + for (i = 0; i < count; i++) { + wprintf(L"%s%ls%s%ls%s%ls%s%ls%s%ls%s%ls%s%ls ", + wdss, wds.names[6], wdss, wds.names[0], + wdss, wds.names[1], wdss, wds.names[2], + wdss, wds.names[3], wdss, wds.names[4], + wdss, wds.names[5]); + } + printf("\n"); + + /* And the days of the month. */ + for (i = 0; i != 6; i++) { + for (j = 0; j < count; j++) + printf("%-*s ", + MW(mw, year[j].extralen[i]), + year[j].lines[i]+1); + printf("\n"); } + + m += mpl; } } void -printyearb(int y, int jd_flag) +monthranger(int y, int m, int jd_flag, int before, int after) { struct monthlines year[12]; struct weekdays wds; - char s[80], t[80]; - wchar_t ws[80], wt[80]; + char s[MAX_WIDTH], t[MAX_WIDTH]; int i, j; int mpl; int mw; + int m1, m2; + int prevyear = -1; + int printyearheader; + + mpl = jd_flag ? 3 : 4; + mw = jd_flag ? MONTH_WIDTH_R_J : MONTH_WIDTH_R; + + while (before != 0) { + DECREASEMONTH(m, y); + before--; + after++; + } + m1 = y * 12 + m - 1; + m2 = m1 + after; - for (i = 0; i != 12; i++) - mkmonthb(y, i, jd_flag, year + i); mkweekdays(&wds); - mpl = jd_flag ? 2 : 3; - mw = jd_flag ? MONTH_WIDTH_B_J : MONTH_WIDTH_B; - sprintf(s, "%d", y); - printf("%s\n\n", center(t, s, mw * mpl + mpl)); + /* + * The year header is printed when there are more than 'mpl' months + * and if the first month is a multitude of 'mpl'. + * If not, it will print the year behind every month. + */ + printyearheader = (after >= mpl - 1) && (M2M(m1) - 1) % mpl == 0; - for (j = 0; j != 12; j += mpl) { - wprintf(L"%-*ls ", mw, wcenter(ws, year[j].name, mw)); - if (mpl == 2) - printf("%ls\n", wcenter(ws, year[j + 1].name, mw)); - else - wprintf(L"%-*ls %ls\n", mw, - wcenter(ws, year[j + 1].name, mw), - wcenter(wt, year[j + 2].name, mw)); - - if (mpl == 2) - wprintf(L" %ls %ls %ls %ls %ls %ls %ls " - " %ls %ls %ls %ls %ls %ls %.2ls\n", - wds.names[6], wds.names[0], wds.names[1], - wds.names[2], wds.names[3], wds.names[4], - wds.names[5], - wds.names[6], wds.names[0], wds.names[1], - wds.names[2], wds.names[3], wds.names[4], - wds.names[5]); - else - wprintf(L"%ls%ls%ls%ls%ls%ls%ls " - "%ls%ls%ls%ls%ls%ls%ls " - "%ls%ls%ls%ls%ls%ls%.2ls\n", - wds.names[6], wds.names[0], wds.names[1], - wds.names[2], wds.names[3], wds.names[4], - wds.names[5], - wds.names[6], wds.names[0], wds.names[1], - wds.names[2], wds.names[3], wds.names[4], - wds.names[5], - wds.names[6], wds.names[0], wds.names[1], - wds.names[2], wds.names[3], wds.names[4], - wds.names[5]); - for (i = 0; i != 6; i++) { - if (mpl == 2) - printf("%-*s %s\n", - mw, year[j].lines[i]+1, - year[j + 1].lines[i]+1); + m = m1; + while (m <= m2) { + int count = 0; + for (i = 0; i != mpl && m + i <= m2; i++) { + mkmonthr(M2Y(m + i), M2M(m + i) - 1, jd_flag, year + i); + count++; + } + + /* Empty line between two rows of months. */ + if (m != m1) + printf("\n"); + + /* Year at the top. */ + if (printyearheader && M2Y(m) != prevyear) { + sprintf(s, "%d", M2Y(m)); + printf("%s\n", center(t, s, mpl * mw)); + prevyear = M2Y(m); + } + + /* Month names. */ + wprintf(L" "); + for (i = 0; i < count; i++) + if (printyearheader) + wprintf(L"%-*ls", mw, year[i].name); else - printf("%-*s %-*s %s\n", - mw, year[j].lines[i]+1, - mw, year[j + 1].lines[i]+1, - year[j + 2].lines[i]+1); + wprintf(L"%-ls %-*d", year[i].name, + mw - wcslen(year[i].name) - 1, M2Y(m + i)); + printf("\n"); + + /* And the days of the month. */ + for (i = 0; i != 7; i++) { + /* Week day */ + wprintf(L"%.2ls", wds.names[i]); + /* Full months */ + for (j = 0; j < count; j++) + printf("%-*s", + MW(mw, year[j].extralen[i]), + year[j].lines[i]); + printf("\n"); + } + + /* Week numbers. */ + if (flag_weeks) { + printf(" "); + for (i = 0; i < count; i++) + printf("%-*s", mw, year[i].weeks); + printf("\n"); } + + m += mpl; } + return; } void -mkmonth(int y, int m, int jd_flag, struct monthlines *mlines) +mkmonthr(int y, int m, int jd_flag, struct monthlines *mlines) { struct tm tm; /* for strftime printing local names of @@ -597,7 +767,7 @@ mkmonth(int y, int m, int jd_flag, struc int dw; /* width of numbers */ int first; /* first day of month */ int firstm; /* first day of first week of month */ - int i, j, k; /* just indices */ + int i, j, k, l; /* just indices */ int last; /* the first day of next month */ int jan1 = 0; /* the first day of this year */ char *ds; /* pointer to day strings (daystr or @@ -630,7 +800,7 @@ mkmonth(int y, int m, int jd_flag, struc */ firstm = first - weekday(first); - /* Set ds (daystring) and dw (daywidth) according to the jd_flag */ + /* Set ds (daystring) and dw (daywidth) according to the jd_flag. */ if (jd_flag) { ds = jdaystr; dw = 4; @@ -645,21 +815,27 @@ mkmonth(int y, int m, int jd_flag, struc * column is one day number. print column index: k. */ for (i = 0; i != 7; i++) { - for (j = firstm + i, k = 0; j < last; j += 7, k += dw) + l = 0; + for (j = firstm + i, k = 0; j < last; j += 7, k += dw) { if (j >= first) { if (jd_flag) dt.d = j - jan1 + 1; else - sdate(j, &dt); - memcpy(mlines->lines[i] + k, - ds + dt.d * dw, dw); + sdater(j, &dt); + if (j == highlightdate && !flag_nohighlight) + highlight(mlines->lines[i] + k, + ds + dt.d * dw, dw, &l); + else + memcpy(mlines->lines[i] + k + l, + ds + dt.d * dw, dw); } else - memcpy(mlines->lines[i] + k, " ", dw); - mlines->lines[i][k] = '\0'; - + memcpy(mlines->lines[i] + k + l, " ", dw); + } + mlines->lines[i][k + l] = '\0'; + mlines->extralen[i] = l; } - /* fill the weeknumbers */ + /* fill the weeknumbers. */ if (flag_weeks) { for (j = firstm, k = 0; j < last; k += dw, j += 7) if (j <= nswitch) @@ -681,7 +857,7 @@ mkmonthb(int y, int m, int jd_flag, stru int dw; /* width of numbers */ int first; /* first day of month */ int firsts; /* sunday of first week of month */ - int i, j, k; /* just indices */ + int i, j, k, l; /* just indices */ int jan1 = 0; /* the first day of this year */ int last; /* the first day of next month */ char *ds; /* pointer to day strings (daystr or @@ -696,7 +872,7 @@ mkmonthb(int y, int m, int jd_flag, stru dw = 3; } - /* Set name of month centered */ + /* Set name of month centered. */ memset(&tm, 0, sizeof(tm)); tm.tm_mon = m; wcsftime(mlines->name, sizeof(mlines->name) / sizeof(mlines->name[0]), @@ -742,25 +918,32 @@ mkmonthb(int y, int m, int jd_flag, stru * column is one day number. print column index: k. */ for (i = 0; i != 6; i++) { + l = 0; for (j = firsts + 7 * i, k = 0; j < last && k != dw * 7; - j++, k += dw) + j++, k += dw) { if (j >= first) { if (jd_flag) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 08:44:34 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E739E1065670; Sun, 17 Oct 2010 08:44:34 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D52528FC08; Sun, 17 Oct 2010 08:44:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9H8iYuN010828; Sun, 17 Oct 2010 08:44:34 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9H8iYXF010826; Sun, 17 Oct 2010 08:44:34 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <201010170844.o9H8iYXF010826@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Sun, 17 Oct 2010 08:44:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213946 - stable/7/sys/netipsec X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 08:44:35 -0000 Author: bz Date: Sun Oct 17 08:44:34 2010 New Revision: 213946 URL: http://svn.freebsd.org/changeset/base/213946 Log: MFC r213837: Remove dead code: assignment to a local variable not used anywhere after that. Modified: stable/7/sys/netipsec/ipsec_output.c Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/netipsec/ipsec_output.c ============================================================================== --- stable/7/sys/netipsec/ipsec_output.c Sun Oct 17 07:11:40 2010 (r213945) +++ stable/7/sys/netipsec/ipsec_output.c Sun Oct 17 08:44:34 2010 (r213946) @@ -797,10 +797,8 @@ ipsec6_output_tunnel(struct ipsec_output } /* adjust state->dst if tunnel endpoint is offlink */ - if (state->ro->ro_rt->rt_flags & RTF_GATEWAY) { + if (state->ro->ro_rt->rt_flags & RTF_GATEWAY) state->dst = (struct sockaddr *)state->ro->ro_rt->rt_gateway; - dst6 = (struct sockaddr_in6 *)state->dst; - } } m = ipsec6_splithdr(m); From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 08:46:34 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 57D44106566B; Sun, 17 Oct 2010 08:46:34 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 45DC08FC1A; Sun, 17 Oct 2010 08:46:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9H8kYHY010921; Sun, 17 Oct 2010 08:46:34 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9H8kYRS010919; Sun, 17 Oct 2010 08:46:34 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <201010170846.o9H8kYRS010919@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Sun, 17 Oct 2010 08:46:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213947 - stable/8/sys/netinet X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 08:46:34 -0000 Author: bz Date: Sun Oct 17 08:46:34 2010 New Revision: 213947 URL: http://svn.freebsd.org/changeset/base/213947 Log: MFC r213832: Use ifa_ifwithaddr_check() rather than ifa_ifwithaddr() as we are not interested in the result and would leak a reference otherwise. PR: kern/151435 Submitted by: Andrew Boyer (aboyer averesystems.com) Modified: stable/8/sys/netinet/ip_options.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/netinet/ip_options.c ============================================================================== --- stable/8/sys/netinet/ip_options.c Sun Oct 17 08:44:34 2010 (r213946) +++ stable/8/sys/netinet/ip_options.c Sun Oct 17 08:46:34 2010 (r213947) @@ -343,7 +343,7 @@ dropit: } (void)memcpy(&ipaddr.sin_addr, sin, sizeof(struct in_addr)); - if (ifa_ifwithaddr((SA)&ipaddr) == NULL) + if (ifa_ifwithaddr_check((SA)&ipaddr) == 0) continue; cp[IPOPT_OFFSET] += sizeof(struct in_addr); off += sizeof(struct in_addr); From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 08:59:03 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5D96C1065670; Sun, 17 Oct 2010 08:59:03 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4B5318FC12; Sun, 17 Oct 2010 08:59:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9H8x3To011276; Sun, 17 Oct 2010 08:59:03 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9H8x3Vf011274; Sun, 17 Oct 2010 08:59:03 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <201010170859.o9H8x3Vf011274@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Sun, 17 Oct 2010 08:59:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213948 - stable/8/sys/netipsec X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 08:59:03 -0000 Author: bz Date: Sun Oct 17 08:59:02 2010 New Revision: 213948 URL: http://svn.freebsd.org/changeset/base/213948 Log: MFC r213836: Style: make the asterisk go with the variable name, not the type. Modified: stable/8/sys/netipsec/ipsec_output.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/netipsec/ipsec_output.c ============================================================================== --- stable/8/sys/netipsec/ipsec_output.c Sun Oct 17 08:46:34 2010 (r213947) +++ stable/8/sys/netipsec/ipsec_output.c Sun Oct 17 08:59:02 2010 (r213948) @@ -758,7 +758,7 @@ ipsec6_output_tunnel(struct ipsec_output struct ipsecrequest *isr; struct secasindex saidx; int error; - struct sockaddr_in6* dst6; + struct sockaddr_in6 *dst6; struct mbuf *m; IPSEC_ASSERT(state != NULL, ("null state")); From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 09:13:47 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 775F8106564A; Sun, 17 Oct 2010 09:13:47 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 64FA98FC13; Sun, 17 Oct 2010 09:13:47 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9H9Dlit011721; Sun, 17 Oct 2010 09:13:47 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9H9Dlpj011719; Sun, 17 Oct 2010 09:13:47 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <201010170913.o9H9Dlpj011719@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Sun, 17 Oct 2010 09:13:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213949 - stable/8/sys/netipsec X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 09:13:47 -0000 Author: bz Date: Sun Oct 17 09:13:47 2010 New Revision: 213949 URL: http://svn.freebsd.org/changeset/base/213949 Log: MFC r213837: Remove dead code: assignment to a local variable not used anywhere after that. Modified: stable/8/sys/netipsec/ipsec_output.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/netipsec/ipsec_output.c ============================================================================== --- stable/8/sys/netipsec/ipsec_output.c Sun Oct 17 08:59:02 2010 (r213948) +++ stable/8/sys/netipsec/ipsec_output.c Sun Oct 17 09:13:47 2010 (r213949) @@ -853,10 +853,8 @@ ipsec6_output_tunnel(struct ipsec_output } /* adjust state->dst if tunnel endpoint is offlink */ - if (state->ro->ro_rt->rt_flags & RTF_GATEWAY) { + if (state->ro->ro_rt->rt_flags & RTF_GATEWAY) state->dst = (struct sockaddr *)state->ro->ro_rt->rt_gateway; - dst6 = (struct sockaddr_in6 *)state->dst; - } } m = ipsec6_splithdr(m); From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 11:01:52 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BCE4E1065675; Sun, 17 Oct 2010 11:01:52 +0000 (UTC) (envelope-from davidxu@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AAB608FC1B; Sun, 17 Oct 2010 11:01:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HB1qds027251; Sun, 17 Oct 2010 11:01:52 GMT (envelope-from davidxu@svn.freebsd.org) Received: (from davidxu@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HB1qwJ027247; Sun, 17 Oct 2010 11:01:52 GMT (envelope-from davidxu@svn.freebsd.org) Message-Id: <201010171101.o9HB1qwJ027247@svn.freebsd.org> From: David Xu Date: Sun, 17 Oct 2010 11:01:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213950 - in head/sys: kern sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 11:01:52 -0000 Author: davidxu Date: Sun Oct 17 11:01:52 2010 New Revision: 213950 URL: http://svn.freebsd.org/changeset/base/213950 Log: - Insert thread0 into correct thread hash link list. - In thr_exit() and kthread_exit(), only remove thread from hash if it can directly exit, otherwise let exit1() do it. - In thread_suspend_check(), fix cleanup code when thread needs to exit. This change seems fixed the "Bad link elm " panic found by Peter Holm. Stress testing: pho Modified: head/sys/kern/init_main.c head/sys/kern/kern_thread.c head/sys/sys/proc.h Modified: head/sys/kern/init_main.c ============================================================================== --- head/sys/kern/init_main.c Sun Oct 17 09:13:47 2010 (r213949) +++ head/sys/kern/init_main.c Sun Oct 17 11:01:52 2010 (r213950) @@ -443,7 +443,6 @@ proc0_init(void *dummy __unused) */ LIST_INSERT_HEAD(&allproc, p, p_list); LIST_INSERT_HEAD(PIDHASH(0), p, p_hash); - LIST_INSERT_HEAD(TIDHASH(0), td, td_hash); mtx_init(&pgrp0.pg_mtx, "process group", NULL, MTX_DEF | MTX_DUPOK); p->p_pgrp = &pgrp0; LIST_INSERT_HEAD(PGRPHASH(0), &pgrp0, pg_hash); @@ -462,6 +461,7 @@ proc0_init(void *dummy __unused) STAILQ_INIT(&p->p_ktr); p->p_nice = NZERO; td->td_tid = PID_MAX + 1; + LIST_INSERT_HEAD(TIDHASH(td->td_tid), td, td_hash); td->td_state = TDS_RUNNING; td->td_pri_class = PRI_TIMESHARE; td->td_user_pri = PUSER; Modified: head/sys/kern/kern_thread.c ============================================================================== --- head/sys/kern/kern_thread.c Sun Oct 17 09:13:47 2010 (r213949) +++ head/sys/kern/kern_thread.c Sun Oct 17 11:01:52 2010 (r213950) @@ -746,25 +746,23 @@ thread_suspend_check(int return_instead) (p->p_flag & P_SINGLE_BOUNDARY) && return_instead) return (ERESTART); - /* If thread will exit, flush its pending signals */ - if ((p->p_flag & P_SINGLE_EXIT) && (p->p_singlethread != td)) - sigqueue_flush(&td->td_sigqueue); - - PROC_SLOCK(p); - thread_stopped(p); /* * If the process is waiting for us to exit, * this thread should just suicide. * Assumes that P_SINGLE_EXIT implies P_STOPPED_SINGLE. */ if ((p->p_flag & P_SINGLE_EXIT) && (p->p_singlethread != td)) { - PROC_SUNLOCK(p); PROC_UNLOCK(p); tidhash_remove(td); PROC_LOCK(p); + tdsigcleanup(td); PROC_SLOCK(p); + thread_stopped(p); thread_exit(); } + + PROC_SLOCK(p); + thread_stopped(p); if (P_SHOULDSTOP(p) == P_STOPPED_SINGLE) { if (p->p_numthreads == p->p_suspcount + 1) { thread_lock(p->p_singlethread); @@ -981,12 +979,7 @@ void tidhash_add(struct thread *td) { rw_wlock(&tidhash_lock); - thread_lock(td); - if ((td->td_flags & TDF_TIDHASH) == 0) { - LIST_INSERT_HEAD(TIDHASH(td->td_tid), td, td_hash); - td->td_flags |= TDF_TIDHASH; - } - thread_unlock(td); + LIST_INSERT_HEAD(TIDHASH(td->td_tid), td, td_hash); rw_wunlock(&tidhash_lock); } @@ -994,11 +987,6 @@ void tidhash_remove(struct thread *td) { rw_wlock(&tidhash_lock); - thread_lock(td); - if ((td->td_flags & TDF_TIDHASH) != 0) { - LIST_REMOVE(td, td_hash); - td->td_flags &= ~TDF_TIDHASH; - } - thread_unlock(td); + LIST_REMOVE(td, td_hash); rw_wunlock(&tidhash_lock); } Modified: head/sys/sys/proc.h ============================================================================== --- head/sys/sys/proc.h Sun Oct 17 09:13:47 2010 (r213949) +++ head/sys/sys/proc.h Sun Oct 17 11:01:52 2010 (r213950) @@ -353,7 +353,7 @@ do { \ #define TDF_NEEDRESCHED 0x00010000 /* Thread needs to yield. */ #define TDF_NEEDSIGCHK 0x00020000 /* Thread may need signal delivery. */ #define TDF_NOLOAD 0x00040000 /* Ignore during load avg calculations. */ -#define TDF_TIDHASH 0x00080000 /* Thread is on hash table. */ +#define TDF_UNUSED19 0x00080000 /* --available-- */ #define TDF_THRWAKEUP 0x00100000 /* Libthr thread must not suspend itself. */ #define TDF_UNUSED21 0x00200000 /* --available-- */ #define TDF_SWAPINREQ 0x00400000 /* Swapin request due to wakeup. */ From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 11:40:29 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F0BAB1065672; Sun, 17 Oct 2010 11:40:29 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DE4DC8FC0C; Sun, 17 Oct 2010 11:40:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HBeT2L028302; Sun, 17 Oct 2010 11:40:29 GMT (envelope-from jh@svn.freebsd.org) Received: (from jh@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HBeT1M028300; Sun, 17 Oct 2010 11:40:29 GMT (envelope-from jh@svn.freebsd.org) Message-Id: <201010171140.o9HBeT1M028300@svn.freebsd.org> From: Jaakko Heinonen Date: Sun, 17 Oct 2010 11:40:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213951 - stable/8/gnu/usr.bin/groff/tmac X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 11:40:30 -0000 Author: jh Date: Sun Oct 17 11:40:29 2010 New Revision: 213951 URL: http://svn.freebsd.org/changeset/base/213951 Log: MFC r213835: Add FreeBSD 8.2. Modified: stable/8/gnu/usr.bin/groff/tmac/mdoc.local Directory Properties: stable/8/gnu/usr.bin/groff/ (props changed) Modified: stable/8/gnu/usr.bin/groff/tmac/mdoc.local ============================================================================== --- stable/8/gnu/usr.bin/groff/tmac/mdoc.local Sun Oct 17 11:01:52 2010 (r213950) +++ stable/8/gnu/usr.bin/groff/tmac/mdoc.local Sun Oct 17 11:40:29 2010 (r213951) @@ -75,6 +75,7 @@ .ds doc-operating-system-FreeBSD-7.4 7.4 .ds doc-operating-system-FreeBSD-8.0 8.0 .ds doc-operating-system-FreeBSD-8.1 8.1 +.ds doc-operating-system-FreeBSD-8.2 8.2 .ds doc-operating-system-FreeBSD-9.0 9.0 . .\" Definitions not (yet) in doc-syms From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 11:51:55 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 89B36106564A; Sun, 17 Oct 2010 11:51:55 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 76F628FC1F; Sun, 17 Oct 2010 11:51:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HBptNo028659; Sun, 17 Oct 2010 11:51:55 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HBptlA028657; Sun, 17 Oct 2010 11:51:55 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171151.o9HBptlA028657@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 11:51:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213952 - stable/8/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 11:51:55 -0000 Author: marius Date: Sun Oct 17 11:51:55 2010 New Revision: 213952 URL: http://svn.freebsd.org/changeset/base/213952 Log: MFC: r213873 Explicitly lower the PIL to 0 as part of enabling interrupts, similar to what is done on other platforms. Unlike as with the sched_throw(NULL) called on BSPs during their startup apparently there's nothing which will reliably lower it on APs. I'm unsure why this only came up on V215 though, breaking these with r207248. My best guess is that these are the only supported ones so far fast enough to lose some race. PR: 151404 Modified: stable/8/sys/sparc64/sparc64/machdep.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/sparc64/sparc64/machdep.c ============================================================================== --- stable/8/sys/sparc64/sparc64/machdep.c Sun Oct 17 11:40:29 2010 (r213951) +++ stable/8/sys/sparc64/sparc64/machdep.c Sun Oct 17 11:51:55 2010 (r213952) @@ -589,6 +589,7 @@ sparc64_init(caddr_t mdp, u_long o1, u_l * enable them. */ intr_init2(); + wrpr(pil, 0, 0); wrpr(pstate, 0, PSTATE_KERNEL); /* From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 11:52:00 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9EE101065746; Sun, 17 Oct 2010 11:51:59 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8A8D58FC08; Sun, 17 Oct 2010 11:51:59 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HBpxTN028695; Sun, 17 Oct 2010 11:51:59 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HBpxPB028693; Sun, 17 Oct 2010 11:51:59 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171151.o9HBpxPB028693@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 11:51:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213953 - stable/7/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 11:52:00 -0000 Author: marius Date: Sun Oct 17 11:51:59 2010 New Revision: 213953 URL: http://svn.freebsd.org/changeset/base/213953 Log: MFC: r213873 Explicitly lower the PIL to 0 as part of enabling interrupts, similar to what is done on other platforms. Unlike as with the sched_throw(NULL) called on BSPs during their startup apparently there's nothing which will reliably lower it on APs. I'm unsure why this only came up on V215 though, breaking these with r207248. My best guess is that these are the only supported ones so far fast enough to lose some race. PR: 151404 Modified: stable/7/sys/sparc64/sparc64/machdep.c Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/sparc64/sparc64/machdep.c ============================================================================== --- stable/7/sys/sparc64/sparc64/machdep.c Sun Oct 17 11:51:55 2010 (r213952) +++ stable/7/sys/sparc64/sparc64/machdep.c Sun Oct 17 11:51:59 2010 (r213953) @@ -579,6 +579,7 @@ sparc64_init(caddr_t mdp, u_long o1, u_l * enable them. */ intr_init2(); + wrpr(pil, 0, 0); wrpr(pstate, 0, PSTATE_KERNEL); /* From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 12:05:37 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 934251065670; Sun, 17 Oct 2010 12:05:37 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 663988FC08; Sun, 17 Oct 2010 12:05:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HC5bI3029122; Sun, 17 Oct 2010 12:05:37 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HC5bP9029120; Sun, 17 Oct 2010 12:05:37 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171205.o9HC5bP9029120@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 12:05:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213954 - stable/8/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 12:05:37 -0000 Author: marius Date: Sun Oct 17 12:05:37 2010 New Revision: 213954 URL: http://svn.freebsd.org/changeset/base/213954 Log: MFC: r213104 minor simplifications and cosmetics Modified: stable/8/sys/sparc64/sparc64/elf_machdep.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/sparc64/sparc64/elf_machdep.c ============================================================================== --- stable/8/sys/sparc64/sparc64/elf_machdep.c Sun Oct 17 11:51:59 2010 (r213953) +++ stable/8/sys/sparc64/sparc64/elf_machdep.c Sun Oct 17 12:05:37 2010 (r213954) @@ -128,8 +128,8 @@ void elf64_dump_thread(struct thread *td __unused, void *dst __unused, size_t *off __unused) { -} +} /* * The following table holds for each relocation type: @@ -215,7 +215,7 @@ static const int reloc_target_flags[] = }; #if 0 -static const char *reloc_names[] = { +static const char *const reloc_names[] = { "NONE", "RELOC_8", "RELOC_16", "RELOC_32", "DISP_8", "DISP_16", "DISP_32", "WDISP_30", "WDISP_22", "HI22", "22", "13", "LO10", "GOT10", "GOT13", @@ -271,10 +271,9 @@ static const long reloc_target_bitmask[] int elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, - int type, elf_lookup_fn lookup) + int type, elf_lookup_fn lookup __unused) { const Elf_Rela *rela; - Elf_Addr value; Elf_Addr *where; if (type != ELF_RELOC_RELA) @@ -284,10 +283,8 @@ elf_reloc_local(linker_file_t lf, Elf_Ad if (ELF64_R_TYPE_ID(rela->r_info) != R_SPARC_RELATIVE) return (-1); - value = rela->r_addend + (Elf_Addr)lf->address; - where = (Elf_Addr *)((Elf_Addr)lf->address + rela->r_offset); - - *where = elf_relocaddr(lf, value); + where = (Elf_Addr *)(relocbase + rela->r_offset); + *where = elf_relocaddr(lf, rela->r_addend + relocbase); return (0); } @@ -342,9 +339,8 @@ elf_reloc(linker_file_t lf, Elf_Addr rel if (RELOC_PC_RELATIVE(rtype)) value -= (Elf_Addr)where; - if (RELOC_BASE_RELATIVE(rtype)) { + if (RELOC_BASE_RELATIVE(rtype)) value = elf_relocaddr(lf, value + relocbase); - } mask = RELOC_VALUE_BITMASK(rtype); value >>= RELOC_VALUE_RIGHTSHIFT(rtype); From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 12:05:40 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A8C081065778; Sun, 17 Oct 2010 12:05:40 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2D9748FC1B; Sun, 17 Oct 2010 12:05:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HC5elx029159; Sun, 17 Oct 2010 12:05:40 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HC5ejb029157; Sun, 17 Oct 2010 12:05:40 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171205.o9HC5ejb029157@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 12:05:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213955 - stable/7/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 12:05:40 -0000 Author: marius Date: Sun Oct 17 12:05:39 2010 New Revision: 213955 URL: http://svn.freebsd.org/changeset/base/213955 Log: MFC: r213104 minor simplifications and cosmetics Modified: stable/7/sys/sparc64/sparc64/elf_machdep.c Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/sparc64/sparc64/elf_machdep.c ============================================================================== --- stable/7/sys/sparc64/sparc64/elf_machdep.c Sun Oct 17 12:05:37 2010 (r213954) +++ stable/7/sys/sparc64/sparc64/elf_machdep.c Sun Oct 17 12:05:39 2010 (r213955) @@ -127,8 +127,8 @@ void elf64_dump_thread(struct thread *td __unused, void *dst __unused, size_t *off __unused) { -} +} /* * The following table holds for each relocation type: @@ -213,7 +213,7 @@ static const int reloc_target_flags[] = }; #if 0 -static const char *reloc_names[] = { +static const char *const reloc_names[] = { "NONE", "RELOC_8", "RELOC_16", "RELOC_32", "DISP_8", "DISP_16", "DISP_32", "WDISP_30", "WDISP_22", "HI22", "22", "13", "LO10", "GOT10", "GOT13", @@ -268,10 +268,9 @@ static const long reloc_target_bitmask[] int elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, - int type, elf_lookup_fn lookup) + int type, elf_lookup_fn lookup __unused) { const Elf_Rela *rela; - Elf_Addr value; Elf_Addr *where; if (type != ELF_RELOC_RELA) @@ -281,10 +280,8 @@ elf_reloc_local(linker_file_t lf, Elf_Ad if (ELF64_R_TYPE_ID(rela->r_info) != R_SPARC_RELATIVE) return (-1); - value = rela->r_addend + (Elf_Addr)lf->address; - where = (Elf_Addr *)((Elf_Addr)lf->address + rela->r_offset); - - *where = value; + where = (Elf_Addr *)(relocbase + rela->r_offset); + *where = rela->r_addend + relocbase; return (0); } From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 12:11:42 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BF229106566C; Sun, 17 Oct 2010 12:11:42 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A89468FC12; Sun, 17 Oct 2010 12:11:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HCBgVo029414; Sun, 17 Oct 2010 12:11:42 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HCBgh0029383; Sun, 17 Oct 2010 12:11:42 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171211.o9HCBgh0029383@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 12:11:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213956 - in stable/8/sys: amd64/include dev/hme dev/le dev/mii i386/include ia64/include mips/include mips/malta powerpc/include sparc64/include sparc64/sbus sun4v/include sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 12:11:42 -0000 Author: marius Date: Sun Oct 17 12:11:42 2010 New Revision: 213956 URL: http://svn.freebsd.org/changeset/base/213956 Log: MFC: r204646 The NetBSD Foundation has granted permission to remove clause 3 and 4 from the software. Obtained from: NetBSD Modified: stable/8/sys/amd64/include/_inttypes.h stable/8/sys/dev/hme/if_hme_sbus.c stable/8/sys/dev/hme/if_hmereg.h stable/8/sys/dev/hme/if_hmevar.h stable/8/sys/dev/le/am79900var.h stable/8/sys/dev/le/am7990var.h stable/8/sys/dev/le/if_le_ledma.c stable/8/sys/dev/le/lancevar.h stable/8/sys/dev/mii/bmtphyreg.h stable/8/sys/dev/mii/icsphyreg.h stable/8/sys/dev/mii/lxtphyreg.h stable/8/sys/dev/mii/mii.c stable/8/sys/dev/mii/mii_physubr.c stable/8/sys/dev/mii/miidevs stable/8/sys/dev/mii/miivar.h stable/8/sys/dev/mii/nsphyreg.h stable/8/sys/dev/mii/nsphyterreg.h stable/8/sys/dev/mii/qsphyreg.h stable/8/sys/dev/mii/ukphy_subr.c stable/8/sys/i386/include/_inttypes.h stable/8/sys/ia64/include/_inttypes.h stable/8/sys/mips/include/_inttypes.h stable/8/sys/mips/malta/gtreg.h stable/8/sys/powerpc/include/_inttypes.h stable/8/sys/sparc64/include/_inttypes.h stable/8/sys/sparc64/sbus/lsi64854reg.h stable/8/sys/sparc64/sbus/lsi64854var.h stable/8/sys/sparc64/sbus/ofw_sbus.h stable/8/sys/sun4v/include/_inttypes.h stable/8/sys/sys/clock.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/amd64/include/_inttypes.h ============================================================================== --- stable/8/sys/amd64/include/_inttypes.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/amd64/include/_inttypes.h Sun Oct 17 12:11:42 2010 (r213956) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/dev/hme/if_hme_sbus.c ============================================================================== --- stable/8/sys/dev/hme/if_hme_sbus.c Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/dev/hme/if_hme_sbus.c Sun Oct 17 12:11:42 2010 (r213956) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/dev/hme/if_hmereg.h ============================================================================== --- stable/8/sys/dev/hme/if_hmereg.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/dev/hme/if_hmereg.h Sun Oct 17 12:11:42 2010 (r213956) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/dev/hme/if_hmevar.h ============================================================================== --- stable/8/sys/dev/hme/if_hmevar.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/dev/hme/if_hmevar.h Sun Oct 17 12:11:42 2010 (r213956) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/dev/le/am79900var.h ============================================================================== --- stable/8/sys/dev/le/am79900var.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/dev/le/am79900var.h Sun Oct 17 12:11:42 2010 (r213956) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/dev/le/am7990var.h ============================================================================== --- stable/8/sys/dev/le/am7990var.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/dev/le/am7990var.h Sun Oct 17 12:11:42 2010 (r213956) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/dev/le/if_le_ledma.c ============================================================================== --- stable/8/sys/dev/le/if_le_ledma.c Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/dev/le/if_le_ledma.c Sun Oct 17 12:11:42 2010 (r213956) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/dev/le/lancevar.h ============================================================================== --- stable/8/sys/dev/le/lancevar.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/dev/le/lancevar.h Sun Oct 17 12:11:42 2010 (r213956) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/dev/mii/bmtphyreg.h ============================================================================== --- stable/8/sys/dev/mii/bmtphyreg.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/dev/mii/bmtphyreg.h Sun Oct 17 12:11:42 2010 (r213956) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/dev/mii/icsphyreg.h ============================================================================== --- stable/8/sys/dev/mii/icsphyreg.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/dev/mii/icsphyreg.h Sun Oct 17 12:11:42 2010 (r213956) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/dev/mii/lxtphyreg.h ============================================================================== --- stable/8/sys/dev/mii/lxtphyreg.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/dev/mii/lxtphyreg.h Sun Oct 17 12:11:42 2010 (r213956) @@ -18,13 +18,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/dev/mii/mii.c ============================================================================== --- stable/8/sys/dev/mii/mii.c Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/dev/mii/mii.c Sun Oct 17 12:11:42 2010 (r213956) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/dev/mii/mii_physubr.c ============================================================================== --- stable/8/sys/dev/mii/mii_physubr.c Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/dev/mii/mii_physubr.c Sun Oct 17 12:11:42 2010 (r213956) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/dev/mii/miidevs ============================================================================== --- stable/8/sys/dev/mii/miidevs Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/dev/mii/miidevs Sun Oct 17 12:11:42 2010 (r213956) @@ -17,13 +17,6 @@ $FreeBSD$ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/dev/mii/miivar.h ============================================================================== --- stable/8/sys/dev/mii/miivar.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/dev/mii/miivar.h Sun Oct 17 12:11:42 2010 (r213956) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/dev/mii/nsphyreg.h ============================================================================== --- stable/8/sys/dev/mii/nsphyreg.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/dev/mii/nsphyreg.h Sun Oct 17 12:11:42 2010 (r213956) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/dev/mii/nsphyterreg.h ============================================================================== --- stable/8/sys/dev/mii/nsphyterreg.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/dev/mii/nsphyterreg.h Sun Oct 17 12:11:42 2010 (r213956) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/dev/mii/qsphyreg.h ============================================================================== --- stable/8/sys/dev/mii/qsphyreg.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/dev/mii/qsphyreg.h Sun Oct 17 12:11:42 2010 (r213956) @@ -18,13 +18,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/dev/mii/ukphy_subr.c ============================================================================== --- stable/8/sys/dev/mii/ukphy_subr.c Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/dev/mii/ukphy_subr.c Sun Oct 17 12:11:42 2010 (r213956) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/i386/include/_inttypes.h ============================================================================== --- stable/8/sys/i386/include/_inttypes.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/i386/include/_inttypes.h Sun Oct 17 12:11:42 2010 (r213956) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/ia64/include/_inttypes.h ============================================================================== --- stable/8/sys/ia64/include/_inttypes.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/ia64/include/_inttypes.h Sun Oct 17 12:11:42 2010 (r213956) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/mips/include/_inttypes.h ============================================================================== --- stable/8/sys/mips/include/_inttypes.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/mips/include/_inttypes.h Sun Oct 17 12:11:42 2010 (r213956) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/mips/malta/gtreg.h ============================================================================== --- stable/8/sys/mips/malta/gtreg.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/mips/malta/gtreg.h Sun Oct 17 12:11:42 2010 (r213956) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/powerpc/include/_inttypes.h ============================================================================== --- stable/8/sys/powerpc/include/_inttypes.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/powerpc/include/_inttypes.h Sun Oct 17 12:11:42 2010 (r213956) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/sparc64/include/_inttypes.h ============================================================================== --- stable/8/sys/sparc64/include/_inttypes.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/sparc64/include/_inttypes.h Sun Oct 17 12:11:42 2010 (r213956) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/sparc64/sbus/lsi64854reg.h ============================================================================== --- stable/8/sys/sparc64/sbus/lsi64854reg.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/sparc64/sbus/lsi64854reg.h Sun Oct 17 12:11:42 2010 (r213956) @@ -15,13 +15,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/sparc64/sbus/lsi64854var.h ============================================================================== --- stable/8/sys/sparc64/sbus/lsi64854var.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/sparc64/sbus/lsi64854var.h Sun Oct 17 12:11:42 2010 (r213956) @@ -15,13 +15,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/sparc64/sbus/ofw_sbus.h ============================================================================== --- stable/8/sys/sparc64/sbus/ofw_sbus.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/sparc64/sbus/ofw_sbus.h Sun Oct 17 12:11:42 2010 (r213956) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/sun4v/include/_inttypes.h ============================================================================== --- stable/8/sys/sun4v/include/_inttypes.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/sun4v/include/_inttypes.h Sun Oct 17 12:11:42 2010 (r213956) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/8/sys/sys/clock.h ============================================================================== --- stable/8/sys/sys/clock.h Sun Oct 17 12:05:39 2010 (r213955) +++ stable/8/sys/sys/clock.h Sun Oct 17 12:11:42 2010 (r213956) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 12:11:44 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 603691065670; Sun, 17 Oct 2010 12:11:44 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4A3A18FC28; Sun, 17 Oct 2010 12:11:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HCBibD029471; Sun, 17 Oct 2010 12:11:44 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HCBhOk029442; Sun, 17 Oct 2010 12:11:43 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171211.o9HCBhOk029442@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 12:11:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213957 - in stable/7/sys: amd64/include dev/hme dev/le dev/mii i386/include ia64/include powerpc/include sparc64/include sparc64/sbus sun4v/include sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 12:11:44 -0000 Author: marius Date: Sun Oct 17 12:11:43 2010 New Revision: 213957 URL: http://svn.freebsd.org/changeset/base/213957 Log: MFC: r204646 The NetBSD Foundation has granted permission to remove clause 3 and 4 from the software. Obtained from: NetBSD Modified: stable/7/sys/amd64/include/_inttypes.h stable/7/sys/dev/hme/if_hme_sbus.c stable/7/sys/dev/hme/if_hmereg.h stable/7/sys/dev/hme/if_hmevar.h stable/7/sys/dev/le/am79900var.h stable/7/sys/dev/le/am7990var.h stable/7/sys/dev/le/if_le_ledma.c stable/7/sys/dev/le/lancevar.h stable/7/sys/dev/mii/bmtphyreg.h stable/7/sys/dev/mii/icsphyreg.h stable/7/sys/dev/mii/lxtphyreg.h stable/7/sys/dev/mii/mii.c stable/7/sys/dev/mii/mii_physubr.c stable/7/sys/dev/mii/miidevs stable/7/sys/dev/mii/miivar.h stable/7/sys/dev/mii/nsphyreg.h stable/7/sys/dev/mii/nsphyterreg.h stable/7/sys/dev/mii/qsphyreg.h stable/7/sys/dev/mii/ukphy_subr.c stable/7/sys/i386/include/_inttypes.h stable/7/sys/ia64/include/_inttypes.h stable/7/sys/powerpc/include/_inttypes.h stable/7/sys/sparc64/include/_inttypes.h stable/7/sys/sparc64/sbus/lsi64854reg.h stable/7/sys/sparc64/sbus/lsi64854var.h stable/7/sys/sparc64/sbus/ofw_sbus.h stable/7/sys/sun4v/include/_inttypes.h stable/7/sys/sys/clock.h Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/amd64/include/_inttypes.h ============================================================================== --- stable/7/sys/amd64/include/_inttypes.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/amd64/include/_inttypes.h Sun Oct 17 12:11:43 2010 (r213957) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/dev/hme/if_hme_sbus.c ============================================================================== --- stable/7/sys/dev/hme/if_hme_sbus.c Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/dev/hme/if_hme_sbus.c Sun Oct 17 12:11:43 2010 (r213957) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/dev/hme/if_hmereg.h ============================================================================== --- stable/7/sys/dev/hme/if_hmereg.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/dev/hme/if_hmereg.h Sun Oct 17 12:11:43 2010 (r213957) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/dev/hme/if_hmevar.h ============================================================================== --- stable/7/sys/dev/hme/if_hmevar.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/dev/hme/if_hmevar.h Sun Oct 17 12:11:43 2010 (r213957) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/dev/le/am79900var.h ============================================================================== --- stable/7/sys/dev/le/am79900var.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/dev/le/am79900var.h Sun Oct 17 12:11:43 2010 (r213957) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/dev/le/am7990var.h ============================================================================== --- stable/7/sys/dev/le/am7990var.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/dev/le/am7990var.h Sun Oct 17 12:11:43 2010 (r213957) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/dev/le/if_le_ledma.c ============================================================================== --- stable/7/sys/dev/le/if_le_ledma.c Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/dev/le/if_le_ledma.c Sun Oct 17 12:11:43 2010 (r213957) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/dev/le/lancevar.h ============================================================================== --- stable/7/sys/dev/le/lancevar.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/dev/le/lancevar.h Sun Oct 17 12:11:43 2010 (r213957) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/dev/mii/bmtphyreg.h ============================================================================== --- stable/7/sys/dev/mii/bmtphyreg.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/dev/mii/bmtphyreg.h Sun Oct 17 12:11:43 2010 (r213957) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/dev/mii/icsphyreg.h ============================================================================== --- stable/7/sys/dev/mii/icsphyreg.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/dev/mii/icsphyreg.h Sun Oct 17 12:11:43 2010 (r213957) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/dev/mii/lxtphyreg.h ============================================================================== --- stable/7/sys/dev/mii/lxtphyreg.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/dev/mii/lxtphyreg.h Sun Oct 17 12:11:43 2010 (r213957) @@ -18,13 +18,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/dev/mii/mii.c ============================================================================== --- stable/7/sys/dev/mii/mii.c Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/dev/mii/mii.c Sun Oct 17 12:11:43 2010 (r213957) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/dev/mii/mii_physubr.c ============================================================================== --- stable/7/sys/dev/mii/mii_physubr.c Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/dev/mii/mii_physubr.c Sun Oct 17 12:11:43 2010 (r213957) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/dev/mii/miidevs ============================================================================== --- stable/7/sys/dev/mii/miidevs Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/dev/mii/miidevs Sun Oct 17 12:11:43 2010 (r213957) @@ -17,13 +17,6 @@ $FreeBSD$ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/dev/mii/miivar.h ============================================================================== --- stable/7/sys/dev/mii/miivar.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/dev/mii/miivar.h Sun Oct 17 12:11:43 2010 (r213957) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/dev/mii/nsphyreg.h ============================================================================== --- stable/7/sys/dev/mii/nsphyreg.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/dev/mii/nsphyreg.h Sun Oct 17 12:11:43 2010 (r213957) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/dev/mii/nsphyterreg.h ============================================================================== --- stable/7/sys/dev/mii/nsphyterreg.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/dev/mii/nsphyterreg.h Sun Oct 17 12:11:43 2010 (r213957) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/dev/mii/qsphyreg.h ============================================================================== --- stable/7/sys/dev/mii/qsphyreg.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/dev/mii/qsphyreg.h Sun Oct 17 12:11:43 2010 (r213957) @@ -18,13 +18,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/dev/mii/ukphy_subr.c ============================================================================== --- stable/7/sys/dev/mii/ukphy_subr.c Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/dev/mii/ukphy_subr.c Sun Oct 17 12:11:43 2010 (r213957) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/i386/include/_inttypes.h ============================================================================== --- stable/7/sys/i386/include/_inttypes.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/i386/include/_inttypes.h Sun Oct 17 12:11:43 2010 (r213957) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/ia64/include/_inttypes.h ============================================================================== --- stable/7/sys/ia64/include/_inttypes.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/ia64/include/_inttypes.h Sun Oct 17 12:11:43 2010 (r213957) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/powerpc/include/_inttypes.h ============================================================================== --- stable/7/sys/powerpc/include/_inttypes.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/powerpc/include/_inttypes.h Sun Oct 17 12:11:43 2010 (r213957) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/sparc64/include/_inttypes.h ============================================================================== --- stable/7/sys/sparc64/include/_inttypes.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/sparc64/include/_inttypes.h Sun Oct 17 12:11:43 2010 (r213957) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/sparc64/sbus/lsi64854reg.h ============================================================================== --- stable/7/sys/sparc64/sbus/lsi64854reg.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/sparc64/sbus/lsi64854reg.h Sun Oct 17 12:11:43 2010 (r213957) @@ -15,13 +15,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/sparc64/sbus/lsi64854var.h ============================================================================== --- stable/7/sys/sparc64/sbus/lsi64854var.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/sparc64/sbus/lsi64854var.h Sun Oct 17 12:11:43 2010 (r213957) @@ -15,13 +15,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/sparc64/sbus/ofw_sbus.h ============================================================================== --- stable/7/sys/sparc64/sbus/ofw_sbus.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/sparc64/sbus/ofw_sbus.h Sun Oct 17 12:11:43 2010 (r213957) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/sun4v/include/_inttypes.h ============================================================================== --- stable/7/sys/sun4v/include/_inttypes.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/sun4v/include/_inttypes.h Sun Oct 17 12:11:43 2010 (r213957) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED Modified: stable/7/sys/sys/clock.h ============================================================================== --- stable/7/sys/sys/clock.h Sun Oct 17 12:11:42 2010 (r213956) +++ stable/7/sys/sys/clock.h Sun Oct 17 12:11:43 2010 (r213957) @@ -13,13 +13,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 12:16:37 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 30C41106566C; Sun, 17 Oct 2010 12:16:37 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1C6A88FC1B; Sun, 17 Oct 2010 12:16:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HCGbl2029679; Sun, 17 Oct 2010 12:16:37 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HCGaks029665; Sun, 17 Oct 2010 12:16:36 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171216.o9HCGaks029665@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 12:16:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213958 - stable/8/sys/dev/mii X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 12:16:37 -0000 Author: marius Date: Sun Oct 17 12:16:36 2010 New Revision: 213958 URL: http://svn.freebsd.org/changeset/base/213958 Log: MFC: r213188 - Remove clause 3 and 4 from TNF licenses. - Remove closes 3 & 4 from Manuel Bouyer's license. Obtained from: NetBSD Modified: stable/8/sys/dev/mii/acphy.c stable/8/sys/dev/mii/bmtphy.c stable/8/sys/dev/mii/exphy.c stable/8/sys/dev/mii/gentbi.c stable/8/sys/dev/mii/icsphy.c stable/8/sys/dev/mii/lxtphy.c stable/8/sys/dev/mii/mii.h stable/8/sys/dev/mii/nsphy.c stable/8/sys/dev/mii/nsphyter.c stable/8/sys/dev/mii/qsphy.c stable/8/sys/dev/mii/tlphy.c stable/8/sys/dev/mii/tlphyreg.h stable/8/sys/dev/mii/ukphy.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/dev/mii/acphy.c ============================================================================== --- stable/8/sys/dev/mii/acphy.c Sun Oct 17 12:11:43 2010 (r213957) +++ stable/8/sys/dev/mii/acphy.c Sun Oct 17 12:16:36 2010 (r213958) @@ -14,13 +14,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -46,11 +39,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/8/sys/dev/mii/bmtphy.c ============================================================================== --- stable/8/sys/dev/mii/bmtphy.c Sun Oct 17 12:11:43 2010 (r213957) +++ stable/8/sys/dev/mii/bmtphy.c Sun Oct 17 12:16:36 2010 (r213958) @@ -14,13 +14,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -46,11 +39,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/8/sys/dev/mii/exphy.c ============================================================================== --- stable/8/sys/dev/mii/exphy.c Sun Oct 17 12:11:43 2010 (r213957) +++ stable/8/sys/dev/mii/exphy.c Sun Oct 17 12:16:36 2010 (r213958) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -48,11 +41,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/8/sys/dev/mii/gentbi.c ============================================================================== --- stable/8/sys/dev/mii/gentbi.c Sun Oct 17 12:11:43 2010 (r213957) +++ stable/8/sys/dev/mii/gentbi.c Sun Oct 17 12:16:36 2010 (r213958) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -48,11 +41,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/8/sys/dev/mii/icsphy.c ============================================================================== --- stable/8/sys/dev/mii/icsphy.c Sun Oct 17 12:11:43 2010 (r213957) +++ stable/8/sys/dev/mii/icsphy.c Sun Oct 17 12:16:36 2010 (r213958) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -48,11 +41,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/8/sys/dev/mii/lxtphy.c ============================================================================== --- stable/8/sys/dev/mii/lxtphy.c Sun Oct 17 12:11:43 2010 (r213957) +++ stable/8/sys/dev/mii/lxtphy.c Sun Oct 17 12:16:36 2010 (r213958) @@ -17,13 +17,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -49,11 +42,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/8/sys/dev/mii/mii.h ============================================================================== --- stable/8/sys/dev/mii/mii.h Sun Oct 17 12:11:43 2010 (r213957) +++ stable/8/sys/dev/mii/mii.h Sun Oct 17 12:16:36 2010 (r213958) @@ -14,11 +14,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/8/sys/dev/mii/nsphy.c ============================================================================== --- stable/8/sys/dev/mii/nsphy.c Sun Oct 17 12:11:43 2010 (r213957) +++ stable/8/sys/dev/mii/nsphy.c Sun Oct 17 12:16:36 2010 (r213958) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -48,11 +41,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/8/sys/dev/mii/nsphyter.c ============================================================================== --- stable/8/sys/dev/mii/nsphyter.c Sun Oct 17 12:11:43 2010 (r213957) +++ stable/8/sys/dev/mii/nsphyter.c Sun Oct 17 12:16:36 2010 (r213958) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -48,11 +41,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/8/sys/dev/mii/qsphy.c ============================================================================== --- stable/8/sys/dev/mii/qsphy.c Sun Oct 17 12:11:43 2010 (r213957) +++ stable/8/sys/dev/mii/qsphy.c Sun Oct 17 12:16:36 2010 (r213958) @@ -17,13 +17,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -49,11 +42,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/8/sys/dev/mii/tlphy.c ============================================================================== --- stable/8/sys/dev/mii/tlphy.c Sun Oct 17 12:11:43 2010 (r213957) +++ stable/8/sys/dev/mii/tlphy.c Sun Oct 17 12:16:36 2010 (r213958) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -48,11 +41,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/8/sys/dev/mii/tlphyreg.h ============================================================================== --- stable/8/sys/dev/mii/tlphyreg.h Sun Oct 17 12:11:43 2010 (r213957) +++ stable/8/sys/dev/mii/tlphyreg.h Sun Oct 17 12:16:36 2010 (r213958) @@ -11,11 +11,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/8/sys/dev/mii/ukphy.c ============================================================================== --- stable/8/sys/dev/mii/ukphy.c Sun Oct 17 12:11:43 2010 (r213957) +++ stable/8/sys/dev/mii/ukphy.c Sun Oct 17 12:16:36 2010 (r213958) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -48,11 +41,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 12:16:40 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 43F4C1065769; Sun, 17 Oct 2010 12:16:39 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1FC988FC08; Sun, 17 Oct 2010 12:16:39 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HCGd0G029725; Sun, 17 Oct 2010 12:16:39 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HCGcfn029711; Sun, 17 Oct 2010 12:16:38 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171216.o9HCGcfn029711@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 12:16:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213959 - stable/7/sys/dev/mii X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 12:16:40 -0000 Author: marius Date: Sun Oct 17 12:16:38 2010 New Revision: 213959 URL: http://svn.freebsd.org/changeset/base/213959 Log: MFC: r213188 - Remove clause 3 and 4 from TNF licenses. - Remove closes 3 & 4 from Manuel Bouyer's license. Obtained from: NetBSD Modified: stable/7/sys/dev/mii/acphy.c stable/7/sys/dev/mii/bmtphy.c stable/7/sys/dev/mii/exphy.c stable/7/sys/dev/mii/gentbi.c stable/7/sys/dev/mii/icsphy.c stable/7/sys/dev/mii/lxtphy.c stable/7/sys/dev/mii/mii.h stable/7/sys/dev/mii/nsphy.c stable/7/sys/dev/mii/nsphyter.c stable/7/sys/dev/mii/qsphy.c stable/7/sys/dev/mii/tlphy.c stable/7/sys/dev/mii/tlphyreg.h stable/7/sys/dev/mii/ukphy.c Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/dev/mii/acphy.c ============================================================================== --- stable/7/sys/dev/mii/acphy.c Sun Oct 17 12:16:36 2010 (r213958) +++ stable/7/sys/dev/mii/acphy.c Sun Oct 17 12:16:38 2010 (r213959) @@ -14,13 +14,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -46,11 +39,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/7/sys/dev/mii/bmtphy.c ============================================================================== --- stable/7/sys/dev/mii/bmtphy.c Sun Oct 17 12:16:36 2010 (r213958) +++ stable/7/sys/dev/mii/bmtphy.c Sun Oct 17 12:16:38 2010 (r213959) @@ -14,13 +14,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -46,11 +39,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/7/sys/dev/mii/exphy.c ============================================================================== --- stable/7/sys/dev/mii/exphy.c Sun Oct 17 12:16:36 2010 (r213958) +++ stable/7/sys/dev/mii/exphy.c Sun Oct 17 12:16:38 2010 (r213959) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -48,11 +41,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/7/sys/dev/mii/gentbi.c ============================================================================== --- stable/7/sys/dev/mii/gentbi.c Sun Oct 17 12:16:36 2010 (r213958) +++ stable/7/sys/dev/mii/gentbi.c Sun Oct 17 12:16:38 2010 (r213959) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -48,11 +41,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/7/sys/dev/mii/icsphy.c ============================================================================== --- stable/7/sys/dev/mii/icsphy.c Sun Oct 17 12:16:36 2010 (r213958) +++ stable/7/sys/dev/mii/icsphy.c Sun Oct 17 12:16:38 2010 (r213959) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -48,11 +41,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/7/sys/dev/mii/lxtphy.c ============================================================================== --- stable/7/sys/dev/mii/lxtphy.c Sun Oct 17 12:16:36 2010 (r213958) +++ stable/7/sys/dev/mii/lxtphy.c Sun Oct 17 12:16:38 2010 (r213959) @@ -17,13 +17,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -49,11 +42,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/7/sys/dev/mii/mii.h ============================================================================== --- stable/7/sys/dev/mii/mii.h Sun Oct 17 12:16:36 2010 (r213958) +++ stable/7/sys/dev/mii/mii.h Sun Oct 17 12:16:38 2010 (r213959) @@ -14,11 +14,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/7/sys/dev/mii/nsphy.c ============================================================================== --- stable/7/sys/dev/mii/nsphy.c Sun Oct 17 12:16:36 2010 (r213958) +++ stable/7/sys/dev/mii/nsphy.c Sun Oct 17 12:16:38 2010 (r213959) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -48,11 +41,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/7/sys/dev/mii/nsphyter.c ============================================================================== --- stable/7/sys/dev/mii/nsphyter.c Sun Oct 17 12:16:36 2010 (r213958) +++ stable/7/sys/dev/mii/nsphyter.c Sun Oct 17 12:16:38 2010 (r213959) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -48,11 +41,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/7/sys/dev/mii/qsphy.c ============================================================================== --- stable/7/sys/dev/mii/qsphy.c Sun Oct 17 12:16:36 2010 (r213958) +++ stable/7/sys/dev/mii/qsphy.c Sun Oct 17 12:16:38 2010 (r213959) @@ -17,13 +17,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -49,11 +42,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/7/sys/dev/mii/tlphy.c ============================================================================== --- stable/7/sys/dev/mii/tlphy.c Sun Oct 17 12:16:36 2010 (r213958) +++ stable/7/sys/dev/mii/tlphy.c Sun Oct 17 12:16:38 2010 (r213959) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -48,11 +41,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/7/sys/dev/mii/tlphyreg.h ============================================================================== --- stable/7/sys/dev/mii/tlphyreg.h Sun Oct 17 12:16:36 2010 (r213958) +++ stable/7/sys/dev/mii/tlphyreg.h Sun Oct 17 12:16:38 2010 (r213959) @@ -11,11 +11,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES Modified: stable/7/sys/dev/mii/ukphy.c ============================================================================== --- stable/7/sys/dev/mii/ukphy.c Sun Oct 17 12:16:36 2010 (r213958) +++ stable/7/sys/dev/mii/ukphy.c Sun Oct 17 12:16:38 2010 (r213959) @@ -16,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -48,11 +41,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Manuel Bouyer. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 12:29:57 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C2E77106566C; Sun, 17 Oct 2010 12:29:57 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AEFEF8FC14; Sun, 17 Oct 2010 12:29:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HCTvsM030202; Sun, 17 Oct 2010 12:29:57 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HCTvJP030167; Sun, 17 Oct 2010 12:29:57 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171229.o9HCTvJP030167@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 12:29:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213960 - in stable/8/sys/dev: dc mii X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 12:29:57 -0000 Author: marius Date: Sun Oct 17 12:29:57 2010 New Revision: 213960 URL: http://svn.freebsd.org/changeset/base/213960 Log: MFC: r213229 Use the mii_data provided via mii_attach_args and mii_pdata respectively instead of reaching out for the softc of the parent. Modified: stable/8/sys/dev/dc/dcphy.c stable/8/sys/dev/dc/pnphy.c stable/8/sys/dev/mii/acphy.c stable/8/sys/dev/mii/amphy.c stable/8/sys/dev/mii/atphy.c stable/8/sys/dev/mii/axphy.c stable/8/sys/dev/mii/bmtphy.c stable/8/sys/dev/mii/brgphy.c stable/8/sys/dev/mii/ciphy.c stable/8/sys/dev/mii/e1000phy.c stable/8/sys/dev/mii/exphy.c stable/8/sys/dev/mii/gentbi.c stable/8/sys/dev/mii/icsphy.c stable/8/sys/dev/mii/inphy.c stable/8/sys/dev/mii/ip1000phy.c stable/8/sys/dev/mii/jmphy.c stable/8/sys/dev/mii/lxtphy.c stable/8/sys/dev/mii/mii_physubr.c stable/8/sys/dev/mii/mlphy.c stable/8/sys/dev/mii/nsgphy.c stable/8/sys/dev/mii/nsphy.c stable/8/sys/dev/mii/nsphyter.c stable/8/sys/dev/mii/pnaphy.c stable/8/sys/dev/mii/qsphy.c stable/8/sys/dev/mii/rgephy.c stable/8/sys/dev/mii/rlphy.c stable/8/sys/dev/mii/rlswitch.c stable/8/sys/dev/mii/ruephy.c stable/8/sys/dev/mii/smcphy.c stable/8/sys/dev/mii/tdkphy.c stable/8/sys/dev/mii/truephy.c stable/8/sys/dev/mii/ukphy.c stable/8/sys/dev/mii/xmphy.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/dev/dc/dcphy.c ============================================================================== --- stable/8/sys/dev/dc/dcphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/dc/dcphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -146,7 +146,7 @@ dcphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/dc/pnphy.c ============================================================================== --- stable/8/sys/dev/dc/pnphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/dc/pnphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -129,7 +129,7 @@ pnphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/acphy.c ============================================================================== --- stable/8/sys/dev/mii/acphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/acphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -129,7 +129,7 @@ acphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/amphy.c ============================================================================== --- stable/8/sys/dev/mii/amphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/amphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -106,7 +106,7 @@ amphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/atphy.c ============================================================================== --- stable/8/sys/dev/mii/atphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/atphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -110,7 +110,7 @@ atphy_attach(device_t dev) sc = &asc->mii_sc; ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/axphy.c ============================================================================== --- stable/8/sys/dev/mii/axphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/axphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -96,7 +96,7 @@ axphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/bmtphy.c ============================================================================== --- stable/8/sys/dev/mii/bmtphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/bmtphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -144,7 +144,7 @@ bmtphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/brgphy.c ============================================================================== --- stable/8/sys/dev/mii/brgphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/brgphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -187,7 +187,7 @@ brgphy_attach(device_t dev) sc = &bsc->mii_sc; ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); /* Initialize mii_softc structure */ Modified: stable/8/sys/dev/mii/ciphy.c ============================================================================== --- stable/8/sys/dev/mii/ciphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/ciphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -115,7 +115,7 @@ ciphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/e1000phy.c ============================================================================== --- stable/8/sys/dev/mii/e1000phy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/e1000phy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -141,7 +141,7 @@ e1000phy_attach(device_t dev) sc = &esc->mii_sc; ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/exphy.c ============================================================================== --- stable/8/sys/dev/mii/exphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/exphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -135,7 +135,7 @@ exphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; /* * The 3Com PHY can never be isolated, so never allow non-zero Modified: stable/8/sys/dev/mii/gentbi.c ============================================================================== --- stable/8/sys/dev/mii/gentbi.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/gentbi.c Sun Oct 17 12:29:57 2010 (r213960) @@ -158,7 +158,7 @@ gentbi_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); if (bootverbose) Modified: stable/8/sys/dev/mii/icsphy.c ============================================================================== --- stable/8/sys/dev/mii/icsphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/icsphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -138,7 +138,7 @@ icsphy_attach(device_t dev) sc = &isc->mii_sc; ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/inphy.c ============================================================================== --- stable/8/sys/dev/mii/inphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/inphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -104,7 +104,7 @@ inphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/ip1000phy.c ============================================================================== --- stable/8/sys/dev/mii/ip1000phy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/ip1000phy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -111,7 +111,7 @@ ip1000phy_attach(device_t dev) sc = &isc->mii_sc; ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/jmphy.c ============================================================================== --- stable/8/sys/dev/mii/jmphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/jmphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -109,7 +109,7 @@ jmphy_attach(device_t dev) sc = &jsc->mii_sc; ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/lxtphy.c ============================================================================== --- stable/8/sys/dev/mii/lxtphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/lxtphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -132,7 +132,7 @@ lxtphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/mii_physubr.c ============================================================================== --- stable/8/sys/dev/mii/mii_physubr.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/mii_physubr.c Sun Oct 17 12:29:57 2010 (r213960) @@ -326,10 +326,9 @@ mii_anar(int media) void mii_add_media(struct mii_softc *sc) { + struct mii_data *mii = sc->mii_pdata; const char *sep = ""; - struct mii_data *mii; - mii = device_get_softc(sc->mii_dev); if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0) { printf("no media present"); return; Modified: stable/8/sys/dev/mii/mlphy.c ============================================================================== --- stable/8/sys/dev/mii/mlphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/mlphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -143,7 +143,7 @@ mlphy_attach(dev) sc = &msc->ml_mii; ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/nsgphy.c ============================================================================== --- stable/8/sys/dev/mii/nsgphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/nsgphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -126,7 +126,7 @@ nsgphy_attach(device_t dev) device_printf(dev, "\n", MII_REV(ma->mii_id2)); device_printf(dev, " "); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/nsphy.c ============================================================================== --- stable/8/sys/dev/mii/nsphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/nsphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -130,7 +130,7 @@ nsphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/nsphyter.c ============================================================================== --- stable/8/sys/dev/mii/nsphyter.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/nsphyter.c Sun Oct 17 12:29:57 2010 (r213960) @@ -135,7 +135,7 @@ nsphyter_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/pnaphy.c ============================================================================== --- stable/8/sys/dev/mii/pnaphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/pnaphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -107,7 +107,7 @@ pnaphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/qsphy.c ============================================================================== --- stable/8/sys/dev/mii/qsphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/qsphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -130,7 +130,7 @@ qsphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/rgephy.c ============================================================================== --- stable/8/sys/dev/mii/rgephy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/rgephy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -119,7 +119,7 @@ rgephy_attach(device_t dev) sc = &rsc->mii_sc; ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/rlphy.c ============================================================================== --- stable/8/sys/dev/mii/rlphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/rlphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -129,7 +129,7 @@ rlphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; /* * Check whether we're the RTL8201L PHY and remember so the status Modified: stable/8/sys/dev/mii/rlswitch.c ============================================================================== --- stable/8/sys/dev/mii/rlswitch.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/rlswitch.c Sun Oct 17 12:29:57 2010 (r213960) @@ -117,7 +117,7 @@ rlswitch_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; /* * We handle all pseudo PHY in a single instance, so never allow Modified: stable/8/sys/dev/mii/ruephy.c ============================================================================== --- stable/8/sys/dev/mii/ruephy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/ruephy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -108,7 +108,7 @@ ruephy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; /* * The RealTek PHY can never be isolated, so never allow non-zero Modified: stable/8/sys/dev/mii/smcphy.c ============================================================================== --- stable/8/sys/dev/mii/smcphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/smcphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -102,7 +102,7 @@ smcphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/tdkphy.c ============================================================================== --- stable/8/sys/dev/mii/tdkphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/tdkphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -108,7 +108,7 @@ tdkphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); if (bootverbose) Modified: stable/8/sys/dev/mii/truephy.c ============================================================================== --- stable/8/sys/dev/mii/truephy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/truephy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -150,7 +150,7 @@ truephy_attach(device_t dev) if (sc->mii_anegticks == 0) sc->mii_anegticks = MII_ANEGTICKS; sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/8/sys/dev/mii/ukphy.c ============================================================================== --- stable/8/sys/dev/mii/ukphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/ukphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -122,7 +122,7 @@ ukphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); if (bootverbose) Modified: stable/8/sys/dev/mii/xmphy.c ============================================================================== --- stable/8/sys/dev/mii/xmphy.c Sun Oct 17 12:16:38 2010 (r213959) +++ stable/8/sys/dev/mii/xmphy.c Sun Oct 17 12:29:57 2010 (r213960) @@ -107,7 +107,7 @@ xmphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 12:30:05 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CA418106576A; Sun, 17 Oct 2010 12:30:02 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 402788FC13; Sun, 17 Oct 2010 12:30:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HCU2Cu030273; Sun, 17 Oct 2010 12:30:02 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HCU1KZ030241; Sun, 17 Oct 2010 12:30:01 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171230.o9HCU1KZ030241@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 12:30:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213961 - in stable/7/sys/dev: dc mii X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 12:30:06 -0000 Author: marius Date: Sun Oct 17 12:30:01 2010 New Revision: 213961 URL: http://svn.freebsd.org/changeset/base/213961 Log: MFC: r213229 Use the mii_data provided via mii_attach_args and mii_pdata respectively instead of reaching out for the softc of the parent. Modified: stable/7/sys/dev/dc/dcphy.c stable/7/sys/dev/dc/pnphy.c stable/7/sys/dev/mii/acphy.c stable/7/sys/dev/mii/amphy.c stable/7/sys/dev/mii/atphy.c stable/7/sys/dev/mii/bmtphy.c stable/7/sys/dev/mii/brgphy.c stable/7/sys/dev/mii/ciphy.c stable/7/sys/dev/mii/e1000phy.c stable/7/sys/dev/mii/exphy.c stable/7/sys/dev/mii/gentbi.c stable/7/sys/dev/mii/icsphy.c stable/7/sys/dev/mii/inphy.c stable/7/sys/dev/mii/ip1000phy.c stable/7/sys/dev/mii/jmphy.c stable/7/sys/dev/mii/lxtphy.c stable/7/sys/dev/mii/mii_physubr.c stable/7/sys/dev/mii/mlphy.c stable/7/sys/dev/mii/nsgphy.c stable/7/sys/dev/mii/nsphy.c stable/7/sys/dev/mii/nsphyter.c stable/7/sys/dev/mii/pnaphy.c stable/7/sys/dev/mii/qsphy.c stable/7/sys/dev/mii/rgephy.c stable/7/sys/dev/mii/rlphy.c stable/7/sys/dev/mii/rlswitch.c stable/7/sys/dev/mii/ruephy.c stable/7/sys/dev/mii/tdkphy.c stable/7/sys/dev/mii/truephy.c stable/7/sys/dev/mii/ukphy.c stable/7/sys/dev/mii/xmphy.c Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/dev/dc/dcphy.c ============================================================================== --- stable/7/sys/dev/dc/dcphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/dc/dcphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -146,7 +146,7 @@ dcphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/7/sys/dev/dc/pnphy.c ============================================================================== --- stable/7/sys/dev/dc/pnphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/dc/pnphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -129,7 +129,7 @@ pnphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/7/sys/dev/mii/acphy.c ============================================================================== --- stable/7/sys/dev/mii/acphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/acphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -129,7 +129,7 @@ acphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/7/sys/dev/mii/amphy.c ============================================================================== --- stable/7/sys/dev/mii/amphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/amphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -106,7 +106,7 @@ amphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/7/sys/dev/mii/atphy.c ============================================================================== --- stable/7/sys/dev/mii/atphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/atphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -110,7 +110,7 @@ atphy_attach(device_t dev) sc = &asc->mii_sc; ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/7/sys/dev/mii/bmtphy.c ============================================================================== --- stable/7/sys/dev/mii/bmtphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/bmtphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -144,7 +144,7 @@ bmtphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/7/sys/dev/mii/brgphy.c ============================================================================== --- stable/7/sys/dev/mii/brgphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/brgphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -187,7 +187,7 @@ brgphy_attach(device_t dev) sc = &bsc->mii_sc; ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); /* Initialize mii_softc structure */ Modified: stable/7/sys/dev/mii/ciphy.c ============================================================================== --- stable/7/sys/dev/mii/ciphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/ciphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -113,7 +113,7 @@ ciphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/7/sys/dev/mii/e1000phy.c ============================================================================== --- stable/7/sys/dev/mii/e1000phy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/e1000phy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -140,7 +140,7 @@ e1000phy_attach(device_t dev) sc = &esc->mii_sc; ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/7/sys/dev/mii/exphy.c ============================================================================== --- stable/7/sys/dev/mii/exphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/exphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -135,7 +135,7 @@ exphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; /* * The 3Com PHY can never be isolated, so never allow non-zero Modified: stable/7/sys/dev/mii/gentbi.c ============================================================================== --- stable/7/sys/dev/mii/gentbi.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/gentbi.c Sun Oct 17 12:30:01 2010 (r213961) @@ -158,7 +158,7 @@ gentbi_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); if (bootverbose) Modified: stable/7/sys/dev/mii/icsphy.c ============================================================================== --- stable/7/sys/dev/mii/icsphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/icsphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -138,7 +138,7 @@ icsphy_attach(device_t dev) sc = &isc->mii_sc; ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/7/sys/dev/mii/inphy.c ============================================================================== --- stable/7/sys/dev/mii/inphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/inphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -104,7 +104,7 @@ inphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/7/sys/dev/mii/ip1000phy.c ============================================================================== --- stable/7/sys/dev/mii/ip1000phy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/ip1000phy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -111,7 +111,7 @@ ip1000phy_attach(device_t dev) sc = &isc->mii_sc; ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/7/sys/dev/mii/jmphy.c ============================================================================== --- stable/7/sys/dev/mii/jmphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/jmphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -109,7 +109,7 @@ jmphy_attach(device_t dev) sc = &jsc->mii_sc; ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/7/sys/dev/mii/lxtphy.c ============================================================================== --- stable/7/sys/dev/mii/lxtphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/lxtphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -132,7 +132,7 @@ lxtphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/7/sys/dev/mii/mii_physubr.c ============================================================================== --- stable/7/sys/dev/mii/mii_physubr.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/mii_physubr.c Sun Oct 17 12:30:01 2010 (r213961) @@ -326,10 +326,9 @@ mii_anar(int media) void mii_add_media(struct mii_softc *sc) { + struct mii_data *mii = sc->mii_pdata; const char *sep = ""; - struct mii_data *mii; - mii = device_get_softc(sc->mii_dev); if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0) { printf("no media present"); return; Modified: stable/7/sys/dev/mii/mlphy.c ============================================================================== --- stable/7/sys/dev/mii/mlphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/mlphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -143,7 +143,7 @@ mlphy_attach(dev) sc = &msc->ml_mii; ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/7/sys/dev/mii/nsgphy.c ============================================================================== --- stable/7/sys/dev/mii/nsgphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/nsgphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -126,7 +126,7 @@ nsgphy_attach(device_t dev) device_printf(dev, "\n", MII_REV(ma->mii_id2)); device_printf(dev, " "); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/7/sys/dev/mii/nsphy.c ============================================================================== --- stable/7/sys/dev/mii/nsphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/nsphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -130,7 +130,7 @@ nsphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/7/sys/dev/mii/nsphyter.c ============================================================================== --- stable/7/sys/dev/mii/nsphyter.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/nsphyter.c Sun Oct 17 12:30:01 2010 (r213961) @@ -135,7 +135,7 @@ nsphyter_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/7/sys/dev/mii/pnaphy.c ============================================================================== --- stable/7/sys/dev/mii/pnaphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/pnaphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -107,7 +107,7 @@ pnaphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/7/sys/dev/mii/qsphy.c ============================================================================== --- stable/7/sys/dev/mii/qsphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/qsphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -130,7 +130,7 @@ qsphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/7/sys/dev/mii/rgephy.c ============================================================================== --- stable/7/sys/dev/mii/rgephy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/rgephy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -119,7 +119,7 @@ rgephy_attach(device_t dev) sc = &rsc->mii_sc; ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/7/sys/dev/mii/rlphy.c ============================================================================== --- stable/7/sys/dev/mii/rlphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/rlphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -129,7 +129,7 @@ rlphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; /* * Check whether we're the RTL8201L PHY and remember so the status Modified: stable/7/sys/dev/mii/rlswitch.c ============================================================================== --- stable/7/sys/dev/mii/rlswitch.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/rlswitch.c Sun Oct 17 12:30:01 2010 (r213961) @@ -117,7 +117,7 @@ rlswitch_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; /* * We handle all pseudo PHY in a single instance, so never allow Modified: stable/7/sys/dev/mii/ruephy.c ============================================================================== --- stable/7/sys/dev/mii/ruephy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/ruephy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -108,7 +108,7 @@ ruephy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; /* * The RealTek PHY can never be isolated, so never allow non-zero Modified: stable/7/sys/dev/mii/tdkphy.c ============================================================================== --- stable/7/sys/dev/mii/tdkphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/tdkphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -108,7 +108,7 @@ tdkphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); if (bootverbose) Modified: stable/7/sys/dev/mii/truephy.c ============================================================================== --- stable/7/sys/dev/mii/truephy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/truephy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -149,7 +149,7 @@ truephy_attach(device_t dev) if (sc->mii_anegticks == 0) sc->mii_anegticks = MII_ANEGTICKS; sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; Modified: stable/7/sys/dev/mii/ukphy.c ============================================================================== --- stable/7/sys/dev/mii/ukphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/ukphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -122,7 +122,7 @@ ukphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); if (bootverbose) Modified: stable/7/sys/dev/mii/xmphy.c ============================================================================== --- stable/7/sys/dev/mii/xmphy.c Sun Oct 17 12:29:57 2010 (r213960) +++ stable/7/sys/dev/mii/xmphy.c Sun Oct 17 12:30:01 2010 (r213961) @@ -107,7 +107,7 @@ xmphy_attach(device_t dev) sc = device_get_softc(dev); ma = device_get_ivars(dev); sc->mii_dev = device_get_parent(dev); - mii = device_get_softc(sc->mii_dev); + mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); sc->mii_inst = mii->mii_instance; From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 12:33:16 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 322C1106564A; Sun, 17 Oct 2010 12:33:16 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1F4F98FC13; Sun, 17 Oct 2010 12:33:16 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HCXGdU030463; Sun, 17 Oct 2010 12:33:16 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HCXGp4030461; Sun, 17 Oct 2010 12:33:16 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171233.o9HCXGp4030461@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 12:33:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213962 - stable/8/sys/dev/mii X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 12:33:16 -0000 Author: marius Date: Sun Oct 17 12:33:15 2010 New Revision: 213962 URL: http://svn.freebsd.org/changeset/base/213962 Log: MFC: r213361 Try to adhere to style(9) and be consistent within this file. Modified: stable/8/sys/dev/mii/mii.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/dev/mii/mii.c ============================================================================== --- stable/8/sys/dev/mii/mii.c Sun Oct 17 12:30:01 2010 (r213961) +++ stable/8/sys/dev/mii/mii.c Sun Oct 17 12:33:15 2010 (r213962) @@ -128,7 +128,7 @@ miibus_probe(device_t dev) */ bmsr = MIIBUS_READREG(parent, ma.mii_phyno, MII_BMSR); if (bmsr == 0 || bmsr == 0xffff || - (bmsr & (BMSR_EXTSTAT|BMSR_MEDIAMASK)) == 0) { + (bmsr & (BMSR_EXTSTAT | BMSR_MEDIAMASK)) == 0) { /* Assume no PHY at this address. */ continue; } @@ -154,11 +154,11 @@ miibus_probe(device_t dev) } if (child == NULL) - return(ENXIO); + return (ENXIO); device_set_desc(dev, "MII bus"); - return(0); + return (0); } int @@ -180,7 +180,7 @@ miibus_attach(device_t dev) ivars->ifmedia_sts); bus_generic_attach(dev); - return(0); + return (0); } int @@ -193,7 +193,7 @@ miibus_detach(device_t dev) ifmedia_removeall(&mii->mii_media); mii->mii_ifp = NULL; - return(0); + return (0); } static int @@ -214,10 +214,12 @@ static int miibus_child_pnpinfo_str(device_t bus, device_t child, char *buf, size_t buflen) { - struct mii_attach_args *maa = device_get_ivars(child); + struct mii_attach_args *ma; + + ma = device_get_ivars(child); snprintf(buf, buflen, "oui=0x%x model=0x%x rev=0x%x", - MII_OUI(maa->mii_id1, maa->mii_id2), - MII_MODEL(maa->mii_id2), MII_REV(maa->mii_id2)); + MII_OUI(ma->mii_id1, ma->mii_id2), + MII_MODEL(ma->mii_id2), MII_REV(ma->mii_id2)); return (0); } @@ -225,8 +227,10 @@ static int miibus_child_location_str(device_t bus, device_t child, char *buf, size_t buflen) { - struct mii_attach_args *maa = device_get_ivars(child); - snprintf(buf, buflen, "phyno=%d", maa->mii_phyno); + struct mii_attach_args *ma; + + ma = device_get_ivars(child); + snprintf(buf, buflen, "phyno=%d", ma->mii_phyno); return (0); } @@ -236,7 +240,7 @@ miibus_readreg(device_t dev, int phy, in device_t parent; parent = device_get_parent(dev); - return(MIIBUS_READREG(parent, phy, reg)); + return (MIIBUS_READREG(parent, phy, reg)); } static int @@ -245,7 +249,7 @@ miibus_writereg(device_t dev, int phy, i device_t parent; parent = device_get_parent(dev); - return(MIIBUS_WRITEREG(parent, phy, reg, data)); + return (MIIBUS_WRITEREG(parent, phy, reg, data)); } static void @@ -266,7 +270,6 @@ miibus_statchg(device_t dev) */ ifp = *(struct ifnet **)device_get_softc(parent); ifp->if_baudrate = ifmedia_baudrate(mii->mii_media_active); - return; } static void @@ -308,13 +311,11 @@ miibus_mediainit(device_t dev) mii = device_get_softc(dev); LIST_FOREACH(m, &mii->mii_media.ifm_list, ifm_list) { media = m->ifm_media; - if (media == (IFM_ETHER|IFM_AUTO)) + if (media == (IFM_ETHER | IFM_AUTO)) break; } ifmedia_set(&mii->mii_media, media); - - return; } int @@ -335,7 +336,7 @@ mii_phy_probe(device_t dev, device_t *ch for (i = 0; i < MII_NPHY; i++) { bmsr = MIIBUS_READREG(dev, i, MII_BMSR); if (bmsr == 0 || bmsr == 0xffff || - (bmsr & (BMSR_EXTSTAT|BMSR_MEDIAMASK)) == 0) { + (bmsr & (BMSR_EXTSTAT | BMSR_MEDIAMASK)) == 0) { /* Assume no PHY at this address. */ continue; } else @@ -345,12 +346,12 @@ mii_phy_probe(device_t dev, device_t *ch if (i == MII_NPHY) { device_delete_child(dev, *child); *child = NULL; - return(ENXIO); + return (ENXIO); } bus_generic_attach(dev); - return(0); + return (0); } /* @@ -382,7 +383,7 @@ mii_tick(struct mii_data *mii) struct mii_softc *child; LIST_FOREACH(child, &mii->mii_phys, mii_list) - (void) (*child->mii_service)(child, mii, MII_TICK); + (void)(*child->mii_service)(child, mii, MII_TICK); } /* @@ -397,7 +398,7 @@ mii_pollstat(struct mii_data *mii) mii->mii_media_active = IFM_NONE; LIST_FOREACH(child, &mii->mii_phys, mii_list) - (void) (*child->mii_service)(child, mii, MII_POLLSTAT); + (void)(*child->mii_service)(child, mii, MII_POLLSTAT); } /* From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 12:33:16 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4D4401065673; Sun, 17 Oct 2010 12:33:16 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3A2758FC19; Sun, 17 Oct 2010 12:33:16 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HCXGIv030469; Sun, 17 Oct 2010 12:33:16 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HCXGid030465; Sun, 17 Oct 2010 12:33:16 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171233.o9HCXGid030465@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 12:33:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213963 - stable/7/sys/dev/mii X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 12:33:16 -0000 Author: marius Date: Sun Oct 17 12:33:15 2010 New Revision: 213963 URL: http://svn.freebsd.org/changeset/base/213963 Log: MFC: r213361 Try to adhere to style(9) and be consistent within this file. Modified: stable/7/sys/dev/mii/mii.c Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/dev/mii/mii.c ============================================================================== --- stable/7/sys/dev/mii/mii.c Sun Oct 17 12:33:15 2010 (r213962) +++ stable/7/sys/dev/mii/mii.c Sun Oct 17 12:33:15 2010 (r213963) @@ -128,7 +128,7 @@ miibus_probe(device_t dev) */ bmsr = MIIBUS_READREG(parent, ma.mii_phyno, MII_BMSR); if (bmsr == 0 || bmsr == 0xffff || - (bmsr & (BMSR_EXTSTAT|BMSR_MEDIAMASK)) == 0) { + (bmsr & (BMSR_EXTSTAT | BMSR_MEDIAMASK)) == 0) { /* Assume no PHY at this address. */ continue; } @@ -154,11 +154,11 @@ miibus_probe(device_t dev) } if (child == NULL) - return(ENXIO); + return (ENXIO); device_set_desc(dev, "MII bus"); - return(0); + return (0); } int @@ -178,7 +178,7 @@ miibus_attach(device_t dev) ivars->ifmedia_sts); bus_generic_attach(dev); - return(0); + return (0); } int @@ -191,7 +191,7 @@ miibus_detach(device_t dev) ifmedia_removeall(&mii->mii_media); mii->mii_ifp = NULL; - return(0); + return (0); } static int @@ -212,10 +212,12 @@ static int miibus_child_pnpinfo_str(device_t bus, device_t child, char *buf, size_t buflen) { - struct mii_attach_args *maa = device_get_ivars(child); + struct mii_attach_args *ma; + + ma = device_get_ivars(child); snprintf(buf, buflen, "oui=0x%x model=0x%x rev=0x%x", - MII_OUI(maa->mii_id1, maa->mii_id2), - MII_MODEL(maa->mii_id2), MII_REV(maa->mii_id2)); + MII_OUI(ma->mii_id1, ma->mii_id2), + MII_MODEL(ma->mii_id2), MII_REV(ma->mii_id2)); return (0); } @@ -223,8 +225,10 @@ static int miibus_child_location_str(device_t bus, device_t child, char *buf, size_t buflen) { - struct mii_attach_args *maa = device_get_ivars(child); - snprintf(buf, buflen, "phyno=%d", maa->mii_phyno); + struct mii_attach_args *ma; + + ma = device_get_ivars(child); + snprintf(buf, buflen, "phyno=%d", ma->mii_phyno); return (0); } @@ -234,7 +238,7 @@ miibus_readreg(device_t dev, int phy, in device_t parent; parent = device_get_parent(dev); - return(MIIBUS_READREG(parent, phy, reg)); + return (MIIBUS_READREG(parent, phy, reg)); } static int @@ -243,7 +247,7 @@ miibus_writereg(device_t dev, int phy, i device_t parent; parent = device_get_parent(dev); - return(MIIBUS_WRITEREG(parent, phy, reg, data)); + return (MIIBUS_WRITEREG(parent, phy, reg, data)); } static void @@ -264,7 +268,6 @@ miibus_statchg(device_t dev) */ ifp = *(struct ifnet **)device_get_softc(parent); ifp->if_baudrate = ifmedia_baudrate(mii->mii_media_active); - return; } static void @@ -306,13 +309,11 @@ miibus_mediainit(device_t dev) mii = device_get_softc(dev); LIST_FOREACH(m, &mii->mii_media.ifm_list, ifm_list) { media = m->ifm_media; - if (media == (IFM_ETHER|IFM_AUTO)) + if (media == (IFM_ETHER | IFM_AUTO)) break; } ifmedia_set(&mii->mii_media, media); - - return; } int @@ -333,7 +334,7 @@ mii_phy_probe(device_t dev, device_t *ch for (i = 0; i < MII_NPHY; i++) { bmsr = MIIBUS_READREG(dev, i, MII_BMSR); if (bmsr == 0 || bmsr == 0xffff || - (bmsr & (BMSR_EXTSTAT|BMSR_MEDIAMASK)) == 0) { + (bmsr & (BMSR_EXTSTAT | BMSR_MEDIAMASK)) == 0) { /* Assume no PHY at this address. */ continue; } else @@ -343,12 +344,12 @@ mii_phy_probe(device_t dev, device_t *ch if (i == MII_NPHY) { device_delete_child(dev, *child); *child = NULL; - return(ENXIO); + return (ENXIO); } bus_generic_attach(dev); - return(0); + return (0); } /* @@ -380,7 +381,7 @@ mii_tick(struct mii_data *mii) struct mii_softc *child; LIST_FOREACH(child, &mii->mii_phys, mii_list) - (void) (*child->mii_service)(child, mii, MII_TICK); + (void)(*child->mii_service)(child, mii, MII_TICK); } /* @@ -395,7 +396,7 @@ mii_pollstat(struct mii_data *mii) mii->mii_media_active = IFM_NONE; LIST_FOREACH(child, &mii->mii_phys, mii_list) - (void) (*child->mii_service)(child, mii, MII_POLLSTAT); + (void)(*child->mii_service)(child, mii, MII_POLLSTAT); } /* From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 12:34:20 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 628C11065697; Sun, 17 Oct 2010 12:34:20 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 503FF8FC27; Sun, 17 Oct 2010 12:34:20 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HCYKp7030547; Sun, 17 Oct 2010 12:34:20 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HCYKn9030545; Sun, 17 Oct 2010 12:34:20 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171234.o9HCYKn9030545@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 12:34:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213964 - stable/7/sys/dev/mii X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 12:34:20 -0000 Author: marius Date: Sun Oct 17 12:34:20 2010 New Revision: 213964 URL: http://svn.freebsd.org/changeset/base/213964 Log: MFC: r175703 Fix a typo in a comment. Modified: stable/7/sys/dev/mii/amphy.c Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/dev/mii/amphy.c ============================================================================== --- stable/7/sys/dev/mii/amphy.c Sun Oct 17 12:33:15 2010 (r213963) +++ stable/7/sys/dev/mii/amphy.c Sun Oct 17 12:34:20 2010 (r213964) @@ -216,7 +216,7 @@ amphy_status(struct mii_softc *sc) if (bmcr & BMCR_AUTOEN) { /* - * The PAR status bits are only valid of autonegotiation + * The PAR status bits are only valid if autonegotiation * has completed (or it's disabled). */ if ((bmsr & BMSR_ACOMP) == 0) { From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 12:43:16 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 012A8106564A; Sun, 17 Oct 2010 12:43:16 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C86818FC1E; Sun, 17 Oct 2010 12:43:15 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HChFQv030830; Sun, 17 Oct 2010 12:43:15 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HChFee030827; Sun, 17 Oct 2010 12:43:15 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171243.o9HChFee030827@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 12:43:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213965 - stable/7/sys/dev/mii X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 12:43:16 -0000 Author: marius Date: Sun Oct 17 12:43:15 2010 New Revision: 213965 URL: http://svn.freebsd.org/changeset/base/213965 Log: MFC: r176773, r178598 Recognize Cicada CS8204 and CS8244 PHYs. Modified: stable/7/sys/dev/mii/ciphy.c stable/7/sys/dev/mii/miidevs Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/dev/mii/ciphy.c ============================================================================== --- stable/7/sys/dev/mii/ciphy.c Sun Oct 17 12:34:20 2010 (r213964) +++ stable/7/sys/dev/mii/ciphy.c Sun Oct 17 12:43:15 2010 (r213965) @@ -34,7 +34,7 @@ __FBSDID("$FreeBSD$"); /* - * Driver for the Cicada CS8201 10/100/1000 copper PHY. + * Driver for the Cicada/Vitesse CS/VSC8xxx 10/100/1000 copper PHY. */ #include @@ -92,6 +92,8 @@ static const struct mii_phydesc ciphys[] MII_PHY_DESC(CICADA, CS8201A), MII_PHY_DESC(CICADA, CS8201B), MII_PHY_DESC(CICADA, VSC8211), + MII_PHY_DESC(CICADA, CS8204), + MII_PHY_DESC(CICADA, CS8244), MII_PHY_DESC(VITESSE, VSC8601), MII_PHY_END }; @@ -384,6 +386,7 @@ ciphy_fixup(struct mii_softc *sc) } switch (model) { + case MII_MODEL_CICADA_CS8204: case MII_MODEL_CICADA_CS8201: /* Turn off "aux mode" (whatever that means) */ @@ -421,6 +424,7 @@ ciphy_fixup(struct mii_softc *sc) break; case MII_MODEL_CICADA_VSC8211: + case MII_MODEL_CICADA_CS8244: case MII_MODEL_VITESSE_VSC8601: break; default: Modified: stable/7/sys/dev/mii/miidevs ============================================================================== --- stable/7/sys/dev/mii/miidevs Sun Oct 17 12:34:20 2010 (r213964) +++ stable/7/sys/dev/mii/miidevs Sun Oct 17 12:43:15 2010 (r213965) @@ -152,9 +152,11 @@ model BROADCOM2 BCM5906 0x0004 BCM5906 /* Cicada Semiconductor PHYs (now owned by Vitesse?) */ model CICADA CS8201 0x0001 Cicada CS8201 10/100/1000TX PHY +model CICADA CS8204 0x0004 Cicada CS8204 10/100/1000TX PHY model CICADA VSC8211 0x000b Cicada VSC8211 10/100/1000TX PHY model CICADA CS8201A 0x0020 Cicada CS8201 10/100/1000TX PHY model CICADA CS8201B 0x0021 Cicada CS8201 10/100/1000TX PHY +model CICADA CS8244 0x002c Cicada CS8244 10/100/1000TX PHY model VITESSE VSC8601 0x0002 Vitesse VSC8601 10/100/1000TX PHY /* Davicom Semiconductor PHYs */ From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 12:47:08 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 428AE106564A; Sun, 17 Oct 2010 12:47:08 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2FDB68FC1B; Sun, 17 Oct 2010 12:47:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HCl89w030993; Sun, 17 Oct 2010 12:47:08 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HCl8nr030990; Sun, 17 Oct 2010 12:47:08 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171247.o9HCl8nr030990@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 12:47:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213966 - stable/7/sys/dev/mii X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 12:47:08 -0000 Author: marius Date: Sun Oct 17 12:47:07 2010 New Revision: 213966 URL: http://svn.freebsd.org/changeset/base/213966 Log: MFC: r182751 Recognize 88E1116R phy variation. This part is found on some embedded devices. Obtained from: Semihalf Modified: stable/7/sys/dev/mii/e1000phy.c stable/7/sys/dev/mii/miidevs Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/dev/mii/e1000phy.c ============================================================================== --- stable/7/sys/dev/mii/e1000phy.c Sun Oct 17 12:43:15 2010 (r213965) +++ stable/7/sys/dev/mii/e1000phy.c Sun Oct 17 12:47:07 2010 (r213966) @@ -109,6 +109,7 @@ static const struct mii_phydesc e1000phy MII_PHY_DESC(MARVELL, E1149), MII_PHY_DESC(MARVELL, E1111), MII_PHY_DESC(MARVELL, E1116), + MII_PHY_DESC(MARVELL, E1116R), MII_PHY_DESC(MARVELL, E1118), MII_PHY_DESC(MARVELL, E3016), MII_PHY_DESC(MARVELL, PHYG65G), Modified: stable/7/sys/dev/mii/miidevs ============================================================================== --- stable/7/sys/dev/mii/miidevs Sun Oct 17 12:43:15 2010 (r213965) +++ stable/7/sys/dev/mii/miidevs Sun Oct 17 12:47:07 2010 (r213966) @@ -237,6 +237,7 @@ model MARVELL E1112 0x0009 Marvell 88E1 model MARVELL E1149 0x000b Marvell 88E1149 Gigabit PHY model MARVELL E1111 0x000c Marvell 88E1111 Gigabit PHY model MARVELL E1116 0x0021 Marvell 88E1116 Gigabit PHY +model MARVELL E1116R 0x0024 Marvell 88E1116R Gigabit PHY model MARVELL E1118 0x0022 Marvell 88E1118 Gigabit PHY model MARVELL E3016 0x0026 Marvell 88E3016 10/100 Fast Ethernet PHY model MARVELL PHYG65G 0x0027 Marvell PHYG65G Gigabit PHY From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 13:06:18 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BE39D1065679; Sun, 17 Oct 2010 13:06:18 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9133E8FC15; Sun, 17 Oct 2010 13:06:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HD6Iwf031573; Sun, 17 Oct 2010 13:06:18 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HD6I6Y031570; Sun, 17 Oct 2010 13:06:18 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171306.o9HD6I6Y031570@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 13:06:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213967 - stable/7/sys/dev/mii X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 13:06:18 -0000 Author: marius Date: Sun Oct 17 13:06:18 2010 New Revision: 213967 URL: http://svn.freebsd.org/changeset/base/213967 Log: r182037, r182038, r182064 When there's an error, we don't want to free the children, since it will be stack garbage. Modified: stable/7/sys/dev/mii/mlphy.c stable/7/sys/dev/mii/tlphy.c Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/dev/mii/mlphy.c ============================================================================== --- stable/7/sys/dev/mii/mlphy.c Sun Oct 17 12:47:07 2010 (r213966) +++ stable/7/sys/dev/mii/mlphy.c Sun Oct 17 13:06:18 2010 (r213967) @@ -194,14 +194,15 @@ mlphy_service(xsc, mii, cmd) * See if there's another PHY on this bus with us. * If so, we may need it for 10Mbps modes. */ - device_get_children(msc->ml_mii.mii_dev, &devlist, &devs); - for (i = 0; i < devs; i++) { - if (strcmp(device_get_name(devlist[i]), "mlphy")) { - other = device_get_softc(devlist[i]); - break; + if (device_get_children(msc->ml_mii.mii_dev, &devlist, &devs) == 0) { + for (i = 0; i < devs; i++) { + if (strcmp(device_get_name(devlist[i]), "mlphy")) { + other = device_get_softc(devlist[i]); + break; + } } + free(devlist, M_TEMP); } - free(devlist, M_TEMP); switch (cmd) { case MII_POLLSTAT: @@ -400,6 +401,7 @@ mlphy_status(sc) int devs, i; /* See if there's another PHY on the bus with us. */ + devs = 0; device_get_children(msc->ml_mii.mii_dev, &devlist, &devs); for (i = 0; i < devs; i++) { if (strcmp(device_get_name(devlist[i]), "mlphy")) { Modified: stable/7/sys/dev/mii/tlphy.c ============================================================================== --- stable/7/sys/dev/mii/tlphy.c Sun Oct 17 12:47:07 2010 (r213966) +++ stable/7/sys/dev/mii/tlphy.c Sun Oct 17 13:06:18 2010 (r213967) @@ -150,8 +150,8 @@ tlphy_attach(device_t dev) sc->sc_mii.mii_pdata = mii; capmask = 0xFFFFFFFF; - if (mii->mii_instance) { - device_get_children(sc->sc_mii.mii_dev, &devlist, &devs); + if (mii->mii_instance && + device_get_children(sc->sc_mii.mii_dev, &devlist, &devs) == 0) { for (i = 0; i < devs; i++) { if (strcmp(device_get_name(devlist[i]), "tlphy")) { other = device_get_softc(devlist[i]); From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 13:07:35 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 860E5106564A; Sun, 17 Oct 2010 13:07:35 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5918C8FC17; Sun, 17 Oct 2010 13:07:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HD7ZMq031653; Sun, 17 Oct 2010 13:07:35 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HD7ZnI031651; Sun, 17 Oct 2010 13:07:35 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171307.o9HD7ZnI031651@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 13:07:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213968 - stable/7/sys/dev/mii X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 13:07:35 -0000 Author: marius Date: Sun Oct 17 13:07:35 2010 New Revision: 213968 URL: http://svn.freebsd.org/changeset/base/213968 Log: MFC: r182067 Move the code that looks for the companion phy to a subroutine to make sure we get the error handling right in both places. This also simplifies the code somewhat. Modified: stable/7/sys/dev/mii/mlphy.c Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/dev/mii/mlphy.c ============================================================================== --- stable/7/sys/dev/mii/mlphy.c Sun Oct 17 13:06:18 2010 (r213967) +++ stable/7/sys/dev/mii/mlphy.c Sun Oct 17 13:07:35 2010 (r213968) @@ -177,6 +177,25 @@ mlphy_attach(dev) return (0); } +static struct mii_softc * +mlphy_find_other(device_t mii) +{ + device_t *devlist; + struct mii_softc *retval; + int i, devs; + + retval = NULL; + if (device_get_children(mii, &devlist, &devs)) + return (NULL); + for (i = 0; i < devs; i++) + if (strcmp(device_get_name(devlist[i]), "mlphy")) { + retval = device_get_softc(devlist[i]); + break; + } + free(devlist, M_TEMP); + return (retval); +} + static int mlphy_service(xsc, mii, cmd) struct mii_softc *xsc; @@ -187,22 +206,13 @@ mlphy_service(xsc, mii, cmd) struct mii_softc *other = NULL; struct mlphy_softc *msc = (struct mlphy_softc *)xsc; struct mii_softc *sc = (struct mii_softc *)&msc->ml_mii; - device_t *devlist; - int devs, i, other_inst, reg; + int other_inst, reg; /* * See if there's another PHY on this bus with us. * If so, we may need it for 10Mbps modes. */ - if (device_get_children(msc->ml_mii.mii_dev, &devlist, &devs) == 0) { - for (i = 0; i < devs; i++) { - if (strcmp(device_get_name(devlist[i]), "mlphy")) { - other = device_get_softc(devlist[i]); - break; - } - } - free(devlist, M_TEMP); - } + other = mlphy_find_other(msc->ml_mii.mii_dev); switch (cmd) { case MII_POLLSTAT: @@ -397,20 +407,9 @@ mlphy_status(sc) struct mlphy_softc *msc = (struct mlphy_softc *)sc; struct mii_data *mii = msc->ml_mii.mii_pdata; struct mii_softc *other = NULL; - device_t *devlist; - int devs, i; /* See if there's another PHY on the bus with us. */ - devs = 0; - device_get_children(msc->ml_mii.mii_dev, &devlist, &devs); - for (i = 0; i < devs; i++) { - if (strcmp(device_get_name(devlist[i]), "mlphy")) { - other = device_get_softc(devlist[i]); - break; - } - } - free(devlist, M_TEMP); - + other = mlphy_find_other(msc->ml_mii.mii_dev); if (other == NULL) return; From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 13:10:22 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F07DC106566B; Sun, 17 Oct 2010 13:10:22 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DE2088FC0C; Sun, 17 Oct 2010 13:10:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HDAMrK031776; Sun, 17 Oct 2010 13:10:22 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HDAMsL031774; Sun, 17 Oct 2010 13:10:22 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171310.o9HDAMsL031774@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 13:10:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213969 - stable/7/sys/dev/mii X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 13:10:23 -0000 Author: marius Date: Sun Oct 17 13:10:22 2010 New Revision: 213969 URL: http://svn.freebsd.org/changeset/base/213969 Log: MFC: r173164 Setting sc->mii_anegticks to MII_ANEGTICKS_GIGE in rgephy_attach() is redundant. mii_phy_add_media() already takes care of that. Pointed out by: marius Modified: stable/7/sys/dev/mii/rgephy.c Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/dev/mii/rgephy.c ============================================================================== --- stable/7/sys/dev/mii/rgephy.c Sun Oct 17 13:07:35 2010 (r213968) +++ stable/7/sys/dev/mii/rgephy.c Sun Oct 17 13:10:22 2010 (r213969) @@ -126,7 +126,6 @@ rgephy_attach(device_t dev) sc->mii_phy = ma->mii_phyno; sc->mii_service = rgephy_service; sc->mii_pdata = mii; - sc->mii_anegticks = MII_ANEGTICKS_GIGE; mii->mii_instance++; From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 13:11:46 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EE6741065693; Sun, 17 Oct 2010 13:11:46 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DB9478FC1A; Sun, 17 Oct 2010 13:11:46 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HDBkra031882; Sun, 17 Oct 2010 13:11:46 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HDBkO0031880; Sun, 17 Oct 2010 13:11:46 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171311.o9HDBkO0031880@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 13:11:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213970 - stable/7/sys/dev/mii X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 13:11:47 -0000 Author: marius Date: Sun Oct 17 13:11:46 2010 New Revision: 213970 URL: http://svn.freebsd.org/changeset/base/213970 Log: MFC: r185421 Renamed the FRAMELEN macro to TRUEPHY_FRAMELEN as for powerpc it seems to be possible to collide with FRAMELEN from machine/frame.h. Found by: zec Modified: stable/7/sys/dev/mii/truephy.c Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/dev/mii/truephy.c ============================================================================== --- stable/7/sys/dev/mii/truephy.c Sun Oct 17 13:10:22 2010 (r213969) +++ stable/7/sys/dev/mii/truephy.c Sun Oct 17 13:11:46 2010 (r213970) @@ -57,7 +57,8 @@ #include "miibus_if.h" -#define FRAMELEN(mtu) (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN + (mtu) + ETHER_CRC_LEN) +#define TRUEPHY_FRAMELEN(mtu) \ + (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN + (mtu) + ETHER_CRC_LEN) static int truephy_service(struct mii_softc *, struct mii_data *, int); static int truephy_attach(device_t); @@ -302,7 +303,7 @@ truephy_reset(struct mii_softc *sc) mii_phy_reset(sc); - if (FRAMELEN(sc->mii_pdata->mii_ifp->if_mtu) > 2048) { + if (TRUEPHY_FRAMELEN(sc->mii_pdata->mii_ifp->if_mtu) > 2048) { int conf; conf = PHY_READ(sc, TRUEPHY_CONF); From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 13:13:13 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2AE9C106564A; Sun, 17 Oct 2010 13:13:13 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 17CF78FC1D; Sun, 17 Oct 2010 13:13:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HDDCmj032003; Sun, 17 Oct 2010 13:13:12 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HDDC06032001; Sun, 17 Oct 2010 13:13:12 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171313.o9HDDC06032001@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 13:13:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213971 - stable/7/sys/sun4v/include X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 13:13:13 -0000 Author: marius Date: Sun Oct 17 13:13:12 2010 New Revision: 213971 URL: http://svn.freebsd.org/changeset/base/213971 Log: MFC: r213575 Just use the sparc64 version of this header rather than duplicating it. Modified: stable/7/sys/sun4v/include/endian.h Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/sun4v/include/endian.h ============================================================================== --- stable/7/sys/sun4v/include/endian.h Sun Oct 17 13:11:46 2010 (r213970) +++ stable/7/sys/sun4v/include/endian.h Sun Oct 17 13:13:12 2010 (r213971) @@ -1,122 +1,7 @@ /*- - * Copyright (c) 1987, 1991, 1993 - * The Regents of the University of California. All rights reserved. + * This file is in the public domain. * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)endian.h 8.1 (Berkeley) 6/10/93 * $FreeBSD$ */ -#ifndef _MACHINE_ENDIAN_H_ -#define _MACHINE_ENDIAN_H_ - -#include -#include - -/* - * Define the order of 32-bit words in 64-bit words. - */ -#define _QUAD_HIGHWORD 0 -#define _QUAD_LOWWORD 1 - -/* - * Definitions for byte order, according to byte significance from low - * address to high. - */ -#define _LITTLE_ENDIAN 1234 /* LSB first: i386, vax */ -#define _BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */ -#define _PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */ - -#define _BYTE_ORDER _BIG_ENDIAN - -/* - * Deprecated variants that don't have enough underscores to be useful in more - * strict namespaces. - */ -#if __BSD_VISIBLE -#define LITTLE_ENDIAN _LITTLE_ENDIAN -#define BIG_ENDIAN _BIG_ENDIAN -#define PDP_ENDIAN _PDP_ENDIAN -#define BYTE_ORDER _BYTE_ORDER -#endif - -#if defined(__GNUCLIKE_BUILTIN_CONSTANT_P) && defined(__OPTIMIZE__) -#define __is_constant(x) __builtin_constant_p(x) -#else -#define __is_constant(x) 0 -#endif - -#define __bswap16_const(x) ((((x) >> 8) & 0xff) | \ - (((x) << 8) & 0xff00)) -#define __bswap32_const(x) ((((x) >> 24) & 0xff) | \ - (((x) >> 8) & 0xff00) | (((x) << 8) & 0xff0000) | \ - (((x) << 24) & 0xff000000)) -#define __bswap64_const(x) ((((x) >> 56) & 0xff) | \ - (((x) >> 40) & 0xff00) | (((x) >> 24) & 0xff0000) | \ - (((x) >> 8) & 0xff000000) | \ - (((x) << 8) & ((__uint64_t)0xff << 32)) | \ - (((x) << 24) & ((__uint64_t)0xff << 40)) | \ - (((x) << 40) & ((__uint64_t)0xff << 48)) | \ - (((x) << 56) & ((__uint64_t)0xff << 56))) - -static __inline __uint16_t -__bswap16_var(__uint16_t _x) -{ - - return ((_x >> 8) | ((_x << 8) & 0xff00)); -} - -static __inline __uint32_t -__bswap32_var(__uint32_t _x) -{ - - return ((_x >> 24) | ((_x >> 8) & 0xff00) | ((_x << 8) & 0xff0000) | - ((_x << 24) & 0xff000000)); -} - -static __inline __uint64_t -__bswap64_var(__uint64_t _x) -{ - - return ((_x >> 56) | ((_x >> 40) & 0xff00) | ((_x >> 24) & 0xff0000) | - ((_x >> 8) & 0xff000000) | ((_x << 8) & ((__uint64_t)0xff << 32)) | - ((_x << 24) & ((__uint64_t)0xff << 40)) | - ((_x << 40) & ((__uint64_t)0xff << 48)) | ((_x << 56))); -} - -#define __bswap16(x) (__is_constant(x) ? __bswap16_const(x) : \ - __bswap16_var(x)) -#define __bswap32(x) (__is_constant(x) ? __bswap32_const(x) : \ - __bswap32_var(x)) -#define __bswap64(x) (__is_constant(x) ? __bswap64_const(x) : \ - __bswap64_var(x)) - -#define __htonl(x) ((__uint32_t)(x)) -#define __htons(x) ((__uint16_t)(x)) -#define __ntohl(x) ((__uint32_t)(x)) -#define __ntohs(x) ((__uint16_t)(x)) - -#endif /* !_MACHINE_ENDIAN_H_ */ +#include From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 13:13:13 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5D2F6106566B; Sun, 17 Oct 2010 13:13:13 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4A2668FC1E; Sun, 17 Oct 2010 13:13:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HDDD2T032017; Sun, 17 Oct 2010 13:13:13 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HDDDnE032015; Sun, 17 Oct 2010 13:13:13 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171313.o9HDDDnE032015@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 13:13:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213972 - stable/8/sys/sun4v/include X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 13:13:13 -0000 Author: marius Date: Sun Oct 17 13:13:13 2010 New Revision: 213972 URL: http://svn.freebsd.org/changeset/base/213972 Log: MFC: r213575 Just use the sparc64 version of this header rather than duplicating it. Modified: stable/8/sys/sun4v/include/endian.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/sun4v/include/endian.h ============================================================================== --- stable/8/sys/sun4v/include/endian.h Sun Oct 17 13:13:12 2010 (r213971) +++ stable/8/sys/sun4v/include/endian.h Sun Oct 17 13:13:13 2010 (r213972) @@ -1,122 +1,7 @@ /*- - * Copyright (c) 1987, 1991, 1993 - * The Regents of the University of California. All rights reserved. + * This file is in the public domain. * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)endian.h 8.1 (Berkeley) 6/10/93 * $FreeBSD$ */ -#ifndef _MACHINE_ENDIAN_H_ -#define _MACHINE_ENDIAN_H_ - -#include -#include - -/* - * Define the order of 32-bit words in 64-bit words. - */ -#define _QUAD_HIGHWORD 0 -#define _QUAD_LOWWORD 1 - -/* - * Definitions for byte order, according to byte significance from low - * address to high. - */ -#define _LITTLE_ENDIAN 1234 /* LSB first: i386, vax */ -#define _BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */ -#define _PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */ - -#define _BYTE_ORDER _BIG_ENDIAN - -/* - * Deprecated variants that don't have enough underscores to be useful in more - * strict namespaces. - */ -#if __BSD_VISIBLE -#define LITTLE_ENDIAN _LITTLE_ENDIAN -#define BIG_ENDIAN _BIG_ENDIAN -#define PDP_ENDIAN _PDP_ENDIAN -#define BYTE_ORDER _BYTE_ORDER -#endif - -#if defined(__GNUCLIKE_BUILTIN_CONSTANT_P) && defined(__OPTIMIZE__) -#define __is_constant(x) __builtin_constant_p(x) -#else -#define __is_constant(x) 0 -#endif - -#define __bswap16_const(x) ((((x) >> 8) & 0xff) | \ - (((x) << 8) & 0xff00)) -#define __bswap32_const(x) ((((x) >> 24) & 0xff) | \ - (((x) >> 8) & 0xff00) | (((x) << 8) & 0xff0000) | \ - (((x) << 24) & 0xff000000)) -#define __bswap64_const(x) ((((x) >> 56) & 0xff) | \ - (((x) >> 40) & 0xff00) | (((x) >> 24) & 0xff0000) | \ - (((x) >> 8) & 0xff000000) | \ - (((x) << 8) & ((__uint64_t)0xff << 32)) | \ - (((x) << 24) & ((__uint64_t)0xff << 40)) | \ - (((x) << 40) & ((__uint64_t)0xff << 48)) | \ - (((x) << 56) & ((__uint64_t)0xff << 56))) - -static __inline __uint16_t -__bswap16_var(__uint16_t _x) -{ - - return ((_x >> 8) | ((_x << 8) & 0xff00)); -} - -static __inline __uint32_t -__bswap32_var(__uint32_t _x) -{ - - return ((_x >> 24) | ((_x >> 8) & 0xff00) | ((_x << 8) & 0xff0000) | - ((_x << 24) & 0xff000000)); -} - -static __inline __uint64_t -__bswap64_var(__uint64_t _x) -{ - - return ((_x >> 56) | ((_x >> 40) & 0xff00) | ((_x >> 24) & 0xff0000) | - ((_x >> 8) & 0xff000000) | ((_x << 8) & ((__uint64_t)0xff << 32)) | - ((_x << 24) & ((__uint64_t)0xff << 40)) | - ((_x << 40) & ((__uint64_t)0xff << 48)) | ((_x << 56))); -} - -#define __bswap16(x) (__is_constant(x) ? __bswap16_const(x) : \ - __bswap16_var(x)) -#define __bswap32(x) (__is_constant(x) ? __bswap32_const(x) : \ - __bswap32_var(x)) -#define __bswap64(x) (__is_constant(x) ? __bswap64_const(x) : \ - __bswap64_var(x)) - -#define __htonl(x) ((__uint32_t)(x)) -#define __htons(x) ((__uint16_t)(x)) -#define __ntohl(x) ((__uint32_t)(x)) -#define __ntohs(x) ((__uint16_t)(x)) - -#endif /* !_MACHINE_ENDIAN_H_ */ +#include From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 13:41:09 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8E5D41065673; Sun, 17 Oct 2010 13:41:09 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 613D18FC0A; Sun, 17 Oct 2010 13:41:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HDf9mp032839; Sun, 17 Oct 2010 13:41:09 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HDf9q0032837; Sun, 17 Oct 2010 13:41:09 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171341.o9HDf9q0032837@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 13:41:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213973 - stable/8/sys/sparc64/include X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 13:41:09 -0000 Author: marius Date: Sun Oct 17 13:41:09 2010 New Revision: 213973 URL: http://svn.freebsd.org/changeset/base/213973 Log: MFC: r213578 In the replacement text of the __bswapN_const() macros cast the argument to the expected type so they work like the corresponding __bswapN_var() functions and the compiler doesn't complain when arguments of different width are passed. Modified: stable/8/sys/sparc64/include/endian.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/sparc64/include/endian.h ============================================================================== --- stable/8/sys/sparc64/include/endian.h Sun Oct 17 13:13:13 2010 (r213972) +++ stable/8/sys/sparc64/include/endian.h Sun Oct 17 13:41:09 2010 (r213973) @@ -69,18 +69,20 @@ #define __is_constant(x) 0 #endif -#define __bswap16_const(x) ((((x) >> 8) & 0xff) | \ - (((x) << 8) & 0xff00)) -#define __bswap32_const(x) ((((x) >> 24) & 0xff) | \ - (((x) >> 8) & 0xff00) | (((x) << 8) & 0xff0000) | \ - (((x) << 24) & 0xff000000)) -#define __bswap64_const(x) ((((x) >> 56) & 0xff) | \ - (((x) >> 40) & 0xff00) | (((x) >> 24) & 0xff0000) | \ - (((x) >> 8) & 0xff000000) | \ - (((x) << 8) & ((__uint64_t)0xff << 32)) | \ - (((x) << 24) & ((__uint64_t)0xff << 40)) | \ - (((x) << 40) & ((__uint64_t)0xff << 48)) | \ - (((x) << 56) & ((__uint64_t)0xff << 56))) +#define __bswap16_const(x) ((((__uint16_t)(x) >> 8) & 0xff) | \ + (((__uint16_t)(x) << 8) & 0xff00)) +#define __bswap32_const(x) ((((__uint32_t)(x) >> 24) & 0xff) | \ + (((__uint32_t)(x) >> 8) & 0xff00) | \ + (((__uint32_t)(x)<< 8) & 0xff0000) | \ + (((__uint32_t)(x) << 24) & 0xff000000)) +#define __bswap64_const(x) ((((__uint64_t)(x) >> 56) & 0xff) | \ + (((__uint64_t)(x) >> 40) & 0xff00) | \ + (((__uint64_t)(x) >> 24) & 0xff0000) | \ + (((__uint64_t)(x) >> 8) & 0xff000000) | \ + (((__uint64_t)(x) << 8) & ((__uint64_t)0xff << 32)) | \ + (((__uint64_t)(x) << 24) & ((__uint64_t)0xff << 40)) | \ + (((__uint64_t)(x) << 40) & ((__uint64_t)0xff << 48)) | \ + (((__uint64_t)(x) << 56) & ((__uint64_t)0xff << 56))) static __inline __uint16_t __bswap16_var(__uint16_t _x) From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 13:41:13 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3F104106578E; Sun, 17 Oct 2010 13:41:13 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 11CD18FC08; Sun, 17 Oct 2010 13:41:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HDfCoq032876; Sun, 17 Oct 2010 13:41:12 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HDfCMk032874; Sun, 17 Oct 2010 13:41:12 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171341.o9HDfCMk032874@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 13:41:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213974 - stable/7/sys/sparc64/include X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 13:41:13 -0000 Author: marius Date: Sun Oct 17 13:41:12 2010 New Revision: 213974 URL: http://svn.freebsd.org/changeset/base/213974 Log: MFC: r213578 In the replacement text of the __bswapN_const() macros cast the argument to the expected type so they work like the corresponding __bswapN_var() functions and the compiler doesn't complain when arguments of different width are passed. Modified: stable/7/sys/sparc64/include/endian.h Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/sparc64/include/endian.h ============================================================================== --- stable/7/sys/sparc64/include/endian.h Sun Oct 17 13:41:09 2010 (r213973) +++ stable/7/sys/sparc64/include/endian.h Sun Oct 17 13:41:12 2010 (r213974) @@ -69,18 +69,20 @@ #define __is_constant(x) 0 #endif -#define __bswap16_const(x) ((((x) >> 8) & 0xff) | \ - (((x) << 8) & 0xff00)) -#define __bswap32_const(x) ((((x) >> 24) & 0xff) | \ - (((x) >> 8) & 0xff00) | (((x) << 8) & 0xff0000) | \ - (((x) << 24) & 0xff000000)) -#define __bswap64_const(x) ((((x) >> 56) & 0xff) | \ - (((x) >> 40) & 0xff00) | (((x) >> 24) & 0xff0000) | \ - (((x) >> 8) & 0xff000000) | \ - (((x) << 8) & ((__uint64_t)0xff << 32)) | \ - (((x) << 24) & ((__uint64_t)0xff << 40)) | \ - (((x) << 40) & ((__uint64_t)0xff << 48)) | \ - (((x) << 56) & ((__uint64_t)0xff << 56))) +#define __bswap16_const(x) ((((__uint16_t)(x) >> 8) & 0xff) | \ + (((__uint16_t)(x) << 8) & 0xff00)) +#define __bswap32_const(x) ((((__uint32_t)(x) >> 24) & 0xff) | \ + (((__uint32_t)(x) >> 8) & 0xff00) | \ + (((__uint32_t)(x)<< 8) & 0xff0000) | \ + (((__uint32_t)(x) << 24) & 0xff000000)) +#define __bswap64_const(x) ((((__uint64_t)(x) >> 56) & 0xff) | \ + (((__uint64_t)(x) >> 40) & 0xff00) | \ + (((__uint64_t)(x) >> 24) & 0xff0000) | \ + (((__uint64_t)(x) >> 8) & 0xff000000) | \ + (((__uint64_t)(x) << 8) & ((__uint64_t)0xff << 32)) | \ + (((__uint64_t)(x) << 24) & ((__uint64_t)0xff << 40)) | \ + (((__uint64_t)(x) << 40) & ((__uint64_t)0xff << 48)) | \ + (((__uint64_t)(x) << 56) & ((__uint64_t)0xff << 56))) static __inline __uint16_t __bswap16_var(__uint16_t _x) From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 13:47:03 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D2FFB1065670; Sun, 17 Oct 2010 13:47:03 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C0A888FC1B; Sun, 17 Oct 2010 13:47:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HDl3kX033073; Sun, 17 Oct 2010 13:47:03 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HDl3P7033071; Sun, 17 Oct 2010 13:47:03 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201010171347.o9HDl3P7033071@svn.freebsd.org> From: Konstantin Belousov Date: Sun, 17 Oct 2010 13:47:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213975 - stable/8/sys/compat/linux X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 13:47:04 -0000 Author: kib Date: Sun Oct 17 13:47:03 2010 New Revision: 213975 URL: http://svn.freebsd.org/changeset/base/213975 Log: MFC r213846: Remove stale comment. Modified: stable/8/sys/compat/linux/linux_util.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/compat/linux/linux_util.h ============================================================================== --- stable/8/sys/compat/linux/linux_util.h Sun Oct 17 13:41:12 2010 (r213974) +++ stable/8/sys/compat/linux/linux_util.h Sun Oct 17 13:47:03 2010 (r213975) @@ -31,11 +31,6 @@ * $FreeBSD$ */ -/* - * This file is pretty much the same as Christos' svr4_util.h - * (for now). - */ - #ifndef _LINUX_UTIL_H_ #define _LINUX_UTIL_H_ From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 14:25:01 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 992701065673; Sun, 17 Oct 2010 14:25:01 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 81D778FC08; Sun, 17 Oct 2010 14:25:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HEP1jF034070; Sun, 17 Oct 2010 14:25:01 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HEP1f1034069; Sun, 17 Oct 2010 14:25:01 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171425.o9HEP1f1034069@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 14:25:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213976 - stable/7/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 14:25:01 -0000 Author: marius Date: Sun Oct 17 14:25:01 2010 New Revision: 213976 URL: http://svn.freebsd.org/changeset/base/213976 Log: MFC: r213868 - In the spirit of r212559 add a comment describing what will eventually lower the PIL. - Just as with the AP ensure that the (S)TICK timer(s) are in a known state when starting BSPs. Modified: stable/7/sys/sparc64/sparc64/mp_machdep.c Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/sparc64/sparc64/mp_machdep.c ============================================================================== --- stable/7/sys/sparc64/sparc64/mp_machdep.c Sun Oct 17 13:47:03 2010 (r213975) +++ stable/7/sys/sparc64/sparc64/mp_machdep.c Sun Oct 17 14:25:01 2010 (r213976) @@ -423,6 +423,12 @@ cpu_mp_bootstrap(struct pcpu *pc) */ cache_enable(pc->pc_impl); + /* + * Clear (S)TICK timer(s) (including NPT) and ensure they are stopped. + */ + tick_clear(pc->pc_impl); + tick_stop(pc->pc_impl); + /* Lock the kernel TSB in the TLB. */ pmap_map_tsb(); @@ -435,7 +441,11 @@ cpu_mp_bootstrap(struct pcpu *pc) /* Initialize global registers. */ cpu_setregs(pc); - /* Enable interrupts. */ + /* + * Enable interrupts. + * Note that the PIL we be lowered indirectly via sched_throw(NULL) + * when fake spinlock held by the idle thread eventually is released. + */ wrpr(pstate, 0, PSTATE_KERNEL); /* Start the (S)TICK interrupts. */ From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 14:25:55 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 89366106564A; Sun, 17 Oct 2010 14:25:55 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7676F8FC1C; Sun, 17 Oct 2010 14:25:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HEPt8Q034139; Sun, 17 Oct 2010 14:25:55 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HEPtRp034137; Sun, 17 Oct 2010 14:25:55 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171425.o9HEPtRp034137@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 14:25:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213977 - stable/8/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 14:25:55 -0000 Author: marius Date: Sun Oct 17 14:25:55 2010 New Revision: 213977 URL: http://svn.freebsd.org/changeset/base/213977 Log: MFC: r213868 - In the spirit of r212559 add a comment describing what will eventually lower the PIL. - Just as with the AP ensure that the (S)TICK timer(s) are in a known state when starting BSPs. Modified: stable/8/sys/sparc64/sparc64/mp_machdep.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/sparc64/sparc64/mp_machdep.c ============================================================================== --- stable/8/sys/sparc64/sparc64/mp_machdep.c Sun Oct 17 14:25:01 2010 (r213976) +++ stable/8/sys/sparc64/sparc64/mp_machdep.c Sun Oct 17 14:25:55 2010 (r213977) @@ -431,6 +431,12 @@ cpu_mp_bootstrap(struct pcpu *pc) */ cache_enable(pc->pc_impl); + /* + * Clear (S)TICK timer(s) (including NPT) and ensure they are stopped. + */ + tick_clear(pc->pc_impl); + tick_stop(pc->pc_impl); + /* Lock the kernel TSB in the TLB. */ pmap_map_tsb(); @@ -443,7 +449,11 @@ cpu_mp_bootstrap(struct pcpu *pc) /* Initialize global registers. */ cpu_setregs(pc); - /* Enable interrupts. */ + /* + * Enable interrupts. + * Note that the PIL we be lowered indirectly via sched_throw(NULL) + * when fake spinlock held by the idle thread eventually is released. + */ wrpr(pstate, 0, PSTATE_KERNEL); /* Start the (S)TICK interrupts. */ From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 14:48:53 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 63B6D1065693; Sun, 17 Oct 2010 14:48:53 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 511848FC24; Sun, 17 Oct 2010 14:48:53 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HEmrGN034970; Sun, 17 Oct 2010 14:48:53 GMT (envelope-from jh@svn.freebsd.org) Received: (from jh@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HEmrUw034968; Sun, 17 Oct 2010 14:48:53 GMT (envelope-from jh@svn.freebsd.org) Message-Id: <201010171448.o9HEmrUw034968@svn.freebsd.org> From: Jaakko Heinonen Date: Sun, 17 Oct 2010 14:48:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213978 - stable/8/sbin/mount X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 14:48:53 -0000 Author: jh Date: Sun Oct 17 14:48:53 2010 New Revision: 213978 URL: http://svn.freebsd.org/changeset/base/213978 Log: MFC r213298: Fix printing of the "rw" mount option in fstab(5) format (-p option). fstab(5) format requires that one of "rw", "rq" or "ro" is always specified. PR: bin/123021 Modified: stable/8/sbin/mount/mount.c Directory Properties: stable/8/sbin/mount/ (props changed) Modified: stable/8/sbin/mount/mount.c ============================================================================== --- stable/8/sbin/mount/mount.c Sun Oct 17 14:25:55 2010 (r213977) +++ stable/8/sbin/mount/mount.c Sun Oct 17 14:48:53 2010 (r213978) @@ -850,10 +850,18 @@ void putfsent(struct statfs *ent) { struct fstab *fst; - char *opts; + char *opts, *rw; int l; + opts = NULL; + /* flags2opts() doesn't return the "rw" option. */ + if ((ent->f_flags & MNT_RDONLY) != 0) + rw = NULL; + else + rw = catopt(NULL, "rw"); + opts = flags2opts(ent->f_flags); + opts = catopt(rw, opts); if (strncmp(ent->f_mntfromname, "", 7) == 0 || strncmp(ent->f_mntfromname, "", 7) == 0) { @@ -861,10 +869,6 @@ putfsent(struct statfs *ent) +1)); } - /* - * "rw" is not a real mount option; this is why we print NULL as "rw" - * if opts is still NULL here. - */ l = strlen(ent->f_mntfromname); printf("%s%s%s%s", ent->f_mntfromname, l < 8 ? "\t" : "", @@ -876,13 +880,9 @@ putfsent(struct statfs *ent) l < 16 ? "\t" : "", l < 24 ? "\t" : " "); printf("%s\t", ent->f_fstypename); - if (opts == NULL) { - printf("%s\t", "rw"); - } else { - l = strlen(opts); - printf("%s%s", opts, - l < 8 ? "\t" : " "); - } + l = strlen(opts); + printf("%s%s", opts, + l < 8 ? "\t" : " "); free(opts); if ((fst = getfsspec(ent->f_mntfromname))) From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 15:23:00 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 33AF6106564A; Sun, 17 Oct 2010 15:23:00 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1ECBE8FC0C; Sun, 17 Oct 2010 15:23:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HFN0G2035908; Sun, 17 Oct 2010 15:23:00 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HFN0oR035900; Sun, 17 Oct 2010 15:23:00 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201010171523.o9HFN0oR035900@svn.freebsd.org> From: Nathan Whitehorn Date: Sun, 17 Oct 2010 15:23:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213979 - in stable/8/sys/powerpc: aim include powerpc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 15:23:00 -0000 Author: nwhitehorn Date: Sun Oct 17 15:22:59 2010 New Revision: 213979 URL: http://svn.freebsd.org/changeset/base/213979 Log: MFC r213307,213335: Add support for memory attributes (pmap_mapdev_attr() and friends) on PowerPC/AIM. This is currently stubbed out on Book-E, since I have no idea how to implement it there. Modified: stable/8/sys/powerpc/aim/mmu_oea.c stable/8/sys/powerpc/aim/mmu_oea64.c stable/8/sys/powerpc/include/pmap.h stable/8/sys/powerpc/include/vm.h stable/8/sys/powerpc/powerpc/bus_machdep.c stable/8/sys/powerpc/powerpc/mmu_if.m stable/8/sys/powerpc/powerpc/pmap_dispatch.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/powerpc/aim/mmu_oea.c ============================================================================== --- stable/8/sys/powerpc/aim/mmu_oea.c Sun Oct 17 14:48:53 2010 (r213978) +++ stable/8/sys/powerpc/aim/mmu_oea.c Sun Oct 17 15:22:59 2010 (r213979) @@ -221,8 +221,6 @@ u_int moea_pteg_mask; struct pvo_head *moea_pvo_table; /* pvo entries by pteg index */ struct pvo_head moea_pvo_kunmanaged = LIST_HEAD_INITIALIZER(moea_pvo_kunmanaged); /* list of unmanaged pages */ -struct pvo_head moea_pvo_unmanaged = - LIST_HEAD_INITIALIZER(moea_pvo_unmanaged); /* list of unmanaged pages */ uma_zone_t moea_upvo_zone; /* zone for pvo entries for unmanaged pages */ uma_zone_t moea_mpvo_zone; /* zone for pvo entries for managed pages */ @@ -327,9 +325,12 @@ void moea_deactivate(mmu_t, struct threa void moea_cpu_bootstrap(mmu_t, int); void moea_bootstrap(mmu_t, vm_offset_t, vm_offset_t); void *moea_mapdev(mmu_t, vm_offset_t, vm_size_t); +void *moea_mapdev_attr(mmu_t, vm_offset_t, vm_size_t, vm_memattr_t); void moea_unmapdev(mmu_t, vm_offset_t, vm_size_t); vm_offset_t moea_kextract(mmu_t, vm_offset_t); +void moea_kenter_attr(mmu_t, vm_offset_t, vm_offset_t, vm_memattr_t); void moea_kenter(mmu_t, vm_offset_t, vm_offset_t); +void moea_page_set_memattr(mmu_t mmu, vm_page_t m, vm_memattr_t ma); boolean_t moea_dev_direct_mapped(mmu_t, vm_offset_t, vm_size_t); static void moea_sync_icache(mmu_t, pmap_t, vm_offset_t, vm_size_t); @@ -364,14 +365,17 @@ static mmu_method_t moea_methods[] = { MMUMETHOD(mmu_zero_page_idle, moea_zero_page_idle), MMUMETHOD(mmu_activate, moea_activate), MMUMETHOD(mmu_deactivate, moea_deactivate), + MMUMETHOD(mmu_page_set_memattr, moea_page_set_memattr), /* Internal interfaces */ MMUMETHOD(mmu_bootstrap, moea_bootstrap), MMUMETHOD(mmu_cpu_bootstrap, moea_cpu_bootstrap), + MMUMETHOD(mmu_mapdev_attr, moea_mapdev_attr), MMUMETHOD(mmu_mapdev, moea_mapdev), MMUMETHOD(mmu_unmapdev, moea_unmapdev), MMUMETHOD(mmu_kextract, moea_kextract), MMUMETHOD(mmu_kenter, moea_kenter), + MMUMETHOD(mmu_kenter_attr, moea_kenter_attr), MMUMETHOD(mmu_dev_direct_mapped,moea_dev_direct_mapped), { 0, 0 } @@ -384,6 +388,41 @@ static mmu_def_t oea_mmu = { }; MMU_DEF(oea_mmu); +static __inline uint32_t +moea_calc_wimg(vm_offset_t pa, vm_memattr_t ma) +{ + uint32_t pte_lo; + int i; + + if (ma != VM_MEMATTR_DEFAULT) { + switch (ma) { + case VM_MEMATTR_UNCACHEABLE: + return (PTE_I | PTE_G); + case VM_MEMATTR_WRITE_COMBINING: + case VM_MEMATTR_WRITE_BACK: + case VM_MEMATTR_PREFETCHABLE: + return (PTE_I); + case VM_MEMATTR_WRITE_THROUGH: + return (PTE_W | PTE_M); + } + } + + /* + * Assume the page is cache inhibited and access is guarded unless + * it's in our available memory array. + */ + pte_lo = PTE_I | PTE_G; + for (i = 0; i < pregions_sz; i++) { + if ((pa >= pregions[i].mr_start) && + (pa < (pregions[i].mr_start + pregions[i].mr_size))) { + pte_lo = PTE_M; + break; + } + } + + return pte_lo; +} + static void tlbie(vm_offset_t va) { @@ -425,22 +464,6 @@ va_to_pteg(u_int sr, vm_offset_t addr) } static __inline struct pvo_head * -pa_to_pvoh(vm_offset_t pa, vm_page_t *pg_p) -{ - struct vm_page *pg; - - pg = PHYS_TO_VM_PAGE(pa); - - if (pg_p != NULL) - *pg_p = pg; - - if (pg == NULL) - return (&moea_pvo_unmanaged); - - return (&pg->md.mdpg_pvoh); -} - -static __inline struct pvo_head * vm_page_to_pvoh(vm_page_t m) { @@ -881,6 +904,7 @@ moea_bootstrap(mmu_t mmup, vm_offset_t k struct vm_page m; m.phys_addr = translations[i].om_pa + off; + m.md.mdpg_cache_attrs = VM_MEMATTR_DEFAULT; PMAP_LOCK(&ofw_pmap); moea_enter_locked(&ofw_pmap, translations[i].om_va + off, &m, @@ -1087,7 +1111,7 @@ moea_enter_locked(pmap_t pmap, vm_offset struct pvo_head *pvo_head; uma_zone_t zone; vm_page_t pg; - u_int pte_lo, pvo_flags, was_exec, i; + u_int pte_lo, pvo_flags, was_exec; int error; if (!moea_initialized) { @@ -1126,19 +1150,7 @@ moea_enter_locked(pmap_t pmap, vm_offset } } - /* - * Assume the page is cache inhibited and access is guarded unless - * it's in our available memory array. - */ - pte_lo = PTE_I | PTE_G; - for (i = 0; i < pregions_sz; i++) { - if ((VM_PAGE_TO_PHYS(m) >= pregions[i].mr_start) && - (VM_PAGE_TO_PHYS(m) < - (pregions[i].mr_start + pregions[i].mr_size))) { - pte_lo = PTE_M; - break; - } - } + pte_lo = moea_calc_wimg(VM_PAGE_TO_PHYS(m), pmap_page_get_memattr(m)); if (prot & VM_PROT_WRITE) { pte_lo |= PTE_BW; @@ -1371,14 +1383,60 @@ moea_ts_referenced(mmu_t mmu, vm_page_t } /* + * Modify the WIMG settings of all mappings for a page. + */ +void +moea_page_set_memattr(mmu_t mmu, vm_page_t m, vm_memattr_t ma) +{ + struct pvo_entry *pvo; + struct pvo_head *pvo_head; + struct pte *pt; + pmap_t pmap; + u_int lo; + + if (m->flags & PG_FICTITIOUS) { + m->md.mdpg_cache_attrs = ma; + return; + } + + vm_page_lock_queues(); + pvo_head = vm_page_to_pvoh(m); + lo = moea_calc_wimg(VM_PAGE_TO_PHYS(m), ma); + + LIST_FOREACH(pvo, pvo_head, pvo_vlink) { + pmap = pvo->pvo_pmap; + PMAP_LOCK(pmap); + pt = moea_pvo_to_pte(pvo, -1); + pvo->pvo_pte.pte.pte_lo &= ~PTE_WIMG; + pvo->pvo_pte.pte.pte_lo |= lo; + if (pt != NULL) { + moea_pte_change(pt, &pvo->pvo_pte.pte, + pvo->pvo_vaddr); + if (pvo->pvo_pmap == kernel_pmap) + isync(); + } + mtx_unlock(&moea_table_mutex); + PMAP_UNLOCK(pmap); + } + m->md.mdpg_cache_attrs = ma; + vm_page_unlock_queues(); +} + +/* * Map a wired page into kernel virtual address space. */ void moea_kenter(mmu_t mmu, vm_offset_t va, vm_offset_t pa) { + + moea_kenter_attr(mmu, va, pa, VM_MEMATTR_DEFAULT); +} + +void +moea_kenter_attr(mmu_t mmu, vm_offset_t va, vm_offset_t pa, vm_memattr_t ma) +{ u_int pte_lo; int error; - int i; #if 0 if (va < VM_MIN_KERNEL_ADDRESS) @@ -1386,14 +1444,7 @@ moea_kenter(mmu_t mmu, vm_offset_t va, v va); #endif - pte_lo = PTE_I | PTE_G; - for (i = 0; i < pregions_sz; i++) { - if ((pa >= pregions[i].mr_start) && - (pa < (pregions[i].mr_start + pregions[i].mr_size))) { - pte_lo = PTE_M; - break; - } - } + pte_lo = moea_calc_wimg(pa, ma); PMAP_LOCK(kernel_pmap); error = moea_pvo_enter(kernel_pmap, moea_upvo_zone, @@ -2382,6 +2433,13 @@ moea_dev_direct_mapped(mmu_t mmu, vm_off void * moea_mapdev(mmu_t mmu, vm_offset_t pa, vm_size_t size) { + + return (moea_mapdev_attr(mmu, pa, size, VM_MEMATTR_DEFAULT)); +} + +void * +moea_mapdev_attr(mmu_t mmu, vm_offset_t pa, vm_size_t size, vm_memattr_t ma) +{ vm_offset_t va, tmpva, ppa, offset; int i; @@ -2404,7 +2462,7 @@ moea_mapdev(mmu_t mmu, vm_offset_t pa, v panic("moea_mapdev: Couldn't alloc kernel virtual memory"); for (tmpva = va; size > 0;) { - moea_kenter(mmu, tmpva, ppa); + moea_kenter_attr(mmu, tmpva, ppa, ma); tlbie(tmpva); size -= PAGE_SIZE; tmpva += PAGE_SIZE; Modified: stable/8/sys/powerpc/aim/mmu_oea64.c ============================================================================== --- stable/8/sys/powerpc/aim/mmu_oea64.c Sun Oct 17 14:48:53 2010 (r213978) +++ stable/8/sys/powerpc/aim/mmu_oea64.c Sun Oct 17 15:22:59 2010 (r213979) @@ -290,11 +290,8 @@ u_int moea64_pteg_mask; * PVO data. */ struct pvo_head *moea64_pvo_table; /* pvo entries by pteg index */ -/* lists of unmanaged pages */ -struct pvo_head moea64_pvo_kunmanaged = +struct pvo_head moea64_pvo_kunmanaged = /* list of unmanaged pages */ LIST_HEAD_INITIALIZER(moea64_pvo_kunmanaged); -struct pvo_head moea64_pvo_unmanaged = - LIST_HEAD_INITIALIZER(moea64_pvo_unmanaged); uma_zone_t moea64_upvo_zone; /* zone for pvo entries for unmanaged pages */ uma_zone_t moea64_mpvo_zone; /* zone for pvo entries for managed pages */ @@ -399,8 +396,11 @@ void moea64_zero_page_idle(mmu_t, vm_pag void moea64_activate(mmu_t, struct thread *); void moea64_deactivate(mmu_t, struct thread *); void *moea64_mapdev(mmu_t, vm_offset_t, vm_size_t); +void *moea64_mapdev_attr(mmu_t, vm_offset_t, vm_size_t, vm_memattr_t); void moea64_unmapdev(mmu_t, vm_offset_t, vm_size_t); vm_offset_t moea64_kextract(mmu_t, vm_offset_t); +void moea64_page_set_memattr(mmu_t, vm_page_t m, vm_memattr_t ma); +void moea64_kenter_attr(mmu_t, vm_offset_t, vm_offset_t, vm_memattr_t ma); void moea64_kenter(mmu_t, vm_offset_t, vm_offset_t); boolean_t moea64_dev_direct_mapped(mmu_t, vm_offset_t, vm_size_t); static void moea64_sync_icache(mmu_t, pmap_t, vm_offset_t, vm_size_t); @@ -436,14 +436,17 @@ static mmu_method_t moea64_bridge_method MMUMETHOD(mmu_zero_page_idle, moea64_zero_page_idle), MMUMETHOD(mmu_activate, moea64_activate), MMUMETHOD(mmu_deactivate, moea64_deactivate), + MMUMETHOD(mmu_page_set_memattr, moea64_page_set_memattr), /* Internal interfaces */ MMUMETHOD(mmu_bootstrap, moea64_bridge_bootstrap), MMUMETHOD(mmu_cpu_bootstrap, moea64_bridge_cpu_bootstrap), MMUMETHOD(mmu_mapdev, moea64_mapdev), + MMUMETHOD(mmu_mapdev_attr, moea64_mapdev_attr), MMUMETHOD(mmu_unmapdev, moea64_unmapdev), MMUMETHOD(mmu_kextract, moea64_kextract), MMUMETHOD(mmu_kenter, moea64_kenter), + MMUMETHOD(mmu_kenter_attr, moea64_kenter_attr), MMUMETHOD(mmu_dev_direct_mapped,moea64_dev_direct_mapped), { 0, 0 } @@ -467,22 +470,6 @@ va_to_pteg(uint64_t vsid, vm_offset_t ad } static __inline struct pvo_head * -pa_to_pvoh(vm_offset_t pa, vm_page_t *pg_p) -{ - struct vm_page *pg; - - pg = PHYS_TO_VM_PAGE(pa); - - if (pg_p != NULL) - *pg_p = pg; - - if (pg == NULL) - return (&moea64_pvo_unmanaged); - - return (&pg->md.mdpg_pvoh); -} - -static __inline struct pvo_head * vm_page_to_pvoh(vm_page_t m) { @@ -608,11 +595,24 @@ moea64_pte_change(struct lpte *pt, struc } static __inline uint64_t -moea64_calc_wimg(vm_offset_t pa) +moea64_calc_wimg(vm_offset_t pa, vm_memattr_t ma) { uint64_t pte_lo; int i; + if (ma != VM_MEMATTR_DEFAULT) { + switch (ma) { + case VM_MEMATTR_UNCACHEABLE: + return (LPTE_I | LPTE_G); + case VM_MEMATTR_WRITE_COMBINING: + case VM_MEMATTR_WRITE_BACK: + case VM_MEMATTR_PREFETCHABLE: + return (LPTE_I); + case VM_MEMATTR_WRITE_THROUGH: + return (LPTE_W | LPTE_M); + } + } + /* * Assume the page is cache inhibited and access is guarded unless * it's in our available memory array. @@ -1112,7 +1112,7 @@ void moea64_set_scratchpage_pa(int which moea64_scratchpage_pte[which]->pte_lo &= ~(LPTE_WIMG | LPTE_RPGN); moea64_scratchpage_pte[which]->pte_lo |= - moea64_calc_wimg(pa) | (uint64_t)pa; + moea64_calc_wimg(pa, VM_MEMATTR_DEFAULT) | (uint64_t)pa; EIEIO(); moea64_scratchpage_pte[which]->pte_hi |= LPTE_VALID; @@ -1243,7 +1243,7 @@ moea64_enter_locked(pmap_t pmap, vm_offs zone = moea64_upvo_zone; } - pte_lo = moea64_calc_wimg(VM_PAGE_TO_PHYS(m)); + pte_lo = moea64_calc_wimg(VM_PAGE_TO_PHYS(m), pmap_page_get_memattr(m)); if (prot & VM_PROT_WRITE) { pte_lo |= LPTE_BW; @@ -1560,22 +1560,55 @@ moea64_ts_referenced(mmu_t mmu, vm_page_ } /* + * Modify the WIMG settings of all mappings for a page. + */ +void +moea64_page_set_memattr(mmu_t mmu, vm_page_t m, vm_memattr_t ma) +{ + struct pvo_entry *pvo; + struct pvo_head *pvo_head; + struct lpte *pt; + pmap_t pmap; + uint64_t lo; + + if (m->flags & PG_FICTITIOUS) { + m->md.mdpg_cache_attrs = ma; + return; + } + + vm_page_lock_queues(); + pvo_head = vm_page_to_pvoh(m); + lo = moea64_calc_wimg(VM_PAGE_TO_PHYS(m), ma); + LIST_FOREACH(pvo, pvo_head, pvo_vlink) { + pmap = pvo->pvo_pmap; + PMAP_LOCK(pmap); + LOCK_TABLE(); + pt = moea64_pvo_to_pte(pvo, -1); + pvo->pvo_pte.lpte.pte_lo &= ~LPTE_WIMG; + pvo->pvo_pte.lpte.pte_lo |= lo; + if (pt != NULL) { + moea64_pte_change(pt, &pvo->pvo_pte.lpte, + pvo->pvo_pmap, PVO_VADDR(pvo)); + if (pvo->pvo_pmap == kernel_pmap) + isync(); + } + UNLOCK_TABLE(); + PMAP_UNLOCK(pmap); + } + m->md.mdpg_cache_attrs = ma; + vm_page_unlock_queues(); +} + +/* * Map a wired page into kernel virtual address space. */ void -moea64_kenter(mmu_t mmu, vm_offset_t va, vm_offset_t pa) +moea64_kenter_attr(mmu_t mmu, vm_offset_t va, vm_offset_t pa, vm_memattr_t ma) { uint64_t pte_lo; int error; -#if 0 - if (!pmap_bootstrapped) { - if (va >= VM_MIN_KERNEL_ADDRESS && va < virtual_end) - panic("Trying to enter an address in KVA -- %#x!\n",pa); - } -#endif - - pte_lo = moea64_calc_wimg(pa); + pte_lo = moea64_calc_wimg(pa, ma); PMAP_LOCK(kernel_pmap); error = moea64_pvo_enter(kernel_pmap, moea64_upvo_zone, @@ -1595,6 +1628,13 @@ moea64_kenter(mmu_t mmu, vm_offset_t va, PMAP_UNLOCK(kernel_pmap); } +void +moea64_kenter(mmu_t mmu, vm_offset_t va, vm_offset_t pa) +{ + + moea64_kenter_attr(mmu, va, pa, VM_MEMATTR_DEFAULT); +} + /* * Extract the physical page address associated with the given kernel virtual * address. @@ -2477,7 +2517,7 @@ moea64_dev_direct_mapped(mmu_t mmu, vm_o * NOT real memory. */ void * -moea64_mapdev(mmu_t mmu, vm_offset_t pa, vm_size_t size) +moea64_mapdev_attr(mmu_t mmu, vm_offset_t pa, vm_size_t size, vm_memattr_t ma) { vm_offset_t va, tmpva, ppa, offset; @@ -2491,7 +2531,7 @@ moea64_mapdev(mmu_t mmu, vm_offset_t pa, panic("moea64_mapdev: Couldn't alloc kernel virtual memory"); for (tmpva = va; size > 0;) { - moea64_kenter(mmu, tmpva, ppa); + moea64_kenter_attr(mmu, tmpva, ppa, ma); size -= PAGE_SIZE; tmpva += PAGE_SIZE; ppa += PAGE_SIZE; @@ -2500,6 +2540,13 @@ moea64_mapdev(mmu_t mmu, vm_offset_t pa, return ((void *)(va + offset)); } +void * +moea64_mapdev(mmu_t mmu, vm_offset_t pa, vm_size_t size) +{ + + return moea64_mapdev_attr(mmu, pa, size, VM_MEMATTR_DEFAULT); +} + void moea64_unmapdev(mmu_t mmu, vm_offset_t va, vm_size_t size) { Modified: stable/8/sys/powerpc/include/pmap.h ============================================================================== --- stable/8/sys/powerpc/include/pmap.h Sun Oct 17 14:48:53 2010 (r213978) +++ stable/8/sys/powerpc/include/pmap.h Sun Oct 17 15:22:59 2010 (r213979) @@ -109,13 +109,13 @@ struct pvo_entry { LIST_HEAD(pvo_head, pvo_entry); struct md_page { - u_int64_t mdpg_attrs; + u_int64_t mdpg_attrs; + vm_memattr_t mdpg_cache_attrs; struct pvo_head mdpg_pvoh; }; -#define pmap_page_get_memattr(m) VM_MEMATTR_DEFAULT +#define pmap_page_get_memattr(m) ((m)->md.mdpg_cache_attrs) #define pmap_page_is_mapped(m) (!LIST_EMPTY(&(m)->md.mdpg_pvoh)) -#define pmap_page_set_memattr(m, ma) (void)0 #else @@ -147,7 +147,6 @@ struct md_page { #define pmap_page_get_memattr(m) VM_MEMATTR_DEFAULT #define pmap_page_is_mapped(m) (!TAILQ_EMPTY(&(m)->md.pv_list)) -#define pmap_page_set_memattr(m, ma) (void)0 #endif /* AIM */ @@ -169,9 +168,12 @@ extern struct pmap kernel_pmap_store; void pmap_bootstrap(vm_offset_t, vm_offset_t); void pmap_kenter(vm_offset_t va, vm_offset_t pa); +void pmap_kenter_attr(vm_offset_t va, vm_offset_t pa, vm_memattr_t); void pmap_kremove(vm_offset_t); void *pmap_mapdev(vm_offset_t, vm_size_t); +void *pmap_mapdev_attr(vm_offset_t, vm_size_t, vm_memattr_t); void pmap_unmapdev(vm_offset_t, vm_size_t); +void pmap_page_set_memattr(vm_page_t, vm_memattr_t); void pmap_deactivate(struct thread *); vm_offset_t pmap_kextract(vm_offset_t); int pmap_dev_direct_mapped(vm_offset_t, vm_size_t); Modified: stable/8/sys/powerpc/include/vm.h ============================================================================== --- stable/8/sys/powerpc/include/vm.h Sun Oct 17 14:48:53 2010 (r213978) +++ stable/8/sys/powerpc/include/vm.h Sun Oct 17 15:22:59 2010 (r213979) @@ -32,11 +32,13 @@ #include /* Memory attributes. */ -#define VM_MEMATTR_CACHING_INHIBIT ((vm_memattr_t)PTE_I) -#define VM_MEMATTR_GUARD ((vm_memattr_t)PTE_G) -#define VM_MEMATTR_MEMORY_COHERENCE ((vm_memattr_t)PTE_M) -#define VM_MEMATTR_WRITE_THROUGH ((vm_memattr_t)PTE_W) - #define VM_MEMATTR_DEFAULT 0 +#define VM_MEMATTR_UNCACHEABLE 0x01 +#define VM_MEMATTR_UNCACHED VM_MEMATTR_UNCACHEABLE +#define VM_MEMATTR_CACHEABLE 0x02 +#define VM_MEMATTR_WRITE_COMBINING 0x04 +#define VM_MEMATTR_WRITE_BACK 0x08 +#define VM_MEMATTR_WRITE_THROUGH 0x10 +#define VM_MEMATTR_PREFETCHABLE 0x20 #endif /* !_MACHINE_VM_H_ */ Modified: stable/8/sys/powerpc/powerpc/bus_machdep.c ============================================================================== --- stable/8/sys/powerpc/powerpc/bus_machdep.c Sun Oct 17 14:48:53 2010 (r213978) +++ stable/8/sys/powerpc/powerpc/bus_machdep.c Sun Oct 17 15:22:59 2010 (r213979) @@ -60,6 +60,7 @@ __FBSDID("$FreeBSD$"); static struct { bus_addr_t addr; bus_size_t size; + int flags; } earlyboot_mappings[MAX_EARLYBOOT_MAPPINGS]; static int earlyboot_map_idx = 0; @@ -72,9 +73,11 @@ __ppc_ba(bus_space_handle_t bsh, bus_siz } static int -bs_gen_map(bus_addr_t addr, bus_size_t size __unused, int flags __unused, +bs_gen_map(bus_addr_t addr, bus_size_t size, int flags, bus_space_handle_t *bshp) { + vm_memattr_t ma; + /* * Record what we did if we haven't enabled the MMU yet. We * will need to remap it as soon as the MMU comes up. @@ -84,10 +87,20 @@ bs_gen_map(bus_addr_t addr, bus_size_t s ("%s: too many early boot mapping requests", __func__)); earlyboot_mappings[earlyboot_map_idx].addr = addr; earlyboot_mappings[earlyboot_map_idx].size = size; + earlyboot_mappings[earlyboot_map_idx].flags = flags; earlyboot_map_idx++; *bshp = addr; } else { - *bshp = (bus_space_handle_t)pmap_mapdev(addr,size); + ma = VM_MEMATTR_DEFAULT; + switch (flags) { + case BUS_SPACE_MAP_CACHEABLE: + ma = VM_MEMATTR_CACHEABLE; + break; + case BUS_SPACE_MAP_PREFETCHABLE: + ma = VM_MEMATTR_PREFETCHABLE; + break; + } + *bshp = (bus_space_handle_t)pmap_mapdev_attr(addr, size, ma); } return (0); @@ -98,6 +111,7 @@ bs_remap_earlyboot(void) { int i; vm_offset_t pa, spa; + vm_memattr_t ma; if (hw_direct_map) return; @@ -105,9 +119,19 @@ bs_remap_earlyboot(void) for (i = 0; i < earlyboot_map_idx; i++) { spa = earlyboot_mappings[i].addr; + ma = VM_MEMATTR_DEFAULT; + switch (earlyboot_mappings[i].flags) { + case BUS_SPACE_MAP_CACHEABLE: + ma = VM_MEMATTR_CACHEABLE; + break; + case BUS_SPACE_MAP_PREFETCHABLE: + ma = VM_MEMATTR_PREFETCHABLE; + break; + } + pa = trunc_page(spa); while (pa < spa + earlyboot_mappings[i].size) { - pmap_kenter(pa,pa); + pmap_kenter_attr(pa, pa, ma); pa += PAGE_SIZE; } } Modified: stable/8/sys/powerpc/powerpc/mmu_if.m ============================================================================== --- stable/8/sys/powerpc/powerpc/mmu_if.m Sun Oct 17 14:48:53 2010 (r213978) +++ stable/8/sys/powerpc/powerpc/mmu_if.m Sun Oct 17 15:22:59 2010 (r213979) @@ -110,6 +110,24 @@ CODE { { return (NULL); } + + static void *mmu_null_mapdev_attr(mmu_t mmu, vm_offset_t pa, + vm_size_t size, vm_memattr_t ma) + { + return MMU_MAPDEV(mmu, pa, size); + } + + static void mmu_null_kenter_attr(mmu_t mmu, vm_offset_t va, + vm_offset_t pa, vm_memattr_t ma) + { + MMU_KENTER(mmu, va, pa); + } + + static void mmu_null_page_set_memattr(mmu_t mmu, vm_page_t m, + vm_memattr_t ma) + { + return; + } }; @@ -732,6 +750,37 @@ METHOD void * mapdev { vm_size_t _size; }; +/** + * @brief Create a kernel mapping for a given physical address range. + * Called by bus code on behalf of device drivers. The mapping does not + * have to be a virtual address: it can be a direct-mapped physical address + * if that is supported by the MMU. + * + * @param _pa start physical address + * @param _size size in bytes of mapping + * @param _attr cache attributes + * + * @retval addr address of mapping. + */ +METHOD void * mapdev_attr { + mmu_t _mmu; + vm_offset_t _pa; + vm_size_t _size; + vm_memattr_t _attr; +} DEFAULT mmu_null_mapdev_attr; + +/** + * @brief Change cache control attributes for a page. Should modify all + * mappings for that page. + * + * @param _m page to modify + * @param _ma new cache control attributes + */ +METHOD void page_set_memattr { + mmu_t _mmu; + vm_page_t _pg; + vm_memattr_t _ma; +} DEFAULT mmu_null_page_set_memattr; /** * @brief Remove the mapping created by mapdev. Called when a driver @@ -772,6 +821,19 @@ METHOD void kenter { vm_offset_t _pa; }; +/** + * @brief Map a wired page into kernel virtual address space + * + * @param _va mapping virtual address + * @param _pa mapping physical address + * @param _ma mapping cache control attributes + */ +METHOD void kenter_attr { + mmu_t _mmu; + vm_offset_t _va; + vm_offset_t _pa; + vm_memattr_t _ma; +} DEFAULT mmu_null_kenter_attr; /** * @brief Determine if the given physical address range has been direct-mapped. Modified: stable/8/sys/powerpc/powerpc/pmap_dispatch.c ============================================================================== --- stable/8/sys/powerpc/powerpc/pmap_dispatch.c Sun Oct 17 14:48:53 2010 (r213978) +++ stable/8/sys/powerpc/powerpc/pmap_dispatch.c Sun Oct 17 15:22:59 2010 (r213979) @@ -425,6 +425,22 @@ pmap_mapdev(vm_offset_t pa, vm_size_t si return (MMU_MAPDEV(mmu_obj, pa, size)); } +void * +pmap_mapdev_attr(vm_offset_t pa, vm_size_t size, vm_memattr_t attr) +{ + + CTR3(KTR_PMAP, "%s(%#x, %#x)", __func__, pa, size); + return (MMU_MAPDEV_ATTR(mmu_obj, pa, size, attr)); +} + +void +pmap_page_set_memattr(vm_page_t m, vm_memattr_t ma) +{ + + CTR3(KTR_PMAP, "%s(%#x, %#x)", __func__, pa, size); + return (MMU_PAGE_SET_MEMATTR(mmu_obj, m, ma)); +} + void pmap_unmapdev(vm_offset_t va, vm_size_t size) { @@ -449,6 +465,14 @@ pmap_kenter(vm_offset_t va, vm_offset_t MMU_KENTER(mmu_obj, va, pa); } +void +pmap_kenter_attr(vm_offset_t va, vm_offset_t pa, vm_memattr_t ma) +{ + + CTR3(KTR_PMAP, "%s(%#x, %#x)", __func__, va, pa); + MMU_KENTER_ATTR(mmu_obj, va, pa, ma); +} + boolean_t pmap_dev_direct_mapped(vm_offset_t pa, vm_size_t size) { From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 15:25:33 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D36CE106564A; Sun, 17 Oct 2010 15:25:33 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C08018FC0A; Sun, 17 Oct 2010 15:25:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HFPX2Y036039; Sun, 17 Oct 2010 15:25:33 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HFPXTT036037; Sun, 17 Oct 2010 15:25:33 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201010171525.o9HFPXTT036037@svn.freebsd.org> From: Gleb Smirnoff Date: Sun, 17 Oct 2010 15:25:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213980 - stable/8/usr.sbin/ntp X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 15:25:33 -0000 Author: glebius Date: Sun Oct 17 15:25:33 2010 New Revision: 213980 URL: http://svn.freebsd.org/changeset/base/213980 Log: Merge 213831: Enable the shared memory reference clock driver. The GPS devices are getting more and more popular, as source of precise time, and the gpsd daemon from ports is using the shared memory to synchronize with ntpd. Reviewed by: roberto Modified: stable/8/usr.sbin/ntp/config.h Directory Properties: stable/8/usr.sbin/ntp/ (props changed) Modified: stable/8/usr.sbin/ntp/config.h ============================================================================== --- stable/8/usr.sbin/ntp/config.h Sun Oct 17 15:22:59 2010 (r213979) +++ stable/8/usr.sbin/ntp/config.h Sun Oct 17 15:25:33 2010 (r213980) @@ -126,7 +126,7 @@ /* #undef CLOCK_SCHMID */ /* clock thru shared memory */ -/* #undef CLOCK_SHM */ +#define CLOCK_SHM /* Spectracom 8170/Netclock/2 WWVB receiver */ /* #undef CLOCK_SPECTRACOM */ From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 15:47:27 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CE0D6106564A; Sun, 17 Oct 2010 15:47:27 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BC1868FC15; Sun, 17 Oct 2010 15:47:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HFlRuH036630; Sun, 17 Oct 2010 15:47:27 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HFlRJw036628; Sun, 17 Oct 2010 15:47:27 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010171547.o9HFlRJw036628@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sun, 17 Oct 2010 15:47:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213981 - head/sbin/hastd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 15:47:27 -0000 Author: pjd Date: Sun Oct 17 15:47:27 2010 New Revision: 213981 URL: http://svn.freebsd.org/changeset/base/213981 Log: Log correct connection when canceling half-open connection. Submitted by: Mikolaj Golub MFC after: 3 days Modified: head/sbin/hastd/hastd.c Modified: head/sbin/hastd/hastd.c ============================================================================== --- head/sbin/hastd/hastd.c Sun Oct 17 15:25:33 2010 (r213980) +++ head/sbin/hastd/hastd.c Sun Oct 17 15:47:27 2010 (r213981) @@ -527,7 +527,8 @@ listen_accept(void) } else if (res->hr_remotein != NULL) { char oaddr[256]; - proto_remote_address(conn, oaddr, sizeof(oaddr)); + proto_remote_address(res->hr_remotein, oaddr, + sizeof(oaddr)); pjdlog_debug(1, "Canceling half-open connection from %s on connection from %s.", oaddr, raddr); From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 15:55:46 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6A0771065674; Sun, 17 Oct 2010 15:55:46 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 569188FC13; Sun, 17 Oct 2010 15:55:46 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HFtkIN036892; Sun, 17 Oct 2010 15:55:46 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HFtkRJ036890; Sun, 17 Oct 2010 15:55:46 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201010171555.o9HFtkRJ036890@svn.freebsd.org> From: Nathan Whitehorn Date: Sun, 17 Oct 2010 15:55:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213982 - stable/8/sys/powerpc/powerpc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 15:55:46 -0000 Author: nwhitehorn Date: Sun Oct 17 15:55:46 2010 New Revision: 213982 URL: http://svn.freebsd.org/changeset/base/213982 Log: MFC r213360: Missed some changes in the last commit required to build LINT. Modified: stable/8/sys/powerpc/powerpc/pmap_dispatch.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/powerpc/powerpc/pmap_dispatch.c ============================================================================== --- stable/8/sys/powerpc/powerpc/pmap_dispatch.c Sun Oct 17 15:47:27 2010 (r213981) +++ stable/8/sys/powerpc/powerpc/pmap_dispatch.c Sun Oct 17 15:55:46 2010 (r213982) @@ -429,7 +429,7 @@ void * pmap_mapdev_attr(vm_offset_t pa, vm_size_t size, vm_memattr_t attr) { - CTR3(KTR_PMAP, "%s(%#x, %#x)", __func__, pa, size); + CTR4(KTR_PMAP, "%s(%#x, %#x, %#x)", __func__, pa, size, attr); return (MMU_MAPDEV_ATTR(mmu_obj, pa, size, attr)); } @@ -437,7 +437,7 @@ void pmap_page_set_memattr(vm_page_t m, vm_memattr_t ma) { - CTR3(KTR_PMAP, "%s(%#x, %#x)", __func__, pa, size); + CTR3(KTR_PMAP, "%s(%p, %#x)", __func__, m, ma); return (MMU_PAGE_SET_MEMATTR(mmu_obj, m, ma)); } @@ -469,7 +469,7 @@ void pmap_kenter_attr(vm_offset_t va, vm_offset_t pa, vm_memattr_t ma) { - CTR3(KTR_PMAP, "%s(%#x, %#x)", __func__, va, pa); + CTR4(KTR_PMAP, "%s(%#x, %#x, %#x)", __func__, va, pa, ma); MMU_KENTER_ATTR(mmu_obj, va, pa, ma); } From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 16:30:33 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8D6081065697; Sun, 17 Oct 2010 16:30:33 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7AD258FC22; Sun, 17 Oct 2010 16:30:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HGUXQO037944; Sun, 17 Oct 2010 16:30:33 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HGUXH9037941; Sun, 17 Oct 2010 16:30:33 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201010171630.o9HGUXH9037941@svn.freebsd.org> From: Konstantin Belousov Date: Sun, 17 Oct 2010 16:30:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213983 - head/share/man/man9 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 16:30:33 -0000 Author: kib Date: Sun Oct 17 16:30:33 2010 New Revision: 213983 URL: http://svn.freebsd.org/changeset/base/213983 Log: Document vunref(9), add some important notes for vrele(9) and vput(9). Merge all three manpages to one, removing separate file for vput(9). MFC after: 1 week Deleted: head/share/man/man9/vput.9 Modified: head/share/man/man9/Makefile head/share/man/man9/vrele.9 Modified: head/share/man/man9/Makefile ============================================================================== --- head/share/man/man9/Makefile Sun Oct 17 15:55:46 2010 (r213982) +++ head/share/man/man9/Makefile Sun Oct 17 16:30:33 2010 (r213983) @@ -364,7 +364,6 @@ MAN= accept_filter.9 \ VOP_STRATEGY.9 \ VOP_VPTOCNP.9 \ VOP_VPTOFH.9 \ - vput.9 \ vref.9 \ vrefcnt.9 \ vrele.9 \ @@ -1366,6 +1365,8 @@ MLINKS+=VOP_RDWR.9 VOP_READ.9 \ VOP_RDWR.9 VOP_WRITE.9 MLINKS+=VOP_REMOVE.9 VOP_RMDIR.9 MLINKS+=vref.9 VREF.9 +MLINKS+=vrele.9 vput.9 \ + vrele.9 vunref.9 MLINKS+=vslock.9 vsunlock.9 MLINKS+=zero_copy.9 zero_copy_sockets.9 MLINKS+=zone.9 uma.9 \ Modified: head/share/man/man9/vrele.9 ============================================================================== --- head/share/man/man9/vrele.9 Sun Oct 17 15:55:46 2010 (r213982) +++ head/share/man/man9/vrele.9 Sun Oct 17 16:30:33 2010 (r213983) @@ -1,6 +1,7 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson +.\" Copyright (c) 2010 Konstantin Belousov .\" .\" All rights reserved. .\" @@ -28,17 +29,23 @@ .\" .\" $FreeBSD$ .\" -.Dd July 24, 1996 +.Dd October 17, 2010 .Dt VRELE 9 .Os .Sh NAME -.Nm vrele +.Nm vput , +.Nm vrele , +.Nm vunref .Nd decrement the use count for a vnode .Sh SYNOPSIS .In sys/param.h .In sys/vnode.h .Ft void +.Fn vput "struct vnode *vp" +.Ft void .Fn vrele "struct vnode *vp" +.Ft void +.Fn vunref "struct vnode *vp" .Sh DESCRIPTION Decrement the .Va v_usecount @@ -48,18 +55,51 @@ field of a vnode. the vnode to decrement .El .Pp -Any code in the system which is using a vnode should call +The .Fn vrele -when it is finished with the vnode. +function takes an unlocked vnode and returns with the vnode unlocked. +.Pp +.The +.Fn vput +function should be given a locked vnode as argument, the vnode is unlocked +after the function returned. +The +.Fn vput +is operationally equivalent to calling +.Xr VOP_UNLOCK 9 +followed by +.Xr vrele 9 , +with less overhead. +.Pp +The +.Fn vunref +function takes a locked vnode as argument, and returns with the vnode locked. +Nonetheless, the +.Fn vunref +might drop the vnode lock during the operation, so caller should not expect +that non-doomed vnode is still non-doomed after the function returned. +.Pp +Any code in the system which signified its use of a vnode by usecount +should call one of the listed function to decrement use counter. If the .Va v_usecount -field of the vnode reaches zero, then it will be placed on the free list. +field of the non-doomed vnode reaches zero, then it will be inactivated +and placed on the free list. +Since the functions might need to call VOPs for the vnode, the +.Va Giant +mutex should be conditionally locked around the call. +.Pp +The hold count for the vnode is always greater or equal to the usecount. +Non-forced unmount fails when mount point owns a vnode that has non-zero +usecount, see +.Xr vflush 9 . .Sh SEE ALSO .Xr vget 9 , .Xr vnode 9 , -.Xr vput 9 , .Xr vref 9 , .Xr vrefcnt 9 .Sh AUTHORS This manual page was written by -.An Doug Rabson . +.An Doug Rabson +and +.An Konstantin Belousov . From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 16:43:21 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DAB451065674; Sun, 17 Oct 2010 16:43:20 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C69CE8FC16; Sun, 17 Oct 2010 16:43:20 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HGhKBX038345; Sun, 17 Oct 2010 16:43:20 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HGhKkF038338; Sun, 17 Oct 2010 16:43:20 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010171643.o9HGhKkF038338@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sun, 17 Oct 2010 16:43:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213984 - stable/8/sbin/hastd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 16:43:21 -0000 Author: pjd Date: Sun Oct 17 16:43:20 2010 New Revision: 213984 URL: http://svn.freebsd.org/changeset/base/213984 Log: MFC r213183,r213428,r213429,r213430,r213529,r213530,r213531,r213533,r213579, r213580,r213938,r213939,r213981: r213183: Plug memory leak on fork(2) failure. Submitted by: Mikolaj Golub r213428: We can't mask ignored signal, so install dummy signal hander for SIGCHLD before masking it. This fixes bogus reports about hooks running for too long and other problems related to garbage-collecting child processes. Reported by: Mikolaj Golub r213429: hook_check() is now only used to report about long-running hooks, so the argument is redundant, remove it. r213430: Decrease report interval to 5 seconds, as this also means we will check for signals every 5 seconds and not every 10 seconds as before. r213529: Don't close local component on exit as we can hang waiting on g_waitidle. I'm unable to reproduce the race described in comment anymore and also the comment is incorrect - localfd represents local component from configuration file, eg. /dev/da0 and not HAST provider. Reported by: Mikolaj Golub r213530: Start the guard thread first, so we can handle signals from the very begining. Reported by: Mikolaj Golub r213531: Log error message when we fail to destroy ggate provider. r213533: Clear ggate structures before using them. We don't initialize all the field and there can be some garbage from the stack. r213579: We close the event socketpair early in the mainloop to prevent spaming with error messages, so when we clean up after child process, we have to check if the event socketpair is still there. Submitted by: Mikolaj Golub r213580: We can't zero out ggio request, as we have some fields in there we initialize once during start-up. Reported by: Mikolaj Golub r213938: Clear signal mask before executing a hook. Submitted by: Mikolaj Golub r213939: Use one fprintf() instead of two. r213981: Log correct connection when canceling half-open connection. Submitted by: Mikolaj Golub Modified: stable/8/sbin/hastd/control.c stable/8/sbin/hastd/hastd.c stable/8/sbin/hastd/hooks.c stable/8/sbin/hastd/hooks.h stable/8/sbin/hastd/pjdlog.c stable/8/sbin/hastd/primary.c Directory Properties: stable/8/sbin/hastd/ (props changed) Modified: stable/8/sbin/hastd/control.c ============================================================================== --- stable/8/sbin/hastd/control.c Sun Oct 17 16:30:33 2010 (r213983) +++ stable/8/sbin/hastd/control.c Sun Oct 17 16:43:20 2010 (r213984) @@ -58,8 +58,10 @@ child_cleanup(struct hast_resource *res) proto_close(res->hr_ctrl); res->hr_ctrl = NULL; - proto_close(res->hr_event); - res->hr_event = NULL; + if (res->hr_event != NULL) { + proto_close(res->hr_event); + res->hr_event = NULL; + } res->hr_workerpid = 0; } Modified: stable/8/sbin/hastd/hastd.c ============================================================================== --- stable/8/sbin/hastd/hastd.c Sun Oct 17 16:30:33 2010 (r213983) +++ stable/8/sbin/hastd/hastd.c Sun Oct 17 16:43:20 2010 (r213984) @@ -69,7 +69,7 @@ bool sigexit_received = false; struct pidfh *pfh; /* How often check for hooks running for too long. */ -#define REPORT_INTERVAL 10 +#define REPORT_INTERVAL 5 static void usage(void) @@ -527,7 +527,8 @@ listen_accept(void) } else if (res->hr_remotein != NULL) { char oaddr[256]; - proto_remote_address(conn, oaddr, sizeof(oaddr)); + proto_remote_address(res->hr_remotein, oaddr, + sizeof(oaddr)); pjdlog_debug(1, "Canceling half-open connection from %s on connection from %s.", oaddr, raddr); @@ -659,7 +660,7 @@ main_loop(void) assert(maxfd + 1 <= (int)FD_SETSIZE); ret = select(maxfd + 1, &rfds, NULL, NULL, &seltimeout); if (ret == 0) - hook_check(false); + hook_check(); else if (ret == -1) { if (errno == EINTR) continue; @@ -685,6 +686,12 @@ main_loop(void) } } +static void +dummy_sighandler(int sig __unused) +{ + /* Nothing to do. */ +} + int main(int argc, char *argv[]) { @@ -743,6 +750,11 @@ main(int argc, char *argv[]) cfg = yy_config_parse(cfgpath, true); assert(cfg != NULL); + /* + * Because SIGCHLD is ignored by default, setup dummy handler for it, + * so we can mask it. + */ + PJDLOG_VERIFY(signal(SIGCHLD, dummy_sighandler) != SIG_ERR); PJDLOG_VERIFY(sigemptyset(&mask) == 0); PJDLOG_VERIFY(sigaddset(&mask, SIGHUP) == 0); PJDLOG_VERIFY(sigaddset(&mask, SIGINT) == 0); Modified: stable/8/sbin/hastd/hooks.c ============================================================================== --- stable/8/sbin/hastd/hooks.c Sun Oct 17 16:30:33 2010 (r213983) +++ stable/8/sbin/hastd/hooks.c Sun Oct 17 16:43:20 2010 (r213984) @@ -293,24 +293,14 @@ hook_check_one(pid_t pid, int status) } void -hook_check(bool sigchld) +hook_check(void) { struct hookproc *hp, *hp2; - int status; time_t now; - pid_t pid; assert(hooks_initialized); /* - * If SIGCHLD was received, garbage collect finished processes. - */ - if (sigchld) { - while ((pid = wait3(&status, WNOHANG, NULL)) > 0) - hook_check_one(pid, status); - } - - /* * Report about processes that are running for a long time. */ now = time(NULL); @@ -364,6 +354,7 @@ hook_execv(const char *path, va_list ap) struct hookproc *hp; char *args[64]; unsigned int ii; + sigset_t mask; pid_t pid; assert(hooks_initialized); @@ -388,9 +379,12 @@ hook_execv(const char *path, va_list ap) switch (pid) { case -1: /* Error. */ pjdlog_errno(LOG_ERR, "Unable to fork to execute %s", path); + hook_free(hp); return; case 0: /* Child. */ descriptors(); + PJDLOG_VERIFY(sigemptyset(&mask) == 0); + PJDLOG_VERIFY(sigprocmask(SIG_SETMASK, &mask, NULL) == 0); execv(path, args); pjdlog_errno(LOG_ERR, "Unable to execute %s", path); exit(EX_SOFTWARE); Modified: stable/8/sbin/hastd/hooks.h ============================================================================== --- stable/8/sbin/hastd/hooks.h Sun Oct 17 16:30:33 2010 (r213983) +++ stable/8/sbin/hastd/hooks.h Sun Oct 17 16:43:20 2010 (r213984) @@ -41,7 +41,7 @@ void hook_init(void); void hook_fini(void); void hook_check_one(pid_t pid, int status); -void hook_check(bool sigchld); +void hook_check(void); void hook_exec(const char *path, ...); void hook_execv(const char *path, va_list ap); Modified: stable/8/sbin/hastd/pjdlog.c ============================================================================== --- stable/8/sbin/hastd/pjdlog.c Sun Oct 17 16:30:33 2010 (r213983) +++ stable/8/sbin/hastd/pjdlog.c Sun Oct 17 16:43:20 2010 (r213984) @@ -214,8 +214,7 @@ pjdlogv_common(int loglevel, int debugle /* Attach debuglevel if this is debug log. */ if (loglevel == LOG_DEBUG) fprintf(out, "[%d]", debuglevel); - fprintf(out, " "); - fprintf(out, "%s", pjdlog_prefix); + fprintf(out, " %s", pjdlog_prefix); vfprintf(out, fmt, ap); if (error != -1) fprintf(out, ": %s.", strerror(error)); Modified: stable/8/sbin/hastd/primary.c ============================================================================== --- stable/8/sbin/hastd/primary.c Sun Oct 17 16:30:33 2010 (r213983) +++ stable/8/sbin/hastd/primary.c Sun Oct 17 16:43:20 2010 (r213984) @@ -234,21 +234,17 @@ cleanup(struct hast_resource *res) /* Remember errno. */ rerrno = errno; - /* - * Close descriptor to /dev/hast/ - * to work-around race in the kernel. - */ - close(res->hr_localfd); - /* Destroy ggate provider if we created one. */ if (res->hr_ggateunit >= 0) { struct g_gate_ctl_destroy ggiod; + bzero(&ggiod, sizeof(ggiod)); ggiod.gctl_version = G_GATE_VERSION; ggiod.gctl_unit = res->hr_ggateunit; ggiod.gctl_force = 1; if (ioctl(res->hr_ggatefd, G_GATE_CMD_DESTROY, &ggiod) < 0) { - pjdlog_warning("Unable to destroy hast/%s device", + pjdlog_errno(LOG_WARNING, + "Unable to destroy hast/%s device", res->hr_provname); } res->hr_ggateunit = -1; @@ -705,6 +701,7 @@ init_ggate(struct hast_resource *res) * Create provider before trying to connect, as connection failure * is not critical, but may take some time. */ + bzero(&ggiocreate, sizeof(ggiocreate)); ggiocreate.gctl_version = G_GATE_VERSION; ggiocreate.gctl_mediasize = res->hr_datasize; ggiocreate.gctl_sectorsize = res->hr_local_sectorsize; @@ -714,7 +711,6 @@ init_ggate(struct hast_resource *res) ggiocreate.gctl_unit = G_GATE_NAME_GIVEN; snprintf(ggiocreate.gctl_name, sizeof(ggiocreate.gctl_name), "hast/%s", res->hr_provname); - bzero(ggiocreate.gctl_info, sizeof(ggiocreate.gctl_info)); if (ioctl(res->hr_ggatefd, G_GATE_CMD_CREATE, &ggiocreate) == 0) { pjdlog_info("Device hast/%s created.", res->hr_provname); res->hr_ggateunit = ggiocreate.gctl_unit; @@ -732,6 +728,7 @@ init_ggate(struct hast_resource *res) * provider died and didn't clean up. In that case we will start from * where he left of. */ + bzero(&ggiocancel, sizeof(ggiocancel)); ggiocancel.gctl_version = G_GATE_VERSION; ggiocancel.gctl_unit = G_GATE_NAME_GIVEN; snprintf(ggiocancel.gctl_name, sizeof(ggiocancel.gctl_name), "hast/%s", @@ -797,6 +794,12 @@ hastd_primary(struct hast_resource *res) init_ggate(res); init_environment(res); /* + * Create the guard thread first, so we can handle signals from the + * very begining. + */ + error = pthread_create(&td, NULL, guard_thread, res); + assert(error == 0); + /* * Create the control thread before sending any event to the parent, * as we can deadlock when parent sends control request to worker, * but worker has no control thread started yet, so parent waits. @@ -818,9 +821,7 @@ hastd_primary(struct hast_resource *res) assert(error == 0); error = pthread_create(&td, NULL, ggate_send_thread, res); assert(error == 0); - error = pthread_create(&td, NULL, sync_thread, res); - assert(error == 0); - (void)guard_thread(res); + (void)sync_thread(res); } static void From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 16:46:54 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5B40A1065674; Sun, 17 Oct 2010 16:46:54 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4897F8FC16; Sun, 17 Oct 2010 16:46:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HGksMJ038503; Sun, 17 Oct 2010 16:46:54 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HGks2U038501; Sun, 17 Oct 2010 16:46:54 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010171646.o9HGks2U038501@svn.freebsd.org> From: Marius Strobl Date: Sun, 17 Oct 2010 16:46:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213985 - head/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 16:46:54 -0000 Author: marius Date: Sun Oct 17 16:46:54 2010 New Revision: 213985 URL: http://svn.freebsd.org/changeset/base/213985 Log: - In oneshot-mode it doesn't make sense to try to compensate the clock drift in order to achieve a more stable clock as the tick intervals may vary in the first place. In fact I haven't seen this code kick in when in oneshot-mode so just skip it in that case. - There's no need to explicitly stop the (S)TICK counter in oneshot-mode with every tick as it just won't trigger again with the (S)TICK compare register set to a value in the past (with a wrap-around once every ~195 years of uptime at 1.5 GHz this isn't something we have to worry about in practice). - Given that we'll disable interrupts completely anyway there's no need to enter critical sections. Modified: head/sys/sparc64/sparc64/tick.c Modified: head/sys/sparc64/sparc64/tick.c ============================================================================== --- head/sys/sparc64/sparc64/tick.c Sun Oct 17 16:43:20 2010 (r213984) +++ head/sys/sparc64/sparc64/tick.c Sun Oct 17 16:46:54 2010 (r213985) @@ -96,8 +96,8 @@ static int tick_et_start(struct eventtim static int tick_et_stop(struct eventtimer *et); static void tick_intr(struct trapframe *tf); static void tick_intr_bbwar(struct trapframe *tf); -static inline void tick_hardclock_common(struct trapframe *tf, u_long tick, - u_long adj); +static inline void tick_hardclock_periodic(struct trapframe *tf, u_long tick, + u_long tick_increment, u_long adj); static inline void tick_process(struct trapframe *tf); static void stick_intr(struct trapframe *tf); @@ -225,18 +225,18 @@ tick_intr(struct trapframe *tf) u_long adj, tick, tick_increment; register_t s; - critical_enter(); - adj = PCPU_GET(tickadj); - tick_increment = PCPU_GET(tickincrement); s = intr_disable(); - tick = rd(tick); - if (tick_increment != 0) + tick_increment = PCPU_GET(tickincrement); + if (tick_increment != 0) { + adj = PCPU_GET(tickadj); + tick = rd(tick); wr(tick_cmpr, tick + tick_increment - adj, 0); - else - wr(tick_cmpr, 1L << 63, 0); - intr_restore(s); - tick_hardclock_common(tf, tick, adj); - critical_exit(); + intr_restore(s); + tick_hardclock_periodic(tf, tick, tick_increment, adj); + } else { + intr_restore(s); + tick_process(tf); + } } static void @@ -245,18 +245,18 @@ tick_intr_bbwar(struct trapframe *tf) u_long adj, tick, tick_increment; register_t s; - critical_enter(); - adj = PCPU_GET(tickadj); - tick_increment = PCPU_GET(tickincrement); s = intr_disable(); - tick = rd(tick); - if (tick_increment != 0) + tick_increment = PCPU_GET(tickincrement); + if (tick_increment != 0) { + adj = PCPU_GET(tickadj); + tick = rd(tick); wrtickcmpr(tick + tick_increment - adj, 0); - else - wrtickcmpr(1L << 63, 0); - intr_restore(s); - tick_hardclock_common(tf, tick, adj); - critical_exit(); + intr_restore(s); + tick_hardclock_periodic(tf, tick, tick_increment, adj); + } else { + intr_restore(s); + tick_process(tf); + } } static void @@ -265,28 +265,28 @@ stick_intr(struct trapframe *tf) u_long adj, stick, tick_increment; register_t s; - critical_enter(); - adj = PCPU_GET(tickadj); - tick_increment = PCPU_GET(tickincrement); s = intr_disable(); - stick = rdstick(); - if (tick_increment != 0) + tick_increment = PCPU_GET(tickincrement); + if (tick_increment != 0) { + adj = PCPU_GET(tickadj); + stick = rdstick(); wrstickcmpr(stick + tick_increment - adj, 0); - else - wrstickcmpr(1L << 63, 0); - intr_restore(s); - tick_hardclock_common(tf, stick, adj); - critical_exit(); + intr_restore(s); + tick_hardclock_periodic(tf, stick, tick_increment, adj); + } else { + intr_restore(s); + tick_process(tf); + } } static inline void -tick_hardclock_common(struct trapframe *tf, u_long tick, u_long adj) +tick_hardclock_periodic(struct trapframe *tf, u_long tick, + u_long tick_increment, u_long adj) { - u_long ref, tick_increment; + u_long ref; long delta; int count; - tick_increment = PCPU_GET(tickincrement); ref = PCPU_GET(tickref); delta = tick - ref; count = 0; @@ -297,8 +297,6 @@ tick_hardclock_common(struct trapframe * if (adj != 0) adjust_ticks++; count++; - if (tick_increment == 0) - break; } if (count > 0) { adjust_missed += count - 1; @@ -361,11 +359,10 @@ tick_get_timecount_mp(struct timecounter #endif static int -tick_et_start(struct eventtimer *et, - struct bintime *first, struct bintime *period) +tick_et_start(struct eventtimer *et, struct bintime *first, + struct bintime *period) { - u_long fdiv, div; - u_long base; + u_long base, div, fdiv; register_t s; if (period != NULL) { @@ -387,22 +384,21 @@ tick_et_start(struct eventtimer *et, * on all CPUs to avoid inaccuracies for migrating processes. Leave * out one tick to make sure that it is not missed. */ - critical_enter(); - PCPU_SET(tickadj, 0); s = intr_disable(); if (hardclock_use_stick != 0) base = rdstick(); else base = rd(tick); - if (div != 0) + if (div != 0) { + PCPU_SET(tickadj, 0); base = roundup(base, div); + } PCPU_SET(tickref, base); if (hardclock_use_stick != 0) wrstickcmpr(base + fdiv, 0); else wrtickcmpr(base + fdiv, 0); intr_restore(s); - critical_exit(); return (0); } From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 17:31:49 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AF1A0106564A; Sun, 17 Oct 2010 17:31:49 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9CA128FC12; Sun, 17 Oct 2010 17:31:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HHVn0G039762; Sun, 17 Oct 2010 17:31:49 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HHVnSE039760; Sun, 17 Oct 2010 17:31:49 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201010171731.o9HHVnSE039760@svn.freebsd.org> From: Nathan Whitehorn Date: Sun, 17 Oct 2010 17:31:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213986 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 17:31:49 -0000 Author: nwhitehorn Date: Sun Oct 17 17:31:49 2010 New Revision: 213986 URL: http://svn.freebsd.org/changeset/base/213986 Log: Fix an XXX comment by answering 'no'. OS X does not set the day-of-week counter on SMU-based systems, which causes FreeBSD to reject the RTC time when used in a dual-boot environment. Since we don't use the day-of-week counter anyway, solve this by just not checking that it matches. MFC after: 3 weeks Modified: head/sys/kern/subr_clock.c Modified: head/sys/kern/subr_clock.c ============================================================================== --- head/sys/kern/subr_clock.c Sun Oct 17 16:46:54 2010 (r213985) +++ head/sys/kern/subr_clock.c Sun Oct 17 17:31:49 2010 (r213986) @@ -164,10 +164,6 @@ clock_ct_to_ts(struct clocktime *ct, str days += days_in_month(year, i); days += (ct->day - 1); - /* XXX Dow sanity check. Dow is not used, so should we check it? */ - if (ct->dow != -1 && ct->dow != day_of_week(days)) - return (EINVAL); - /* Add hours, minutes, seconds. */ secs = ((days * 24 + ct->hour) * 60 + ct->min) * 60 + ct->sec; From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 17:39:54 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D96551065693; Sun, 17 Oct 2010 17:39:54 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C5E138FC13; Sun, 17 Oct 2010 17:39:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HHdshN040028; Sun, 17 Oct 2010 17:39:54 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HHdsOE040023; Sun, 17 Oct 2010 17:39:54 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201010171739.o9HHdsOE040023@svn.freebsd.org> From: Gleb Smirnoff Date: Sun, 17 Oct 2010 17:39:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213987 - in stable/8/sys/dev/usb: . serial X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 17:39:55 -0000 Author: glebius Date: Sun Oct 17 17:39:54 2010 New Revision: 213987 URL: http://svn.freebsd.org/changeset/base/213987 Log: Merge from head 213480,213481,213717: Add support to Alcatel/TCTMobile X080S USB 3G modem. The device needs special eject command to reappear as modem. It also requires DIR_IN flag in the command message, so we supply some dummy data along with the command. Modified: stable/8/sys/dev/usb/serial/u3g.c stable/8/sys/dev/usb/usb_msctest.c stable/8/sys/dev/usb/usb_msctest.h stable/8/sys/dev/usb/usbdevs Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/dev/usb/serial/u3g.c ============================================================================== --- stable/8/sys/dev/usb/serial/u3g.c Sun Oct 17 17:31:49 2010 (r213986) +++ stable/8/sys/dev/usb/serial/u3g.c Sun Oct 17 17:39:54 2010 (r213987) @@ -93,6 +93,7 @@ SYSCTL_INT(_hw_usb_u3g, OID_AUTO, debug, #define U3GINIT_WAIT 7 /* Device reappears after a delay */ #define U3GINIT_SAEL_M460 8 /* Requires vendor init */ #define U3GINIT_HUAWEISCSI 9 /* Requires Huawei SCSI init command */ +#define U3GINIT_TCT 10 /* Requires TCT Mobile init command */ enum { U3G_BULK_WR, @@ -491,6 +492,7 @@ static const struct usb_device_id u3g_de U3G_DEV(STELERA, E1011, 0), U3G_DEV(STELERA, E1012, 0), U3G_DEV(TCTMOBILE, X060S, 0), + U3G_DEV(TCTMOBILE, X080S, U3GINIT_TCT), U3G_DEV(TELIT, UC864E, 0), U3G_DEV(TELIT, UC864G, 0), U3G_DEV(TLAYTECH, TEU800, 0), @@ -668,6 +670,9 @@ u3g_test_autoinst(void *arg, struct usb_ case U3GINIT_CMOTECH: error = usb_msc_eject(udev, 0, MSC_EJECT_CMOTECH); break; + case U3GINIT_TCT: + error = usb_msc_eject(udev, 0, MSC_EJECT_TCT); + break; case U3GINIT_SIERRA: error = u3g_sierra_init(udev); break; Modified: stable/8/sys/dev/usb/usb_msctest.c ============================================================================== --- stable/8/sys/dev/usb/usb_msctest.c Sun Oct 17 17:31:49 2010 (r213986) +++ stable/8/sys/dev/usb/usb_msctest.c Sun Oct 17 17:39:54 2010 (r213987) @@ -97,6 +97,7 @@ static uint8_t scsi_cmotech_eject[] = static uint8_t scsi_huawei_eject[] = { 0x11, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; +static uint8_t scsi_tct_eject[] = { 0x06, 0xf5, 0x04, 0x02, 0x52, 0x70 }; #define BULK_SIZE 64 /* dummy */ #define ERR_CSW_FAILED -1 @@ -467,7 +468,6 @@ bbb_command_start(struct bbb_transfer *s sc->data_rem = data_len; sc->data_timeout = (data_timeout + USB_MS_HZ); sc->actlen = 0; - sc->data_ptr = data_ptr; sc->cmd_len = cmd_len; bzero(&sc->cbw.CBWCDB, sizeof(sc->cbw.CBWCDB)); bcopy(cmd_ptr, &sc->cbw.CBWCDB, cmd_len); @@ -619,6 +619,15 @@ usb_msc_eject(struct usb_device *udev, u &scsi_huawei_eject, sizeof(scsi_huawei_eject), USB_MS_HZ); break; + case MSC_EJECT_TCT: + /* + * TCTMobile needs DIR_IN flag. To get it, we + * supply a dummy data with the command. + */ + err = bbb_command_start(sc, DIR_IN, 0, &sc->buffer, + sizeof(sc->buffer), &scsi_tct_eject, + sizeof(scsi_tct_eject), USB_MS_HZ); + break; default: printf("usb_msc_eject: unknown eject method (%d)\n", method); break; Modified: stable/8/sys/dev/usb/usb_msctest.h ============================================================================== --- stable/8/sys/dev/usb/usb_msctest.h Sun Oct 17 17:31:49 2010 (r213986) +++ stable/8/sys/dev/usb/usb_msctest.h Sun Oct 17 17:39:54 2010 (r213987) @@ -33,6 +33,7 @@ enum { MSC_EJECT_ZTESTOR, MSC_EJECT_CMOTECH, MSC_EJECT_HUAWEI, + MSC_EJECT_TCT, }; int usb_iface_is_cdrom(struct usb_device *udev, Modified: stable/8/sys/dev/usb/usbdevs ============================================================================== --- stable/8/sys/dev/usb/usbdevs Sun Oct 17 17:31:49 2010 (r213986) +++ stable/8/sys/dev/usb/usbdevs Sun Oct 17 17:39:54 2010 (r213987) @@ -3127,6 +3127,7 @@ product TAUGA CAMERAMATE 0x0005 CameraMa /* TCTMobile products */ product TCTMOBILE X060S 0x0000 X060S 3G modem +product TCTMOBILE X080S 0xf000 X080S 3G modem /* TDK products */ product TDK UPA9664 0x0115 USB-PDC Adapter UPA9664 From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 18:48:51 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9F1D8106564A; Sun, 17 Oct 2010 18:48:51 +0000 (UTC) (envelope-from culot@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8CF988FC19; Sun, 17 Oct 2010 18:48:51 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HImpxW042040; Sun, 17 Oct 2010 18:48:51 GMT (envelope-from culot@svn.freebsd.org) Received: (from culot@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HImpQn042038; Sun, 17 Oct 2010 18:48:51 GMT (envelope-from culot@svn.freebsd.org) Message-Id: <201010171848.o9HImpQn042038@svn.freebsd.org> From: Frederic Culot Date: Sun, 17 Oct 2010 18:48:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213988 - head/share/misc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 18:48:51 -0000 Author: culot (ports committer) Date: Sun Oct 17 18:48:51 2010 New Revision: 213988 URL: http://svn.freebsd.org/changeset/base/213988 Log: Add an entry for myself to committers-ports.dot. Approved by: sahil@ (mentor) Modified: head/share/misc/committers-ports.dot Modified: head/share/misc/committers-ports.dot ============================================================================== --- head/share/misc/committers-ports.dot Sun Oct 17 17:39:54 2010 (r213987) +++ head/share/misc/committers-ports.dot Sun Oct 17 18:48:51 2010 (r213988) @@ -66,6 +66,7 @@ chinsan [label="Chinsan Huang\nchinsan@F clement [label="Clement Laforet\nclement@FreeBSD.org\n2003/12/17"] clsung [label="Cheng-Lung Sung\nclsung@FreeBSD.org\n2004/8/18"] cperciva [label="Colin Percival\ncperciva@FreeBSD.org\n2006/01/31"] +culot [label="Frederic Culot\nculot@FreeBSD.org\n2010/10/16"] daichi [label="Daichi Goto\ndaichi@FreeBSD.org\n2002/10/17"] danfe [label="Alexey Dokuchaev\ndanfe@FreeBSD.org\n2004/08/20"] db [label="Diane Bruce\ndb@FreeBSD.org\n2007/01/18"] @@ -340,6 +341,8 @@ philip -> koitsu rafan -> chinsan +sahil -> culot + sat -> beech sem -> az @@ -373,6 +376,8 @@ thierry -> jadawin tmclaugh -> itetcu tmclaugh -> xride +wen -> culot + will -> lioux wxs -> jsa From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 18:49:46 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 385F51065673; Sun, 17 Oct 2010 18:49:46 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0C2DC8FC14; Sun, 17 Oct 2010 18:49:46 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HInjlI042105; Sun, 17 Oct 2010 18:49:45 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HInjGA042104; Sun, 17 Oct 2010 18:49:45 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201010171849.o9HInjGA042104@svn.freebsd.org> From: Dimitry Andric Date: Sun, 17 Oct 2010 18:49:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213989 - head/contrib/binutils X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 18:49:46 -0000 Author: dim Date: Sun Oct 17 18:49:45 2010 New Revision: 213989 URL: http://svn.freebsd.org/changeset/base/213989 Log: Bootstrap merge history for binutils. Modified: Directory Properties: head/contrib/binutils/ (props changed) From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 19:02:42 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 859151065673; Sun, 17 Oct 2010 19:02:42 +0000 (UTC) (envelope-from culot@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 732678FC1E; Sun, 17 Oct 2010 19:02:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HJ2gTV042595; Sun, 17 Oct 2010 19:02:42 GMT (envelope-from culot@svn.freebsd.org) Received: (from culot@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HJ2gjw042593; Sun, 17 Oct 2010 19:02:42 GMT (envelope-from culot@svn.freebsd.org) Message-Id: <201010171902.o9HJ2gjw042593@svn.freebsd.org> From: Frederic Culot Date: Sun, 17 Oct 2010 19:02:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213990 - head/usr.bin/calendar/calendars X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 19:02:42 -0000 Author: culot (ports committer) Date: Sun Oct 17 19:02:42 2010 New Revision: 213990 URL: http://svn.freebsd.org/changeset/base/213990 Log: Add myself to calendar.freebsd. Approved by: sahil@ (mentor) Modified: head/usr.bin/calendar/calendars/calendar.freebsd Modified: head/usr.bin/calendar/calendars/calendar.freebsd ============================================================================== --- head/usr.bin/calendar/calendars/calendar.freebsd Sun Oct 17 18:49:45 2010 (r213989) +++ head/usr.bin/calendar/calendars/calendar.freebsd Sun Oct 17 19:02:42 2010 (r213990) @@ -302,6 +302,7 @@ 11/19 Konstantin Belousov born in Kiev, USSR, 1972 11/20 Dmitry Morozovsky born in Moscow, USSR, 1968 11/20 Gavin Atkinson born in Middlesbrough, United Kingdom, 1979 +11/22 Frederic Culot born in Saint-Germain-En-Laye, France, 1976 11/23 Josef Lawrence Karthauser born in Pembury, Kent, United Kingdom, 1972 11/24 Andrey Zakhvatov born in Chelyabinsk, Russian Federation, 1974 11/24 Daniel Gerzo born in Bratislava, Slovakia, 1986 From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 19:03:24 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 580B2106566C; Sun, 17 Oct 2010 19:03:24 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2B94E8FC24; Sun, 17 Oct 2010 19:03:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HJ3Ort042665; Sun, 17 Oct 2010 19:03:24 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HJ3O4f042664; Sun, 17 Oct 2010 19:03:24 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201010171903.o9HJ3O4f042664@svn.freebsd.org> From: Dimitry Andric Date: Sun, 17 Oct 2010 19:03:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213991 - vendor/binutils/2.15-r191844-obrien X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 19:03:24 -0000 Author: dim Date: Sun Oct 17 19:03:23 2010 New Revision: 213991 URL: http://svn.freebsd.org/changeset/base/213991 Log: Tag vendor/binutils/dist, as it existed at r191844. Added: vendor/binutils/2.15-r191844-obrien/ - copied from r213990, vendor/binutils/dist/ From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 20:01:56 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A12D81065672; Sun, 17 Oct 2010 20:01:56 +0000 (UTC) (envelope-from scottl@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8F8B58FC08; Sun, 17 Oct 2010 20:01:56 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HK1usr044330; Sun, 17 Oct 2010 20:01:56 GMT (envelope-from scottl@svn.freebsd.org) Received: (from scottl@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HK1ubZ044328; Sun, 17 Oct 2010 20:01:56 GMT (envelope-from scottl@svn.freebsd.org) Message-Id: <201010172001.o9HK1ubZ044328@svn.freebsd.org> From: Scott Long Date: Sun, 17 Oct 2010 20:01:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213993 - head/sys/modules/mps X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 20:01:56 -0000 Author: scottl Date: Sun Oct 17 20:01:56 2010 New Revision: 213993 URL: http://svn.freebsd.org/changeset/base/213993 Log: Re-add opt_mps.h and opt_cam.h, lost in the previous rev. Modified: head/sys/modules/mps/Makefile Modified: head/sys/modules/mps/Makefile ============================================================================== --- head/sys/modules/mps/Makefile Sun Oct 17 19:22:19 2010 (r213992) +++ head/sys/modules/mps/Makefile Sun Oct 17 20:01:56 2010 (r213993) @@ -4,7 +4,7 @@ KMOD= mps SRCS= mps_pci.c mps.c mps_sas.c mps_table.c mps_user.c -SRCS+= opt_compat.h +SRCS+= opt_mps.h opt_cam.h opt_compat.h SRCS+= device_if.h bus_if.h pci_if.h #CFLAGS += -DMPS_DEBUG From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 20:10:00 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 96E3E106566C; Sun, 17 Oct 2010 20:10:00 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7F6D78FC15; Sun, 17 Oct 2010 20:10:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HKA0wi044621; Sun, 17 Oct 2010 20:10:00 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HKA0MT044610; Sun, 17 Oct 2010 20:10:00 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010172010.o9HKA0MT044610@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sun, 17 Oct 2010 20:10:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213994 - in stable/8: etc/periodic/daily etc/rc.d sbin/geom/class/part sbin/geom/class/sched sys/boot/common sys/boot/i386/common sys/boot/i386/gptboot sys/boot/i386/gptzfsboot sys/boo... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 20:10:00 -0000 Author: pjd Date: Sun Oct 17 20:10:00 2010 New Revision: 213994 URL: http://svn.freebsd.org/changeset/base/213994 Log: MFC r213133,r213135,r213136,r213137,r213245: r213133: Add three GPT attributes: GPT_ENT_ATTR_BOOTME - this is bootable partition GPT_ENT_ATTR_BOOTONCE - try to boot only once from this partition GPT_ENT_ATTR_BOOTFAILED - set this flag if we cannot boot from partition containing GPT_ENT_ATTR_BOOTONCE flag; note that if we cannot boot from partition that contains only GPT_ENT_ATTR_BOOTME flag, the GPT_ENT_ATTR_BOOTFAILED flag won't be set According to wikipedia Microsoft TechNet says that attributes are divided into two halves: the lower 4 bytes representing partition independent attributes, and the upper 4 bytes are partition type dependent. Microsoft is already using bits 60 (read-only), 62 (hidden) and 63 (do not automount) and I'd like to not collide with those, so we are using bit 59 (bootme), 58 (bootonce) and 57 (bootfailed). Reviewed by: arch (Message-ID: <20100917234542.GE1902@garage.freebsd.pl>) r213135: Allow to configure GPT attributes. It shouldn't be allowed to set bootfailed attribute (it should be allowed only to unset it), but for test purposes it might be useful, so the current code allows it. Reviewed by: arch@ (Message-ID: <20100917234542.GE1902@garage.freebsd.pl>) r213136: - Split code shared by almost any boot loader into separate files and clean up most layering violations: sys/boot/i386/common/rbx.h: RBX_* defines OPT_SET() OPT_CHECK() sys/boot/common/util.[ch]: memcpy() memset() memcmp() bcpy() bzero() bcmp() strcmp() strncmp() [new] strcpy() strcat() strchr() strlen() printf() sys/boot/i386/common/cons.[ch]: ioctrl putc() xputc() putchar() getc() xgetc() keyhit() [now takes number of seconds as an argument] getstr() sys/boot/i386/common/drv.[ch]: struct dsk drvread() drvwrite() [new] drvsize() [new] sys/boot/common/crc32.[ch] [new] sys/boot/common/gpt.[ch] [new] - Teach gptboot and gptzfsboot about new files. I haven't touched the rest, but there is still a lot of code duplication to be removed. - Implement full GPT support. Currently we just read primary header and partition table and don't care about checksums, etc. After this change we verify checksums of primary header and primary partition table and if there is a problem we fall back to backup header and backup partition table. - Clean up most messages to use prefix of boot program, so in case of an error we know where the error comes from, eg.: gptboot: unable to read primary GPT header - If we can't boot, print boot prompt only once and not every five seconds. - Honour newly added GPT attributes: bootme - this is bootable partition bootonce - try to boot from this partition only once bootfailed - we failed to boot from this partition - Change boot order of gptboot to the following: 1. Try to boot from all the partitions that have both 'bootme' and 'bootonce' attributes one by one. 2. Try to boot from all the partitions that have only 'bootme' attribute one by one. 3. If there are no partitions with 'bootme' attribute, boot from the first UFS partition. - The 'bootonce' functionality is implemented in the following way: 1. Walk through all the partitions and when 'bootonce' attribute is found without 'bootme' attribute, remove 'bootonce' attribute and set 'bootfailed' attribute. 'bootonce' attribute alone means that we tried to boot from this partition, but boot failed after leaving gptboot and machine was restarted. 2. Find partition with both 'bootme' and 'bootonce' attributes. 3. Remove 'bootme' attribute. 4. Try to execute /boot/loader or /boot/kernel/kernel from that partition. If succeeded we stop here. 5. If execution failed, remove 'bootonce' and set 'bootfailed'. 6. Go to 2. If whole boot succeeded there is new /etc/rc.d/gptboot script coming that will log all partitions that we failed to boot from (the ones with 'bootfailed' attribute) and will remove this attribute. It will also find partition with 'bootonce' attribute - this is the partition we booted from successfully. The script will log success and remove the attribute. All the GPT updates we do here goes to both primary and backup GPT if they are valid. We don't touch headers or partition tables when checksum doesn't match. Reviewed by: arch (Message-ID: <20100917234542.GE1902@garage.freebsd.pl>) Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r213137: Add gptboot script that is responsible for: - looking for partition with 'bootonce' attribute alone (without 'bootme' attribute), removing it and logging that we successfully booted from this partition. - looking for partitions with 'bootfailed' attribute, removing it and logging that we failed to boot from this partition. Reviewed by: arch (Message-ID: <20100917234542.GE1902@garage.freebsd.pl>) Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r213245: Document recently added GPT attributes (bootme, bootonce, bootfailed) and list other schemes attributes. Reviewed by: simon, rpaulo Added: stable/8/etc/rc.d/gptboot - copied unchanged from r213137, head/etc/rc.d/gptboot stable/8/sys/boot/common/crc32.c - copied unchanged from r213136, head/sys/boot/common/crc32.c stable/8/sys/boot/common/crc32.h - copied unchanged from r213136, head/sys/boot/common/crc32.h stable/8/sys/boot/common/gpt.c - copied unchanged from r213136, head/sys/boot/common/gpt.c stable/8/sys/boot/common/gpt.h - copied unchanged from r213136, head/sys/boot/common/gpt.h stable/8/sys/boot/common/util.c - copied unchanged from r213136, head/sys/boot/common/util.c stable/8/sys/boot/common/util.h - copied unchanged from r213136, head/sys/boot/common/util.h stable/8/sys/boot/i386/common/ - copied from r213136, head/sys/boot/i386/common/ Modified: stable/8/etc/rc.d/Makefile stable/8/sbin/geom/class/part/gpart.8 stable/8/sys/boot/i386/gptboot/Makefile stable/8/sys/boot/i386/gptboot/gptboot.c stable/8/sys/boot/i386/gptzfsboot/Makefile stable/8/sys/boot/i386/zfsboot/Makefile stable/8/sys/boot/i386/zfsboot/zfsboot.c stable/8/sys/boot/zfs/Makefile stable/8/sys/boot/zfs/zfsimpl.c stable/8/sys/geom/part/g_part_gpt.c stable/8/sys/sys/gpt.h Directory Properties: stable/8/etc/ (props changed) stable/8/etc/periodic/daily/ (props changed) stable/8/etc/periodic/daily/800.scrub-zfs (props changed) stable/8/sbin/geom/ (props changed) stable/8/sbin/geom/class/part/ (props changed) stable/8/sbin/geom/class/sched/gsched.8 (props changed) stable/8/sbin/geom/class/stripe/ (props changed) stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/etc/rc.d/Makefile ============================================================================== --- stable/8/etc/rc.d/Makefile Sun Oct 17 20:01:56 2010 (r213993) +++ stable/8/etc/rc.d/Makefile Sun Oct 17 20:10:00 2010 (r213994) @@ -11,7 +11,7 @@ FILES= DAEMON FILESYSTEMS LOGIN NETWORKI dmesg dumpon \ encswap \ fsck ftp-proxy ftpd \ - gbde geli geli2 gssd \ + gbde geli geli2 gptboot gssd \ hastd hcsecd \ hostapd hostid hostid_save hostname \ inetd initrandom \ Copied: stable/8/etc/rc.d/gptboot (from r213137, head/etc/rc.d/gptboot) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/8/etc/rc.d/gptboot Sun Oct 17 20:10:00 2010 (r213994, copy of r213137, head/etc/rc.d/gptboot) @@ -0,0 +1,76 @@ +#!/bin/sh +# +# Copyright (c) 2010 Pawel Jakub Dawidek +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# PROVIDE: gptboot +# REQUIRE: mountcritremote +# KEYWORD: nojail + +. /etc/rc.subr + +name="gptboot" +start_cmd="gptboot_report" + +gptboot_report() +{ + gpart show | \ + egrep '(^=>| freebsd-ufs .*(\[|,)(bootfailed|bootonce)(,|\]))' | \ + sed 's/^=>//' | \ + egrep -v '(\[|,)bootme(,|\])' | \ + while read start size pos type attrs rest; do + case "${pos}" in + [0-9]*) + if [ -n "${disk}" ]; then + part="${disk}p${pos}" + echo "${attrs}" | egrep -q '(\[|,)bootfailed(,|\])' + bootfailed=$? + echo "${attrs}" | egrep -q '(\[|,)bootonce(,|\])' + bootonce=$? + if [ ${bootfailed} -eq 0 ]; then + logger -t gptboot -p local0.notice "Boot from ${part} failed." + gpart unset -a bootfailed -i ${pos} ${disk} >/dev/null + elif [ ${bootonce} -eq 0 ]; then + # We want to log success after all failures. + echo -n "Boot from ${part} succeeded." + gpart unset -a bootonce -i ${pos} ${disk} >/dev/null + fi + fi + ;; + *) + if [ "${type}" = "GPT" ]; then + disk="${pos}" + else + disk="" + fi + ;; + esac + done | logger -t gptboot -p local0.notice +} + +load_rc_config $name +run_rc_command "$1" Modified: stable/8/sbin/geom/class/part/gpart.8 ============================================================================== --- stable/8/sbin/geom/class/part/gpart.8 Sun Oct 17 20:01:56 2010 (r213993) +++ stable/8/sbin/geom/class/part/gpart.8 Sun Oct 17 20:10:00 2010 (r213994) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd Sep 24, 2010 +.Dd September 28, 2010 .Dt GPART 8 .Os .Sh NAME @@ -382,6 +382,9 @@ about its use. .\" ==== SET ==== .It Cm set Set the named attribute on the partition entry. +See the section entitled +.Sx "ATTRIBUTES" +below for a list of available attributes. .Pp Additional options include: .Bl -tag -width 10n @@ -406,6 +409,9 @@ action and can be used to undo any chang .\" ==== UNSET ==== .It Cm unset Clear the named attribute on the partition entry. +See the section entitled +.Sx "ATTRIBUTES" +below for a list of available attributes. .Pp Additional options include: .Bl -tag -width 10n @@ -502,6 +508,103 @@ This type is known as .Qq Li "!024dee41-33e7-11d3-9d69-0008c781f39f" by GPT. .El +.Sh ATTRIBUTES +The scheme-specific attributes for EBR: +.Bl -tag -width ".Ar active" +.It Ar active +.El +.Pp +The scheme-specific attributes for GPT: +.Bl -tag -width ".Ar bootfailed" +.It Ar bootme +When set, the +.Nm gptboot +stage 1 boot loader will try to boot the system from this partition. +Multiple partitions might be marked with the +.Ar bootme +attribute. +In such scenario the +.Nm gptboot +will try all +.Ar bootme +partitions one by one, until the next boot stage is successfully entered. +.It Ar bootonce +Setting this attribute automatically sets the +.Ar bootme +attribute. +When set, the +.Nm gptboot +stage 1 boot loader will try to boot the system from this partition only once. +Partitions with both +.Ar bootonce +and +.Ar bootme +attributes are tried before partitions with only the +.Ar bootme +attribute. +Before +.Ar bootonce +partition is tried, the +.Nm gptboot +removes the +.Ar bootme +attribute and tries to execute the next boot stage. +If it fails, the +.Ar bootonce +attribute that is now alone is replaced with the +.Ar bootfailed +attribute. +If the execution of the next boot stage succeeds, but the system is not fully +booted, the +.Nm gptboot +will look for +.Ar bootonce +attributes alone (without the +.Ar bootme +attribute) on the next system boot and will replace those with the +.Ar bootfailed +attribute. +If the system is fully booted, the +.Pa /etc/rc.d/gptboot +start-up script will look for partition with the +.Ar bootonce +attribute alone, will remove the attribute and log that the system was +successfully booted from this partition. +There should be at most one +.Ar bootonce +partition when system is successfully booted. +Multiple partitions might be marked with the +.Ar bootonce +and +.Ar bootme +attribute pairs. +.It Ar bootfailed +This attribute should not be manually managed. +It is managed by the +.Nm gptboot +stage 1 boot loader and the +.Pa /etc/rc.d/gptboot +start-up script. +This attribute is used to mark partitions that had the +.Ar bootonce +attribute set, but we failed to boot from them. +Once we successfully boot, the +.Pa /etc/rc.d/gptboot +script will log all the partitions we failed to boot from and will remove the +.Ar bootfailed +attributes. +.El +.Pp +The scheme-specific attributes for MBR: +.Bl -tag -width ".Ar active" +.It Ar active +.El +.Pp +The scheme-specific attributes for PC98: +.Bl -tag -width ".Ar bootable" +.It Ar active +.It Ar bootable +.El .Sh OPERATIONAL FLAGS Actions other than the .Cm commit Copied: stable/8/sys/boot/common/crc32.c (from r213136, head/sys/boot/common/crc32.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/8/sys/boot/common/crc32.c Sun Oct 17 20:10:00 2010 (r213994, copy of r213136, head/sys/boot/common/crc32.c) @@ -0,0 +1,108 @@ +/*- + * COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or + * code or tables extracted from it, as desired without restriction. + */ + +/* + * First, the polynomial itself and its table of feedback terms. The + * polynomial is + * X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0 + * + * Note that we take it "backwards" and put the highest-order term in + * the lowest-order bit. The X^32 term is "implied"; the LSB is the + * X^31 term, etc. The X^0 term (usually shown as "+1") results in + * the MSB being 1 + * + * Note that the usual hardware shift register implementation, which + * is what we're using (we're merely optimizing it by doing eight-bit + * chunks at a time) shifts bits into the lowest-order term. In our + * implementation, that means shifting towards the right. Why do we + * do it this way? Because the calculated CRC must be transmitted in + * order from highest-order term to lowest-order term. UARTs transmit + * characters in order from LSB to MSB. By storing the CRC this way + * we hand it to the UART in the order low-byte to high-byte; the UART + * sends each low-bit to hight-bit; and the result is transmission bit + * by bit from highest- to lowest-order term without requiring any bit + * shuffling on our part. Reception works similarly + * + * The feedback terms table consists of 256, 32-bit entries. Notes + * + * The table can be generated at runtime if desired; code to do so + * is shown later. It might not be obvious, but the feedback + * terms simply represent the results of eight shift/xor opera + * tions for all combinations of data and CRC register values + * + * The values must be right-shifted by eight bits by the "updcrc + * logic; the shift must be unsigned (bring in zeroes). On some + * hardware you could probably optimize the shift in assembler by + * using byte-swap instructions + * polynomial $edb88320 + * + * + * CRC32 code derived from work by Gary S. Brown. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include + +#include "crc32.h" + +static uint32_t crc32_tab[] = { + 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, + 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, + 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2, + 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, + 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, + 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, + 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c, + 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59, + 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, + 0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, + 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106, + 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433, + 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, + 0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, + 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950, + 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65, + 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7, + 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, + 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, + 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f, + 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81, + 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, + 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84, + 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, + 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, + 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, + 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e, + 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b, + 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, + 0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, + 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28, + 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d, + 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f, + 0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, + 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242, + 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777, + 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69, + 0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, + 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, + 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9, + 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693, + 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, + 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d +}; + +uint32_t +crc32(const void *buf, size_t size) +{ + const uint8_t *p = buf; + uint32_t crc; + + crc = ~0U; + while (size--) + crc = crc32_tab[(crc ^ *p++) & 0xFF] ^ (crc >> 8); + return (crc ^ ~0U); +} Copied: stable/8/sys/boot/common/crc32.h (from r213136, head/sys/boot/common/crc32.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/8/sys/boot/common/crc32.h Sun Oct 17 20:10:00 2010 (r213994, copy of r213136, head/sys/boot/common/crc32.h) @@ -0,0 +1,13 @@ +/*- + * COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or + * code or tables extracted from it, as desired without restriction. + * + * $FreeBSD$ + */ + +#ifndef _CRC32_H_ +#define _CRC32_H_ + +uint32_t crc32(const void *buf, size_t size); + +#endif /* !_CRC32_H_ */ Copied: stable/8/sys/boot/common/gpt.c (from r213136, head/sys/boot/common/gpt.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/8/sys/boot/common/gpt.c Sun Oct 17 20:10:00 2010 (r213994, copy of r213136, head/sys/boot/common/gpt.c) @@ -0,0 +1,381 @@ +/*- + * Copyright (c) 2010 Pawel Jakub Dawidek + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include + +#ifndef LITTLE_ENDIAN +#error gpt.c works only for little endian architectures +#endif + +#include "crc32.h" +#include "drv.h" +#include "util.h" +#include "gpt.h" + +#define MAXTBLENTS 128 + +static struct gpt_hdr hdr_primary, hdr_backup, *gpthdr; +static uint64_t hdr_primary_lba, hdr_backup_lba; +static struct gpt_ent table_primary[MAXTBLENTS], table_backup[MAXTBLENTS]; +static struct gpt_ent *gpttable; +static int curent, bootonce; + +/* + * Buffer below 64kB passed on gptread(), which can hold at least + * one sector od data (512 bytes). + */ +static char *secbuf; + +static void +gptupdate(const char *which, struct dsk *dskp, struct gpt_hdr *hdr, + struct gpt_ent *table) +{ + int entries_per_sec, firstent; + daddr_t slba; + + /* + * We need to update the following for both primary and backup GPT: + * 1. Sector on disk that contains curent partition. + * 2. Partition table checksum. + * 3. Header checksum. + * 4. Header on disk. + */ + + entries_per_sec = DEV_BSIZE / hdr->hdr_entsz; + slba = curent / entries_per_sec; + firstent = slba * entries_per_sec; + bcpy(&table[firstent], secbuf, DEV_BSIZE); + slba += hdr->hdr_lba_table; + if (drvwrite(dskp, secbuf, slba, 1)) { + printf("%s: unable to update %s GPT partition table\n", + BOOTPROG, which); + return; + } + hdr->hdr_crc_table = crc32(table, hdr->hdr_entries * hdr->hdr_entsz); + hdr->hdr_crc_self = 0; + hdr->hdr_crc_self = crc32(hdr, hdr->hdr_size); + bzero(secbuf, DEV_BSIZE); + bcpy(hdr, secbuf, hdr->hdr_size); + if (drvwrite(dskp, secbuf, hdr->hdr_lba_self, 1)) { + printf("%s: unable to update %s GPT header\n", BOOTPROG, which); + return; + } +} + +int +gptfind(const uuid_t *uuid, struct dsk *dskp, int part) +{ + struct gpt_ent *ent; + int firsttry; + + if (part >= 0) { + if (part == 0 || part > gpthdr->hdr_entries) { + printf("%s: invalid partition index\n", BOOTPROG); + return (-1); + } + ent = &gpttable[part - 1]; + if (bcmp(&ent->ent_type, uuid, sizeof(uuid_t)) != 0) { + printf("%s: specified partition is not UFS\n", + BOOTPROG); + return (-1); + } + curent = part - 1; + goto found; + } + + firsttry = (curent == -1); + curent++; + if (curent >= gpthdr->hdr_entries) { + curent = gpthdr->hdr_entries; + return (-1); + } + if (bootonce) { + /* + * First look for partition with both GPT_ENT_ATTR_BOOTME and + * GPT_ENT_ATTR_BOOTONCE flags. + */ + for (; curent < gpthdr->hdr_entries; curent++) { + ent = &gpttable[curent]; + if (bcmp(&ent->ent_type, uuid, sizeof(uuid_t)) != 0) + continue; + if (!(ent->ent_attr & GPT_ENT_ATTR_BOOTME)) + continue; + if (!(ent->ent_attr & GPT_ENT_ATTR_BOOTONCE)) + continue; + /* Ok, found one. */ + goto found; + } + bootonce = 0; + curent = 0; + } + for (; curent < gpthdr->hdr_entries; curent++) { + ent = &gpttable[curent]; + if (bcmp(&ent->ent_type, uuid, sizeof(uuid_t)) != 0) + continue; + if (!(ent->ent_attr & GPT_ENT_ATTR_BOOTME)) + continue; + if (ent->ent_attr & GPT_ENT_ATTR_BOOTONCE) + continue; + /* Ok, found one. */ + goto found; + } + if (firsttry) { + /* + * No partition with BOOTME flag was found, try to boot from + * first UFS partition. + */ + for (curent = 0; curent < gpthdr->hdr_entries; curent++) { + ent = &gpttable[curent]; + if (bcmp(&ent->ent_type, uuid, sizeof(uuid_t)) != 0) + continue; + /* Ok, found one. */ + goto found; + } + } + return (-1); +found: + dskp->part = curent + 1; + ent = &gpttable[curent]; + dskp->start = ent->ent_lba_start; + if (ent->ent_attr & GPT_ENT_ATTR_BOOTONCE) { + /* + * Clear BOOTME, but leave BOOTONCE set before trying to + * boot from this partition. + */ + if (hdr_primary_lba > 0) { + table_primary[curent].ent_attr &= ~GPT_ENT_ATTR_BOOTME; + gptupdate("primary", dskp, &hdr_primary, table_primary); + } + if (hdr_backup_lba > 0) { + table_backup[curent].ent_attr &= ~GPT_ENT_ATTR_BOOTME; + gptupdate("backup", dskp, &hdr_backup, table_backup); + } + } + return (0); +} + +static int +gptread_hdr(const char *which, struct dsk *dskp, struct gpt_hdr *hdr, + uint64_t hdrlba) +{ + uint32_t crc; + + if (drvread(dskp, secbuf, hdrlba, 1)) { + printf("%s: unable to read %s GPT header\n", BOOTPROG, which); + return (-1); + } + bcpy(secbuf, hdr, sizeof(*hdr)); + if (bcmp(hdr->hdr_sig, GPT_HDR_SIG, sizeof(hdr->hdr_sig)) != 0 || + hdr->hdr_lba_self != hdrlba || hdr->hdr_revision < 0x00010000 || + hdr->hdr_entsz < sizeof(struct gpt_ent) || + hdr->hdr_entries > MAXTBLENTS || DEV_BSIZE % hdr->hdr_entsz != 0) { + printf("%s: invalid %s GPT header\n", BOOTPROG, which); + return (-1); + } + crc = hdr->hdr_crc_self; + hdr->hdr_crc_self = 0; + if (crc32(hdr, hdr->hdr_size) != crc) { + printf("%s: %s GPT header checksum mismatch\n", BOOTPROG, + which); + return (-1); + } + hdr->hdr_crc_self = crc; + return (0); +} + +void +gptbootfailed(struct dsk *dskp) +{ + + if (!(gpttable[curent].ent_attr & GPT_ENT_ATTR_BOOTONCE)) + return; + + if (hdr_primary_lba > 0) { + table_primary[curent].ent_attr &= ~GPT_ENT_ATTR_BOOTONCE; + table_primary[curent].ent_attr |= GPT_ENT_ATTR_BOOTFAILED; + gptupdate("primary", dskp, &hdr_primary, table_primary); + } + if (hdr_backup_lba > 0) { + table_backup[curent].ent_attr &= ~GPT_ENT_ATTR_BOOTONCE; + table_backup[curent].ent_attr |= GPT_ENT_ATTR_BOOTFAILED; + gptupdate("backup", dskp, &hdr_backup, table_backup); + } +} + +static void +gptbootconv(const char *which, struct dsk *dskp, struct gpt_hdr *hdr, + struct gpt_ent *table) +{ + struct gpt_ent *ent; + daddr_t slba; + int table_updated, sector_updated; + int entries_per_sec, nent, part; + + table_updated = 0; + entries_per_sec = DEV_BSIZE / hdr->hdr_entsz; + for (nent = 0, slba = hdr->hdr_lba_table; + slba < hdr->hdr_lba_table + hdr->hdr_entries / entries_per_sec; + slba++, nent += entries_per_sec) { + sector_updated = 0; + for (part = 0; part < entries_per_sec; part++) { + ent = &table[nent + part]; + if ((ent->ent_attr & (GPT_ENT_ATTR_BOOTME | + GPT_ENT_ATTR_BOOTONCE | + GPT_ENT_ATTR_BOOTFAILED)) != + GPT_ENT_ATTR_BOOTONCE) { + continue; + } + ent->ent_attr &= ~GPT_ENT_ATTR_BOOTONCE; + ent->ent_attr |= GPT_ENT_ATTR_BOOTFAILED; + table_updated = 1; + sector_updated = 1; + } + if (!sector_updated) + continue; + bcpy(&table[nent], secbuf, DEV_BSIZE); + if (drvwrite(dskp, secbuf, slba, 1)) { + printf("%s: unable to update %s GPT partition table\n", + BOOTPROG, which); + } + } + if (!table_updated) + return; + hdr->hdr_crc_table = crc32(table, hdr->hdr_entries * hdr->hdr_entsz); + hdr->hdr_crc_self = 0; + hdr->hdr_crc_self = crc32(hdr, hdr->hdr_size); + bzero(secbuf, DEV_BSIZE); + bcpy(hdr, secbuf, hdr->hdr_size); + if (drvwrite(dskp, secbuf, hdr->hdr_lba_self, 1)) + printf("%s: unable to update %s GPT header\n", BOOTPROG, which); +} + +static int +gptread_table(const char *which, const uuid_t *uuid, struct dsk *dskp, + struct gpt_hdr *hdr, struct gpt_ent *table) +{ + struct gpt_ent *ent; + int entries_per_sec; + int part, nent; + daddr_t slba; + + if (hdr->hdr_entries == 0) + return (0); + + entries_per_sec = DEV_BSIZE / hdr->hdr_entsz; + slba = hdr->hdr_lba_table; + nent = 0; + for (;;) { + if (drvread(dskp, secbuf, slba, 1)) { + printf("%s: unable to read %s GPT partition table\n", + BOOTPROG, which); + return (-1); + } + ent = (struct gpt_ent *)secbuf; + for (part = 0; part < entries_per_sec; part++, ent++) { + bcpy(ent, &table[nent], sizeof(table[nent])); + if (++nent >= hdr->hdr_entries) + break; + } + if (nent >= hdr->hdr_entries) + break; + slba++; + } + if (crc32(table, nent * hdr->hdr_entsz) != hdr->hdr_crc_table) { + printf("%s: %s GPT table checksum mismatch\n", BOOTPROG, which); + return (-1); + } + return (0); +} + +int +gptread(const uuid_t *uuid, struct dsk *dskp, char *buf) +{ + uint64_t altlba; + + /* + * Read and verify both GPT headers: primary and backup. + */ + + secbuf = buf; + hdr_primary_lba = hdr_backup_lba = 0; + curent = -1; + bootonce = 1; + dskp->start = 0; + + if (gptread_hdr("primary", dskp, &hdr_primary, 1) == 0 && + gptread_table("primary", uuid, dskp, &hdr_primary, + table_primary) == 0) { + hdr_primary_lba = hdr_primary.hdr_lba_self; + gpthdr = &hdr_primary; + gpttable = table_primary; + } + + altlba = drvsize(dskp); + if (altlba > 0) + altlba--; + else if (hdr_primary_lba > 0) { + /* + * If we cannot obtain disk size, but primary header + * is valid, we can get backup header location from + * there. + */ + altlba = hdr_primary.hdr_lba_alt; + } + if (altlba == 0) + printf("%s: unable to locate backup GPT header\n", BOOTPROG); + else if (gptread_hdr("backup", dskp, &hdr_backup, altlba) == 0 && + gptread_table("backup", uuid, dskp, &hdr_backup, + table_backup) == 0) { + hdr_backup_lba = hdr_backup.hdr_lba_self; + if (hdr_primary_lba == 0) { + gpthdr = &hdr_backup; + gpttable = table_backup; + printf("%s: using backup GPT\n", BOOTPROG); + } + } + + /* + * Convert all BOOTONCE without BOOTME flags into BOOTFAILED. + * BOOTONCE without BOOTME means that we tried to boot from it, + * but failed after leaving gptboot and machine was rebooted. + * We don't want to leave partitions marked as BOOTONCE only, + * because when we boot successfully start-up scripts should + * find at most one partition with only BOOTONCE flag and this + * will mean that we booted from that partition. + */ + if (hdr_primary_lba != 0) + gptbootconv("primary", dskp, &hdr_primary, table_primary); + if (hdr_backup_lba != 0) + gptbootconv("backup", dskp, &hdr_backup, table_backup); + + if (hdr_primary_lba == 0 && hdr_backup_lba == 0) + return (-1); + return (0); +} Copied: stable/8/sys/boot/common/gpt.h (from r213136, head/sys/boot/common/gpt.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/8/sys/boot/common/gpt.h Sun Oct 17 20:10:00 2010 (r213994, copy of r213136, head/sys/boot/common/gpt.h) @@ -0,0 +1,39 @@ +/*- + * Copyright (c) 2010 Pawel Jakub Dawidek + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _GPT_H_ +#define _GPT_H_ + +#include +#include + +int gptread(const uuid_t *uuid, struct dsk *dskp, char *buf); +int gptfind(const uuid_t *uuid, struct dsk *dskp, int part); +void gptbootfailed(struct dsk *dskp); + +#endif /* !_GPT_H_ */ Copied: stable/8/sys/boot/common/util.c (from r213136, head/sys/boot/common/util.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/8/sys/boot/common/util.c Sun Oct 17 20:10:00 2010 (r213994, copy of r213136, head/sys/boot/common/util.c) @@ -0,0 +1,176 @@ +/*- + * Copyright (c) 1998 Robert Nordier + * Copyright (c) 2010 Pawel Jakub Dawidek + * All rights reserved. + * + * Redistribution and use in source and binary forms are freely + * permitted provided that the above copyright notice and this + * paragraph and the following disclaimer are duplicated in all + * such forms. + * + * This software is provided "AS IS" and without any express or + * implied warranties, including, without limitation, the implied + * warranties of merchantability and fitness for a particular + * purpose. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include + +#include + +#include "cons.h" +#include "util.h" + +void +memcpy(void *dst, const void *src, int len) +{ + const char *s = src; + char *d = dst; + + while (len--) + *d++ = *s++; +} + +void +memset(void *b, int c, size_t len) +{ + char *bp = b; + + while (len--) + *bp++ = (unsigned char)c; +} + +int +memcmp(const void *b1, const void *b2, size_t len) +{ + const unsigned char *p1, *p2; + + for (p1 = b1, p2 = b2; len > 0; len--, p1++, p2++) { + if (*p1 != *p2) + return ((*p1) - (*p2)); + } + return (0); +} + +int +strcmp(const char *s1, const char *s2) +{ + + for (; *s1 == *s2 && *s1 != '\0'; s1++, s2++) + ; + return ((unsigned char)*s1 - (unsigned char)*s2); +} + +int +strncmp(const char *s1, const char *s2, size_t len) +{ + + for (; *s1 == *s2 && *s1 != '\0' && len > 0; len--, s1++, s2++) + ; + return ((unsigned char)*s1 - (unsigned char)*s2); +} + +void +strcpy(char *dst, const char *src) +{ + + while (*src != '\0') + *dst++ = *src++; + *dst = '\0'; +} + +void +strcat(char *dst, const char *src) +{ + + while (*dst != '\0') + dst++; + while (*src != '\0') + *dst++ = *src++; + *dst = '\0'; +} + +char * +strchr(const char *s, char ch) +{ + + for (; *s != '\0'; s++) { + if (*s == ch) + return ((char *)(uintptr_t)(const void *)s); + } + return (NULL); +} + +size_t +strlen(const char *s) +{ + size_t len = 0; + + while (*s++ != '\0') + len++; + return (len); +} + +void +printf(const char *fmt, ...) +{ + va_list ap; + const char *hex = "0123456789abcdef"; + char buf[10], *s; + unsigned long long u; + int c, l; + + va_start(ap, fmt); + while ((c = *fmt++) != '\0') { + if (c != '%') { + putchar(c); + continue; + } + l = 0; +nextfmt: + c = *fmt++; + switch (c) { + case 'l': + l++; + goto nextfmt; + case 'c': + putchar(va_arg(ap, int)); + break; + case 's': + for (s = va_arg(ap, char *); *s != '\0'; s++) + putchar(*s); + break; + case 'd': /* A lie, always prints unsigned */ + case 'u': + case 'x': + switch (l) { + case 2: + u = va_arg(ap, unsigned long long); + break; + case 1: + u = va_arg(ap, unsigned long); + break; + default: + u = va_arg(ap, unsigned int); + break; + } + s = buf; + if (c == 'd' || c == 'u') { + do + *s++ = '0' + (u % 10U); + while (u /= 10); + } else { + do + *s++ = hex[u & 0xfu]; + while (u >>= 4); + } + while (--s >= buf) + putchar(*s); + break; + } + } + va_end(ap); +} Copied: stable/8/sys/boot/common/util.h (from r213136, head/sys/boot/common/util.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/8/sys/boot/common/util.h Sun Oct 17 20:10:00 2010 (r213994, copy of r213136, head/sys/boot/common/util.h) @@ -0,0 +1,53 @@ +/*- + * Copyright (c) 2010 Pawel Jakub Dawidek + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _UTIL_H_ +#define _UTIL_H_ + +#include + +#include + +void memcpy(void *dst, const void *src, int len); +void memset(void *b, int c, size_t len); +int memcmp(const void *b1, const void *b2, size_t len); + +#define bcpy(src, dst, len) memcpy((dst), (src), (len)) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 21:44:28 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 749BC106564A; Sun, 17 Oct 2010 21:44:28 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 48D548FC14; Sun, 17 Oct 2010 21:44:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HLiSbD047259; Sun, 17 Oct 2010 21:44:28 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HLiSrW047257; Sun, 17 Oct 2010 21:44:28 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201010172144.o9HLiSrW047257@svn.freebsd.org> From: Dimitry Andric Date: Sun, 17 Oct 2010 21:44:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org X-SVN-Group: svnadmin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213995 - svnadmin/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 21:44:28 -0000 Author: dim Date: Sun Oct 17 21:44:27 2010 New Revision: 213995 URL: http://svn.freebsd.org/changeset/base/213995 Log: Temporarily raise my limit, so I can import binutils snapshots. Modified: svnadmin/conf/sizelimit.conf Modified: svnadmin/conf/sizelimit.conf ============================================================================== --- svnadmin/conf/sizelimit.conf Sun Oct 17 20:10:00 2010 (r213994) +++ svnadmin/conf/sizelimit.conf Sun Oct 17 21:44:27 2010 (r213995) @@ -32,3 +32,4 @@ gonzo kmacy jb jeff +dim From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 21:56:30 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8CDD61065672; Sun, 17 Oct 2010 21:56:30 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 741688FC12; Sun, 17 Oct 2010 21:56:30 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HLuU7h047622; Sun, 17 Oct 2010 21:56:30 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HLuUxC047616; Sun, 17 Oct 2010 21:56:30 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201010172156.o9HLuUxC047616@svn.freebsd.org> From: Dimitry Andric Date: Sun, 17 Oct 2010 21:56:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213996 - in vendor/binutils/dist: . bfd bfd/doc bfd/hosts bfd/po binutils binutils/doc binutils/po binutils/testsuite binutils/testsuite/binutils-all binutils/testsuite/binutils-all/hp... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 21:56:30 -0000 Author: dim Date: Sun Oct 17 21:56:26 2010 New Revision: 213996 URL: http://svn.freebsd.org/changeset/base/213996 Log: Import the binutils-2_15-branch from the sourceware CVS repository, exactly as it was on Sun, 23 May 2004 04:40:32 +0000. Corresponds to git commit 242eda977694c559d7d21626702034c13d745597. Added: vendor/binutils/dist/.cvsignore vendor/binutils/dist/COPYING vendor/binutils/dist/COPYING.LIB vendor/binutils/dist/COPYING.LIBGLOSS vendor/binutils/dist/COPYING.NEWLIB vendor/binutils/dist/bfd/COPYING vendor/binutils/dist/bfd/aix386-core.c vendor/binutils/dist/bfd/aix5ppc-core.c vendor/binutils/dist/bfd/aout-adobe.c vendor/binutils/dist/bfd/aout-cris.c vendor/binutils/dist/bfd/aout-ns32k.c vendor/binutils/dist/bfd/aout-tic30.c vendor/binutils/dist/bfd/cf-i386lynx.c vendor/binutils/dist/bfd/cf-m68klynx.c vendor/binutils/dist/bfd/cf-sparclynx.c vendor/binutils/dist/bfd/cisco-core.c vendor/binutils/dist/bfd/coff-a29k.c vendor/binutils/dist/bfd/coff-apollo.c vendor/binutils/dist/bfd/coff-go32.c vendor/binutils/dist/bfd/coff-h8300.c vendor/binutils/dist/bfd/coff-h8500.c vendor/binutils/dist/bfd/coff-i860.c vendor/binutils/dist/bfd/coff-i960.c vendor/binutils/dist/bfd/coff-m68k.c vendor/binutils/dist/bfd/coff-m88k.c vendor/binutils/dist/bfd/coff-mcore.c vendor/binutils/dist/bfd/coff-or32.c vendor/binutils/dist/bfd/coff-pmac.c vendor/binutils/dist/bfd/coff-sh.c vendor/binutils/dist/bfd/coff-stgo32.c vendor/binutils/dist/bfd/coff-svm68k.c vendor/binutils/dist/bfd/coff-tic30.c vendor/binutils/dist/bfd/coff-tic4x.c vendor/binutils/dist/bfd/coff-tic54x.c vendor/binutils/dist/bfd/coff-tic80.c vendor/binutils/dist/bfd/coff-u68k.c vendor/binutils/dist/bfd/coff-w65.c vendor/binutils/dist/bfd/coff-we32k.c vendor/binutils/dist/bfd/coff-z8k.c vendor/binutils/dist/bfd/configure.com vendor/binutils/dist/bfd/cpu-a29k.c vendor/binutils/dist/bfd/cpu-avr.c vendor/binutils/dist/bfd/cpu-cris.c vendor/binutils/dist/bfd/cpu-d10v.c vendor/binutils/dist/bfd/cpu-d30v.c vendor/binutils/dist/bfd/cpu-dlx.c vendor/binutils/dist/bfd/cpu-fr30.c vendor/binutils/dist/bfd/cpu-frv.c vendor/binutils/dist/bfd/cpu-h8300.c vendor/binutils/dist/bfd/cpu-h8500.c vendor/binutils/dist/bfd/cpu-hppa.c vendor/binutils/dist/bfd/cpu-i370.c vendor/binutils/dist/bfd/cpu-i860.c vendor/binutils/dist/bfd/cpu-i960.c vendor/binutils/dist/bfd/cpu-ip2k.c vendor/binutils/dist/bfd/cpu-iq2000.c vendor/binutils/dist/bfd/cpu-m10200.c vendor/binutils/dist/bfd/cpu-m10300.c vendor/binutils/dist/bfd/cpu-m32r.c vendor/binutils/dist/bfd/cpu-m68hc11.c vendor/binutils/dist/bfd/cpu-m68hc12.c vendor/binutils/dist/bfd/cpu-m68k.c vendor/binutils/dist/bfd/cpu-m88k.c vendor/binutils/dist/bfd/cpu-mcore.c vendor/binutils/dist/bfd/cpu-mmix.c vendor/binutils/dist/bfd/cpu-msp430.c vendor/binutils/dist/bfd/cpu-ns32k.c vendor/binutils/dist/bfd/cpu-openrisc.c vendor/binutils/dist/bfd/cpu-or32.c vendor/binutils/dist/bfd/cpu-pdp11.c vendor/binutils/dist/bfd/cpu-pj.c vendor/binutils/dist/bfd/cpu-sh.c vendor/binutils/dist/bfd/cpu-tic30.c vendor/binutils/dist/bfd/cpu-tic4x.c vendor/binutils/dist/bfd/cpu-tic54x.c vendor/binutils/dist/bfd/cpu-tic80.c vendor/binutils/dist/bfd/cpu-v850.c vendor/binutils/dist/bfd/cpu-vax.c vendor/binutils/dist/bfd/cpu-w65.c vendor/binutils/dist/bfd/cpu-we32k.c vendor/binutils/dist/bfd/cpu-xstormy16.c vendor/binutils/dist/bfd/cpu-xtensa.c vendor/binutils/dist/bfd/cpu-z8k.c vendor/binutils/dist/bfd/doc/bfd.info vendor/binutils/dist/bfd/doc/bfd.info-1 vendor/binutils/dist/bfd/doc/bfd.info-2 vendor/binutils/dist/bfd/doc/makefile.vms vendor/binutils/dist/bfd/elf-hppa.h vendor/binutils/dist/bfd/elf-m10200.c vendor/binutils/dist/bfd/elf-m10300.c vendor/binutils/dist/bfd/elf32-am33lin.c vendor/binutils/dist/bfd/elf32-avr.c vendor/binutils/dist/bfd/elf32-cris.c vendor/binutils/dist/bfd/elf32-d10v.c vendor/binutils/dist/bfd/elf32-d30v.c vendor/binutils/dist/bfd/elf32-dlx.c vendor/binutils/dist/bfd/elf32-fr30.c vendor/binutils/dist/bfd/elf32-frv.c vendor/binutils/dist/bfd/elf32-h8300.c vendor/binutils/dist/bfd/elf32-hppa.c vendor/binutils/dist/bfd/elf32-hppa.h vendor/binutils/dist/bfd/elf32-i370.c vendor/binutils/dist/bfd/elf32-i860.c vendor/binutils/dist/bfd/elf32-i960.c vendor/binutils/dist/bfd/elf32-ip2k.c vendor/binutils/dist/bfd/elf32-iq2000.c vendor/binutils/dist/bfd/elf32-m32r.c vendor/binutils/dist/bfd/elf32-m68hc11.c vendor/binutils/dist/bfd/elf32-m68hc12.c vendor/binutils/dist/bfd/elf32-m68hc1x.c vendor/binutils/dist/bfd/elf32-m68hc1x.h vendor/binutils/dist/bfd/elf32-m68k.c vendor/binutils/dist/bfd/elf32-m88k.c vendor/binutils/dist/bfd/elf32-mcore.c vendor/binutils/dist/bfd/elf32-msp430.c vendor/binutils/dist/bfd/elf32-openrisc.c vendor/binutils/dist/bfd/elf32-or32.c vendor/binutils/dist/bfd/elf32-pj.c vendor/binutils/dist/bfd/elf32-sh.c vendor/binutils/dist/bfd/elf32-sh64-com.c vendor/binutils/dist/bfd/elf32-sh64.c vendor/binutils/dist/bfd/elf32-sh64.h vendor/binutils/dist/bfd/elf32-v850.c vendor/binutils/dist/bfd/elf32-vax.c vendor/binutils/dist/bfd/elf32-xstormy16.c vendor/binutils/dist/bfd/elf32-xtensa.c vendor/binutils/dist/bfd/elf64-hppa.c vendor/binutils/dist/bfd/elf64-hppa.h vendor/binutils/dist/bfd/elf64-mmix.c vendor/binutils/dist/bfd/elf64-sh64.c vendor/binutils/dist/bfd/epoc-pe-arm.c vendor/binutils/dist/bfd/epoc-pei-arm.c vendor/binutils/dist/bfd/go32stub.h vendor/binutils/dist/bfd/hosts/alphavms.h vendor/binutils/dist/bfd/hosts/delta68.h vendor/binutils/dist/bfd/hosts/dpx2.h vendor/binutils/dist/bfd/hosts/hp300bsd.h vendor/binutils/dist/bfd/hosts/i386mach3.h vendor/binutils/dist/bfd/hosts/i860mach3.h vendor/binutils/dist/bfd/hosts/m68kaux.h vendor/binutils/dist/bfd/hosts/m68klinux.h vendor/binutils/dist/bfd/hosts/m88kmach3.h vendor/binutils/dist/bfd/hosts/news.h vendor/binutils/dist/bfd/hosts/pc532mach.h vendor/binutils/dist/bfd/hosts/riscos.h vendor/binutils/dist/bfd/hosts/symmetry.h vendor/binutils/dist/bfd/hosts/tahoe.h vendor/binutils/dist/bfd/hosts/vaxbsd.h vendor/binutils/dist/bfd/hosts/vaxult.h vendor/binutils/dist/bfd/hosts/vaxult2.h vendor/binutils/dist/bfd/hp300bsd.c vendor/binutils/dist/bfd/hp300hpux.c vendor/binutils/dist/bfd/hppabsd-core.c vendor/binutils/dist/bfd/hpux-core.c vendor/binutils/dist/bfd/i386dynix.c vendor/binutils/dist/bfd/i386lynx.c vendor/binutils/dist/bfd/i386mach3.c vendor/binutils/dist/bfd/i386msdos.c vendor/binutils/dist/bfd/i386os9k.c vendor/binutils/dist/bfd/irix-core.c vendor/binutils/dist/bfd/libhppa.h vendor/binutils/dist/bfd/libnlm.h vendor/binutils/dist/bfd/liboasys.h vendor/binutils/dist/bfd/lynx-core.c vendor/binutils/dist/bfd/m68k4knetbsd.c vendor/binutils/dist/bfd/m68klinux.c vendor/binutils/dist/bfd/m68klynx.c vendor/binutils/dist/bfd/m68knetbsd.c vendor/binutils/dist/bfd/m88kmach3.c vendor/binutils/dist/bfd/mach-o-target.c vendor/binutils/dist/bfd/mach-o.c vendor/binutils/dist/bfd/mach-o.h vendor/binutils/dist/bfd/makefile.vms vendor/binutils/dist/bfd/mmo.c vendor/binutils/dist/bfd/mpw-config.in vendor/binutils/dist/bfd/mpw-make.sed vendor/binutils/dist/bfd/newsos3.c vendor/binutils/dist/bfd/nlm-target.h vendor/binutils/dist/bfd/nlm.c vendor/binutils/dist/bfd/nlm32-alpha.c vendor/binutils/dist/bfd/nlm32-i386.c vendor/binutils/dist/bfd/nlm32-ppc.c vendor/binutils/dist/bfd/nlm32-sparc.c vendor/binutils/dist/bfd/nlm32.c vendor/binutils/dist/bfd/nlm64.c vendor/binutils/dist/bfd/nlmcode.h vendor/binutils/dist/bfd/nlmswap.h vendor/binutils/dist/bfd/ns32k.h vendor/binutils/dist/bfd/ns32knetbsd.c vendor/binutils/dist/bfd/oasys.c vendor/binutils/dist/bfd/pc532-mach.c vendor/binutils/dist/bfd/pdp11.c vendor/binutils/dist/bfd/pe-mcore.c vendor/binutils/dist/bfd/pe-sh.c vendor/binutils/dist/bfd/pef-traceback.h vendor/binutils/dist/bfd/pef.c vendor/binutils/dist/bfd/pef.h vendor/binutils/dist/bfd/pei-arm.c vendor/binutils/dist/bfd/pei-i386.c vendor/binutils/dist/bfd/pei-mcore.c vendor/binutils/dist/bfd/pei-ppc.c vendor/binutils/dist/bfd/pei-sh.c vendor/binutils/dist/bfd/po/.cvsignore vendor/binutils/dist/bfd/po/da.gmo (contents, props changed) vendor/binutils/dist/bfd/po/da.po vendor/binutils/dist/bfd/po/es.gmo (contents, props changed) vendor/binutils/dist/bfd/po/es.po vendor/binutils/dist/bfd/po/fr.gmo (contents, props changed) vendor/binutils/dist/bfd/po/fr.po vendor/binutils/dist/bfd/po/ja.gmo (contents, props changed) vendor/binutils/dist/bfd/po/ja.po vendor/binutils/dist/bfd/po/ro.gmo (contents, props changed) vendor/binutils/dist/bfd/po/ro.po vendor/binutils/dist/bfd/po/sv.gmo (contents, props changed) vendor/binutils/dist/bfd/po/sv.po vendor/binutils/dist/bfd/po/tr.gmo (contents, props changed) vendor/binutils/dist/bfd/po/tr.po vendor/binutils/dist/bfd/po/zh_CN.gmo (contents, props changed) vendor/binutils/dist/bfd/po/zh_CN.po vendor/binutils/dist/bfd/riscix.c vendor/binutils/dist/bfd/som.c vendor/binutils/dist/bfd/som.h vendor/binutils/dist/bfd/sparclynx.c vendor/binutils/dist/bfd/ticoff.h vendor/binutils/dist/bfd/vax1knetbsd.c vendor/binutils/dist/bfd/vaxbsd.c vendor/binutils/dist/bfd/vaxnetbsd.c vendor/binutils/dist/bfd/versados.c vendor/binutils/dist/bfd/vms-gsd.c vendor/binutils/dist/bfd/vms-hdr.c vendor/binutils/dist/bfd/vms-misc.c vendor/binutils/dist/bfd/vms-tir.c vendor/binutils/dist/bfd/vms.c vendor/binutils/dist/bfd/vms.h vendor/binutils/dist/bfd/xsym.c vendor/binutils/dist/bfd/xsym.h vendor/binutils/dist/bfd/xtensa-isa.c vendor/binutils/dist/bfd/xtensa-modules.c vendor/binutils/dist/binutils/arlex.c vendor/binutils/dist/binutils/arparse.c vendor/binutils/dist/binutils/arparse.h vendor/binutils/dist/binutils/configure.com vendor/binutils/dist/binutils/deflex.c vendor/binutils/dist/binutils/doc/binutils.info vendor/binutils/dist/binutils/doc/nlmconv.1 vendor/binutils/dist/binutils/doc/windres.1 vendor/binutils/dist/binutils/emul_aix.c vendor/binutils/dist/binutils/mac-binutils.r vendor/binutils/dist/binutils/makefile.vms-in vendor/binutils/dist/binutils/mpw-config.in vendor/binutils/dist/binutils/mpw-make.sed vendor/binutils/dist/binutils/nlmconv.c vendor/binutils/dist/binutils/nlmconv.h vendor/binutils/dist/binutils/nlmheader.c vendor/binutils/dist/binutils/nlmheader.h vendor/binutils/dist/binutils/nlmheader.y vendor/binutils/dist/binutils/po/.cvsignore vendor/binutils/dist/binutils/po/da.gmo (contents, props changed) vendor/binutils/dist/binutils/po/da.po vendor/binutils/dist/binutils/po/es.gmo (contents, props changed) vendor/binutils/dist/binutils/po/es.po vendor/binutils/dist/binutils/po/fr.gmo (contents, props changed) vendor/binutils/dist/binutils/po/fr.po vendor/binutils/dist/binutils/po/ja.gmo (contents, props changed) vendor/binutils/dist/binutils/po/ja.po vendor/binutils/dist/binutils/po/ru.gmo (contents, props changed) vendor/binutils/dist/binutils/po/ru.po vendor/binutils/dist/binutils/po/sv.gmo (contents, props changed) vendor/binutils/dist/binutils/po/sv.po vendor/binutils/dist/binutils/po/tr.gmo (contents, props changed) vendor/binutils/dist/binutils/po/tr.po vendor/binutils/dist/binutils/po/zh_CN.gmo (contents, props changed) vendor/binutils/dist/binutils/po/zh_CN.po vendor/binutils/dist/binutils/sysinfo.c vendor/binutils/dist/binutils/sysinfo.h vendor/binutils/dist/binutils/syslex.c vendor/binutils/dist/binutils/sysroff.info vendor/binutils/dist/binutils/testsuite/ vendor/binutils/dist/binutils/testsuite/ChangeLog vendor/binutils/dist/binutils/testsuite/ChangeLog-9303 vendor/binutils/dist/binutils/testsuite/binutils-all/ vendor/binutils/dist/binutils/testsuite/binutils-all/ar.exp vendor/binutils/dist/binutils/testsuite/binutils-all/bintest.s vendor/binutils/dist/binutils/testsuite/binutils-all/dlltool.exp vendor/binutils/dist/binutils/testsuite/binutils-all/fastcall.def vendor/binutils/dist/binutils/testsuite/binutils-all/hppa/ vendor/binutils/dist/binutils/testsuite/binutils-all/hppa/addendbug.s vendor/binutils/dist/binutils/testsuite/binutils-all/hppa/freg.s vendor/binutils/dist/binutils/testsuite/binutils-all/hppa/objdump.exp vendor/binutils/dist/binutils/testsuite/binutils-all/nm.exp vendor/binutils/dist/binutils/testsuite/binutils-all/objcopy.exp vendor/binutils/dist/binutils/testsuite/binutils-all/objdump.exp vendor/binutils/dist/binutils/testsuite/binutils-all/readelf.exp vendor/binutils/dist/binutils/testsuite/binutils-all/readelf.h vendor/binutils/dist/binutils/testsuite/binutils-all/readelf.r vendor/binutils/dist/binutils/testsuite/binutils-all/readelf.r-64 vendor/binutils/dist/binutils/testsuite/binutils-all/readelf.s vendor/binutils/dist/binutils/testsuite/binutils-all/readelf.s-64 vendor/binutils/dist/binutils/testsuite/binutils-all/readelf.ss vendor/binutils/dist/binutils/testsuite/binutils-all/readelf.ss-64 vendor/binutils/dist/binutils/testsuite/binutils-all/readelf.ss-mips vendor/binutils/dist/binutils/testsuite/binutils-all/readelf.ss-tmips vendor/binutils/dist/binutils/testsuite/binutils-all/size.exp vendor/binutils/dist/binutils/testsuite/binutils-all/testprog.c vendor/binutils/dist/binutils/testsuite/binutils-all/windres/ vendor/binutils/dist/binutils/testsuite/binutils-all/windres/README vendor/binutils/dist/binutils/testsuite/binutils-all/windres/bmp1.bmp (contents, props changed) vendor/binutils/dist/binutils/testsuite/binutils-all/windres/bmpalign.rc vendor/binutils/dist/binutils/testsuite/binutils-all/windres/bmpalign.rsd vendor/binutils/dist/binutils/testsuite/binutils-all/windres/capstyle.rc vendor/binutils/dist/binutils/testsuite/binutils-all/windres/capstyle.rsd vendor/binutils/dist/binutils/testsuite/binutils-all/windres/checkbox.rc vendor/binutils/dist/binutils/testsuite/binutils-all/windres/checkbox.rsd vendor/binutils/dist/binutils/testsuite/binutils-all/windres/combobox.rc vendor/binutils/dist/binutils/testsuite/binutils-all/windres/combobox.rsd vendor/binutils/dist/binutils/testsuite/binutils-all/windres/deflang.rc vendor/binutils/dist/binutils/testsuite/binutils-all/windres/deflang.rsd vendor/binutils/dist/binutils/testsuite/binutils-all/windres/dialog0.rc vendor/binutils/dist/binutils/testsuite/binutils-all/windres/dialog0.rsd vendor/binutils/dist/binutils/testsuite/binutils-all/windres/dialog1.rc vendor/binutils/dist/binutils/testsuite/binutils-all/windres/dialog1.rsd vendor/binutils/dist/binutils/testsuite/binutils-all/windres/dialogid.rc vendor/binutils/dist/binutils/testsuite/binutils-all/windres/dialogid.rsd vendor/binutils/dist/binutils/testsuite/binutils-all/windres/dialogsignature.rc vendor/binutils/dist/binutils/testsuite/binutils-all/windres/dialogsignature.rsd vendor/binutils/dist/binutils/testsuite/binutils-all/windres/dlgfont.rc vendor/binutils/dist/binutils/testsuite/binutils-all/windres/dlgfont.rsd vendor/binutils/dist/binutils/testsuite/binutils-all/windres/edittext.rc vendor/binutils/dist/binutils/testsuite/binutils-all/windres/edittext.rsd vendor/binutils/dist/binutils/testsuite/binutils-all/windres/escapea.rc vendor/binutils/dist/binutils/testsuite/binutils-all/windres/escapea.rsd vendor/binutils/dist/binutils/testsuite/binutils-all/windres/escapex.rc vendor/binutils/dist/binutils/testsuite/binutils-all/windres/escapex.rsd vendor/binutils/dist/binutils/testsuite/binutils-all/windres/lang.rc vendor/binutils/dist/binutils/testsuite/binutils-all/windres/lang.rsd vendor/binutils/dist/binutils/testsuite/binutils-all/windres/listbox.rc vendor/binutils/dist/binutils/testsuite/binutils-all/windres/listbox.rsd vendor/binutils/dist/binutils/testsuite/binutils-all/windres/msupdate (contents, props changed) vendor/binutils/dist/binutils/testsuite/binutils-all/windres/nocaption.rc vendor/binutils/dist/binutils/testsuite/binutils-all/windres/nocaption.rsd vendor/binutils/dist/binutils/testsuite/binutils-all/windres/printstyle.rc vendor/binutils/dist/binutils/testsuite/binutils-all/windres/printstyle.rsd vendor/binutils/dist/binutils/testsuite/binutils-all/windres/quoteclass.rc vendor/binutils/dist/binutils/testsuite/binutils-all/windres/scrollbar.rc vendor/binutils/dist/binutils/testsuite/binutils-all/windres/scrollbar.rsd vendor/binutils/dist/binutils/testsuite/binutils-all/windres/strtab1.rc vendor/binutils/dist/binutils/testsuite/binutils-all/windres/strtab1.rsd vendor/binutils/dist/binutils/testsuite/binutils-all/windres/sublang.rc vendor/binutils/dist/binutils/testsuite/binutils-all/windres/sublang.rsd vendor/binutils/dist/binutils/testsuite/binutils-all/windres/windres.exp vendor/binutils/dist/binutils/testsuite/config/ vendor/binutils/dist/binutils/testsuite/config/default.exp vendor/binutils/dist/binutils/testsuite/config/hppa.sed vendor/binutils/dist/binutils/testsuite/lib/ vendor/binutils/dist/binutils/testsuite/lib/utils-lib.exp vendor/binutils/dist/binutils/windres.c vendor/binutils/dist/binutils/windres.h vendor/binutils/dist/binutils/winduni.c vendor/binutils/dist/binutils/winduni.h vendor/binutils/dist/config/accross.m4 vendor/binutils/dist/config/acx.m4 vendor/binutils/dist/config/gettext.m4 vendor/binutils/dist/config/mh-cygwin vendor/binutils/dist/config/mh-dgux386 vendor/binutils/dist/config/mh-djgpp vendor/binutils/dist/config/mh-i370pic vendor/binutils/dist/config/mh-interix vendor/binutils/dist/config/mh-lynxrs6k vendor/binutils/dist/config/mh-m68kpic vendor/binutils/dist/config/mh-ncr3000 vendor/binutils/dist/config/mt-d30v vendor/binutils/dist/config/mt-netware vendor/binutils/dist/config/mt-wince vendor/binutils/dist/config/no-executables.m4 vendor/binutils/dist/config/progtest.m4 vendor/binutils/dist/cpu/ vendor/binutils/dist/cpu/ChangeLog vendor/binutils/dist/cpu/frv.cpu vendor/binutils/dist/cpu/frv.opc vendor/binutils/dist/cpu/iq10.cpu vendor/binutils/dist/cpu/iq2000.cpu vendor/binutils/dist/cpu/iq2000.opc vendor/binutils/dist/cpu/iq2000m.cpu vendor/binutils/dist/cpu/simplify.inc vendor/binutils/dist/etc/configure.info (contents, props changed) vendor/binutils/dist/etc/fdl.texi vendor/binutils/dist/etc/standards.info vendor/binutils/dist/etc/texi2pod.pl vendor/binutils/dist/gas/COPYING vendor/binutils/dist/gas/README-vms vendor/binutils/dist/gas/config-gas.com vendor/binutils/dist/gas/config/atof-tahoe.c vendor/binutils/dist/gas/config/e-crisaout.c vendor/binutils/dist/gas/config/e-criself.c vendor/binutils/dist/gas/config/m68k-parse.h vendor/binutils/dist/gas/config/m68k-parse.y vendor/binutils/dist/gas/config/m88k-opcode.h vendor/binutils/dist/gas/config/obj-bout.c vendor/binutils/dist/gas/config/obj-bout.h vendor/binutils/dist/gas/config/obj-evax.c vendor/binutils/dist/gas/config/obj-evax.h vendor/binutils/dist/gas/config/obj-hp300.c vendor/binutils/dist/gas/config/obj-hp300.h vendor/binutils/dist/gas/config/obj-som.c vendor/binutils/dist/gas/config/obj-som.h vendor/binutils/dist/gas/config/obj-vms.c vendor/binutils/dist/gas/config/obj-vms.h vendor/binutils/dist/gas/config/tc-a29k.c vendor/binutils/dist/gas/config/tc-a29k.h vendor/binutils/dist/gas/config/tc-avr.c vendor/binutils/dist/gas/config/tc-avr.h vendor/binutils/dist/gas/config/tc-cris.c vendor/binutils/dist/gas/config/tc-cris.h vendor/binutils/dist/gas/config/tc-d10v.c vendor/binutils/dist/gas/config/tc-d10v.h vendor/binutils/dist/gas/config/tc-d30v.c vendor/binutils/dist/gas/config/tc-d30v.h vendor/binutils/dist/gas/config/tc-dlx.c vendor/binutils/dist/gas/config/tc-dlx.h vendor/binutils/dist/gas/config/tc-fr30.c vendor/binutils/dist/gas/config/tc-fr30.h vendor/binutils/dist/gas/config/tc-frv.c vendor/binutils/dist/gas/config/tc-frv.h vendor/binutils/dist/gas/config/tc-h8300.c vendor/binutils/dist/gas/config/tc-h8300.h vendor/binutils/dist/gas/config/tc-h8500.c vendor/binutils/dist/gas/config/tc-h8500.h vendor/binutils/dist/gas/config/tc-hppa.c vendor/binutils/dist/gas/config/tc-hppa.h vendor/binutils/dist/gas/config/tc-i370.c vendor/binutils/dist/gas/config/tc-i370.h vendor/binutils/dist/gas/config/tc-i860.c vendor/binutils/dist/gas/config/tc-i860.h vendor/binutils/dist/gas/config/tc-i960.c vendor/binutils/dist/gas/config/tc-i960.h vendor/binutils/dist/gas/config/tc-ip2k.c vendor/binutils/dist/gas/config/tc-ip2k.h vendor/binutils/dist/gas/config/tc-iq2000.c vendor/binutils/dist/gas/config/tc-iq2000.h vendor/binutils/dist/gas/config/tc-m32r.c vendor/binutils/dist/gas/config/tc-m32r.h vendor/binutils/dist/gas/config/tc-m68hc11.c vendor/binutils/dist/gas/config/tc-m68hc11.h vendor/binutils/dist/gas/config/tc-m68k.c vendor/binutils/dist/gas/config/tc-m68k.h vendor/binutils/dist/gas/config/tc-m88k.c vendor/binutils/dist/gas/config/tc-m88k.h vendor/binutils/dist/gas/config/tc-mcore.c vendor/binutils/dist/gas/config/tc-mcore.h vendor/binutils/dist/gas/config/tc-mmix.c vendor/binutils/dist/gas/config/tc-mmix.h vendor/binutils/dist/gas/config/tc-mn10200.c vendor/binutils/dist/gas/config/tc-mn10200.h vendor/binutils/dist/gas/config/tc-mn10300.c vendor/binutils/dist/gas/config/tc-mn10300.h vendor/binutils/dist/gas/config/tc-msp430.c vendor/binutils/dist/gas/config/tc-msp430.h vendor/binutils/dist/gas/config/tc-ns32k.c vendor/binutils/dist/gas/config/tc-ns32k.h vendor/binutils/dist/gas/config/tc-openrisc.c vendor/binutils/dist/gas/config/tc-openrisc.h vendor/binutils/dist/gas/config/tc-or32.c vendor/binutils/dist/gas/config/tc-or32.h vendor/binutils/dist/gas/config/tc-pdp11.c vendor/binutils/dist/gas/config/tc-pdp11.h vendor/binutils/dist/gas/config/tc-pj.c vendor/binutils/dist/gas/config/tc-pj.h vendor/binutils/dist/gas/config/tc-sh64.c vendor/binutils/dist/gas/config/tc-sh64.h vendor/binutils/dist/gas/config/tc-tahoe.c vendor/binutils/dist/gas/config/tc-tahoe.h vendor/binutils/dist/gas/config/tc-tic4x.c vendor/binutils/dist/gas/config/tc-tic4x.h vendor/binutils/dist/gas/config/tc-tic54x.c vendor/binutils/dist/gas/config/tc-tic54x.h vendor/binutils/dist/gas/config/tc-tic80.c vendor/binutils/dist/gas/config/tc-tic80.h vendor/binutils/dist/gas/config/tc-vax.c vendor/binutils/dist/gas/config/tc-vax.h vendor/binutils/dist/gas/config/tc-w65.c vendor/binutils/dist/gas/config/tc-w65.h vendor/binutils/dist/gas/config/tc-xstormy16.c vendor/binutils/dist/gas/config/tc-xstormy16.h vendor/binutils/dist/gas/config/tc-xtensa.c vendor/binutils/dist/gas/config/tc-xtensa.h vendor/binutils/dist/gas/config/te-aix5.h vendor/binutils/dist/gas/config/te-delt88.h vendor/binutils/dist/gas/config/te-delta.h vendor/binutils/dist/gas/config/te-dpx2.h vendor/binutils/dist/gas/config/te-dynix.h vendor/binutils/dist/gas/config/te-epoc-pe.h vendor/binutils/dist/gas/config/te-go32.h vendor/binutils/dist/gas/config/te-hp300.h vendor/binutils/dist/gas/config/te-hppa.h vendor/binutils/dist/gas/config/te-hppa64.h vendor/binutils/dist/gas/config/te-hppalinux64.h vendor/binutils/dist/gas/config/te-hpux.h vendor/binutils/dist/gas/config/te-i386aix.h vendor/binutils/dist/gas/config/te-ia64aix.h vendor/binutils/dist/gas/config/te-ic960.h vendor/binutils/dist/gas/config/te-interix.h vendor/binutils/dist/gas/config/te-irix.h vendor/binutils/dist/gas/config/te-lnews.h vendor/binutils/dist/gas/config/te-lynx.h vendor/binutils/dist/gas/config/te-mach.h vendor/binutils/dist/gas/config/te-macos.h vendor/binutils/dist/gas/config/te-nbsd532.h vendor/binutils/dist/gas/config/te-pc532mach.h vendor/binutils/dist/gas/config/te-psos.h vendor/binutils/dist/gas/config/te-riscix.h vendor/binutils/dist/gas/config/te-sun3.h vendor/binutils/dist/gas/config/te-wince-pe.h vendor/binutils/dist/gas/config/vax-inst.h vendor/binutils/dist/gas/config/vms-a-conf.h vendor/binutils/dist/gas/config/vms-conf.h vendor/binutils/dist/gas/config/xtensa-istack.h vendor/binutils/dist/gas/config/xtensa-relax.c vendor/binutils/dist/gas/config/xtensa-relax.h vendor/binutils/dist/gas/doc/c-a29k.texi vendor/binutils/dist/gas/doc/c-cris.texi vendor/binutils/dist/gas/doc/c-d10v.texi vendor/binutils/dist/gas/doc/c-d30v.texi vendor/binutils/dist/gas/doc/c-h8300.texi vendor/binutils/dist/gas/doc/c-h8500.texi vendor/binutils/dist/gas/doc/c-hppa.texi vendor/binutils/dist/gas/doc/c-i370.texi vendor/binutils/dist/gas/doc/c-i860.texi vendor/binutils/dist/gas/doc/c-i960.texi vendor/binutils/dist/gas/doc/c-ip2k.texi vendor/binutils/dist/gas/doc/c-m32r.texi vendor/binutils/dist/gas/doc/c-m68hc11.texi vendor/binutils/dist/gas/doc/c-m68k.texi vendor/binutils/dist/gas/doc/c-m88k.texi vendor/binutils/dist/gas/doc/c-mmix.texi vendor/binutils/dist/gas/doc/c-msp430.texi vendor/binutils/dist/gas/doc/c-ns32k.texi vendor/binutils/dist/gas/doc/c-pdp11.texi vendor/binutils/dist/gas/doc/c-pj.texi vendor/binutils/dist/gas/doc/c-sh64.texi vendor/binutils/dist/gas/doc/c-tic54x.texi vendor/binutils/dist/gas/doc/c-vax.texi vendor/binutils/dist/gas/doc/c-xtensa.texi vendor/binutils/dist/gas/doc/fdl.texi vendor/binutils/dist/gas/itbl-lex.c vendor/binutils/dist/gas/itbl-parse.c vendor/binutils/dist/gas/itbl-parse.h vendor/binutils/dist/gas/m68k-parse.c vendor/binutils/dist/gas/mac-as.r vendor/binutils/dist/gas/make-gas.com vendor/binutils/dist/gas/makefile.vms vendor/binutils/dist/gas/mpw-config.in vendor/binutils/dist/gas/mpw-make.sed vendor/binutils/dist/gas/po/.cvsignore vendor/binutils/dist/gas/po/es.gmo (contents, props changed) vendor/binutils/dist/gas/po/es.po vendor/binutils/dist/gas/po/fr.gmo (contents, props changed) vendor/binutils/dist/gas/po/fr.po vendor/binutils/dist/gas/po/tr.gmo (contents, props changed) vendor/binutils/dist/gas/po/tr.po vendor/binutils/dist/gas/testsuite/ vendor/binutils/dist/gas/testsuite/ChangeLog vendor/binutils/dist/gas/testsuite/ChangeLog-9303 vendor/binutils/dist/gas/testsuite/config/ vendor/binutils/dist/gas/testsuite/config/default.exp vendor/binutils/dist/gas/testsuite/gas/ vendor/binutils/dist/gas/testsuite/gas/all/ vendor/binutils/dist/gas/testsuite/gas/all/align.d vendor/binutils/dist/gas/testsuite/gas/all/align.s vendor/binutils/dist/gas/testsuite/gas/all/align2.d vendor/binutils/dist/gas/testsuite/gas/all/align2.s vendor/binutils/dist/gas/testsuite/gas/all/cofftag.d vendor/binutils/dist/gas/testsuite/gas/all/cofftag.s vendor/binutils/dist/gas/testsuite/gas/all/comment.s vendor/binutils/dist/gas/testsuite/gas/all/cond.d vendor/binutils/dist/gas/testsuite/gas/all/cond.s vendor/binutils/dist/gas/testsuite/gas/all/diff1.s vendor/binutils/dist/gas/testsuite/gas/all/fastcall.s vendor/binutils/dist/gas/testsuite/gas/all/float.s vendor/binutils/dist/gas/testsuite/gas/all/gas.exp vendor/binutils/dist/gas/testsuite/gas/all/incbin.d vendor/binutils/dist/gas/testsuite/gas/all/incbin.dat vendor/binutils/dist/gas/testsuite/gas/all/incbin.s vendor/binutils/dist/gas/testsuite/gas/all/itbl vendor/binutils/dist/gas/testsuite/gas/all/itbl-test.c vendor/binutils/dist/gas/testsuite/gas/all/itbl.s vendor/binutils/dist/gas/testsuite/gas/all/p1480.s vendor/binutils/dist/gas/testsuite/gas/all/p2425.s vendor/binutils/dist/gas/testsuite/gas/all/struct.d vendor/binutils/dist/gas/testsuite/gas/all/struct.s vendor/binutils/dist/gas/testsuite/gas/all/test-example.c vendor/binutils/dist/gas/testsuite/gas/all/test-gen.c vendor/binutils/dist/gas/testsuite/gas/all/x930509.s vendor/binutils/dist/gas/testsuite/gas/alpha/ vendor/binutils/dist/gas/testsuite/gas/alpha/alpha.exp vendor/binutils/dist/gas/testsuite/gas/alpha/elf-reloc-1.d vendor/binutils/dist/gas/testsuite/gas/alpha/elf-reloc-1.s vendor/binutils/dist/gas/testsuite/gas/alpha/elf-reloc-2.l vendor/binutils/dist/gas/testsuite/gas/alpha/elf-reloc-2.s vendor/binutils/dist/gas/testsuite/gas/alpha/elf-reloc-3.l vendor/binutils/dist/gas/testsuite/gas/alpha/elf-reloc-3.s vendor/binutils/dist/gas/testsuite/gas/alpha/elf-reloc-4.d vendor/binutils/dist/gas/testsuite/gas/alpha/elf-reloc-4.s vendor/binutils/dist/gas/testsuite/gas/alpha/elf-reloc-5.d vendor/binutils/dist/gas/testsuite/gas/alpha/elf-reloc-5.s vendor/binutils/dist/gas/testsuite/gas/alpha/elf-reloc-6.l vendor/binutils/dist/gas/testsuite/gas/alpha/elf-reloc-6.s vendor/binutils/dist/gas/testsuite/gas/alpha/elf-reloc-7.d vendor/binutils/dist/gas/testsuite/gas/alpha/elf-reloc-7.s vendor/binutils/dist/gas/testsuite/gas/alpha/elf-reloc-8.d vendor/binutils/dist/gas/testsuite/gas/alpha/elf-reloc-8.s vendor/binutils/dist/gas/testsuite/gas/alpha/elf-tls-1.d vendor/binutils/dist/gas/testsuite/gas/alpha/elf-tls-1.s vendor/binutils/dist/gas/testsuite/gas/alpha/elf-tls-2.l vendor/binutils/dist/gas/testsuite/gas/alpha/elf-tls-2.s vendor/binutils/dist/gas/testsuite/gas/alpha/elf-tls-3.l vendor/binutils/dist/gas/testsuite/gas/alpha/elf-tls-3.s vendor/binutils/dist/gas/testsuite/gas/alpha/elf-usepv-1.d vendor/binutils/dist/gas/testsuite/gas/alpha/elf-usepv-1.s vendor/binutils/dist/gas/testsuite/gas/alpha/elf-usepv-2.l vendor/binutils/dist/gas/testsuite/gas/alpha/elf-usepv-2.s vendor/binutils/dist/gas/testsuite/gas/alpha/fp.d vendor/binutils/dist/gas/testsuite/gas/alpha/fp.s vendor/binutils/dist/gas/testsuite/gas/alpha/unop.d vendor/binutils/dist/gas/testsuite/gas/alpha/unop.s vendor/binutils/dist/gas/testsuite/gas/arc/ vendor/binutils/dist/gas/testsuite/gas/arc/adc.d vendor/binutils/dist/gas/testsuite/gas/arc/adc.s vendor/binutils/dist/gas/testsuite/gas/arc/add.d vendor/binutils/dist/gas/testsuite/gas/arc/add.s vendor/binutils/dist/gas/testsuite/gas/arc/alias.d vendor/binutils/dist/gas/testsuite/gas/arc/alias.s vendor/binutils/dist/gas/testsuite/gas/arc/and.d vendor/binutils/dist/gas/testsuite/gas/arc/and.s vendor/binutils/dist/gas/testsuite/gas/arc/arc.exp vendor/binutils/dist/gas/testsuite/gas/arc/asl.d vendor/binutils/dist/gas/testsuite/gas/arc/asl.s vendor/binutils/dist/gas/testsuite/gas/arc/asr.d vendor/binutils/dist/gas/testsuite/gas/arc/asr.s vendor/binutils/dist/gas/testsuite/gas/arc/b.d vendor/binutils/dist/gas/testsuite/gas/arc/b.s vendor/binutils/dist/gas/testsuite/gas/arc/bic.d vendor/binutils/dist/gas/testsuite/gas/arc/bic.s vendor/binutils/dist/gas/testsuite/gas/arc/bl.d vendor/binutils/dist/gas/testsuite/gas/arc/bl.s vendor/binutils/dist/gas/testsuite/gas/arc/branch.d vendor/binutils/dist/gas/testsuite/gas/arc/branch.s vendor/binutils/dist/gas/testsuite/gas/arc/brk.d vendor/binutils/dist/gas/testsuite/gas/arc/brk.s vendor/binutils/dist/gas/testsuite/gas/arc/extb.d vendor/binutils/dist/gas/testsuite/gas/arc/extb.s vendor/binutils/dist/gas/testsuite/gas/arc/extw.d vendor/binutils/dist/gas/testsuite/gas/arc/extw.s vendor/binutils/dist/gas/testsuite/gas/arc/flag.d vendor/binutils/dist/gas/testsuite/gas/arc/flag.s vendor/binutils/dist/gas/testsuite/gas/arc/insn3.d vendor/binutils/dist/gas/testsuite/gas/arc/insn3.s vendor/binutils/dist/gas/testsuite/gas/arc/j.d vendor/binutils/dist/gas/testsuite/gas/arc/j.s vendor/binutils/dist/gas/testsuite/gas/arc/jl.d vendor/binutils/dist/gas/testsuite/gas/arc/jl.s vendor/binutils/dist/gas/testsuite/gas/arc/ld.d vendor/binutils/dist/gas/testsuite/gas/arc/ld.s vendor/binutils/dist/gas/testsuite/gas/arc/ld2.d vendor/binutils/dist/gas/testsuite/gas/arc/ld2.s vendor/binutils/dist/gas/testsuite/gas/arc/lp.d vendor/binutils/dist/gas/testsuite/gas/arc/lp.s vendor/binutils/dist/gas/testsuite/gas/arc/lsr.d vendor/binutils/dist/gas/testsuite/gas/arc/lsr.s vendor/binutils/dist/gas/testsuite/gas/arc/math.d vendor/binutils/dist/gas/testsuite/gas/arc/math.s vendor/binutils/dist/gas/testsuite/gas/arc/mov.d vendor/binutils/dist/gas/testsuite/gas/arc/mov.s vendor/binutils/dist/gas/testsuite/gas/arc/nop.d vendor/binutils/dist/gas/testsuite/gas/arc/nop.s vendor/binutils/dist/gas/testsuite/gas/arc/or.d vendor/binutils/dist/gas/testsuite/gas/arc/or.s vendor/binutils/dist/gas/testsuite/gas/arc/rlc.d vendor/binutils/dist/gas/testsuite/gas/arc/rlc.s vendor/binutils/dist/gas/testsuite/gas/arc/ror.d vendor/binutils/dist/gas/testsuite/gas/arc/ror.s vendor/binutils/dist/gas/testsuite/gas/arc/rrc.d vendor/binutils/dist/gas/testsuite/gas/arc/rrc.s vendor/binutils/dist/gas/testsuite/gas/arc/sbc.d vendor/binutils/dist/gas/testsuite/gas/arc/sbc.s vendor/binutils/dist/gas/testsuite/gas/arc/sexb.d vendor/binutils/dist/gas/testsuite/gas/arc/sexb.s vendor/binutils/dist/gas/testsuite/gas/arc/sexw.d vendor/binutils/dist/gas/testsuite/gas/arc/sexw.s vendor/binutils/dist/gas/testsuite/gas/arc/sleep.d vendor/binutils/dist/gas/testsuite/gas/arc/sleep.s vendor/binutils/dist/gas/testsuite/gas/arc/sshift.d vendor/binutils/dist/gas/testsuite/gas/arc/sshift.s vendor/binutils/dist/gas/testsuite/gas/arc/st.d vendor/binutils/dist/gas/testsuite/gas/arc/st.s vendor/binutils/dist/gas/testsuite/gas/arc/sub.d vendor/binutils/dist/gas/testsuite/gas/arc/sub.s vendor/binutils/dist/gas/testsuite/gas/arc/swi.d vendor/binutils/dist/gas/testsuite/gas/arc/swi.s vendor/binutils/dist/gas/testsuite/gas/arc/warn.exp vendor/binutils/dist/gas/testsuite/gas/arc/warn.s vendor/binutils/dist/gas/testsuite/gas/arc/xor.d vendor/binutils/dist/gas/testsuite/gas/arc/xor.s vendor/binutils/dist/gas/testsuite/gas/arm/ vendor/binutils/dist/gas/testsuite/gas/arm/adrl.d vendor/binutils/dist/gas/testsuite/gas/arm/adrl.s vendor/binutils/dist/gas/testsuite/gas/arm/arch4t.s vendor/binutils/dist/gas/testsuite/gas/arm/arch5tej.d vendor/binutils/dist/gas/testsuite/gas/arm/arch5tej.s vendor/binutils/dist/gas/testsuite/gas/arm/archv6.d vendor/binutils/dist/gas/testsuite/gas/arm/archv6.s vendor/binutils/dist/gas/testsuite/gas/arm/arm.exp vendor/binutils/dist/gas/testsuite/gas/arm/arm3.s vendor/binutils/dist/gas/testsuite/gas/arm/arm6.s vendor/binutils/dist/gas/testsuite/gas/arm/arm7dm.s vendor/binutils/dist/gas/testsuite/gas/arm/arm7t.d vendor/binutils/dist/gas/testsuite/gas/arm/arm7t.s vendor/binutils/dist/gas/testsuite/gas/arm/armv1-bad.l vendor/binutils/dist/gas/testsuite/gas/arm/armv1-bad.s vendor/binutils/dist/gas/testsuite/gas/arm/armv1.d vendor/binutils/dist/gas/testsuite/gas/arm/armv1.s vendor/binutils/dist/gas/testsuite/gas/arm/copro.d vendor/binutils/dist/gas/testsuite/gas/arm/copro.s vendor/binutils/dist/gas/testsuite/gas/arm/el_segundo.d vendor/binutils/dist/gas/testsuite/gas/arm/el_segundo.s vendor/binutils/dist/gas/testsuite/gas/arm/float.s vendor/binutils/dist/gas/testsuite/gas/arm/fpa-dyadic.d vendor/binutils/dist/gas/testsuite/gas/arm/fpa-dyadic.s vendor/binutils/dist/gas/testsuite/gas/arm/fpa-mem.d vendor/binutils/dist/gas/testsuite/gas/arm/fpa-mem.s vendor/binutils/dist/gas/testsuite/gas/arm/fpa-monadic.d vendor/binutils/dist/gas/testsuite/gas/arm/fpa-monadic.s vendor/binutils/dist/gas/testsuite/gas/arm/immed.s vendor/binutils/dist/gas/testsuite/gas/arm/inst.d vendor/binutils/dist/gas/testsuite/gas/arm/inst.s vendor/binutils/dist/gas/testsuite/gas/arm/iwmmxt-bad.l vendor/binutils/dist/gas/testsuite/gas/arm/iwmmxt-bad.s vendor/binutils/dist/gas/testsuite/gas/arm/iwmmxt.d vendor/binutils/dist/gas/testsuite/gas/arm/iwmmxt.s vendor/binutils/dist/gas/testsuite/gas/arm/ldconst.d vendor/binutils/dist/gas/testsuite/gas/arm/ldconst.s vendor/binutils/dist/gas/testsuite/gas/arm/le-fpconst.d vendor/binutils/dist/gas/testsuite/gas/arm/le-fpconst.s vendor/binutils/dist/gas/testsuite/gas/arm/mapping.d vendor/binutils/dist/gas/testsuite/gas/arm/mapping.s vendor/binutils/dist/gas/testsuite/gas/arm/maverick.c vendor/binutils/dist/gas/testsuite/gas/arm/maverick.d vendor/binutils/dist/gas/testsuite/gas/arm/maverick.s vendor/binutils/dist/gas/testsuite/gas/arm/offset.s vendor/binutils/dist/gas/testsuite/gas/arm/pic.d vendor/binutils/dist/gas/testsuite/gas/arm/pic.s vendor/binutils/dist/gas/testsuite/gas/arm/r15-bad.l vendor/binutils/dist/gas/testsuite/gas/arm/r15-bad.s vendor/binutils/dist/gas/testsuite/gas/arm/req.l vendor/binutils/dist/gas/testsuite/gas/arm/req.s vendor/binutils/dist/gas/testsuite/gas/arm/thumb.s vendor/binutils/dist/gas/testsuite/gas/arm/thumbv6.d vendor/binutils/dist/gas/testsuite/gas/arm/thumbv6.s vendor/binutils/dist/gas/testsuite/gas/arm/undefined.l vendor/binutils/dist/gas/testsuite/gas/arm/undefined.s vendor/binutils/dist/gas/testsuite/gas/arm/vfp-bad.l vendor/binutils/dist/gas/testsuite/gas/arm/vfp-bad.s vendor/binutils/dist/gas/testsuite/gas/arm/vfp1.d vendor/binutils/dist/gas/testsuite/gas/arm/vfp1.s vendor/binutils/dist/gas/testsuite/gas/arm/vfp1xD.d vendor/binutils/dist/gas/testsuite/gas/arm/vfp1xD.s vendor/binutils/dist/gas/testsuite/gas/arm/vfp2.d vendor/binutils/dist/gas/testsuite/gas/arm/vfp2.s vendor/binutils/dist/gas/testsuite/gas/arm/wince_arm7t.d vendor/binutils/dist/gas/testsuite/gas/arm/wince_copro.d vendor/binutils/dist/gas/testsuite/gas/arm/wince_inst.d vendor/binutils/dist/gas/testsuite/gas/arm/wince_ldconst.d vendor/binutils/dist/gas/testsuite/gas/arm/xscale.d vendor/binutils/dist/gas/testsuite/gas/arm/xscale.s vendor/binutils/dist/gas/testsuite/gas/cfi/ vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-alpha-1.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-alpha-1.s vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-alpha-2.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-alpha-2.s vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-alpha-3.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-alpha-3.s vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-common-1.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-common-1.s vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-common-2.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-common-2.s vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-common-3.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-common-3.s vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-diag-1.l vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-diag-1.s vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-i386-2.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-i386-2.s vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-i386.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-i386.s vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-m68k.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-m68k.s vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-ppc-1.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-ppc-1.s vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-s390-1.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-s390-1.s vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-s390x-1.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-s390x-1.s vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-sh-1.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-sh-1.s vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-sparc-1.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-sparc-1.s vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-sparc64-1.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-sparc64-1.s vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-x86_64.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-x86_64.s vendor/binutils/dist/gas/testsuite/gas/cfi/cfi.exp vendor/binutils/dist/gas/testsuite/gas/cris/ vendor/binutils/dist/gas/testsuite/gas/cris/addi.d vendor/binutils/dist/gas/testsuite/gas/cris/addi.s vendor/binutils/dist/gas/testsuite/gas/cris/binop-cmpmove.d vendor/binutils/dist/gas/testsuite/gas/cris/binop-cmpmovx.d vendor/binutils/dist/gas/testsuite/gas/cris/binop-extx.d vendor/binutils/dist/gas/testsuite/gas/cris/binop-segref.s vendor/binutils/dist/gas/testsuite/gas/cris/binop.d vendor/binutils/dist/gas/testsuite/gas/cris/binop.s vendor/binutils/dist/gas/testsuite/gas/cris/bork.d vendor/binutils/dist/gas/testsuite/gas/cris/bork.s vendor/binutils/dist/gas/testsuite/gas/cris/branch-warn-1.s vendor/binutils/dist/gas/testsuite/gas/cris/branch-warn-2.s vendor/binutils/dist/gas/testsuite/gas/cris/branch-warn-3.s vendor/binutils/dist/gas/testsuite/gas/cris/branch.d vendor/binutils/dist/gas/testsuite/gas/cris/branch.s vendor/binutils/dist/gas/testsuite/gas/cris/break.d vendor/binutils/dist/gas/testsuite/gas/cris/break.s vendor/binutils/dist/gas/testsuite/gas/cris/brokw-1.d vendor/binutils/dist/gas/testsuite/gas/cris/brokw-1.s vendor/binutils/dist/gas/testsuite/gas/cris/brokw-2.d vendor/binutils/dist/gas/testsuite/gas/cris/brokw-2.s vendor/binutils/dist/gas/testsuite/gas/cris/brokw-3.d vendor/binutils/dist/gas/testsuite/gas/cris/brokw-3.s vendor/binutils/dist/gas/testsuite/gas/cris/bwtest-err-1.s vendor/binutils/dist/gas/testsuite/gas/cris/ccr.d vendor/binutils/dist/gas/testsuite/gas/cris/ccr.s vendor/binutils/dist/gas/testsuite/gas/cris/clear.d vendor/binutils/dist/gas/testsuite/gas/cris/continue.d vendor/binutils/dist/gas/testsuite/gas/cris/continue.s vendor/binutils/dist/gas/testsuite/gas/cris/cris.exp vendor/binutils/dist/gas/testsuite/gas/cris/diffexp-ovwr.d vendor/binutils/dist/gas/testsuite/gas/cris/diffexp-ovwr.s vendor/binutils/dist/gas/testsuite/gas/cris/fragtest.d vendor/binutils/dist/gas/testsuite/gas/cris/fragtest.s vendor/binutils/dist/gas/testsuite/gas/cris/jump-type.d vendor/binutils/dist/gas/testsuite/gas/cris/labfloat.d vendor/binutils/dist/gas/testsuite/gas/cris/labfloat.s vendor/binutils/dist/gas/testsuite/gas/cris/macroat.d vendor/binutils/dist/gas/testsuite/gas/cris/macroat.s vendor/binutils/dist/gas/testsuite/gas/cris/movem-to-reg.d vendor/binutils/dist/gas/testsuite/gas/cris/mulbug-err-1.s vendor/binutils/dist/gas/testsuite/gas/cris/nosep.d vendor/binutils/dist/gas/testsuite/gas/cris/nosep.s vendor/binutils/dist/gas/testsuite/gas/cris/oneop-type.d vendor/binutils/dist/gas/testsuite/gas/cris/operand-err-1.s vendor/binutils/dist/gas/testsuite/gas/cris/pic-err-1.s vendor/binutils/dist/gas/testsuite/gas/cris/prefix.d vendor/binutils/dist/gas/testsuite/gas/cris/prefix.s vendor/binutils/dist/gas/testsuite/gas/cris/pushpop-byte-sreg.d vendor/binutils/dist/gas/testsuite/gas/cris/pushpop-dcr1-sreg.d vendor/binutils/dist/gas/testsuite/gas/cris/pushpop-dword-sreg.d vendor/binutils/dist/gas/testsuite/gas/cris/pushpop-word-sreg.d vendor/binutils/dist/gas/testsuite/gas/cris/pushpop.d vendor/binutils/dist/gas/testsuite/gas/cris/pushpop.s vendor/binutils/dist/gas/testsuite/gas/cris/quick-s6.d vendor/binutils/dist/gas/testsuite/gas/cris/quick-u5.d vendor/binutils/dist/gas/testsuite/gas/cris/quick-u6.d vendor/binutils/dist/gas/testsuite/gas/cris/quick.s vendor/binutils/dist/gas/testsuite/gas/cris/range-err-1.s vendor/binutils/dist/gas/testsuite/gas/cris/range-err-2.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-bcnst.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-bcnst.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-1.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-10.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-11.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-12.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-13.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-14.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-15.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-2.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-3.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-4.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-5.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-6.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-7.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-8.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-9.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-mulbug-1.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-pcrel1.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-pcrel1.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-pcrel2.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-pcrel2.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-pic-1.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-pic-1.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-regprefix-1.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-regprefix-1.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-regprefix-1b.d vendor/binutils/dist/gas/testsuite/gas/cris/reg-to-mem.d vendor/binutils/dist/gas/testsuite/gas/cris/regprefix-err-1.s vendor/binutils/dist/gas/testsuite/gas/cris/regreg.d vendor/binutils/dist/gas/testsuite/gas/cris/regreg.s vendor/binutils/dist/gas/testsuite/gas/cris/return.d vendor/binutils/dist/gas/testsuite/gas/cris/return.s vendor/binutils/dist/gas/testsuite/gas/cris/scc.d vendor/binutils/dist/gas/testsuite/gas/cris/scc.s vendor/binutils/dist/gas/testsuite/gas/cris/sep-err-1.s vendor/binutils/dist/gas/testsuite/gas/cris/sep-err-2.s vendor/binutils/dist/gas/testsuite/gas/cris/sep-err-3.s vendor/binutils/dist/gas/testsuite/gas/cris/separator.d vendor/binutils/dist/gas/testsuite/gas/cris/separator.s vendor/binutils/dist/gas/testsuite/gas/cris/shexpr-1.d vendor/binutils/dist/gas/testsuite/gas/cris/shexpr-1.s vendor/binutils/dist/gas/testsuite/gas/cris/sreg-to-x.d vendor/binutils/dist/gas/testsuite/gas/cris/string-1.d vendor/binutils/dist/gas/testsuite/gas/cris/string-1.s vendor/binutils/dist/gas/testsuite/gas/cris/string-2.d vendor/binutils/dist/gas/testsuite/gas/cris/string-2.s vendor/binutils/dist/gas/testsuite/gas/cris/test.d vendor/binutils/dist/gas/testsuite/gas/cris/unimplemented.d vendor/binutils/dist/gas/testsuite/gas/cris/unimplemented.s vendor/binutils/dist/gas/testsuite/gas/cris/unop-mem.d vendor/binutils/dist/gas/testsuite/gas/cris/unop.s vendor/binutils/dist/gas/testsuite/gas/cris/us-err-1.s vendor/binutils/dist/gas/testsuite/gas/cris/us-err-2.s vendor/binutils/dist/gas/testsuite/gas/cris/us-err-3.s vendor/binutils/dist/gas/testsuite/gas/cris/x-to-byte-sreg.d vendor/binutils/dist/gas/testsuite/gas/cris/x-to-dcr1-sreg.d vendor/binutils/dist/gas/testsuite/gas/cris/x-to-dword-sreg.d vendor/binutils/dist/gas/testsuite/gas/cris/x-to-word-sreg.d vendor/binutils/dist/gas/testsuite/gas/d10v/ vendor/binutils/dist/gas/testsuite/gas/d10v/address-001.d vendor/binutils/dist/gas/testsuite/gas/d10v/address-001.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-002.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-002.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-003.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-003.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-004.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-004.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-005.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-005.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-006.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-006.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-007.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-007.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-008.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-008.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-009.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-009.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-010.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-010.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-011.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-011.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-012.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-012.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-013.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-013.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-014.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-014.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-015.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-015.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-016.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-016.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-017.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-017.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-018.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-018.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-019.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-019.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-020.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-020.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-021.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-021.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-022.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-022.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-023.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-023.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-024.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-024.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-025.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-025.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-026.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-026.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-027.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-027.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-028.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-028.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-029.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-029.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-030.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-030.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-031.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-031.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-032.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-032.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-033.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-033.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-034.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-034.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-035.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-035.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-036.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-036.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-037.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-037.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-038.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-038.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-039.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-039.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-040.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-040.s vendor/binutils/dist/gas/testsuite/gas/d10v/address-041.l vendor/binutils/dist/gas/testsuite/gas/d10v/address-041.s vendor/binutils/dist/gas/testsuite/gas/d10v/control-001.d vendor/binutils/dist/gas/testsuite/gas/d10v/control-001.s vendor/binutils/dist/gas/testsuite/gas/d10v/d10v.exp vendor/binutils/dist/gas/testsuite/gas/d10v/error-001.d vendor/binutils/dist/gas/testsuite/gas/d10v/error-001.s vendor/binutils/dist/gas/testsuite/gas/d10v/error-002.d vendor/binutils/dist/gas/testsuite/gas/d10v/error-002.s vendor/binutils/dist/gas/testsuite/gas/d10v/immediate-001.d vendor/binutils/dist/gas/testsuite/gas/d10v/immediate-001.s vendor/binutils/dist/gas/testsuite/gas/d10v/immediate-002.d vendor/binutils/dist/gas/testsuite/gas/d10v/immediate-002.s vendor/binutils/dist/gas/testsuite/gas/d10v/immediate-003.d vendor/binutils/dist/gas/testsuite/gas/d10v/immediate-003.s vendor/binutils/dist/gas/testsuite/gas/d10v/immediate-004.d vendor/binutils/dist/gas/testsuite/gas/d10v/immediate-004.s vendor/binutils/dist/gas/testsuite/gas/d10v/immediate-005.d vendor/binutils/dist/gas/testsuite/gas/d10v/immediate-005.s vendor/binutils/dist/gas/testsuite/gas/d10v/immediate-006.d vendor/binutils/dist/gas/testsuite/gas/d10v/immediate-006.s vendor/binutils/dist/gas/testsuite/gas/d10v/immediate-007.d vendor/binutils/dist/gas/testsuite/gas/d10v/immediate-007.s vendor/binutils/dist/gas/testsuite/gas/d10v/inst.d vendor/binutils/dist/gas/testsuite/gas/d10v/inst.s vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing-001.d vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing-001.s vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing-002.d vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing-002.s vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing-003.d vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing-003.s vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing-004.d vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing-004.s vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing-005.d vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing-005.s vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing-006.d vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing-006.s vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing-007.d vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing-007.s vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing-008.d vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing-009.d vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing-010.d vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing.d vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing.s vendor/binutils/dist/gas/testsuite/gas/d10v/label-001.d vendor/binutils/dist/gas/testsuite/gas/d10v/label-001.s vendor/binutils/dist/gas/testsuite/gas/d10v/warning-001.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-001.s vendor/binutils/dist/gas/testsuite/gas/d10v/warning-002.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-002.s vendor/binutils/dist/gas/testsuite/gas/d10v/warning-003.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-003.s vendor/binutils/dist/gas/testsuite/gas/d10v/warning-004.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-004.s vendor/binutils/dist/gas/testsuite/gas/d10v/warning-005.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-005.s vendor/binutils/dist/gas/testsuite/gas/d10v/warning-006.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-006.s vendor/binutils/dist/gas/testsuite/gas/d10v/warning-007.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-007.s vendor/binutils/dist/gas/testsuite/gas/d10v/warning-008.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-008.s vendor/binutils/dist/gas/testsuite/gas/d10v/warning-009.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-009.s vendor/binutils/dist/gas/testsuite/gas/d10v/warning-010.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-010.s vendor/binutils/dist/gas/testsuite/gas/d10v/warning-011.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-011.s vendor/binutils/dist/gas/testsuite/gas/d10v/warning-012.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-012.s vendor/binutils/dist/gas/testsuite/gas/d10v/warning-013.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-013.s vendor/binutils/dist/gas/testsuite/gas/d10v/warning-014.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-014.s vendor/binutils/dist/gas/testsuite/gas/d10v/warning-015.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-016.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-016.s vendor/binutils/dist/gas/testsuite/gas/d10v/warning-017.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-017.s vendor/binutils/dist/gas/testsuite/gas/d10v/warning-018.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-018.s vendor/binutils/dist/gas/testsuite/gas/d10v/warning-019.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-019.s vendor/binutils/dist/gas/testsuite/gas/d30v/ vendor/binutils/dist/gas/testsuite/gas/d30v/align.d vendor/binutils/dist/gas/testsuite/gas/d30v/align.s vendor/binutils/dist/gas/testsuite/gas/d30v/array.d vendor/binutils/dist/gas/testsuite/gas/d30v/array.s vendor/binutils/dist/gas/testsuite/gas/d30v/bittest.d vendor/binutils/dist/gas/testsuite/gas/d30v/bittest.l vendor/binutils/dist/gas/testsuite/gas/d30v/bittest.s vendor/binutils/dist/gas/testsuite/gas/d30v/d30.exp vendor/binutils/dist/gas/testsuite/gas/d30v/guard-debug.d vendor/binutils/dist/gas/testsuite/gas/d30v/guard-debug.s vendor/binutils/dist/gas/testsuite/gas/d30v/guard.d vendor/binutils/dist/gas/testsuite/gas/d30v/guard.s vendor/binutils/dist/gas/testsuite/gas/d30v/inst.d vendor/binutils/dist/gas/testsuite/gas/d30v/inst.s vendor/binutils/dist/gas/testsuite/gas/d30v/label-debug.d vendor/binutils/dist/gas/testsuite/gas/d30v/label-debug.s vendor/binutils/dist/gas/testsuite/gas/d30v/label.d vendor/binutils/dist/gas/testsuite/gas/d30v/label.s vendor/binutils/dist/gas/testsuite/gas/d30v/mul.d vendor/binutils/dist/gas/testsuite/gas/d30v/mul.s vendor/binutils/dist/gas/testsuite/gas/d30v/opt.d vendor/binutils/dist/gas/testsuite/gas/d30v/opt.s vendor/binutils/dist/gas/testsuite/gas/d30v/reloc.d vendor/binutils/dist/gas/testsuite/gas/d30v/reloc.s vendor/binutils/dist/gas/testsuite/gas/d30v/serial.l vendor/binutils/dist/gas/testsuite/gas/d30v/serial.s vendor/binutils/dist/gas/testsuite/gas/d30v/serial2.l vendor/binutils/dist/gas/testsuite/gas/d30v/serial2.s vendor/binutils/dist/gas/testsuite/gas/d30v/serial2O.l vendor/binutils/dist/gas/testsuite/gas/d30v/serial2O.s vendor/binutils/dist/gas/testsuite/gas/d30v/warn_oddreg.l vendor/binutils/dist/gas/testsuite/gas/d30v/warn_oddreg.s vendor/binutils/dist/gas/testsuite/gas/dlx/ vendor/binutils/dist/gas/testsuite/gas/dlx/alltests.exp vendor/binutils/dist/gas/testsuite/gas/dlx/branch.d vendor/binutils/dist/gas/testsuite/gas/dlx/branch.s vendor/binutils/dist/gas/testsuite/gas/dlx/itype.d vendor/binutils/dist/gas/testsuite/gas/dlx/itype.s vendor/binutils/dist/gas/testsuite/gas/dlx/lhi.d vendor/binutils/dist/gas/testsuite/gas/dlx/lhi.s vendor/binutils/dist/gas/testsuite/gas/dlx/load.d vendor/binutils/dist/gas/testsuite/gas/dlx/load.s vendor/binutils/dist/gas/testsuite/gas/dlx/lohi.d vendor/binutils/dist/gas/testsuite/gas/dlx/lohi.s vendor/binutils/dist/gas/testsuite/gas/dlx/rtype.d vendor/binutils/dist/gas/testsuite/gas/dlx/rtype.s vendor/binutils/dist/gas/testsuite/gas/dlx/store.d vendor/binutils/dist/gas/testsuite/gas/dlx/store.s vendor/binutils/dist/gas/testsuite/gas/elf/ vendor/binutils/dist/gas/testsuite/gas/elf/ehopt0.d vendor/binutils/dist/gas/testsuite/gas/elf/ehopt0.s vendor/binutils/dist/gas/testsuite/gas/elf/elf.exp vendor/binutils/dist/gas/testsuite/gas/elf/section0.d vendor/binutils/dist/gas/testsuite/gas/elf/section0.s vendor/binutils/dist/gas/testsuite/gas/elf/section1.d vendor/binutils/dist/gas/testsuite/gas/elf/section1.s vendor/binutils/dist/gas/testsuite/gas/elf/section2.e vendor/binutils/dist/gas/testsuite/gas/elf/section2.e-m32r vendor/binutils/dist/gas/testsuite/gas/elf/section2.e-mips vendor/binutils/dist/gas/testsuite/gas/elf/section2.e-miwmmxt vendor/binutils/dist/gas/testsuite/gas/elf/section2.l vendor/binutils/dist/gas/testsuite/gas/elf/section2.s vendor/binutils/dist/gas/testsuite/gas/elf/section3.d vendor/binutils/dist/gas/testsuite/gas/elf/section3.s vendor/binutils/dist/gas/testsuite/gas/elf/symver.d vendor/binutils/dist/gas/testsuite/gas/elf/symver.s vendor/binutils/dist/gas/testsuite/gas/elf/type.e vendor/binutils/dist/gas/testsuite/gas/elf/type.s vendor/binutils/dist/gas/testsuite/gas/fr30/ vendor/binutils/dist/gas/testsuite/gas/fr30/allinsn.d vendor/binutils/dist/gas/testsuite/gas/fr30/allinsn.exp vendor/binutils/dist/gas/testsuite/gas/fr30/allinsn.s vendor/binutils/dist/gas/testsuite/gas/fr30/fr30.exp vendor/binutils/dist/gas/testsuite/gas/frv/ vendor/binutils/dist/gas/testsuite/gas/frv/allinsn.d vendor/binutils/dist/gas/testsuite/gas/frv/allinsn.exp vendor/binutils/dist/gas/testsuite/gas/frv/allinsn.s vendor/binutils/dist/gas/testsuite/gas/frv/fdpic.d vendor/binutils/dist/gas/testsuite/gas/frv/fdpic.s vendor/binutils/dist/gas/testsuite/gas/frv/reloc1.d vendor/binutils/dist/gas/testsuite/gas/frv/reloc1.s vendor/binutils/dist/gas/testsuite/gas/h8300/ vendor/binutils/dist/gas/testsuite/gas/h8300/addsub.s vendor/binutils/dist/gas/testsuite/gas/h8300/addsubh.s vendor/binutils/dist/gas/testsuite/gas/h8300/addsubs.s vendor/binutils/dist/gas/testsuite/gas/h8300/bitops1.s vendor/binutils/dist/gas/testsuite/gas/h8300/bitops1h.s vendor/binutils/dist/gas/testsuite/gas/h8300/bitops1s.s vendor/binutils/dist/gas/testsuite/gas/h8300/bitops2.s vendor/binutils/dist/gas/testsuite/gas/h8300/bitops2h.s vendor/binutils/dist/gas/testsuite/gas/h8300/bitops2s.s vendor/binutils/dist/gas/testsuite/gas/h8300/bitops3.s vendor/binutils/dist/gas/testsuite/gas/h8300/bitops3h.s vendor/binutils/dist/gas/testsuite/gas/h8300/bitops3s.s vendor/binutils/dist/gas/testsuite/gas/h8300/bitops4.s vendor/binutils/dist/gas/testsuite/gas/h8300/bitops4h.s vendor/binutils/dist/gas/testsuite/gas/h8300/bitops4s.s vendor/binutils/dist/gas/testsuite/gas/h8300/branch-coff.s vendor/binutils/dist/gas/testsuite/gas/h8300/branch-elf.s vendor/binutils/dist/gas/testsuite/gas/h8300/branchh-coff.s vendor/binutils/dist/gas/testsuite/gas/h8300/branchh-elf.s vendor/binutils/dist/gas/testsuite/gas/h8300/branchs-coff.s vendor/binutils/dist/gas/testsuite/gas/h8300/branchs-elf.s vendor/binutils/dist/gas/testsuite/gas/h8300/cbranch.s vendor/binutils/dist/gas/testsuite/gas/h8300/cbranchh.s vendor/binutils/dist/gas/testsuite/gas/h8300/cbranchs.s vendor/binutils/dist/gas/testsuite/gas/h8300/cmpsi2.s vendor/binutils/dist/gas/testsuite/gas/h8300/compare.s vendor/binutils/dist/gas/testsuite/gas/h8300/compareh.s vendor/binutils/dist/gas/testsuite/gas/h8300/compares.s vendor/binutils/dist/gas/testsuite/gas/h8300/decimal.s vendor/binutils/dist/gas/testsuite/gas/h8300/decimalh.s vendor/binutils/dist/gas/testsuite/gas/h8300/decimals.s vendor/binutils/dist/gas/testsuite/gas/h8300/divmul.s vendor/binutils/dist/gas/testsuite/gas/h8300/divmulh.s vendor/binutils/dist/gas/testsuite/gas/h8300/divmuls.s vendor/binutils/dist/gas/testsuite/gas/h8300/extendh.s vendor/binutils/dist/gas/testsuite/gas/h8300/extends.s vendor/binutils/dist/gas/testsuite/gas/h8300/ffxx1-coff.d vendor/binutils/dist/gas/testsuite/gas/h8300/ffxx1-coff.s vendor/binutils/dist/gas/testsuite/gas/h8300/ffxx1-elf.d vendor/binutils/dist/gas/testsuite/gas/h8300/ffxx1-elf.s vendor/binutils/dist/gas/testsuite/gas/h8300/h8300-coff.exp vendor/binutils/dist/gas/testsuite/gas/h8300/h8300-elf.exp vendor/binutils/dist/gas/testsuite/gas/h8300/h8300.exp vendor/binutils/dist/gas/testsuite/gas/h8300/h8sx_disp2.d vendor/binutils/dist/gas/testsuite/gas/h8300/h8sx_disp2.s vendor/binutils/dist/gas/testsuite/gas/h8300/h8sx_mov_imm.d vendor/binutils/dist/gas/testsuite/gas/h8300/h8sx_mov_imm.s vendor/binutils/dist/gas/testsuite/gas/h8300/h8sx_rtsl.d vendor/binutils/dist/gas/testsuite/gas/h8300/h8sx_rtsl.s vendor/binutils/dist/gas/testsuite/gas/h8300/incdec.s vendor/binutils/dist/gas/testsuite/gas/h8300/incdech.s vendor/binutils/dist/gas/testsuite/gas/h8300/incdecs.s vendor/binutils/dist/gas/testsuite/gas/h8300/logical.s vendor/binutils/dist/gas/testsuite/gas/h8300/logicalh.s vendor/binutils/dist/gas/testsuite/gas/h8300/logicals.s vendor/binutils/dist/gas/testsuite/gas/h8300/macs.s vendor/binutils/dist/gas/testsuite/gas/h8300/misc.s vendor/binutils/dist/gas/testsuite/gas/h8300/misch.s vendor/binutils/dist/gas/testsuite/gas/h8300/miscs.s vendor/binutils/dist/gas/testsuite/gas/h8300/mov32bug.s vendor/binutils/dist/gas/testsuite/gas/h8300/movb.s vendor/binutils/dist/gas/testsuite/gas/h8300/movbh.s vendor/binutils/dist/gas/testsuite/gas/h8300/movbs.s vendor/binutils/dist/gas/testsuite/gas/h8300/movlh.s vendor/binutils/dist/gas/testsuite/gas/h8300/movls.s vendor/binutils/dist/gas/testsuite/gas/h8300/movw.s vendor/binutils/dist/gas/testsuite/gas/h8300/movwh.s vendor/binutils/dist/gas/testsuite/gas/h8300/movws.s vendor/binutils/dist/gas/testsuite/gas/h8300/multiples.s vendor/binutils/dist/gas/testsuite/gas/h8300/pushpop.s vendor/binutils/dist/gas/testsuite/gas/h8300/pushpoph.s vendor/binutils/dist/gas/testsuite/gas/h8300/pushpops.s vendor/binutils/dist/gas/testsuite/gas/h8300/rotsh.s vendor/binutils/dist/gas/testsuite/gas/h8300/rotshh.s vendor/binutils/dist/gas/testsuite/gas/h8300/rotshs.s vendor/binutils/dist/gas/testsuite/gas/h8300/t01_mov.exp vendor/binutils/dist/gas/testsuite/gas/h8300/t01_mov.s vendor/binutils/dist/gas/testsuite/gas/h8300/t02_mova.exp vendor/binutils/dist/gas/testsuite/gas/h8300/t02_mova.s vendor/binutils/dist/gas/testsuite/gas/h8300/t03_add.exp vendor/binutils/dist/gas/testsuite/gas/h8300/t03_add.s vendor/binutils/dist/gas/testsuite/gas/h8300/t04_sub.exp vendor/binutils/dist/gas/testsuite/gas/h8300/t04_sub.s vendor/binutils/dist/gas/testsuite/gas/h8300/t05_cmp.exp vendor/binutils/dist/gas/testsuite/gas/h8300/t05_cmp.s vendor/binutils/dist/gas/testsuite/gas/h8300/t06_ari2.exp vendor/binutils/dist/gas/testsuite/gas/h8300/t06_ari2.s vendor/binutils/dist/gas/testsuite/gas/h8300/t07_ari3.exp vendor/binutils/dist/gas/testsuite/gas/h8300/t07_ari3.s vendor/binutils/dist/gas/testsuite/gas/h8300/t08_or.exp vendor/binutils/dist/gas/testsuite/gas/h8300/t08_or.s vendor/binutils/dist/gas/testsuite/gas/h8300/t09_xor.exp vendor/binutils/dist/gas/testsuite/gas/h8300/t09_xor.s vendor/binutils/dist/gas/testsuite/gas/h8300/t10_and.exp vendor/binutils/dist/gas/testsuite/gas/h8300/t10_and.s vendor/binutils/dist/gas/testsuite/gas/h8300/t11_logs.exp vendor/binutils/dist/gas/testsuite/gas/h8300/t11_logs.s vendor/binutils/dist/gas/testsuite/gas/h8300/t12_bit.exp vendor/binutils/dist/gas/testsuite/gas/h8300/t12_bit.s vendor/binutils/dist/gas/testsuite/gas/h8300/t13_otr.exp vendor/binutils/dist/gas/testsuite/gas/h8300/t13_otr.s vendor/binutils/dist/gas/testsuite/gas/hppa/ vendor/binutils/dist/gas/testsuite/gas/hppa/README vendor/binutils/dist/gas/testsuite/gas/hppa/basic/ vendor/binutils/dist/gas/testsuite/gas/hppa/basic/add.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/add2.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/addi.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/basic.exp vendor/binutils/dist/gas/testsuite/gas/hppa/basic/branch.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/branch2.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/comclr.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/copr.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/coprmem.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/dcor.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/dcor2.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/deposit.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/deposit2.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/deposit3.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/ds.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/extract.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/extract2.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/extract3.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/fmem.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/fmemLRbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/fp_comp.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/fp_comp2.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/fp_conv.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/fp_fcmp.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/fp_misc.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/imem.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/immed.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/logical.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/media.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/perf.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/purge.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/purge2.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/sh1add.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/sh2add.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/sh3add.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/shift.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/shift2.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/shift3.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/shladd.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/shladd2.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/special.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/spop.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/sub.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/sub2.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/subi.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/system.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/system2.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/unit.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/unit2.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/weird.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/ vendor/binutils/dist/gas/testsuite/gas/hppa/parse/align1.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/align2.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/appbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/badfmpyadd.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/block1.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/block2.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/calldatabug.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/callinfobug.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/defbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/entrybug.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/exportbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/exprbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/fixup7bug.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/global.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/labelbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/linesepbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/lselbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/nosubspace.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/parse.exp vendor/binutils/dist/gas/testsuite/gas/hppa/parse/procbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/regpopbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/space.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/spacebug.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/ssbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/stdreg.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/stringer.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/undefbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/versionbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/xmpyubug.s vendor/binutils/dist/gas/testsuite/gas/hppa/reloc/ vendor/binutils/dist/gas/testsuite/gas/hppa/reloc/applybug.s vendor/binutils/dist/gas/testsuite/gas/hppa/reloc/blebug.s vendor/binutils/dist/gas/testsuite/gas/hppa/reloc/blebug2.s vendor/binutils/dist/gas/testsuite/gas/hppa/reloc/blebug3.s vendor/binutils/dist/gas/testsuite/gas/hppa/reloc/exitbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/reloc/fixupbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/reloc/funcrelocbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/reloc/labelopbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/reloc/longcall.s vendor/binutils/dist/gas/testsuite/gas/hppa/reloc/picreloc.s vendor/binutils/dist/gas/testsuite/gas/hppa/reloc/plabelbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/reloc/r_no_reloc.s vendor/binutils/dist/gas/testsuite/gas/hppa/reloc/reduce.s vendor/binutils/dist/gas/testsuite/gas/hppa/reloc/reduce2.s vendor/binutils/dist/gas/testsuite/gas/hppa/reloc/reduce3.s vendor/binutils/dist/gas/testsuite/gas/hppa/reloc/reloc.exp vendor/binutils/dist/gas/testsuite/gas/hppa/reloc/roundmode.s vendor/binutils/dist/gas/testsuite/gas/hppa/reloc/selectorbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/unsorted/ vendor/binutils/dist/gas/testsuite/gas/hppa/unsorted/align3.s vendor/binutils/dist/gas/testsuite/gas/hppa/unsorted/align4.s vendor/binutils/dist/gas/testsuite/gas/hppa/unsorted/brlenbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/unsorted/common.s vendor/binutils/dist/gas/testsuite/gas/hppa/unsorted/fragbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/unsorted/globalbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/unsorted/importbug.s vendor/binutils/dist/gas/testsuite/gas/hppa/unsorted/labeldiffs.s vendor/binutils/dist/gas/testsuite/gas/hppa/unsorted/locallabel.s vendor/binutils/dist/gas/testsuite/gas/hppa/unsorted/ss_align.s vendor/binutils/dist/gas/testsuite/gas/hppa/unsorted/unsorted.exp vendor/binutils/dist/gas/testsuite/gas/i386/ vendor/binutils/dist/gas/testsuite/gas/i386/absrel.d vendor/binutils/dist/gas/testsuite/gas/i386/absrel.s vendor/binutils/dist/gas/testsuite/gas/i386/amd.d vendor/binutils/dist/gas/testsuite/gas/i386/amd.s vendor/binutils/dist/gas/testsuite/gas/i386/divide.d vendor/binutils/dist/gas/testsuite/gas/i386/divide.s vendor/binutils/dist/gas/testsuite/gas/i386/float.l vendor/binutils/dist/gas/testsuite/gas/i386/float.s vendor/binutils/dist/gas/testsuite/gas/i386/general.l vendor/binutils/dist/gas/testsuite/gas/i386/general.s vendor/binutils/dist/gas/testsuite/gas/i386/gotpc.d vendor/binutils/dist/gas/testsuite/gas/i386/gotpc.s vendor/binutils/dist/gas/testsuite/gas/i386/i386.exp vendor/binutils/dist/gas/testsuite/gas/i386/intel.d vendor/binutils/dist/gas/testsuite/gas/i386/intel.s vendor/binutils/dist/gas/testsuite/gas/i386/intel16.d vendor/binutils/dist/gas/testsuite/gas/i386/intel16.s vendor/binutils/dist/gas/testsuite/gas/i386/intelpic.d vendor/binutils/dist/gas/testsuite/gas/i386/intelpic.s vendor/binutils/dist/gas/testsuite/gas/i386/inval.l vendor/binutils/dist/gas/testsuite/gas/i386/inval.s vendor/binutils/dist/gas/testsuite/gas/i386/jump.d vendor/binutils/dist/gas/testsuite/gas/i386/jump.s vendor/binutils/dist/gas/testsuite/gas/i386/jump16.d vendor/binutils/dist/gas/testsuite/gas/i386/jump16.s vendor/binutils/dist/gas/testsuite/gas/i386/katmai.d vendor/binutils/dist/gas/testsuite/gas/i386/katmai.s vendor/binutils/dist/gas/testsuite/gas/i386/modrm.l vendor/binutils/dist/gas/testsuite/gas/i386/modrm.s vendor/binutils/dist/gas/testsuite/gas/i386/naked.d vendor/binutils/dist/gas/testsuite/gas/i386/naked.s vendor/binutils/dist/gas/testsuite/gas/i386/opcode.d vendor/binutils/dist/gas/testsuite/gas/i386/opcode.s vendor/binutils/dist/gas/testsuite/gas/i386/padlock.d vendor/binutils/dist/gas/testsuite/gas/i386/padlock.s vendor/binutils/dist/gas/testsuite/gas/i386/pcrel.d vendor/binutils/dist/gas/testsuite/gas/i386/pcrel.s vendor/binutils/dist/gas/testsuite/gas/i386/prefix.d vendor/binutils/dist/gas/testsuite/gas/i386/prefix.s vendor/binutils/dist/gas/testsuite/gas/i386/prescott.d vendor/binutils/dist/gas/testsuite/gas/i386/prescott.s vendor/binutils/dist/gas/testsuite/gas/i386/relax.d vendor/binutils/dist/gas/testsuite/gas/i386/relax.s vendor/binutils/dist/gas/testsuite/gas/i386/reloc.d vendor/binutils/dist/gas/testsuite/gas/i386/reloc.s vendor/binutils/dist/gas/testsuite/gas/i386/sse2.d vendor/binutils/dist/gas/testsuite/gas/i386/sse2.s vendor/binutils/dist/gas/testsuite/gas/i386/ssemmx2.d vendor/binutils/dist/gas/testsuite/gas/i386/ssemmx2.s vendor/binutils/dist/gas/testsuite/gas/i386/sub.d vendor/binutils/dist/gas/testsuite/gas/i386/sub.s vendor/binutils/dist/gas/testsuite/gas/i386/tlsd.d vendor/binutils/dist/gas/testsuite/gas/i386/tlsd.s vendor/binutils/dist/gas/testsuite/gas/i386/tlsnopic.d vendor/binutils/dist/gas/testsuite/gas/i386/tlsnopic.s vendor/binutils/dist/gas/testsuite/gas/i386/tlspic.d vendor/binutils/dist/gas/testsuite/gas/i386/tlspic.s vendor/binutils/dist/gas/testsuite/gas/i386/white.l vendor/binutils/dist/gas/testsuite/gas/i386/white.s vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-inval.l vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-inval.s vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-opcode.d vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-opcode.s vendor/binutils/dist/gas/testsuite/gas/i386/x86_64.d vendor/binutils/dist/gas/testsuite/gas/i386/x86_64.s vendor/binutils/dist/gas/testsuite/gas/i860/ vendor/binutils/dist/gas/testsuite/gas/i860/README.i860 vendor/binutils/dist/gas/testsuite/gas/i860/bitwise.d vendor/binutils/dist/gas/testsuite/gas/i860/bitwise.s vendor/binutils/dist/gas/testsuite/gas/i860/branch.d vendor/binutils/dist/gas/testsuite/gas/i860/branch.s vendor/binutils/dist/gas/testsuite/gas/i860/bte.d vendor/binutils/dist/gas/testsuite/gas/i860/bte.s vendor/binutils/dist/gas/testsuite/gas/i860/dir-align01.d vendor/binutils/dist/gas/testsuite/gas/i860/dir-align01.s vendor/binutils/dist/gas/testsuite/gas/i860/dir-intel01.d vendor/binutils/dist/gas/testsuite/gas/i860/dir-intel01.s vendor/binutils/dist/gas/testsuite/gas/i860/dir-intel02.d vendor/binutils/dist/gas/testsuite/gas/i860/dir-intel02.s vendor/binutils/dist/gas/testsuite/gas/i860/dir-intel03-err.l vendor/binutils/dist/gas/testsuite/gas/i860/dir-intel03-err.s vendor/binutils/dist/gas/testsuite/gas/i860/dual01.d vendor/binutils/dist/gas/testsuite/gas/i860/dual01.s vendor/binutils/dist/gas/testsuite/gas/i860/dual02-err.l vendor/binutils/dist/gas/testsuite/gas/i860/dual02-err.s vendor/binutils/dist/gas/testsuite/gas/i860/dual03.d vendor/binutils/dist/gas/testsuite/gas/i860/dual03.s vendor/binutils/dist/gas/testsuite/gas/i860/fldst01.d vendor/binutils/dist/gas/testsuite/gas/i860/fldst01.s vendor/binutils/dist/gas/testsuite/gas/i860/fldst02.d vendor/binutils/dist/gas/testsuite/gas/i860/fldst02.s vendor/binutils/dist/gas/testsuite/gas/i860/fldst03.d vendor/binutils/dist/gas/testsuite/gas/i860/fldst03.s vendor/binutils/dist/gas/testsuite/gas/i860/fldst04.d vendor/binutils/dist/gas/testsuite/gas/i860/fldst04.s vendor/binutils/dist/gas/testsuite/gas/i860/fldst05.d vendor/binutils/dist/gas/testsuite/gas/i860/fldst05.s vendor/binutils/dist/gas/testsuite/gas/i860/fldst06.d vendor/binutils/dist/gas/testsuite/gas/i860/fldst06.s vendor/binutils/dist/gas/testsuite/gas/i860/fldst07.d vendor/binutils/dist/gas/testsuite/gas/i860/fldst07.s vendor/binutils/dist/gas/testsuite/gas/i860/fldst08.d vendor/binutils/dist/gas/testsuite/gas/i860/fldst08.s vendor/binutils/dist/gas/testsuite/gas/i860/float01.d vendor/binutils/dist/gas/testsuite/gas/i860/float01.s vendor/binutils/dist/gas/testsuite/gas/i860/float02.d vendor/binutils/dist/gas/testsuite/gas/i860/float02.s vendor/binutils/dist/gas/testsuite/gas/i860/float03.d vendor/binutils/dist/gas/testsuite/gas/i860/float03.s vendor/binutils/dist/gas/testsuite/gas/i860/float04.d vendor/binutils/dist/gas/testsuite/gas/i860/float04.s vendor/binutils/dist/gas/testsuite/gas/i860/form.d vendor/binutils/dist/gas/testsuite/gas/i860/form.s vendor/binutils/dist/gas/testsuite/gas/i860/i860.exp vendor/binutils/dist/gas/testsuite/gas/i860/iarith.d vendor/binutils/dist/gas/testsuite/gas/i860/iarith.s vendor/binutils/dist/gas/testsuite/gas/i860/ldst01.d vendor/binutils/dist/gas/testsuite/gas/i860/ldst01.s vendor/binutils/dist/gas/testsuite/gas/i860/ldst02.d vendor/binutils/dist/gas/testsuite/gas/i860/ldst02.s vendor/binutils/dist/gas/testsuite/gas/i860/ldst03.d vendor/binutils/dist/gas/testsuite/gas/i860/ldst03.s vendor/binutils/dist/gas/testsuite/gas/i860/ldst04.d vendor/binutils/dist/gas/testsuite/gas/i860/ldst04.s vendor/binutils/dist/gas/testsuite/gas/i860/ldst05.d vendor/binutils/dist/gas/testsuite/gas/i860/ldst05.s vendor/binutils/dist/gas/testsuite/gas/i860/ldst06.d vendor/binutils/dist/gas/testsuite/gas/i860/ldst06.s vendor/binutils/dist/gas/testsuite/gas/i860/pfam.d vendor/binutils/dist/gas/testsuite/gas/i860/pfam.s vendor/binutils/dist/gas/testsuite/gas/i860/pfmam.d vendor/binutils/dist/gas/testsuite/gas/i860/pfmam.s vendor/binutils/dist/gas/testsuite/gas/i860/pfmsm.d vendor/binutils/dist/gas/testsuite/gas/i860/pfmsm.s vendor/binutils/dist/gas/testsuite/gas/i860/pfsm.d vendor/binutils/dist/gas/testsuite/gas/i860/pfsm.s vendor/binutils/dist/gas/testsuite/gas/i860/pseudo-ops01.d vendor/binutils/dist/gas/testsuite/gas/i860/pseudo-ops01.s vendor/binutils/dist/gas/testsuite/gas/i860/regress01.d vendor/binutils/dist/gas/testsuite/gas/i860/regress01.s vendor/binutils/dist/gas/testsuite/gas/i860/shift.d vendor/binutils/dist/gas/testsuite/gas/i860/shift.s vendor/binutils/dist/gas/testsuite/gas/i860/simd.d vendor/binutils/dist/gas/testsuite/gas/i860/simd.s vendor/binutils/dist/gas/testsuite/gas/i860/system.d vendor/binutils/dist/gas/testsuite/gas/i860/system.s vendor/binutils/dist/gas/testsuite/gas/i860/xp.d vendor/binutils/dist/gas/testsuite/gas/i860/xp.s vendor/binutils/dist/gas/testsuite/gas/ia64/ vendor/binutils/dist/gas/testsuite/gas/ia64/alias-ilp32.d vendor/binutils/dist/gas/testsuite/gas/ia64/alias.d vendor/binutils/dist/gas/testsuite/gas/ia64/alias.s vendor/binutils/dist/gas/testsuite/gas/ia64/align.d vendor/binutils/dist/gas/testsuite/gas/ia64/align.s vendor/binutils/dist/gas/testsuite/gas/ia64/dependency-1.d vendor/binutils/dist/gas/testsuite/gas/ia64/dependency-1.s vendor/binutils/dist/gas/testsuite/gas/ia64/dv-branch.d vendor/binutils/dist/gas/testsuite/gas/ia64/dv-branch.s vendor/binutils/dist/gas/testsuite/gas/ia64/dv-entry-err.l vendor/binutils/dist/gas/testsuite/gas/ia64/dv-entry-err.s vendor/binutils/dist/gas/testsuite/gas/ia64/dv-imply.d vendor/binutils/dist/gas/testsuite/gas/ia64/dv-imply.s vendor/binutils/dist/gas/testsuite/gas/ia64/dv-mutex-err.l vendor/binutils/dist/gas/testsuite/gas/ia64/dv-mutex-err.s vendor/binutils/dist/gas/testsuite/gas/ia64/dv-mutex.d vendor/binutils/dist/gas/testsuite/gas/ia64/dv-mutex.s vendor/binutils/dist/gas/testsuite/gas/ia64/dv-raw-err.l vendor/binutils/dist/gas/testsuite/gas/ia64/dv-raw-err.s vendor/binutils/dist/gas/testsuite/gas/ia64/dv-safe.d vendor/binutils/dist/gas/testsuite/gas/ia64/dv-safe.s vendor/binutils/dist/gas/testsuite/gas/ia64/dv-srlz.d vendor/binutils/dist/gas/testsuite/gas/ia64/dv-srlz.s vendor/binutils/dist/gas/testsuite/gas/ia64/dv-war-err.l vendor/binutils/dist/gas/testsuite/gas/ia64/dv-war-err.s vendor/binutils/dist/gas/testsuite/gas/ia64/dv-waw-err.l vendor/binutils/dist/gas/testsuite/gas/ia64/dv-waw-err.s vendor/binutils/dist/gas/testsuite/gas/ia64/fixup-dump.pl vendor/binutils/dist/gas/testsuite/gas/ia64/global.d vendor/binutils/dist/gas/testsuite/gas/ia64/global.s vendor/binutils/dist/gas/testsuite/gas/ia64/ia64.exp vendor/binutils/dist/gas/testsuite/gas/ia64/ldxmov-1.d vendor/binutils/dist/gas/testsuite/gas/ia64/ldxmov-1.s vendor/binutils/dist/gas/testsuite/gas/ia64/ldxmov-2.l vendor/binutils/dist/gas/testsuite/gas/ia64/ldxmov-2.s vendor/binutils/dist/gas/testsuite/gas/ia64/ltoff22x-1.d vendor/binutils/dist/gas/testsuite/gas/ia64/ltoff22x-1.s vendor/binutils/dist/gas/testsuite/gas/ia64/opc-a-err.l vendor/binutils/dist/gas/testsuite/gas/ia64/opc-a-err.s vendor/binutils/dist/gas/testsuite/gas/ia64/opc-a.d vendor/binutils/dist/gas/testsuite/gas/ia64/opc-a.pl vendor/binutils/dist/gas/testsuite/gas/ia64/opc-a.s vendor/binutils/dist/gas/testsuite/gas/ia64/opc-b.d vendor/binutils/dist/gas/testsuite/gas/ia64/opc-b.pl vendor/binutils/dist/gas/testsuite/gas/ia64/opc-b.s vendor/binutils/dist/gas/testsuite/gas/ia64/opc-f.d vendor/binutils/dist/gas/testsuite/gas/ia64/opc-f.pl vendor/binutils/dist/gas/testsuite/gas/ia64/opc-f.s vendor/binutils/dist/gas/testsuite/gas/ia64/opc-i.d vendor/binutils/dist/gas/testsuite/gas/ia64/opc-i.pl vendor/binutils/dist/gas/testsuite/gas/ia64/opc-i.s vendor/binutils/dist/gas/testsuite/gas/ia64/opc-m.d vendor/binutils/dist/gas/testsuite/gas/ia64/opc-m.pl vendor/binutils/dist/gas/testsuite/gas/ia64/opc-m.s vendor/binutils/dist/gas/testsuite/gas/ia64/opc-x.d vendor/binutils/dist/gas/testsuite/gas/ia64/opc-x.s vendor/binutils/dist/gas/testsuite/gas/ia64/order.d vendor/binutils/dist/gas/testsuite/gas/ia64/order.s vendor/binutils/dist/gas/testsuite/gas/ia64/real.d vendor/binutils/dist/gas/testsuite/gas/ia64/real.s vendor/binutils/dist/gas/testsuite/gas/ia64/regs.d vendor/binutils/dist/gas/testsuite/gas/ia64/regs.pl vendor/binutils/dist/gas/testsuite/gas/ia64/regs.s vendor/binutils/dist/gas/testsuite/gas/ia64/secname-ilp32.d vendor/binutils/dist/gas/testsuite/gas/ia64/secname.d vendor/binutils/dist/gas/testsuite/gas/ia64/secname.s vendor/binutils/dist/gas/testsuite/gas/ia64/tls.d vendor/binutils/dist/gas/testsuite/gas/ia64/tls.s vendor/binutils/dist/gas/testsuite/gas/ia64/unwind-ilp32.d vendor/binutils/dist/gas/testsuite/gas/ia64/unwind.d vendor/binutils/dist/gas/testsuite/gas/ia64/unwind.s vendor/binutils/dist/gas/testsuite/gas/ieee-fp/ vendor/binutils/dist/gas/testsuite/gas/ieee-fp/x930509a.exp vendor/binutils/dist/gas/testsuite/gas/ieee-fp/x930509a.s vendor/binutils/dist/gas/testsuite/gas/iq2000/ vendor/binutils/dist/gas/testsuite/gas/iq2000/allinsn.d vendor/binutils/dist/gas/testsuite/gas/iq2000/allinsn.exp vendor/binutils/dist/gas/testsuite/gas/iq2000/allinsn.s vendor/binutils/dist/gas/testsuite/gas/iq2000/hazard0.s vendor/binutils/dist/gas/testsuite/gas/iq2000/hazard1.s vendor/binutils/dist/gas/testsuite/gas/iq2000/hazard2.s vendor/binutils/dist/gas/testsuite/gas/iq2000/hazard3.s vendor/binutils/dist/gas/testsuite/gas/iq2000/hazard4.s vendor/binutils/dist/gas/testsuite/gas/iq2000/hazard5.s vendor/binutils/dist/gas/testsuite/gas/iq2000/load-hazards.exp vendor/binutils/dist/gas/testsuite/gas/iq2000/nohazard.s vendor/binutils/dist/gas/testsuite/gas/iq2000/noyield.s vendor/binutils/dist/gas/testsuite/gas/iq2000/odd-ldw.exp vendor/binutils/dist/gas/testsuite/gas/iq2000/odd-sdw.exp vendor/binutils/dist/gas/testsuite/gas/iq2000/oddldw.s vendor/binutils/dist/gas/testsuite/gas/iq2000/oddsdw.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10allinsn.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10allinsn.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10hazard3.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10hazard4.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10hazard5.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10load-hazards.exp vendor/binutils/dist/gas/testsuite/gas/iq2000/q10nohazard.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10noyield.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test0.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test0.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test1.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test1.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test10.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test10.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test11.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test11.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test12.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test12.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test2.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test2.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test3.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test3.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test4.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test4.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test5.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test5.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test6.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test6.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test7.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test7.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test8.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test8.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test9.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test9.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10yield.exp vendor/binutils/dist/gas/testsuite/gas/iq2000/test.exp vendor/binutils/dist/gas/testsuite/gas/iq2000/yield.exp vendor/binutils/dist/gas/testsuite/gas/iq2000/yield0.s vendor/binutils/dist/gas/testsuite/gas/iq2000/yield1.s vendor/binutils/dist/gas/testsuite/gas/iq2000/yield2.s vendor/binutils/dist/gas/testsuite/gas/m32r/ vendor/binutils/dist/gas/testsuite/gas/m32r/allinsn.d vendor/binutils/dist/gas/testsuite/gas/m32r/allinsn.exp vendor/binutils/dist/gas/testsuite/gas/m32r/allinsn.s vendor/binutils/dist/gas/testsuite/gas/m32r/error.exp vendor/binutils/dist/gas/testsuite/gas/m32r/fslot.d vendor/binutils/dist/gas/testsuite/gas/m32r/fslot.s vendor/binutils/dist/gas/testsuite/gas/m32r/fslotx.d vendor/binutils/dist/gas/testsuite/gas/m32r/fslotx.s vendor/binutils/dist/gas/testsuite/gas/m32r/high-1.d vendor/binutils/dist/gas/testsuite/gas/m32r/high-1.s vendor/binutils/dist/gas/testsuite/gas/m32r/interfere.s vendor/binutils/dist/gas/testsuite/gas/m32r/m32r.exp vendor/binutils/dist/gas/testsuite/gas/m32r/m32r2.d vendor/binutils/dist/gas/testsuite/gas/m32r/m32r2.exp vendor/binutils/dist/gas/testsuite/gas/m32r/m32r2.s vendor/binutils/dist/gas/testsuite/gas/m32r/m32rx.d vendor/binutils/dist/gas/testsuite/gas/m32r/m32rx.exp vendor/binutils/dist/gas/testsuite/gas/m32r/m32rx.s vendor/binutils/dist/gas/testsuite/gas/m32r/outofrange.s vendor/binutils/dist/gas/testsuite/gas/m32r/parallel.s vendor/binutils/dist/gas/testsuite/gas/m32r/pic.d vendor/binutils/dist/gas/testsuite/gas/m32r/pic.exp vendor/binutils/dist/gas/testsuite/gas/m32r/pic.s vendor/binutils/dist/gas/testsuite/gas/m32r/relax-1.d vendor/binutils/dist/gas/testsuite/gas/m32r/relax-1.s vendor/binutils/dist/gas/testsuite/gas/m32r/relax-2.d vendor/binutils/dist/gas/testsuite/gas/m32r/relax-2.s vendor/binutils/dist/gas/testsuite/gas/m32r/signed-relocs.d vendor/binutils/dist/gas/testsuite/gas/m32r/signed-relocs.s vendor/binutils/dist/gas/testsuite/gas/m32r/uppercase.d vendor/binutils/dist/gas/testsuite/gas/m32r/uppercase.s vendor/binutils/dist/gas/testsuite/gas/m32r/wrongsize.s vendor/binutils/dist/gas/testsuite/gas/m68hc11/ vendor/binutils/dist/gas/testsuite/gas/m68hc11/abi-m68hc11-16-32.d vendor/binutils/dist/gas/testsuite/gas/m68hc11/abi-m68hc11-16-64.d vendor/binutils/dist/gas/testsuite/gas/m68hc11/abi-m68hc11-32-32.d vendor/binutils/dist/gas/testsuite/gas/m68hc11/abi-m68hc11-32-64.d vendor/binutils/dist/gas/testsuite/gas/m68hc11/abi.s vendor/binutils/dist/gas/testsuite/gas/m68hc11/all_insns.d vendor/binutils/dist/gas/testsuite/gas/m68hc11/all_insns.s vendor/binutils/dist/gas/testsuite/gas/m68hc11/branchs12.d vendor/binutils/dist/gas/testsuite/gas/m68hc11/branchs12.s vendor/binutils/dist/gas/testsuite/gas/m68hc11/bug-1825.d vendor/binutils/dist/gas/testsuite/gas/m68hc11/bug-1825.s vendor/binutils/dist/gas/testsuite/gas/m68hc11/indexed12.d vendor/binutils/dist/gas/testsuite/gas/m68hc11/indexed12.s vendor/binutils/dist/gas/testsuite/gas/m68hc11/insns-dwarf2.d vendor/binutils/dist/gas/testsuite/gas/m68hc11/insns.d vendor/binutils/dist/gas/testsuite/gas/m68hc11/insns.s vendor/binutils/dist/gas/testsuite/gas/m68hc11/insns12.d vendor/binutils/dist/gas/testsuite/gas/m68hc11/insns12.s vendor/binutils/dist/gas/testsuite/gas/m68hc11/lbranch-dwarf2.d vendor/binutils/dist/gas/testsuite/gas/m68hc11/lbranch.d vendor/binutils/dist/gas/testsuite/gas/m68hc11/lbranch.s vendor/binutils/dist/gas/testsuite/gas/m68hc11/m68hc11.exp vendor/binutils/dist/gas/testsuite/gas/m68hc11/malis-include.s vendor/binutils/dist/gas/testsuite/gas/m68hc11/malis.d vendor/binutils/dist/gas/testsuite/gas/m68hc11/malis.s vendor/binutils/dist/gas/testsuite/gas/m68hc11/movb.d vendor/binutils/dist/gas/testsuite/gas/m68hc11/movb.s vendor/binutils/dist/gas/testsuite/gas/m68hc11/opers12-dwarf2.d vendor/binutils/dist/gas/testsuite/gas/m68hc11/opers12.d vendor/binutils/dist/gas/testsuite/gas/m68hc11/opers12.s vendor/binutils/dist/gas/testsuite/gas/m68k/ vendor/binutils/dist/gas/testsuite/gas/m68k-coff/ vendor/binutils/dist/gas/testsuite/gas/m68k-coff/gas.exp vendor/binutils/dist/gas/testsuite/gas/m68k-coff/p2389.s vendor/binutils/dist/gas/testsuite/gas/m68k-coff/p2389a.s vendor/binutils/dist/gas/testsuite/gas/m68k-coff/p2430.s vendor/binutils/dist/gas/testsuite/gas/m68k-coff/p2430a.s vendor/binutils/dist/gas/testsuite/gas/m68k-coff/t1.s vendor/binutils/dist/gas/testsuite/gas/m68k/all.exp vendor/binutils/dist/gas/testsuite/gas/m68k/bitfield.d vendor/binutils/dist/gas/testsuite/gas/m68k/bitfield.s vendor/binutils/dist/gas/testsuite/gas/m68k/cas.d vendor/binutils/dist/gas/testsuite/gas/m68k/cas.s vendor/binutils/dist/gas/testsuite/gas/m68k/disperr.s vendor/binutils/dist/gas/testsuite/gas/m68k/fmoveml.d vendor/binutils/dist/gas/testsuite/gas/m68k/fmoveml.s vendor/binutils/dist/gas/testsuite/gas/m68k/link.d vendor/binutils/dist/gas/testsuite/gas/m68k/link.s vendor/binutils/dist/gas/testsuite/gas/m68k/mcf-mov3q.d vendor/binutils/dist/gas/testsuite/gas/m68k/mcf-mov3q.s vendor/binutils/dist/gas/testsuite/gas/m68k/op68000.d vendor/binutils/dist/gas/testsuite/gas/m68k/operands.d vendor/binutils/dist/gas/testsuite/gas/m68k/operands.s vendor/binutils/dist/gas/testsuite/gas/m68k/p2410.s vendor/binutils/dist/gas/testsuite/gas/m68k/p2663.s vendor/binutils/dist/gas/testsuite/gas/m68k/pcrel.d vendor/binutils/dist/gas/testsuite/gas/m68k/pcrel.s vendor/binutils/dist/gas/testsuite/gas/m68k/pic1.s vendor/binutils/dist/gas/testsuite/gas/m68k/t2.d vendor/binutils/dist/gas/testsuite/gas/m68k/t2.s vendor/binutils/dist/gas/testsuite/gas/m88k/ vendor/binutils/dist/gas/testsuite/gas/m88k/allinsn.d vendor/binutils/dist/gas/testsuite/gas/m88k/allinsn.s vendor/binutils/dist/gas/testsuite/gas/m88k/init.d vendor/binutils/dist/gas/testsuite/gas/m88k/init.s vendor/binutils/dist/gas/testsuite/gas/m88k/m88k.exp vendor/binutils/dist/gas/testsuite/gas/macros/ vendor/binutils/dist/gas/testsuite/gas/macros/and.s vendor/binutils/dist/gas/testsuite/gas/macros/app1.d vendor/binutils/dist/gas/testsuite/gas/macros/app1.s vendor/binutils/dist/gas/testsuite/gas/macros/app2.d vendor/binutils/dist/gas/testsuite/gas/macros/app2.s vendor/binutils/dist/gas/testsuite/gas/macros/app3.d vendor/binutils/dist/gas/testsuite/gas/macros/app3.s vendor/binutils/dist/gas/testsuite/gas/macros/app4.d vendor/binutils/dist/gas/testsuite/gas/macros/app4.s vendor/binutils/dist/gas/testsuite/gas/macros/app4b.s vendor/binutils/dist/gas/testsuite/gas/macros/err.s vendor/binutils/dist/gas/testsuite/gas/macros/irp.d vendor/binutils/dist/gas/testsuite/gas/macros/irp.s vendor/binutils/dist/gas/testsuite/gas/macros/macros.exp vendor/binutils/dist/gas/testsuite/gas/macros/rept.d vendor/binutils/dist/gas/testsuite/gas/macros/rept.s vendor/binutils/dist/gas/testsuite/gas/macros/semi.d vendor/binutils/dist/gas/testsuite/gas/macros/semi.s vendor/binutils/dist/gas/testsuite/gas/macros/strings.d vendor/binutils/dist/gas/testsuite/gas/macros/strings.s vendor/binutils/dist/gas/testsuite/gas/macros/test1.d vendor/binutils/dist/gas/testsuite/gas/macros/test1.s vendor/binutils/dist/gas/testsuite/gas/macros/test2.d vendor/binutils/dist/gas/testsuite/gas/macros/test2.s vendor/binutils/dist/gas/testsuite/gas/macros/test3.d vendor/binutils/dist/gas/testsuite/gas/macros/test3.s vendor/binutils/dist/gas/testsuite/gas/mcore/ vendor/binutils/dist/gas/testsuite/gas/mcore/allinsn.d vendor/binutils/dist/gas/testsuite/gas/mcore/allinsn.exp vendor/binutils/dist/gas/testsuite/gas/mcore/allinsn.s vendor/binutils/dist/gas/testsuite/gas/mips/ vendor/binutils/dist/gas/testsuite/gas/mips/abs.d vendor/binutils/dist/gas/testsuite/gas/mips/abs.s vendor/binutils/dist/gas/testsuite/gas/mips/add.d vendor/binutils/dist/gas/testsuite/gas/mips/add.s vendor/binutils/dist/gas/testsuite/gas/mips/and.d vendor/binutils/dist/gas/testsuite/gas/mips/and.s vendor/binutils/dist/gas/testsuite/gas/mips/baddata1.l vendor/binutils/dist/gas/testsuite/gas/mips/baddata1.s vendor/binutils/dist/gas/testsuite/gas/mips/beq.d vendor/binutils/dist/gas/testsuite/gas/mips/beq.s vendor/binutils/dist/gas/testsuite/gas/mips/bge.d vendor/binutils/dist/gas/testsuite/gas/mips/bge.s vendor/binutils/dist/gas/testsuite/gas/mips/bgeu.d vendor/binutils/dist/gas/testsuite/gas/mips/bgeu.s vendor/binutils/dist/gas/testsuite/gas/mips/blt.d vendor/binutils/dist/gas/testsuite/gas/mips/blt.s vendor/binutils/dist/gas/testsuite/gas/mips/bltu.d vendor/binutils/dist/gas/testsuite/gas/mips/bltu.s vendor/binutils/dist/gas/testsuite/gas/mips/branch-misc-1.d vendor/binutils/dist/gas/testsuite/gas/mips/branch-misc-1.s vendor/binutils/dist/gas/testsuite/gas/mips/branch-misc-2.l vendor/binutils/dist/gas/testsuite/gas/mips/branch-misc-2.s vendor/binutils/dist/gas/testsuite/gas/mips/branch-misc-2pic.l vendor/binutils/dist/gas/testsuite/gas/mips/branch-misc-2pic.s vendor/binutils/dist/gas/testsuite/gas/mips/break20.d vendor/binutils/dist/gas/testsuite/gas/mips/break20.s vendor/binutils/dist/gas/testsuite/gas/mips/cp0-names-mips32.d vendor/binutils/dist/gas/testsuite/gas/mips/cp0-names-mips32r2.d vendor/binutils/dist/gas/testsuite/gas/mips/cp0-names-mips64.d vendor/binutils/dist/gas/testsuite/gas/mips/cp0-names-mips64r2.d vendor/binutils/dist/gas/testsuite/gas/mips/cp0-names-numeric.d vendor/binutils/dist/gas/testsuite/gas/mips/cp0-names-sb1.d vendor/binutils/dist/gas/testsuite/gas/mips/cp0-names.s vendor/binutils/dist/gas/testsuite/gas/mips/cp0sel-names-mips32.d vendor/binutils/dist/gas/testsuite/gas/mips/cp0sel-names-mips32r2.d vendor/binutils/dist/gas/testsuite/gas/mips/cp0sel-names-mips64.d vendor/binutils/dist/gas/testsuite/gas/mips/cp0sel-names-mips64r2.d vendor/binutils/dist/gas/testsuite/gas/mips/cp0sel-names-numeric.d vendor/binutils/dist/gas/testsuite/gas/mips/cp0sel-names-sb1.d vendor/binutils/dist/gas/testsuite/gas/mips/cp0sel-names.s vendor/binutils/dist/gas/testsuite/gas/mips/delay.d vendor/binutils/dist/gas/testsuite/gas/mips/delay.s vendor/binutils/dist/gas/testsuite/gas/mips/div-ilocks.d vendor/binutils/dist/gas/testsuite/gas/mips/div.d vendor/binutils/dist/gas/testsuite/gas/mips/div.s vendor/binutils/dist/gas/testsuite/gas/mips/dli.d vendor/binutils/dist/gas/testsuite/gas/mips/dli.s vendor/binutils/dist/gas/testsuite/gas/mips/e32-rel2.d vendor/binutils/dist/gas/testsuite/gas/mips/e32-rel4.d vendor/binutils/dist/gas/testsuite/gas/mips/e32el-rel2.d vendor/binutils/dist/gas/testsuite/gas/mips/elempic.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-consthilo.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-consthilo.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-jal.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel-got-n32.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel-got-n32.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel-got-n64.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel-got-n64.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel-xgot-n32.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel-xgot-n64.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel10.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel10.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel11.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel11.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel12.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel12.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel13.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel13.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel14.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel14.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel15.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel15.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel16.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel16.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel17.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel17.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel18.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel18.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel19.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel19.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel2.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel2.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel3.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel3.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel4.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel4.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel5.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel5.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel6.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel6.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel7.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel7.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel8.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel8.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel9.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel9.s vendor/binutils/dist/gas/testsuite/gas/mips/elf_arch_mips1.d vendor/binutils/dist/gas/testsuite/gas/mips/elf_arch_mips2.d vendor/binutils/dist/gas/testsuite/gas/mips/elf_arch_mips3.d vendor/binutils/dist/gas/testsuite/gas/mips/elf_arch_mips32.d vendor/binutils/dist/gas/testsuite/gas/mips/elf_arch_mips32r2.d vendor/binutils/dist/gas/testsuite/gas/mips/elf_arch_mips4.d vendor/binutils/dist/gas/testsuite/gas/mips/elf_arch_mips5.d vendor/binutils/dist/gas/testsuite/gas/mips/elf_arch_mips64.d vendor/binutils/dist/gas/testsuite/gas/mips/elf_arch_mips64r2.d vendor/binutils/dist/gas/testsuite/gas/mips/elf_ase_mips16.d vendor/binutils/dist/gas/testsuite/gas/mips/elf_e_flags.c vendor/binutils/dist/gas/testsuite/gas/mips/elf_e_flags.s vendor/binutils/dist/gas/testsuite/gas/mips/elf_e_flags1.d vendor/binutils/dist/gas/testsuite/gas/mips/elf_e_flags2.d vendor/binutils/dist/gas/testsuite/gas/mips/elf_e_flags3.d vendor/binutils/dist/gas/testsuite/gas/mips/elf_e_flags4.d vendor/binutils/dist/gas/testsuite/gas/mips/elfel-rel.d vendor/binutils/dist/gas/testsuite/gas/mips/elfel-rel2.d vendor/binutils/dist/gas/testsuite/gas/mips/elfel-rel3.d vendor/binutils/dist/gas/testsuite/gas/mips/empic.d vendor/binutils/dist/gas/testsuite/gas/mips/empic.l vendor/binutils/dist/gas/testsuite/gas/mips/empic.s vendor/binutils/dist/gas/testsuite/gas/mips/empic2.d vendor/binutils/dist/gas/testsuite/gas/mips/empic2.s vendor/binutils/dist/gas/testsuite/gas/mips/empic3_e.d vendor/binutils/dist/gas/testsuite/gas/mips/empic3_e.s vendor/binutils/dist/gas/testsuite/gas/mips/empic3_g1.d vendor/binutils/dist/gas/testsuite/gas/mips/empic3_g1.s vendor/binutils/dist/gas/testsuite/gas/mips/empic3_g2.d vendor/binutils/dist/gas/testsuite/gas/mips/empic3_g2.s vendor/binutils/dist/gas/testsuite/gas/mips/empty.s vendor/binutils/dist/gas/testsuite/gas/mips/expr1.d vendor/binutils/dist/gas/testsuite/gas/mips/expr1.s vendor/binutils/dist/gas/testsuite/gas/mips/fpr-names-32.d vendor/binutils/dist/gas/testsuite/gas/mips/fpr-names-64.d vendor/binutils/dist/gas/testsuite/gas/mips/fpr-names-n32.d vendor/binutils/dist/gas/testsuite/gas/mips/fpr-names-numeric.d vendor/binutils/dist/gas/testsuite/gas/mips/fpr-names.s vendor/binutils/dist/gas/testsuite/gas/mips/gpr-names-32.d vendor/binutils/dist/gas/testsuite/gas/mips/gpr-names-64.d vendor/binutils/dist/gas/testsuite/gas/mips/gpr-names-n32.d vendor/binutils/dist/gas/testsuite/gas/mips/gpr-names-numeric.d vendor/binutils/dist/gas/testsuite/gas/mips/gpr-names.s vendor/binutils/dist/gas/testsuite/gas/mips/hwr-names-mips32r2.d vendor/binutils/dist/gas/testsuite/gas/mips/hwr-names-mips64r2.d vendor/binutils/dist/gas/testsuite/gas/mips/hwr-names-numeric.d vendor/binutils/dist/gas/testsuite/gas/mips/hwr-names.s vendor/binutils/dist/gas/testsuite/gas/mips/illegal.l vendor/binutils/dist/gas/testsuite/gas/mips/illegal.s vendor/binutils/dist/gas/testsuite/gas/mips/itbl vendor/binutils/dist/gas/testsuite/gas/mips/itbl.s vendor/binutils/dist/gas/testsuite/gas/mips/jal-empic-elf-2.d vendor/binutils/dist/gas/testsuite/gas/mips/jal-empic-elf-2.s vendor/binutils/dist/gas/testsuite/gas/mips/jal-empic-elf-3.d vendor/binutils/dist/gas/testsuite/gas/mips/jal-empic-elf-3.s vendor/binutils/dist/gas/testsuite/gas/mips/jal-empic-elf.d vendor/binutils/dist/gas/testsuite/gas/mips/jal-empic.d vendor/binutils/dist/gas/testsuite/gas/mips/jal-newabi.d vendor/binutils/dist/gas/testsuite/gas/mips/jal-newabi.s vendor/binutils/dist/gas/testsuite/gas/mips/jal-range.l vendor/binutils/dist/gas/testsuite/gas/mips/jal-range.s vendor/binutils/dist/gas/testsuite/gas/mips/jal-svr4pic.d vendor/binutils/dist/gas/testsuite/gas/mips/jal-svr4pic.s vendor/binutils/dist/gas/testsuite/gas/mips/jal-xgot.d vendor/binutils/dist/gas/testsuite/gas/mips/jal.d vendor/binutils/dist/gas/testsuite/gas/mips/jal.s vendor/binutils/dist/gas/testsuite/gas/mips/la-empic.d vendor/binutils/dist/gas/testsuite/gas/mips/la-empic.s vendor/binutils/dist/gas/testsuite/gas/mips/la-svr4pic.d vendor/binutils/dist/gas/testsuite/gas/mips/la-xgot.d vendor/binutils/dist/gas/testsuite/gas/mips/la.d vendor/binutils/dist/gas/testsuite/gas/mips/la.s vendor/binutils/dist/gas/testsuite/gas/mips/lb-empic.d vendor/binutils/dist/gas/testsuite/gas/mips/lb-pic.s vendor/binutils/dist/gas/testsuite/gas/mips/lb-svr4pic.d vendor/binutils/dist/gas/testsuite/gas/mips/lb-xgot-ilocks.d vendor/binutils/dist/gas/testsuite/gas/mips/lb-xgot.d vendor/binutils/dist/gas/testsuite/gas/mips/lb.d vendor/binutils/dist/gas/testsuite/gas/mips/lb.s vendor/binutils/dist/gas/testsuite/gas/mips/lca-svr4pic.d vendor/binutils/dist/gas/testsuite/gas/mips/lca-xgot.d vendor/binutils/dist/gas/testsuite/gas/mips/lca.s vendor/binutils/dist/gas/testsuite/gas/mips/ld-empic.d vendor/binutils/dist/gas/testsuite/gas/mips/ld-ilocks-addr32.d vendor/binutils/dist/gas/testsuite/gas/mips/ld-ilocks.d vendor/binutils/dist/gas/testsuite/gas/mips/ld-pic.s vendor/binutils/dist/gas/testsuite/gas/mips/ld-svr4pic.d vendor/binutils/dist/gas/testsuite/gas/mips/ld-xgot.d vendor/binutils/dist/gas/testsuite/gas/mips/ld.d vendor/binutils/dist/gas/testsuite/gas/mips/ld.s vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-32-shared.d vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-32.d vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-32.s vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-n32-shared.d vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-n32.d vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-n32.s vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-n64-shared.d vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-n64.d vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-n64.s vendor/binutils/dist/gas/testsuite/gas/mips/li.d vendor/binutils/dist/gas/testsuite/gas/mips/li.s vendor/binutils/dist/gas/testsuite/gas/mips/lif-empic.d vendor/binutils/dist/gas/testsuite/gas/mips/lif-svr4pic.d vendor/binutils/dist/gas/testsuite/gas/mips/lif-xgot.d vendor/binutils/dist/gas/testsuite/gas/mips/lifloat.d vendor/binutils/dist/gas/testsuite/gas/mips/lifloat.s vendor/binutils/dist/gas/testsuite/gas/mips/lineno.d vendor/binutils/dist/gas/testsuite/gas/mips/lineno.s vendor/binutils/dist/gas/testsuite/gas/mips/macro-warn-1-n32.d vendor/binutils/dist/gas/testsuite/gas/mips/macro-warn-1-n32.l vendor/binutils/dist/gas/testsuite/gas/mips/macro-warn-1.d vendor/binutils/dist/gas/testsuite/gas/mips/macro-warn-1.l vendor/binutils/dist/gas/testsuite/gas/mips/macro-warn-1.s vendor/binutils/dist/gas/testsuite/gas/mips/macro-warn-2-n32.d vendor/binutils/dist/gas/testsuite/gas/mips/macro-warn-2.d vendor/binutils/dist/gas/testsuite/gas/mips/macro-warn-2.l vendor/binutils/dist/gas/testsuite/gas/mips/macro-warn-2.s vendor/binutils/dist/gas/testsuite/gas/mips/macro-warn-3.d vendor/binutils/dist/gas/testsuite/gas/mips/macro-warn-3.l vendor/binutils/dist/gas/testsuite/gas/mips/macro-warn-3.s vendor/binutils/dist/gas/testsuite/gas/mips/macro-warn-4.d vendor/binutils/dist/gas/testsuite/gas/mips/macro-warn-4.l vendor/binutils/dist/gas/testsuite/gas/mips/macro-warn-4.s vendor/binutils/dist/gas/testsuite/gas/mips/mips-abi32-pic.d vendor/binutils/dist/gas/testsuite/gas/mips/mips-abi32-pic.s vendor/binutils/dist/gas/testsuite/gas/mips/mips-abi32-pic2.d vendor/binutils/dist/gas/testsuite/gas/mips/mips-abi32-pic2.s vendor/binutils/dist/gas/testsuite/gas/mips/mips-abi32.d vendor/binutils/dist/gas/testsuite/gas/mips/mips-abi32.s vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp32-fp32-pic.d vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp32-fp32-pic.s vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp32-fp32.d vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp32-fp32.s vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp32-fp64-pic.d vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp32-fp64-pic.s vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp32-fp64.d vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp32-fp64.s vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp64-fp32-pic.d vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp64-fp32-pic.s vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp64-fp32.d vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp64-fp32.l vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp64-fp32.s vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp64-fp64-pic.d vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp64-fp64-pic.s vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp64-fp64.d vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp64-fp64.l vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp64-fp64.s vendor/binutils/dist/gas/testsuite/gas/mips/mips-jalx.d vendor/binutils/dist/gas/testsuite/gas/mips/mips-jalx.s vendor/binutils/dist/gas/testsuite/gas/mips/mips-no-jalx.l vendor/binutils/dist/gas/testsuite/gas/mips/mips-no-jalx.s vendor/binutils/dist/gas/testsuite/gas/mips/mips.exp vendor/binutils/dist/gas/testsuite/gas/mips/mips16-64.d vendor/binutils/dist/gas/testsuite/gas/mips/mips16-e.d vendor/binutils/dist/gas/testsuite/gas/mips/mips16-e.s vendor/binutils/dist/gas/testsuite/gas/mips/mips16-f.d vendor/binutils/dist/gas/testsuite/gas/mips/mips16-f.s vendor/binutils/dist/gas/testsuite/gas/mips/mips16-jalx.d vendor/binutils/dist/gas/testsuite/gas/mips/mips16-jalx.s vendor/binutils/dist/gas/testsuite/gas/mips/mips16.d vendor/binutils/dist/gas/testsuite/gas/mips/mips16.s vendor/binutils/dist/gas/testsuite/gas/mips/mips32.d vendor/binutils/dist/gas/testsuite/gas/mips/mips32.s vendor/binutils/dist/gas/testsuite/gas/mips/mips32r2-ill-fp64.l vendor/binutils/dist/gas/testsuite/gas/mips/mips32r2-ill-fp64.s vendor/binutils/dist/gas/testsuite/gas/mips/mips32r2-ill.l vendor/binutils/dist/gas/testsuite/gas/mips/mips32r2-ill.s vendor/binutils/dist/gas/testsuite/gas/mips/mips32r2.d vendor/binutils/dist/gas/testsuite/gas/mips/mips32r2.s vendor/binutils/dist/gas/testsuite/gas/mips/mips4.d vendor/binutils/dist/gas/testsuite/gas/mips/mips4.s vendor/binutils/dist/gas/testsuite/gas/mips/mips4010.d vendor/binutils/dist/gas/testsuite/gas/mips/mips4010.s vendor/binutils/dist/gas/testsuite/gas/mips/mips4100.d vendor/binutils/dist/gas/testsuite/gas/mips/mips4100.s vendor/binutils/dist/gas/testsuite/gas/mips/mips4650.d vendor/binutils/dist/gas/testsuite/gas/mips/mips4650.s vendor/binutils/dist/gas/testsuite/gas/mips/mips5.d vendor/binutils/dist/gas/testsuite/gas/mips/mips5.l vendor/binutils/dist/gas/testsuite/gas/mips/mips5.s vendor/binutils/dist/gas/testsuite/gas/mips/mips64-mdmx.d vendor/binutils/dist/gas/testsuite/gas/mips/mips64-mdmx.s vendor/binutils/dist/gas/testsuite/gas/mips/mips64-mips3d-incl.d vendor/binutils/dist/gas/testsuite/gas/mips/mips64-mips3d.d vendor/binutils/dist/gas/testsuite/gas/mips/mips64-mips3d.l vendor/binutils/dist/gas/testsuite/gas/mips/mips64-mips3d.s vendor/binutils/dist/gas/testsuite/gas/mips/mips64.d vendor/binutils/dist/gas/testsuite/gas/mips/mips64.s vendor/binutils/dist/gas/testsuite/gas/mips/mips64r2-ill.l vendor/binutils/dist/gas/testsuite/gas/mips/mips64r2-ill.s vendor/binutils/dist/gas/testsuite/gas/mips/mips64r2.d vendor/binutils/dist/gas/testsuite/gas/mips/mips64r2.s vendor/binutils/dist/gas/testsuite/gas/mips/mipsel16-e.d vendor/binutils/dist/gas/testsuite/gas/mips/mipsel16-f.d vendor/binutils/dist/gas/testsuite/gas/mips/mul-ilocks.d vendor/binutils/dist/gas/testsuite/gas/mips/mul.d vendor/binutils/dist/gas/testsuite/gas/mips/mul.s vendor/binutils/dist/gas/testsuite/gas/mips/n32-consec.d vendor/binutils/dist/gas/testsuite/gas/mips/n32-consec.s vendor/binutils/dist/gas/testsuite/gas/mips/nodelay.d vendor/binutils/dist/gas/testsuite/gas/mips/perfcount.d vendor/binutils/dist/gas/testsuite/gas/mips/perfcount.s vendor/binutils/dist/gas/testsuite/gas/mips/relax-swap1-mips1.d vendor/binutils/dist/gas/testsuite/gas/mips/relax-swap1-mips2.d vendor/binutils/dist/gas/testsuite/gas/mips/relax-swap1.l vendor/binutils/dist/gas/testsuite/gas/mips/relax-swap1.s vendor/binutils/dist/gas/testsuite/gas/mips/relax-swap2.d vendor/binutils/dist/gas/testsuite/gas/mips/relax-swap2.l vendor/binutils/dist/gas/testsuite/gas/mips/relax-swap2.s vendor/binutils/dist/gas/testsuite/gas/mips/relax.d vendor/binutils/dist/gas/testsuite/gas/mips/relax.l vendor/binutils/dist/gas/testsuite/gas/mips/relax.s vendor/binutils/dist/gas/testsuite/gas/mips/rm7000.d vendor/binutils/dist/gas/testsuite/gas/mips/rm7000.s vendor/binutils/dist/gas/testsuite/gas/mips/rol-hw.d vendor/binutils/dist/gas/testsuite/gas/mips/rol-hw.l vendor/binutils/dist/gas/testsuite/gas/mips/rol.d vendor/binutils/dist/gas/testsuite/gas/mips/rol.l vendor/binutils/dist/gas/testsuite/gas/mips/rol.s vendor/binutils/dist/gas/testsuite/gas/mips/rol64-hw.d vendor/binutils/dist/gas/testsuite/gas/mips/rol64-hw.l vendor/binutils/dist/gas/testsuite/gas/mips/rol64.d vendor/binutils/dist/gas/testsuite/gas/mips/rol64.l vendor/binutils/dist/gas/testsuite/gas/mips/rol64.s vendor/binutils/dist/gas/testsuite/gas/mips/sb.d vendor/binutils/dist/gas/testsuite/gas/mips/sb.s vendor/binutils/dist/gas/testsuite/gas/mips/sb1-ext-mdmx.d vendor/binutils/dist/gas/testsuite/gas/mips/sb1-ext-mdmx.s vendor/binutils/dist/gas/testsuite/gas/mips/sb1-ext-ps.d vendor/binutils/dist/gas/testsuite/gas/mips/sb1-ext-ps.s vendor/binutils/dist/gas/testsuite/gas/mips/set-arch.d vendor/binutils/dist/gas/testsuite/gas/mips/set-arch.l vendor/binutils/dist/gas/testsuite/gas/mips/set-arch.s vendor/binutils/dist/gas/testsuite/gas/mips/sync.d vendor/binutils/dist/gas/testsuite/gas/mips/sync.s vendor/binutils/dist/gas/testsuite/gas/mips/telempic.d vendor/binutils/dist/gas/testsuite/gas/mips/tempic.d vendor/binutils/dist/gas/testsuite/gas/mips/tmips16-e.d vendor/binutils/dist/gas/testsuite/gas/mips/tmips16-f.d vendor/binutils/dist/gas/testsuite/gas/mips/tmipsel16-e.d vendor/binutils/dist/gas/testsuite/gas/mips/tmipsel16-f.d vendor/binutils/dist/gas/testsuite/gas/mips/trap20.d vendor/binutils/dist/gas/testsuite/gas/mips/trap20.s vendor/binutils/dist/gas/testsuite/gas/mips/trunc.d vendor/binutils/dist/gas/testsuite/gas/mips/trunc.s vendor/binutils/dist/gas/testsuite/gas/mips/uld.d vendor/binutils/dist/gas/testsuite/gas/mips/uld.s vendor/binutils/dist/gas/testsuite/gas/mips/uld2-eb.d vendor/binutils/dist/gas/testsuite/gas/mips/uld2-el.d vendor/binutils/dist/gas/testsuite/gas/mips/uld2.l vendor/binutils/dist/gas/testsuite/gas/mips/uld2.s vendor/binutils/dist/gas/testsuite/gas/mips/ulh-empic.d vendor/binutils/dist/gas/testsuite/gas/mips/ulh-pic.s vendor/binutils/dist/gas/testsuite/gas/mips/ulh-svr4pic.d vendor/binutils/dist/gas/testsuite/gas/mips/ulh-xgot.d vendor/binutils/dist/gas/testsuite/gas/mips/ulh.d vendor/binutils/dist/gas/testsuite/gas/mips/ulh.s vendor/binutils/dist/gas/testsuite/gas/mips/ulh2-eb.d vendor/binutils/dist/gas/testsuite/gas/mips/ulh2-el.d vendor/binutils/dist/gas/testsuite/gas/mips/ulh2.l vendor/binutils/dist/gas/testsuite/gas/mips/ulh2.s vendor/binutils/dist/gas/testsuite/gas/mips/ulw.d vendor/binutils/dist/gas/testsuite/gas/mips/ulw.s vendor/binutils/dist/gas/testsuite/gas/mips/ulw2-eb-ilocks.d vendor/binutils/dist/gas/testsuite/gas/mips/ulw2-eb.d vendor/binutils/dist/gas/testsuite/gas/mips/ulw2-el-ilocks.d vendor/binutils/dist/gas/testsuite/gas/mips/ulw2-el.d vendor/binutils/dist/gas/testsuite/gas/mips/ulw2.l vendor/binutils/dist/gas/testsuite/gas/mips/ulw2.s vendor/binutils/dist/gas/testsuite/gas/mips/usd.d vendor/binutils/dist/gas/testsuite/gas/mips/usd.s vendor/binutils/dist/gas/testsuite/gas/mips/ush.d vendor/binutils/dist/gas/testsuite/gas/mips/ush.s vendor/binutils/dist/gas/testsuite/gas/mips/usw.d vendor/binutils/dist/gas/testsuite/gas/mips/usw.s vendor/binutils/dist/gas/testsuite/gas/mips/vr4111.d vendor/binutils/dist/gas/testsuite/gas/mips/vr4111.s vendor/binutils/dist/gas/testsuite/gas/mips/vr4120.d vendor/binutils/dist/gas/testsuite/gas/mips/vr4120.s vendor/binutils/dist/gas/testsuite/gas/mips/vr4122.d vendor/binutils/dist/gas/testsuite/gas/mips/vr4122.s vendor/binutils/dist/gas/testsuite/gas/mips/vr5400.d vendor/binutils/dist/gas/testsuite/gas/mips/vr5400.s vendor/binutils/dist/gas/testsuite/gas/mips/vr5500.d vendor/binutils/dist/gas/testsuite/gas/mips/vr5500.s vendor/binutils/dist/gas/testsuite/gas/mmix/ vendor/binutils/dist/gas/testsuite/gas/mmix/1cjmp1b-n.d vendor/binutils/dist/gas/testsuite/gas/mmix/1cjmp1b-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/1cjmp1b.d vendor/binutils/dist/gas/testsuite/gas/mmix/1cjmp1b.l vendor/binutils/dist/gas/testsuite/gas/mmix/1cjmp1b.s vendor/binutils/dist/gas/testsuite/gas/mmix/1cjmp1brn.d vendor/binutils/dist/gas/testsuite/gas/mmix/1hjmp1b.d vendor/binutils/dist/gas/testsuite/gas/mmix/1hjmp1b.l vendor/binutils/dist/gas/testsuite/gas/mmix/1hjmp1b.s vendor/binutils/dist/gas/testsuite/gas/mmix/align-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/align-1.s vendor/binutils/dist/gas/testsuite/gas/mmix/basep-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/basep-1.s vendor/binutils/dist/gas/testsuite/gas/mmix/basep-10.d vendor/binutils/dist/gas/testsuite/gas/mmix/basep-10.s vendor/binutils/dist/gas/testsuite/gas/mmix/basep-11.d vendor/binutils/dist/gas/testsuite/gas/mmix/basep-11.s vendor/binutils/dist/gas/testsuite/gas/mmix/basep-1b.d vendor/binutils/dist/gas/testsuite/gas/mmix/basep-2.d vendor/binutils/dist/gas/testsuite/gas/mmix/basep-2.s vendor/binutils/dist/gas/testsuite/gas/mmix/basep-2b.d vendor/binutils/dist/gas/testsuite/gas/mmix/basep-3.d vendor/binutils/dist/gas/testsuite/gas/mmix/basep-3.s vendor/binutils/dist/gas/testsuite/gas/mmix/basep-3b.d vendor/binutils/dist/gas/testsuite/gas/mmix/basep-4.d vendor/binutils/dist/gas/testsuite/gas/mmix/basep-5.d vendor/binutils/dist/gas/testsuite/gas/mmix/basep-6.d vendor/binutils/dist/gas/testsuite/gas/mmix/basep-7.d vendor/binutils/dist/gas/testsuite/gas/mmix/basep-8.d vendor/binutils/dist/gas/testsuite/gas/mmix/basep-8.s vendor/binutils/dist/gas/testsuite/gas/mmix/basep-9.d vendor/binutils/dist/gas/testsuite/gas/mmix/basep-9.s vendor/binutils/dist/gas/testsuite/gas/mmix/bspec-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/bspec-1.s vendor/binutils/dist/gas/testsuite/gas/mmix/bspec-2.d vendor/binutils/dist/gas/testsuite/gas/mmix/bspec-2.s vendor/binutils/dist/gas/testsuite/gas/mmix/builtin1.d vendor/binutils/dist/gas/testsuite/gas/mmix/builtin1.s vendor/binutils/dist/gas/testsuite/gas/mmix/builtin2.d vendor/binutils/dist/gas/testsuite/gas/mmix/builtin3.d vendor/binutils/dist/gas/testsuite/gas/mmix/byte-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/byte-1.s vendor/binutils/dist/gas/testsuite/gas/mmix/bz-c.d vendor/binutils/dist/gas/testsuite/gas/mmix/bz-c.s vendor/binutils/dist/gas/testsuite/gas/mmix/comment-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/comment-1.s vendor/binutils/dist/gas/testsuite/gas/mmix/comment-2.d vendor/binutils/dist/gas/testsuite/gas/mmix/comment-2.s vendor/binutils/dist/gas/testsuite/gas/mmix/comment-3.d vendor/binutils/dist/gas/testsuite/gas/mmix/comment-3.s vendor/binutils/dist/gas/testsuite/gas/mmix/cons-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/cons-1.s vendor/binutils/dist/gas/testsuite/gas/mmix/cons-2.d vendor/binutils/dist/gas/testsuite/gas/mmix/cons-2.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-bpo1.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-bpo2.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-bpo3.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-bpo4.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-bpo5.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-bpo6.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-bspec-1.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-bspec-2.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-bspec-3.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-bspec-4.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-bspec-5.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-builtin.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-byte1.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-byte2.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-case.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-fb-1.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-greg1.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-insn.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-is-1.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-loc-1.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-loc-2.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-loc-3.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-loc-4.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-loc-5.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-loc-6.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-loc-7.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-loc-8.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-local1.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-local2.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-ser-1.s vendor/binutils/dist/gas/testsuite/gas/mmix/err-set.s vendor/binutils/dist/gas/testsuite/gas/mmix/expr-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/expr-1.s vendor/binutils/dist/gas/testsuite/gas/mmix/fb-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/fb-1.s vendor/binutils/dist/gas/testsuite/gas/mmix/fb-2.d vendor/binutils/dist/gas/testsuite/gas/mmix/fb-2.s vendor/binutils/dist/gas/testsuite/gas/mmix/get-op-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/get-op.d vendor/binutils/dist/gas/testsuite/gas/mmix/get-op.l vendor/binutils/dist/gas/testsuite/gas/mmix/get-op.s vendor/binutils/dist/gas/testsuite/gas/mmix/geta-c.d vendor/binutils/dist/gas/testsuite/gas/mmix/geta-c.s vendor/binutils/dist/gas/testsuite/gas/mmix/geta-op-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/geta-op.d vendor/binutils/dist/gas/testsuite/gas/mmix/geta-op.l vendor/binutils/dist/gas/testsuite/gas/mmix/geta-op.s vendor/binutils/dist/gas/testsuite/gas/mmix/geta-opn.d vendor/binutils/dist/gas/testsuite/gas/mmix/geta-oprn.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg1.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg1.s vendor/binutils/dist/gas/testsuite/gas/mmix/greg1a.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg2.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg2.s vendor/binutils/dist/gas/testsuite/gas/mmix/greg2a.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg3.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg3.s vendor/binutils/dist/gas/testsuite/gas/mmix/greg4.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg4.s vendor/binutils/dist/gas/testsuite/gas/mmix/greg5.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg5.s vendor/binutils/dist/gas/testsuite/gas/mmix/greg6.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg6.s vendor/binutils/dist/gas/testsuite/gas/mmix/greg7.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg7.s vendor/binutils/dist/gas/testsuite/gas/mmix/greg8.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg8.s vendor/binutils/dist/gas/testsuite/gas/mmix/greg9.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg9.s vendor/binutils/dist/gas/testsuite/gas/mmix/hex-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/hex.d vendor/binutils/dist/gas/testsuite/gas/mmix/hex.l vendor/binutils/dist/gas/testsuite/gas/mmix/hex.s vendor/binutils/dist/gas/testsuite/gas/mmix/is-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/is-1.s vendor/binutils/dist/gas/testsuite/gas/mmix/jmp-op-n.d vendor/binutils/dist/gas/testsuite/gas/mmix/jmp-op-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/jmp-op.d vendor/binutils/dist/gas/testsuite/gas/mmix/jmp-op.l vendor/binutils/dist/gas/testsuite/gas/mmix/jmp-op.s vendor/binutils/dist/gas/testsuite/gas/mmix/jmp-oprn.d vendor/binutils/dist/gas/testsuite/gas/mmix/jump-c.d vendor/binutils/dist/gas/testsuite/gas/mmix/jump-c.s vendor/binutils/dist/gas/testsuite/gas/mmix/list-in-n.d vendor/binutils/dist/gas/testsuite/gas/mmix/list-in-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/list-in-rn.d vendor/binutils/dist/gas/testsuite/gas/mmix/list-insns.d vendor/binutils/dist/gas/testsuite/gas/mmix/list-insns.l vendor/binutils/dist/gas/testsuite/gas/mmix/list-insns.s vendor/binutils/dist/gas/testsuite/gas/mmix/list-pseudoints.l vendor/binutils/dist/gas/testsuite/gas/mmix/list-pseudoints.s vendor/binutils/dist/gas/testsuite/gas/mmix/list-textfirst vendor/binutils/dist/gas/testsuite/gas/mmix/list-textfirst.l vendor/binutils/dist/gas/testsuite/gas/mmix/list-textfirst.s vendor/binutils/dist/gas/testsuite/gas/mmix/loc-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/loc-1.s vendor/binutils/dist/gas/testsuite/gas/mmix/loc-2.d vendor/binutils/dist/gas/testsuite/gas/mmix/loc-2.s vendor/binutils/dist/gas/testsuite/gas/mmix/loc-3.d vendor/binutils/dist/gas/testsuite/gas/mmix/loc-3.s vendor/binutils/dist/gas/testsuite/gas/mmix/loc-4.d vendor/binutils/dist/gas/testsuite/gas/mmix/loc-4.s vendor/binutils/dist/gas/testsuite/gas/mmix/loc-5.d vendor/binutils/dist/gas/testsuite/gas/mmix/loc-5.s vendor/binutils/dist/gas/testsuite/gas/mmix/local-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/local-1.s vendor/binutils/dist/gas/testsuite/gas/mmix/locall1.d vendor/binutils/dist/gas/testsuite/gas/mmix/locall1.s vendor/binutils/dist/gas/testsuite/gas/mmix/mmix-err.exp vendor/binutils/dist/gas/testsuite/gas/mmix/mmix-list.exp vendor/binutils/dist/gas/testsuite/gas/mmix/mmix.exp vendor/binutils/dist/gas/testsuite/gas/mmix/odd-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/odd-1.s vendor/binutils/dist/gas/testsuite/gas/mmix/op-0-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/op-0-1.s vendor/binutils/dist/gas/testsuite/gas/mmix/op-0-1s.d vendor/binutils/dist/gas/testsuite/gas/mmix/op-0-2.d vendor/binutils/dist/gas/testsuite/gas/mmix/pop-op-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/pop-op.d vendor/binutils/dist/gas/testsuite/gas/mmix/pop-op.l vendor/binutils/dist/gas/testsuite/gas/mmix/pop-op.s vendor/binutils/dist/gas/testsuite/gas/mmix/prefix1.d vendor/binutils/dist/gas/testsuite/gas/mmix/prefix1.s vendor/binutils/dist/gas/testsuite/gas/mmix/prefix2.d vendor/binutils/dist/gas/testsuite/gas/mmix/prefix2.s vendor/binutils/dist/gas/testsuite/gas/mmix/prefix3.d vendor/binutils/dist/gas/testsuite/gas/mmix/prefix3.s vendor/binutils/dist/gas/testsuite/gas/mmix/pseudo-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/pseudo-1.s vendor/binutils/dist/gas/testsuite/gas/mmix/pushgo-op-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/pushgo-op.d vendor/binutils/dist/gas/testsuite/gas/mmix/pushgo-op.l vendor/binutils/dist/gas/testsuite/gas/mmix/pushgo-op.s vendor/binutils/dist/gas/testsuite/gas/mmix/pushj-c.d vendor/binutils/dist/gas/testsuite/gas/mmix/pushj-c.s vendor/binutils/dist/gas/testsuite/gas/mmix/pushj-cs.d vendor/binutils/dist/gas/testsuite/gas/mmix/put-op-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/put-op.d vendor/binutils/dist/gas/testsuite/gas/mmix/put-op.l vendor/binutils/dist/gas/testsuite/gas/mmix/put-op.s vendor/binutils/dist/gas/testsuite/gas/mmix/reg-op-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/reg-op.d vendor/binutils/dist/gas/testsuite/gas/mmix/reg-op.l vendor/binutils/dist/gas/testsuite/gas/mmix/reg-op.s vendor/binutils/dist/gas/testsuite/gas/mmix/reg3-op-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/reg3-op.d vendor/binutils/dist/gas/testsuite/gas/mmix/reg3-op.l vendor/binutils/dist/gas/testsuite/gas/mmix/reg3-op.s vendor/binutils/dist/gas/testsuite/gas/mmix/regt-op-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/regt-op.d vendor/binutils/dist/gas/testsuite/gas/mmix/regt-op.l vendor/binutils/dist/gas/testsuite/gas/mmix/regt-op.s vendor/binutils/dist/gas/testsuite/gas/mmix/regx-op-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/regx-op.d vendor/binutils/dist/gas/testsuite/gas/mmix/regx-op.l vendor/binutils/dist/gas/testsuite/gas/mmix/regx-op.s vendor/binutils/dist/gas/testsuite/gas/mmix/regy-op-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/regy-op.d vendor/binutils/dist/gas/testsuite/gas/mmix/regy-op.l vendor/binutils/dist/gas/testsuite/gas/mmix/regy-op.s vendor/binutils/dist/gas/testsuite/gas/mmix/relax1-n.d vendor/binutils/dist/gas/testsuite/gas/mmix/relax1-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/relax1-rn.d vendor/binutils/dist/gas/testsuite/gas/mmix/relax1.d vendor/binutils/dist/gas/testsuite/gas/mmix/relax1.l vendor/binutils/dist/gas/testsuite/gas/mmix/relax1.s vendor/binutils/dist/gas/testsuite/gas/mmix/relax2.d vendor/binutils/dist/gas/testsuite/gas/mmix/relax2.s vendor/binutils/dist/gas/testsuite/gas/mmix/reloc16-n.d vendor/binutils/dist/gas/testsuite/gas/mmix/reloc16-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/reloc16.d vendor/binutils/dist/gas/testsuite/gas/mmix/reloc16.l vendor/binutils/dist/gas/testsuite/gas/mmix/reloc16.s vendor/binutils/dist/gas/testsuite/gas/mmix/reloc8-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/reloc8.d vendor/binutils/dist/gas/testsuite/gas/mmix/reloc8.l vendor/binutils/dist/gas/testsuite/gas/mmix/reloc8.s vendor/binutils/dist/gas/testsuite/gas/mmix/relocl-n.d vendor/binutils/dist/gas/testsuite/gas/mmix/reloclab-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/reloclab-rs.d vendor/binutils/dist/gas/testsuite/gas/mmix/reloclab-s.d vendor/binutils/dist/gas/testsuite/gas/mmix/reloclab.d vendor/binutils/dist/gas/testsuite/gas/mmix/reloclab.l vendor/binutils/dist/gas/testsuite/gas/mmix/reloclab.s vendor/binutils/dist/gas/testsuite/gas/mmix/reloclrn.d vendor/binutils/dist/gas/testsuite/gas/mmix/relocxrn.d vendor/binutils/dist/gas/testsuite/gas/mmix/resume-op-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/resume-op.d vendor/binutils/dist/gas/testsuite/gas/mmix/resume-op.l vendor/binutils/dist/gas/testsuite/gas/mmix/resume-op.s vendor/binutils/dist/gas/testsuite/gas/mmix/round2-op-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/round2-op.d vendor/binutils/dist/gas/testsuite/gas/mmix/round2-op.l vendor/binutils/dist/gas/testsuite/gas/mmix/round2-op.s vendor/binutils/dist/gas/testsuite/gas/mmix/roundi-op-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/roundi-op.d vendor/binutils/dist/gas/testsuite/gas/mmix/roundi-op.l vendor/binutils/dist/gas/testsuite/gas/mmix/roundi-op.s vendor/binutils/dist/gas/testsuite/gas/mmix/roundr-op-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/roundr-op.d vendor/binutils/dist/gas/testsuite/gas/mmix/roundr-op.l vendor/binutils/dist/gas/testsuite/gas/mmix/roundr-op.s vendor/binutils/dist/gas/testsuite/gas/mmix/save-op-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/save-op.d vendor/binutils/dist/gas/testsuite/gas/mmix/save-op.l vendor/binutils/dist/gas/testsuite/gas/mmix/save-op.s vendor/binutils/dist/gas/testsuite/gas/mmix/set-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/set.d vendor/binutils/dist/gas/testsuite/gas/mmix/set.l vendor/binutils/dist/gas/testsuite/gas/mmix/set.s vendor/binutils/dist/gas/testsuite/gas/mmix/swym-op-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/swym-op.d vendor/binutils/dist/gas/testsuite/gas/mmix/swym-op.l vendor/binutils/dist/gas/testsuite/gas/mmix/swym-op.s vendor/binutils/dist/gas/testsuite/gas/mmix/sym-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/sym-1.s vendor/binutils/dist/gas/testsuite/gas/mmix/sync-op-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/sync-op.d vendor/binutils/dist/gas/testsuite/gas/mmix/sync-op.l vendor/binutils/dist/gas/testsuite/gas/mmix/sync-op.s vendor/binutils/dist/gas/testsuite/gas/mmix/two-op-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/two-op.d vendor/binutils/dist/gas/testsuite/gas/mmix/two-op.l vendor/binutils/dist/gas/testsuite/gas/mmix/two-op.s vendor/binutils/dist/gas/testsuite/gas/mmix/unsave-op-r.d vendor/binutils/dist/gas/testsuite/gas/mmix/unsave-op.d vendor/binutils/dist/gas/testsuite/gas/mmix/unsave-op.l vendor/binutils/dist/gas/testsuite/gas/mmix/unsave-op.s vendor/binutils/dist/gas/testsuite/gas/mmix/weak1-s.d vendor/binutils/dist/gas/testsuite/gas/mmix/weak1.d vendor/binutils/dist/gas/testsuite/gas/mmix/weak1.s vendor/binutils/dist/gas/testsuite/gas/mmix/zerop-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/zerop-1.s vendor/binutils/dist/gas/testsuite/gas/mn10200/ vendor/binutils/dist/gas/testsuite/gas/mn10200/add.s vendor/binutils/dist/gas/testsuite/gas/mn10200/basic.exp vendor/binutils/dist/gas/testsuite/gas/mn10200/bcc.s vendor/binutils/dist/gas/testsuite/gas/mn10200/bccx.s vendor/binutils/dist/gas/testsuite/gas/mn10200/bit.s vendor/binutils/dist/gas/testsuite/gas/mn10200/cmp.s vendor/binutils/dist/gas/testsuite/gas/mn10200/ext.s vendor/binutils/dist/gas/testsuite/gas/mn10200/logical.s vendor/binutils/dist/gas/testsuite/gas/mn10200/mov1.s vendor/binutils/dist/gas/testsuite/gas/mn10200/mov2.s vendor/binutils/dist/gas/testsuite/gas/mn10200/mov3.s vendor/binutils/dist/gas/testsuite/gas/mn10200/mov4.s vendor/binutils/dist/gas/testsuite/gas/mn10200/movb.s vendor/binutils/dist/gas/testsuite/gas/mn10200/movbu.s vendor/binutils/dist/gas/testsuite/gas/mn10200/movx.s vendor/binutils/dist/gas/testsuite/gas/mn10200/muldiv.s vendor/binutils/dist/gas/testsuite/gas/mn10200/other.s vendor/binutils/dist/gas/testsuite/gas/mn10200/shift.s vendor/binutils/dist/gas/testsuite/gas/mn10200/sub.s vendor/binutils/dist/gas/testsuite/gas/mn10300/ vendor/binutils/dist/gas/testsuite/gas/mn10300/add.s vendor/binutils/dist/gas/testsuite/gas/mn10300/am33-2.c vendor/binutils/dist/gas/testsuite/gas/mn10300/am33-2.d vendor/binutils/dist/gas/testsuite/gas/mn10300/am33-2.s vendor/binutils/dist/gas/testsuite/gas/mn10300/am33.s vendor/binutils/dist/gas/testsuite/gas/mn10300/am33_2.s vendor/binutils/dist/gas/testsuite/gas/mn10300/am33_3.s vendor/binutils/dist/gas/testsuite/gas/mn10300/am33_4.s vendor/binutils/dist/gas/testsuite/gas/mn10300/am33_5.s vendor/binutils/dist/gas/testsuite/gas/mn10300/am33_6.s vendor/binutils/dist/gas/testsuite/gas/mn10300/am33_7.s vendor/binutils/dist/gas/testsuite/gas/mn10300/am33_8.s vendor/binutils/dist/gas/testsuite/gas/mn10300/basic.exp vendor/binutils/dist/gas/testsuite/gas/mn10300/bcc.s vendor/binutils/dist/gas/testsuite/gas/mn10300/bit.s vendor/binutils/dist/gas/testsuite/gas/mn10300/cmp.s vendor/binutils/dist/gas/testsuite/gas/mn10300/ext.s vendor/binutils/dist/gas/testsuite/gas/mn10300/extend.s vendor/binutils/dist/gas/testsuite/gas/mn10300/logical.s vendor/binutils/dist/gas/testsuite/gas/mn10300/loop.s vendor/binutils/dist/gas/testsuite/gas/mn10300/mov1.s vendor/binutils/dist/gas/testsuite/gas/mn10300/mov2.s vendor/binutils/dist/gas/testsuite/gas/mn10300/mov3.s vendor/binutils/dist/gas/testsuite/gas/mn10300/mov4.s vendor/binutils/dist/gas/testsuite/gas/mn10300/mov5.s vendor/binutils/dist/gas/testsuite/gas/mn10300/movbu.s vendor/binutils/dist/gas/testsuite/gas/mn10300/movhu.s vendor/binutils/dist/gas/testsuite/gas/mn10300/movm.s vendor/binutils/dist/gas/testsuite/gas/mn10300/movpc.l vendor/binutils/dist/gas/testsuite/gas/mn10300/movpc.s vendor/binutils/dist/gas/testsuite/gas/mn10300/muldiv.s vendor/binutils/dist/gas/testsuite/gas/mn10300/other.s vendor/binutils/dist/gas/testsuite/gas/mn10300/shift.s vendor/binutils/dist/gas/testsuite/gas/mn10300/sub.s vendor/binutils/dist/gas/testsuite/gas/mn10300/udf.s vendor/binutils/dist/gas/testsuite/gas/mri/ vendor/binutils/dist/gas/testsuite/gas/mri/char.d vendor/binutils/dist/gas/testsuite/gas/mri/char.s vendor/binutils/dist/gas/testsuite/gas/mri/comment.d vendor/binutils/dist/gas/testsuite/gas/mri/comment.s vendor/binutils/dist/gas/testsuite/gas/mri/common.d vendor/binutils/dist/gas/testsuite/gas/mri/common.s vendor/binutils/dist/gas/testsuite/gas/mri/constants.d vendor/binutils/dist/gas/testsuite/gas/mri/constants.s vendor/binutils/dist/gas/testsuite/gas/mri/empty.s vendor/binutils/dist/gas/testsuite/gas/mri/equ.d vendor/binutils/dist/gas/testsuite/gas/mri/equ.s vendor/binutils/dist/gas/testsuite/gas/mri/expr.d vendor/binutils/dist/gas/testsuite/gas/mri/expr.s vendor/binutils/dist/gas/testsuite/gas/mri/float.d vendor/binutils/dist/gas/testsuite/gas/mri/float.s vendor/binutils/dist/gas/testsuite/gas/mri/for.d vendor/binutils/dist/gas/testsuite/gas/mri/for.s vendor/binutils/dist/gas/testsuite/gas/mri/if.d vendor/binutils/dist/gas/testsuite/gas/mri/if.s vendor/binutils/dist/gas/testsuite/gas/mri/immconst.d vendor/binutils/dist/gas/testsuite/gas/mri/label.d vendor/binutils/dist/gas/testsuite/gas/mri/label.s vendor/binutils/dist/gas/testsuite/gas/mri/moveml.d vendor/binutils/dist/gas/testsuite/gas/mri/moveml.s vendor/binutils/dist/gas/testsuite/gas/mri/mri.exp vendor/binutils/dist/gas/testsuite/gas/mri/repeat.d vendor/binutils/dist/gas/testsuite/gas/mri/repeat.s vendor/binutils/dist/gas/testsuite/gas/mri/semi.d vendor/binutils/dist/gas/testsuite/gas/mri/semi.s vendor/binutils/dist/gas/testsuite/gas/mri/while.d vendor/binutils/dist/gas/testsuite/gas/mri/while.s vendor/binutils/dist/gas/testsuite/gas/msp430/ vendor/binutils/dist/gas/testsuite/gas/msp430/msp430.exp vendor/binutils/dist/gas/testsuite/gas/msp430/opcode.d vendor/binutils/dist/gas/testsuite/gas/msp430/opcode.s vendor/binutils/dist/gas/testsuite/gas/openrisc/ vendor/binutils/dist/gas/testsuite/gas/openrisc/addi.d vendor/binutils/dist/gas/testsuite/gas/openrisc/addi.s vendor/binutils/dist/gas/testsuite/gas/openrisc/allinsn.d vendor/binutils/dist/gas/testsuite/gas/openrisc/allinsn.exp vendor/binutils/dist/gas/testsuite/gas/openrisc/allinsn.s vendor/binutils/dist/gas/testsuite/gas/openrisc/lohi.d vendor/binutils/dist/gas/testsuite/gas/openrisc/lohi.s vendor/binutils/dist/gas/testsuite/gas/openrisc/store.d vendor/binutils/dist/gas/testsuite/gas/openrisc/store.s vendor/binutils/dist/gas/testsuite/gas/pdp11/ vendor/binutils/dist/gas/testsuite/gas/pdp11/opcode.d vendor/binutils/dist/gas/testsuite/gas/pdp11/opcode.s vendor/binutils/dist/gas/testsuite/gas/pdp11/pdp11.exp vendor/binutils/dist/gas/testsuite/gas/pj/ vendor/binutils/dist/gas/testsuite/gas/pj/ops.d vendor/binutils/dist/gas/testsuite/gas/pj/ops.s vendor/binutils/dist/gas/testsuite/gas/pj/pj.exp vendor/binutils/dist/gas/testsuite/gas/ppc/ vendor/binutils/dist/gas/testsuite/gas/ppc/aix.exp vendor/binutils/dist/gas/testsuite/gas/ppc/align.s vendor/binutils/dist/gas/testsuite/gas/ppc/altivec.d vendor/binutils/dist/gas/testsuite/gas/ppc/altivec.s vendor/binutils/dist/gas/testsuite/gas/ppc/altivec_xcoff.d vendor/binutils/dist/gas/testsuite/gas/ppc/altivec_xcoff.s vendor/binutils/dist/gas/testsuite/gas/ppc/altivec_xcoff64.d vendor/binutils/dist/gas/testsuite/gas/ppc/altivec_xcoff64.s vendor/binutils/dist/gas/testsuite/gas/ppc/astest.d vendor/binutils/dist/gas/testsuite/gas/ppc/astest.s vendor/binutils/dist/gas/testsuite/gas/ppc/astest2.d vendor/binutils/dist/gas/testsuite/gas/ppc/astest2.s vendor/binutils/dist/gas/testsuite/gas/ppc/astest2_64.d vendor/binutils/dist/gas/testsuite/gas/ppc/astest2_64.s vendor/binutils/dist/gas/testsuite/gas/ppc/astest64.d vendor/binutils/dist/gas/testsuite/gas/ppc/astest64.s vendor/binutils/dist/gas/testsuite/gas/ppc/booke.d vendor/binutils/dist/gas/testsuite/gas/ppc/booke.s vendor/binutils/dist/gas/testsuite/gas/ppc/booke_xcoff.d vendor/binutils/dist/gas/testsuite/gas/ppc/booke_xcoff.s vendor/binutils/dist/gas/testsuite/gas/ppc/booke_xcoff64.d vendor/binutils/dist/gas/testsuite/gas/ppc/booke_xcoff64.s vendor/binutils/dist/gas/testsuite/gas/ppc/e500.d vendor/binutils/dist/gas/testsuite/gas/ppc/e500.s vendor/binutils/dist/gas/testsuite/gas/ppc/generate.sh (contents, props changed) vendor/binutils/dist/gas/testsuite/gas/ppc/machine.d vendor/binutils/dist/gas/testsuite/gas/ppc/machine.s vendor/binutils/dist/gas/testsuite/gas/ppc/power4.d vendor/binutils/dist/gas/testsuite/gas/ppc/power4.s vendor/binutils/dist/gas/testsuite/gas/ppc/ppc.exp vendor/binutils/dist/gas/testsuite/gas/ppc/simpshft.d vendor/binutils/dist/gas/testsuite/gas/ppc/simpshft.s vendor/binutils/dist/gas/testsuite/gas/ppc/test1elf.asm vendor/binutils/dist/gas/testsuite/gas/ppc/test1elf32.d vendor/binutils/dist/gas/testsuite/gas/ppc/test1elf32.s vendor/binutils/dist/gas/testsuite/gas/ppc/test1elf64.d vendor/binutils/dist/gas/testsuite/gas/ppc/test1elf64.s vendor/binutils/dist/gas/testsuite/gas/ppc/test1xcoff.asm vendor/binutils/dist/gas/testsuite/gas/ppc/test1xcoff32.d vendor/binutils/dist/gas/testsuite/gas/ppc/test1xcoff32.s vendor/binutils/dist/gas/testsuite/gas/ppc/textalign-xcoff-001.d vendor/binutils/dist/gas/testsuite/gas/ppc/textalign-xcoff-001.s vendor/binutils/dist/gas/testsuite/gas/ppc/textalign-xcoff-002.d vendor/binutils/dist/gas/testsuite/gas/s390/ vendor/binutils/dist/gas/testsuite/gas/s390/opcode.d vendor/binutils/dist/gas/testsuite/gas/s390/opcode.s vendor/binutils/dist/gas/testsuite/gas/s390/opcode64.d vendor/binutils/dist/gas/testsuite/gas/s390/opcode64.s vendor/binutils/dist/gas/testsuite/gas/s390/operands.d vendor/binutils/dist/gas/testsuite/gas/s390/operands.s vendor/binutils/dist/gas/testsuite/gas/s390/operands64.d vendor/binutils/dist/gas/testsuite/gas/s390/operands64.s vendor/binutils/dist/gas/testsuite/gas/s390/reloc.d vendor/binutils/dist/gas/testsuite/gas/s390/reloc.s vendor/binutils/dist/gas/testsuite/gas/s390/reloc64.d vendor/binutils/dist/gas/testsuite/gas/s390/reloc64.s vendor/binutils/dist/gas/testsuite/gas/s390/s390.exp vendor/binutils/dist/gas/testsuite/gas/sh/ vendor/binutils/dist/gas/testsuite/gas/sh/basic.exp vendor/binutils/dist/gas/testsuite/gas/sh/dsp.d vendor/binutils/dist/gas/testsuite/gas/sh/dsp.s vendor/binutils/dist/gas/testsuite/gas/sh/err-1.s vendor/binutils/dist/gas/testsuite/gas/sh/err-at.s vendor/binutils/dist/gas/testsuite/gas/sh/err-be.s vendor/binutils/dist/gas/testsuite/gas/sh/err-le.s vendor/binutils/dist/gas/testsuite/gas/sh/err-sh4a-fp.s vendor/binutils/dist/gas/testsuite/gas/sh/err-sh4a.s vendor/binutils/dist/gas/testsuite/gas/sh/err-sh4al-dsp.s vendor/binutils/dist/gas/testsuite/gas/sh/err.exp vendor/binutils/dist/gas/testsuite/gas/sh/fp.s vendor/binutils/dist/gas/testsuite/gas/sh/pcrel-coff.d vendor/binutils/dist/gas/testsuite/gas/sh/pcrel-coff.s vendor/binutils/dist/gas/testsuite/gas/sh/pcrel.d vendor/binutils/dist/gas/testsuite/gas/sh/pcrel.l vendor/binutils/dist/gas/testsuite/gas/sh/pcrel.s vendor/binutils/dist/gas/testsuite/gas/sh/pcrel2.d vendor/binutils/dist/gas/testsuite/gas/sh/pcrel2.s vendor/binutils/dist/gas/testsuite/gas/sh/pic.d vendor/binutils/dist/gas/testsuite/gas/sh/pic.s vendor/binutils/dist/gas/testsuite/gas/sh/renesas-1.d vendor/binutils/dist/gas/testsuite/gas/sh/renesas-1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh4a-dsp.d vendor/binutils/dist/gas/testsuite/gas/sh/sh4a-dsp.s vendor/binutils/dist/gas/testsuite/gas/sh/sh4a-fp.d vendor/binutils/dist/gas/testsuite/gas/sh/sh4a-fp.s vendor/binutils/dist/gas/testsuite/gas/sh/sh4a.d vendor/binutils/dist/gas/testsuite/gas/sh/sh4a.s vendor/binutils/dist/gas/testsuite/gas/sh/sh4al-dsp.d vendor/binutils/dist/gas/testsuite/gas/sh/sh4al-dsp.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/ vendor/binutils/dist/gas/testsuite/gas/sh/sh64/abi-32.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/abi-32.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/abi-64.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/abi-64.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/basic-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/basic-1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/case-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/case-1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/case-noexp-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/crange1-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/crange1-2.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/crange1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/crange2-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/crange2-2.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/crange2-noexp-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/crange2.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/crange3-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/crange3.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/crange4-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/crange4.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/crange5-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/crange5.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/creg-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/creg-1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/creg-2.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/creg-2.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/datal-1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/datal-2.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/datal-2.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/datal-3.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/datal32-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/datal32-3.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/datal64-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/datal64-3.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/endian-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/endian-1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/endian-2.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/endian-2.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/err-1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/err-2.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/err-3.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/err-4.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/err-abi-32.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/err-abi-64.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/err-dsp.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/err-movi-noexp-1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/err-noexp-cmd1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/err-pt-1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/err-pt32-cmd1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/err-pt32-cmd2.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/err-pt32-cmd3.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/err-ptb-1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/err-ptb-2.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/err.exp vendor/binutils/dist/gas/testsuite/gas/sh/sh64/immexpr1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/immexpr2.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/immexpr32-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/immexpr32-2.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/immexpr64-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/immexpr64-2.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/lineno.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/lineno.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/localcom-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/localcom-1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/mix-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/mix-1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/mix-noexp-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/movi-1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/movi-2.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/movi-3.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/movi-3.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/movi32-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/movi32-2.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/movi32-noexp-2.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/movi64-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/movi64-2.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/movi64-2.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/movi64-3.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/movi64-noexp-2.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/pt-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/pt-1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/pt-2.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/pt-noexp-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/pt32-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/pt32-noexp-2.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/pt64-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/pt64-32-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/pt64-32-2.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/pt64-noexp-2.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/ptc-1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/ptc32-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/ptc32-noexp-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/ptc64-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/ptc64-32-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/ptc64-noexp-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/ptext-1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/ptext32-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/ptext32-noexp-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/ptext64-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/ptext64-32-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/ptext64-noexp-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/rel-1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/rel-2.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/rel-3.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/rel-4.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/rel-5.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/rel32-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/rel32-2.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/rel32-3.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/rel32-4.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/rel32-5.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/rel64-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/rel64-2.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/rel64-3.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/rel64-4.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/rel64-5.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/relax-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/relax-1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/relax-2.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/relax-2.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/relax-3.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/relax-3.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/sh64.exp vendor/binutils/dist/gas/testsuite/gas/sh/sh64/shift-1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/shift-2.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/shift-3.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/shift32-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/shift32-3.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/shift32-noexp-3.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/shift64-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/shift64-2.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/shift64-3.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/shift64-noexp-3.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/syntax-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/syntax-1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/syntax-2.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/syntax-2.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/ua-1.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/ua32-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/ua64-1.d vendor/binutils/dist/gas/testsuite/gas/sh/tlsd.d vendor/binutils/dist/gas/testsuite/gas/sh/tlsd.s vendor/binutils/dist/gas/testsuite/gas/sh/tlsnopic.d vendor/binutils/dist/gas/testsuite/gas/sh/tlsnopic.s vendor/binutils/dist/gas/testsuite/gas/sh/tlspic.d vendor/binutils/dist/gas/testsuite/gas/sh/tlspic.s vendor/binutils/dist/gas/testsuite/gas/sparc/ vendor/binutils/dist/gas/testsuite/gas/sparc-solaris/ vendor/binutils/dist/gas/testsuite/gas/sparc-solaris/addend.exp vendor/binutils/dist/gas/testsuite/gas/sparc-solaris/addend.s vendor/binutils/dist/gas/testsuite/gas/sparc-solaris/gas.exp vendor/binutils/dist/gas/testsuite/gas/sparc-solaris/sol-cc.s vendor/binutils/dist/gas/testsuite/gas/sparc-solaris/sol-gcc.s vendor/binutils/dist/gas/testsuite/gas/sparc/asi.d vendor/binutils/dist/gas/testsuite/gas/sparc/asi.s vendor/binutils/dist/gas/testsuite/gas/sparc/membar.d vendor/binutils/dist/gas/testsuite/gas/sparc/membar.s vendor/binutils/dist/gas/testsuite/gas/sparc/mism-1.s vendor/binutils/dist/gas/testsuite/gas/sparc/mismatch.exp vendor/binutils/dist/gas/testsuite/gas/sparc/pcrel.d vendor/binutils/dist/gas/testsuite/gas/sparc/pcrel.s vendor/binutils/dist/gas/testsuite/gas/sparc/pcrel64.d vendor/binutils/dist/gas/testsuite/gas/sparc/pcrel64.s vendor/binutils/dist/gas/testsuite/gas/sparc/plt.d vendor/binutils/dist/gas/testsuite/gas/sparc/plt.s vendor/binutils/dist/gas/testsuite/gas/sparc/plt64.d vendor/binutils/dist/gas/testsuite/gas/sparc/plt64.s vendor/binutils/dist/gas/testsuite/gas/sparc/prefetch.d vendor/binutils/dist/gas/testsuite/gas/sparc/prefetch.s vendor/binutils/dist/gas/testsuite/gas/sparc/rdpr.d vendor/binutils/dist/gas/testsuite/gas/sparc/rdpr.s vendor/binutils/dist/gas/testsuite/gas/sparc/reloc64.d vendor/binutils/dist/gas/testsuite/gas/sparc/reloc64.s vendor/binutils/dist/gas/testsuite/gas/sparc/set64.d vendor/binutils/dist/gas/testsuite/gas/sparc/set64.s vendor/binutils/dist/gas/testsuite/gas/sparc/sparc.exp vendor/binutils/dist/gas/testsuite/gas/sparc/splet-2.d vendor/binutils/dist/gas/testsuite/gas/sparc/splet-2.s vendor/binutils/dist/gas/testsuite/gas/sparc/splet.d vendor/binutils/dist/gas/testsuite/gas/sparc/splet.s vendor/binutils/dist/gas/testsuite/gas/sparc/synth.d vendor/binutils/dist/gas/testsuite/gas/sparc/synth.s vendor/binutils/dist/gas/testsuite/gas/sparc/synth64.d vendor/binutils/dist/gas/testsuite/gas/sparc/synth64.s vendor/binutils/dist/gas/testsuite/gas/sparc/unalign.d vendor/binutils/dist/gas/testsuite/gas/sparc/unalign.s vendor/binutils/dist/gas/testsuite/gas/sparc/wrpr.d vendor/binutils/dist/gas/testsuite/gas/sparc/wrpr.s vendor/binutils/dist/gas/testsuite/gas/sun4/ vendor/binutils/dist/gas/testsuite/gas/sun4/addend.d vendor/binutils/dist/gas/testsuite/gas/sun4/addend.exp vendor/binutils/dist/gas/testsuite/gas/sun4/addend.s vendor/binutils/dist/gas/testsuite/gas/symver/ vendor/binutils/dist/gas/testsuite/gas/symver/symver.exp vendor/binutils/dist/gas/testsuite/gas/symver/symver0.d vendor/binutils/dist/gas/testsuite/gas/symver/symver0.s vendor/binutils/dist/gas/testsuite/gas/symver/symver1.d vendor/binutils/dist/gas/testsuite/gas/symver/symver1.s vendor/binutils/dist/gas/testsuite/gas/symver/symver2.l vendor/binutils/dist/gas/testsuite/gas/symver/symver2.s vendor/binutils/dist/gas/testsuite/gas/symver/symver3.l vendor/binutils/dist/gas/testsuite/gas/symver/symver3.s vendor/binutils/dist/gas/testsuite/gas/symver/symver4.l vendor/binutils/dist/gas/testsuite/gas/symver/symver4.s vendor/binutils/dist/gas/testsuite/gas/symver/symver5.l vendor/binutils/dist/gas/testsuite/gas/symver/symver5.s vendor/binutils/dist/gas/testsuite/gas/symver/symver6.l vendor/binutils/dist/gas/testsuite/gas/symver/symver6.s vendor/binutils/dist/gas/testsuite/gas/template vendor/binutils/dist/gas/testsuite/gas/tic4x/ vendor/binutils/dist/gas/testsuite/gas/tic4x/addressing.s vendor/binutils/dist/gas/testsuite/gas/tic4x/addressing_c3x.d vendor/binutils/dist/gas/testsuite/gas/tic4x/addressing_c4x.d vendor/binutils/dist/gas/testsuite/gas/tic4x/allopcodes.S vendor/binutils/dist/gas/testsuite/gas/tic4x/data.d vendor/binutils/dist/gas/testsuite/gas/tic4x/data.s vendor/binutils/dist/gas/testsuite/gas/tic4x/float.d vendor/binutils/dist/gas/testsuite/gas/tic4x/float.s vendor/binutils/dist/gas/testsuite/gas/tic4x/opclasses.h vendor/binutils/dist/gas/testsuite/gas/tic4x/opcodes.s vendor/binutils/dist/gas/testsuite/gas/tic4x/opcodes_c3x.d vendor/binutils/dist/gas/testsuite/gas/tic4x/opcodes_c4x.d vendor/binutils/dist/gas/testsuite/gas/tic4x/opcodes_new.d vendor/binutils/dist/gas/testsuite/gas/tic4x/rebuild.sh (contents, props changed) vendor/binutils/dist/gas/testsuite/gas/tic4x/registers.s vendor/binutils/dist/gas/testsuite/gas/tic4x/registers_c3x.d vendor/binutils/dist/gas/testsuite/gas/tic4x/registers_c4x.d vendor/binutils/dist/gas/testsuite/gas/tic4x/tic4x.exp vendor/binutils/dist/gas/testsuite/gas/tic4x/zeros.d vendor/binutils/dist/gas/testsuite/gas/tic4x/zeros.s vendor/binutils/dist/gas/testsuite/gas/tic54x/ vendor/binutils/dist/gas/testsuite/gas/tic54x/address.d vendor/binutils/dist/gas/testsuite/gas/tic54x/address.s vendor/binutils/dist/gas/testsuite/gas/tic54x/addrfar.d vendor/binutils/dist/gas/testsuite/gas/tic54x/align.d vendor/binutils/dist/gas/testsuite/gas/tic54x/align.s vendor/binutils/dist/gas/testsuite/gas/tic54x/all-opcodes.d vendor/binutils/dist/gas/testsuite/gas/tic54x/all-opcodes.s vendor/binutils/dist/gas/testsuite/gas/tic54x/asg.d vendor/binutils/dist/gas/testsuite/gas/tic54x/asg.s vendor/binutils/dist/gas/testsuite/gas/tic54x/cons.d vendor/binutils/dist/gas/testsuite/gas/tic54x/cons.s vendor/binutils/dist/gas/testsuite/gas/tic54x/consfar.d vendor/binutils/dist/gas/testsuite/gas/tic54x/extaddr.d vendor/binutils/dist/gas/testsuite/gas/tic54x/extaddr.s vendor/binutils/dist/gas/testsuite/gas/tic54x/field.d vendor/binutils/dist/gas/testsuite/gas/tic54x/field.s vendor/binutils/dist/gas/testsuite/gas/tic54x/in_mlib.asm vendor/binutils/dist/gas/testsuite/gas/tic54x/labels.d vendor/binutils/dist/gas/testsuite/gas/tic54x/labels.inc vendor/binutils/dist/gas/testsuite/gas/tic54x/labels.s vendor/binutils/dist/gas/testsuite/gas/tic54x/loop.d vendor/binutils/dist/gas/testsuite/gas/tic54x/loop.s vendor/binutils/dist/gas/testsuite/gas/tic54x/lp.d vendor/binutils/dist/gas/testsuite/gas/tic54x/lp.s vendor/binutils/dist/gas/testsuite/gas/tic54x/macro.d vendor/binutils/dist/gas/testsuite/gas/tic54x/macro.s vendor/binutils/dist/gas/testsuite/gas/tic54x/macro1.s vendor/binutils/dist/gas/testsuite/gas/tic54x/macros.lib vendor/binutils/dist/gas/testsuite/gas/tic54x/math.d vendor/binutils/dist/gas/testsuite/gas/tic54x/math.s vendor/binutils/dist/gas/testsuite/gas/tic54x/opcodes.d vendor/binutils/dist/gas/testsuite/gas/tic54x/opcodes.s vendor/binutils/dist/gas/testsuite/gas/tic54x/sections.d vendor/binutils/dist/gas/testsuite/gas/tic54x/sections.s vendor/binutils/dist/gas/testsuite/gas/tic54x/set.d vendor/binutils/dist/gas/testsuite/gas/tic54x/set.s vendor/binutils/dist/gas/testsuite/gas/tic54x/struct.d vendor/binutils/dist/gas/testsuite/gas/tic54x/struct.s vendor/binutils/dist/gas/testsuite/gas/tic54x/subsym.d vendor/binutils/dist/gas/testsuite/gas/tic54x/subsym.s vendor/binutils/dist/gas/testsuite/gas/tic54x/subsym1.s vendor/binutils/dist/gas/testsuite/gas/tic54x/tic54x.exp vendor/binutils/dist/gas/testsuite/gas/tic80/ vendor/binutils/dist/gas/testsuite/gas/tic80/add.d vendor/binutils/dist/gas/testsuite/gas/tic80/add.lst vendor/binutils/dist/gas/testsuite/gas/tic80/add.s vendor/binutils/dist/gas/testsuite/gas/tic80/align.d vendor/binutils/dist/gas/testsuite/gas/tic80/align.lst vendor/binutils/dist/gas/testsuite/gas/tic80/align.s vendor/binutils/dist/gas/testsuite/gas/tic80/bitnum.d vendor/binutils/dist/gas/testsuite/gas/tic80/bitnum.lst vendor/binutils/dist/gas/testsuite/gas/tic80/bitnum.s vendor/binutils/dist/gas/testsuite/gas/tic80/ccode.d vendor/binutils/dist/gas/testsuite/gas/tic80/ccode.lst vendor/binutils/dist/gas/testsuite/gas/tic80/ccode.s vendor/binutils/dist/gas/testsuite/gas/tic80/cregops.d vendor/binutils/dist/gas/testsuite/gas/tic80/cregops.lst vendor/binutils/dist/gas/testsuite/gas/tic80/cregops.s vendor/binutils/dist/gas/testsuite/gas/tic80/endmask.d vendor/binutils/dist/gas/testsuite/gas/tic80/endmask.lst vendor/binutils/dist/gas/testsuite/gas/tic80/endmask.s vendor/binutils/dist/gas/testsuite/gas/tic80/float.d vendor/binutils/dist/gas/testsuite/gas/tic80/float.lst vendor/binutils/dist/gas/testsuite/gas/tic80/float.s vendor/binutils/dist/gas/testsuite/gas/tic80/regops.d vendor/binutils/dist/gas/testsuite/gas/tic80/regops.lst vendor/binutils/dist/gas/testsuite/gas/tic80/regops.s vendor/binutils/dist/gas/testsuite/gas/tic80/regops2.d vendor/binutils/dist/gas/testsuite/gas/tic80/regops2.lst vendor/binutils/dist/gas/testsuite/gas/tic80/regops2.s vendor/binutils/dist/gas/testsuite/gas/tic80/regops3.d vendor/binutils/dist/gas/testsuite/gas/tic80/regops3.lst vendor/binutils/dist/gas/testsuite/gas/tic80/regops3.s vendor/binutils/dist/gas/testsuite/gas/tic80/regops4.d vendor/binutils/dist/gas/testsuite/gas/tic80/regops4.lst vendor/binutils/dist/gas/testsuite/gas/tic80/regops4.s vendor/binutils/dist/gas/testsuite/gas/tic80/relocs1.c vendor/binutils/dist/gas/testsuite/gas/tic80/relocs1.d vendor/binutils/dist/gas/testsuite/gas/tic80/relocs1.lst vendor/binutils/dist/gas/testsuite/gas/tic80/relocs1.s vendor/binutils/dist/gas/testsuite/gas/tic80/relocs1b.d vendor/binutils/dist/gas/testsuite/gas/tic80/relocs2.c vendor/binutils/dist/gas/testsuite/gas/tic80/relocs2.d vendor/binutils/dist/gas/testsuite/gas/tic80/relocs2.lst vendor/binutils/dist/gas/testsuite/gas/tic80/relocs2.s vendor/binutils/dist/gas/testsuite/gas/tic80/relocs2b.d vendor/binutils/dist/gas/testsuite/gas/tic80/tic80.exp vendor/binutils/dist/gas/testsuite/gas/v850/ vendor/binutils/dist/gas/testsuite/gas/v850/arith.s vendor/binutils/dist/gas/testsuite/gas/v850/basic.exp vendor/binutils/dist/gas/testsuite/gas/v850/bit.s vendor/binutils/dist/gas/testsuite/gas/v850/branch.s vendor/binutils/dist/gas/testsuite/gas/v850/compare.s vendor/binutils/dist/gas/testsuite/gas/v850/fepsw.s vendor/binutils/dist/gas/testsuite/gas/v850/hilo.s vendor/binutils/dist/gas/testsuite/gas/v850/hilo2.s vendor/binutils/dist/gas/testsuite/gas/v850/jumps.s vendor/binutils/dist/gas/testsuite/gas/v850/logical.s vendor/binutils/dist/gas/testsuite/gas/v850/mem.s vendor/binutils/dist/gas/testsuite/gas/v850/misc.s vendor/binutils/dist/gas/testsuite/gas/v850/move.s vendor/binutils/dist/gas/testsuite/gas/v850/range.s vendor/binutils/dist/gas/testsuite/gas/v850/reloc.s vendor/binutils/dist/gas/testsuite/gas/v850/v850e1.d vendor/binutils/dist/gas/testsuite/gas/v850/v850e1.s vendor/binutils/dist/gas/testsuite/gas/vax/ vendor/binutils/dist/gas/testsuite/gas/vax/elf-rel.d vendor/binutils/dist/gas/testsuite/gas/vax/elf-rel.s vendor/binutils/dist/gas/testsuite/gas/vax/quad.s vendor/binutils/dist/gas/testsuite/gas/vax/quad_elf.s vendor/binutils/dist/gas/testsuite/gas/vax/vax.exp vendor/binutils/dist/gas/testsuite/gas/vtable/ vendor/binutils/dist/gas/testsuite/gas/vtable/entry0.d vendor/binutils/dist/gas/testsuite/gas/vtable/entry0.s vendor/binutils/dist/gas/testsuite/gas/vtable/entry1.d vendor/binutils/dist/gas/testsuite/gas/vtable/entry1.s vendor/binutils/dist/gas/testsuite/gas/vtable/inherit0.d vendor/binutils/dist/gas/testsuite/gas/vtable/inherit0.s vendor/binutils/dist/gas/testsuite/gas/vtable/inherit1.l vendor/binutils/dist/gas/testsuite/gas/vtable/inherit1.s vendor/binutils/dist/gas/testsuite/gas/vtable/vtable.exp vendor/binutils/dist/gas/testsuite/gas/xstormy16/ vendor/binutils/dist/gas/testsuite/gas/xstormy16/allinsn.d vendor/binutils/dist/gas/testsuite/gas/xstormy16/allinsn.exp vendor/binutils/dist/gas/testsuite/gas/xstormy16/allinsn.s vendor/binutils/dist/gas/testsuite/gas/xstormy16/allinsn.sh vendor/binutils/dist/gas/testsuite/gas/xstormy16/gcc.d vendor/binutils/dist/gas/testsuite/gas/xstormy16/gcc.s vendor/binutils/dist/gas/testsuite/gas/xstormy16/gcc.sh vendor/binutils/dist/gas/testsuite/gas/xstormy16/reloc-1.d vendor/binutils/dist/gas/testsuite/gas/xstormy16/reloc-1.s vendor/binutils/dist/gas/testsuite/gas/xstormy16/reloc-2.d vendor/binutils/dist/gas/testsuite/gas/xstormy16/reloc-2.s vendor/binutils/dist/gas/testsuite/gas/xtensa/ vendor/binutils/dist/gas/testsuite/gas/xtensa/all.exp vendor/binutils/dist/gas/testsuite/gas/xtensa/entry_align.s vendor/binutils/dist/gas/testsuite/gas/xtensa/entry_misalign.s vendor/binutils/dist/gas/testsuite/gas/xtensa/entry_misalign2.s vendor/binutils/dist/gas/testsuite/gas/xtensa/j_too_far.s vendor/binutils/dist/gas/testsuite/gas/xtensa/loop_align.s vendor/binutils/dist/gas/testsuite/gas/xtensa/loop_misalign.s vendor/binutils/dist/gas/testsuite/gas/z8k/ vendor/binutils/dist/gas/testsuite/gas/z8k/calr-backf.s vendor/binutils/dist/gas/testsuite/gas/z8k/calr-forwf.s vendor/binutils/dist/gas/testsuite/gas/z8k/calr.d vendor/binutils/dist/gas/testsuite/gas/z8k/calr.s vendor/binutils/dist/gas/testsuite/gas/z8k/ctrl-names.d vendor/binutils/dist/gas/testsuite/gas/z8k/ctrl-names.s vendor/binutils/dist/gas/testsuite/gas/z8k/dec.s vendor/binutils/dist/gas/testsuite/gas/z8k/decbf.s vendor/binutils/dist/gas/testsuite/gas/z8k/decf.s vendor/binutils/dist/gas/testsuite/gas/z8k/djnz-backf.s vendor/binutils/dist/gas/testsuite/gas/z8k/djnz-backf2.s vendor/binutils/dist/gas/testsuite/gas/z8k/djnz.d vendor/binutils/dist/gas/testsuite/gas/z8k/djnz.s vendor/binutils/dist/gas/testsuite/gas/z8k/eidi.s vendor/binutils/dist/gas/testsuite/gas/z8k/eidif.s vendor/binutils/dist/gas/testsuite/gas/z8k/inc.s vendor/binutils/dist/gas/testsuite/gas/z8k/incbf.s vendor/binutils/dist/gas/testsuite/gas/z8k/incf.s vendor/binutils/dist/gas/testsuite/gas/z8k/inout.d vendor/binutils/dist/gas/testsuite/gas/z8k/inout.s vendor/binutils/dist/gas/testsuite/gas/z8k/jmp-cc.d vendor/binutils/dist/gas/testsuite/gas/z8k/jmp-cc.s vendor/binutils/dist/gas/testsuite/gas/z8k/jr-back.d vendor/binutils/dist/gas/testsuite/gas/z8k/jr-back.s vendor/binutils/dist/gas/testsuite/gas/z8k/jr-backf.s vendor/binutils/dist/gas/testsuite/gas/z8k/jr-forw.d vendor/binutils/dist/gas/testsuite/gas/z8k/jr-forw.s vendor/binutils/dist/gas/testsuite/gas/z8k/jr-forwf.s vendor/binutils/dist/gas/testsuite/gas/z8k/ldk.s vendor/binutils/dist/gas/testsuite/gas/z8k/ldkf.s vendor/binutils/dist/gas/testsuite/gas/z8k/ret-cc.d vendor/binutils/dist/gas/testsuite/gas/z8k/ret-cc.s vendor/binutils/dist/gas/testsuite/gas/z8k/z8k.exp vendor/binutils/dist/gas/testsuite/lib/ vendor/binutils/dist/gas/testsuite/lib/doboth (contents, props changed) vendor/binutils/dist/gas/testsuite/lib/doobjcmp (contents, props changed) vendor/binutils/dist/gas/testsuite/lib/dostriptest (contents, props changed) vendor/binutils/dist/gas/testsuite/lib/dotest (contents, props changed) vendor/binutils/dist/gas/testsuite/lib/dounsreloc (contents, props changed) vendor/binutils/dist/gas/testsuite/lib/dounssym (contents, props changed) vendor/binutils/dist/gas/testsuite/lib/gas-defs.exp vendor/binutils/dist/gas/testsuite/lib/gas-dg.exp vendor/binutils/dist/gas/testsuite/lib/run (contents, props changed) vendor/binutils/dist/gas/vmsconf.sh vendor/binutils/dist/gettext.m4 vendor/binutils/dist/gprof/.gdbinit vendor/binutils/dist/gprof/ChangeLog vendor/binutils/dist/gprof/ChangeLog-9203 vendor/binutils/dist/gprof/MAINTAINERS vendor/binutils/dist/gprof/Makefile.am vendor/binutils/dist/gprof/Makefile.in vendor/binutils/dist/gprof/README vendor/binutils/dist/gprof/TEST vendor/binutils/dist/gprof/TODO vendor/binutils/dist/gprof/acinclude.m4 vendor/binutils/dist/gprof/aclocal.m4 vendor/binutils/dist/gprof/alpha.c vendor/binutils/dist/gprof/basic_blocks.c vendor/binutils/dist/gprof/basic_blocks.h vendor/binutils/dist/gprof/bb_exit_func.c vendor/binutils/dist/gprof/bbconv.pl (contents, props changed) vendor/binutils/dist/gprof/bsd_callg_bl.c vendor/binutils/dist/gprof/bsd_callg_bl.m vendor/binutils/dist/gprof/call_graph.c vendor/binutils/dist/gprof/call_graph.h vendor/binutils/dist/gprof/cg_arcs.c vendor/binutils/dist/gprof/cg_arcs.h vendor/binutils/dist/gprof/cg_dfn.c vendor/binutils/dist/gprof/cg_dfn.h vendor/binutils/dist/gprof/cg_print.c vendor/binutils/dist/gprof/cg_print.h vendor/binutils/dist/gprof/configure (contents, props changed) vendor/binutils/dist/gprof/configure.in vendor/binutils/dist/gprof/corefile.c vendor/binutils/dist/gprof/corefile.h vendor/binutils/dist/gprof/dep-in.sed vendor/binutils/dist/gprof/flat_bl.c vendor/binutils/dist/gprof/flat_bl.m vendor/binutils/dist/gprof/fsf_callg_bl.c vendor/binutils/dist/gprof/fsf_callg_bl.m vendor/binutils/dist/gprof/gconfig.in vendor/binutils/dist/gprof/gen-c-prog.awk vendor/binutils/dist/gprof/gmon.h vendor/binutils/dist/gprof/gmon_io.c vendor/binutils/dist/gprof/gmon_io.h vendor/binutils/dist/gprof/gmon_out.h vendor/binutils/dist/gprof/gprof.1 vendor/binutils/dist/gprof/gprof.c vendor/binutils/dist/gprof/gprof.h vendor/binutils/dist/gprof/gprof.info vendor/binutils/dist/gprof/gprof.texi vendor/binutils/dist/gprof/hertz.c vendor/binutils/dist/gprof/hertz.h vendor/binutils/dist/gprof/hist.c vendor/binutils/dist/gprof/hist.h vendor/binutils/dist/gprof/i386.c vendor/binutils/dist/gprof/po/.cvsignore vendor/binutils/dist/gprof/po/da.gmo (contents, props changed) vendor/binutils/dist/gprof/po/da.po vendor/binutils/dist/gprof/po/de.gmo (contents, props changed) vendor/binutils/dist/gprof/po/de.po vendor/binutils/dist/gprof/po/es.gmo (contents, props changed) vendor/binutils/dist/gprof/po/es.po vendor/binutils/dist/gprof/po/fr.gmo (contents, props changed) vendor/binutils/dist/gprof/po/fr.po vendor/binutils/dist/gprof/po/id.gmo (contents, props changed) vendor/binutils/dist/gprof/po/id.po vendor/binutils/dist/gprof/po/pt_BR.gmo (contents, props changed) vendor/binutils/dist/gprof/po/pt_BR.po vendor/binutils/dist/gprof/po/sv.gmo (contents, props changed) vendor/binutils/dist/gprof/po/sv.po vendor/binutils/dist/gprof/po/tr.gmo (contents, props changed) vendor/binutils/dist/gprof/po/tr.po vendor/binutils/dist/gprof/search_list.c vendor/binutils/dist/gprof/search_list.h vendor/binutils/dist/gprof/source.c vendor/binutils/dist/gprof/source.h vendor/binutils/dist/gprof/sparc.c vendor/binutils/dist/gprof/stamp-h.in vendor/binutils/dist/gprof/sym_ids.c vendor/binutils/dist/gprof/sym_ids.h vendor/binutils/dist/gprof/symtab.c vendor/binutils/dist/gprof/symtab.h vendor/binutils/dist/gprof/tahoe.c vendor/binutils/dist/gprof/utils.c vendor/binutils/dist/gprof/utils.h vendor/binutils/dist/gprof/vax.c vendor/binutils/dist/include/COPYING vendor/binutils/dist/include/ChangeLog-9103 vendor/binutils/dist/include/aout/adobe.h vendor/binutils/dist/include/aout/dynix3.h vendor/binutils/dist/include/aout/hp.h vendor/binutils/dist/include/aout/hp300hpux.h vendor/binutils/dist/include/aout/hppa.h vendor/binutils/dist/include/bout.h vendor/binutils/dist/include/coff/ChangeLog-9103 vendor/binutils/dist/include/coff/a29k.h vendor/binutils/dist/include/coff/apollo.h vendor/binutils/dist/include/coff/go32exe.h vendor/binutils/dist/include/coff/h8300.h vendor/binutils/dist/include/coff/h8500.h vendor/binutils/dist/include/coff/i860.h vendor/binutils/dist/include/coff/i960.h vendor/binutils/dist/include/coff/m68k.h vendor/binutils/dist/include/coff/m88k.h vendor/binutils/dist/include/coff/mcore.h vendor/binutils/dist/include/coff/or32.h vendor/binutils/dist/include/coff/tic30.h vendor/binutils/dist/include/coff/tic4x.h vendor/binutils/dist/include/coff/tic54x.h vendor/binutils/dist/include/coff/tic80.h vendor/binutils/dist/include/coff/w65.h vendor/binutils/dist/include/coff/we32k.h vendor/binutils/dist/include/coff/z8k.h vendor/binutils/dist/include/fopen-vms.h vendor/binutils/dist/include/gdb/ vendor/binutils/dist/include/gdb/ChangeLog vendor/binutils/dist/include/gdb/callback.h vendor/binutils/dist/include/gdb/fileio.h vendor/binutils/dist/include/gdb/remote-sim.h vendor/binutils/dist/include/gdb/signals.h vendor/binutils/dist/include/gdb/sim-arm.h vendor/binutils/dist/include/gdb/sim-d10v.h vendor/binutils/dist/include/gdb/sim-frv.h vendor/binutils/dist/include/gdb/sim-h8300.h vendor/binutils/dist/include/gdb/sim-sh.h vendor/binutils/dist/include/hp-symtab.h vendor/binutils/dist/include/mpw/ vendor/binutils/dist/include/mpw/ChangeLog vendor/binutils/dist/include/mpw/README vendor/binutils/dist/include/mpw/dir.h vendor/binutils/dist/include/mpw/dirent.h vendor/binutils/dist/include/mpw/fcntl.h vendor/binutils/dist/include/mpw/grp.h vendor/binutils/dist/include/mpw/mpw.h vendor/binutils/dist/include/mpw/pwd.h vendor/binutils/dist/include/mpw/spin.h vendor/binutils/dist/include/mpw/stat.h vendor/binutils/dist/include/mpw/sys/ vendor/binutils/dist/include/mpw/sys/file.h vendor/binutils/dist/include/mpw/sys/param.h vendor/binutils/dist/include/mpw/sys/resource.h vendor/binutils/dist/include/mpw/sys/stat.h vendor/binutils/dist/include/mpw/sys/time.h vendor/binutils/dist/include/mpw/sys/types.h vendor/binutils/dist/include/mpw/utime.h vendor/binutils/dist/include/mpw/varargs.h vendor/binutils/dist/include/nlm/ vendor/binutils/dist/include/nlm/ChangeLog vendor/binutils/dist/include/nlm/alpha-ext.h vendor/binutils/dist/include/nlm/common.h vendor/binutils/dist/include/nlm/external.h vendor/binutils/dist/include/nlm/i386-ext.h vendor/binutils/dist/include/nlm/internal.h vendor/binutils/dist/include/nlm/ppc-ext.h vendor/binutils/dist/include/nlm/sparc32-ext.h vendor/binutils/dist/include/oasys.h vendor/binutils/dist/include/opcode/a29k.h vendor/binutils/dist/include/opcode/avr.h vendor/binutils/dist/include/opcode/cris.h vendor/binutils/dist/include/opcode/d10v.h vendor/binutils/dist/include/opcode/d30v.h vendor/binutils/dist/include/opcode/dlx.h vendor/binutils/dist/include/opcode/h8300.h vendor/binutils/dist/include/opcode/hppa.h vendor/binutils/dist/include/opcode/i370.h vendor/binutils/dist/include/opcode/i860.h vendor/binutils/dist/include/opcode/i960.h vendor/binutils/dist/include/opcode/m68hc11.h vendor/binutils/dist/include/opcode/m68k.h vendor/binutils/dist/include/opcode/m88k.h vendor/binutils/dist/include/opcode/mmix.h vendor/binutils/dist/include/opcode/mn10200.h vendor/binutils/dist/include/opcode/mn10300.h vendor/binutils/dist/include/opcode/msp430.h vendor/binutils/dist/include/opcode/ns32k.h vendor/binutils/dist/include/opcode/or32.h vendor/binutils/dist/include/opcode/pdp11.h vendor/binutils/dist/include/opcode/pj.h vendor/binutils/dist/include/opcode/pyr.h vendor/binutils/dist/include/opcode/tahoe.h vendor/binutils/dist/include/opcode/tic30.h vendor/binutils/dist/include/opcode/tic4x.h vendor/binutils/dist/include/opcode/tic54x.h vendor/binutils/dist/include/opcode/tic80.h vendor/binutils/dist/include/opcode/v850.h vendor/binutils/dist/include/opcode/vax.h vendor/binutils/dist/include/os9k.h vendor/binutils/dist/include/xtensa-config.h vendor/binutils/dist/include/xtensa-isa-internal.h vendor/binutils/dist/include/xtensa-isa.h vendor/binutils/dist/intl/ vendor/binutils/dist/intl/ChangeLog vendor/binutils/dist/intl/Makefile.in vendor/binutils/dist/intl/acconfig.h vendor/binutils/dist/intl/aclocal.m4 vendor/binutils/dist/intl/bindtextdom.c vendor/binutils/dist/intl/cat-compat.c vendor/binutils/dist/intl/config.in vendor/binutils/dist/intl/configure (contents, props changed) vendor/binutils/dist/intl/configure.in vendor/binutils/dist/intl/dcgettext.c vendor/binutils/dist/intl/dgettext.c vendor/binutils/dist/intl/explodename.c vendor/binutils/dist/intl/finddomain.c vendor/binutils/dist/intl/gettext.c vendor/binutils/dist/intl/gettext.h vendor/binutils/dist/intl/gettextP.h vendor/binutils/dist/intl/hash-string.h vendor/binutils/dist/intl/intl-compat.c vendor/binutils/dist/intl/intlh.inst.in vendor/binutils/dist/intl/l10nflist.c vendor/binutils/dist/intl/libgettext.h vendor/binutils/dist/intl/libintl.glibc vendor/binutils/dist/intl/linux-msg.sed vendor/binutils/dist/intl/loadinfo.h vendor/binutils/dist/intl/loadmsgcat.c vendor/binutils/dist/intl/localealias.c vendor/binutils/dist/intl/po2tbl.sed.in vendor/binutils/dist/intl/textdomain.c vendor/binutils/dist/intl/xopen-msg.sed vendor/binutils/dist/ld/emulparams/a29k.sh vendor/binutils/dist/ld/emulparams/aix5ppc.sh vendor/binutils/dist/ld/emulparams/aix5rs6.sh vendor/binutils/dist/ld/emulparams/aixppc.sh vendor/binutils/dist/ld/emulparams/aixrs6.sh vendor/binutils/dist/ld/emulparams/arm_epoc_pe.sh vendor/binutils/dist/ld/emulparams/armelfb.sh vendor/binutils/dist/ld/emulparams/armelfb_linux.sh vendor/binutils/dist/ld/emulparams/armnto.sh vendor/binutils/dist/ld/emulparams/avr1.sh vendor/binutils/dist/ld/emulparams/avr2.sh vendor/binutils/dist/ld/emulparams/avr3.sh vendor/binutils/dist/ld/emulparams/avr4.sh vendor/binutils/dist/ld/emulparams/avr5.sh vendor/binutils/dist/ld/emulparams/coff_i860.sh vendor/binutils/dist/ld/emulparams/crisaout.sh vendor/binutils/dist/ld/emulparams/criself.sh vendor/binutils/dist/ld/emulparams/crislinux.sh vendor/binutils/dist/ld/emulparams/d10velf.sh vendor/binutils/dist/ld/emulparams/d30v_e.sh vendor/binutils/dist/ld/emulparams/d30v_o.sh vendor/binutils/dist/ld/emulparams/d30velf.sh vendor/binutils/dist/ld/emulparams/delta68.sh vendor/binutils/dist/ld/emulparams/ebmon29k.sh vendor/binutils/dist/ld/emulparams/elf32_dlx.sh vendor/binutils/dist/ld/emulparams/elf32_i860.sh vendor/binutils/dist/ld/emulparams/elf32_i960.sh vendor/binutils/dist/ld/emulparams/elf32am33lin.sh vendor/binutils/dist/ld/emulparams/elf32fr30.sh (contents, props changed) vendor/binutils/dist/ld/emulparams/elf32frv.sh (contents, props changed) vendor/binutils/dist/ld/emulparams/elf32frvfd.sh vendor/binutils/dist/ld/emulparams/elf32i370.sh vendor/binutils/dist/ld/emulparams/elf32ip2k.sh vendor/binutils/dist/ld/emulparams/elf32iq10.sh (contents, props changed) vendor/binutils/dist/ld/emulparams/elf32iq2000.sh (contents, props changed) vendor/binutils/dist/ld/emulparams/elf32lppcnto.sh vendor/binutils/dist/ld/emulparams/elf32mcore.sh vendor/binutils/dist/ld/emulparams/elf32openrisc.sh (contents, props changed) vendor/binutils/dist/ld/emulparams/elf32ppcnto.sh vendor/binutils/dist/ld/emulparams/elf32ppcwindiss.sh vendor/binutils/dist/ld/emulparams/elf32vax.sh vendor/binutils/dist/ld/emulparams/elf32xstormy16.sh vendor/binutils/dist/ld/emulparams/elf32xtensa.sh vendor/binutils/dist/ld/emulparams/elf64_aix.sh vendor/binutils/dist/ld/emulparams/elf64hppa.sh (contents, props changed) vendor/binutils/dist/ld/emulparams/elf64mmix.sh vendor/binutils/dist/ld/emulparams/elf_i386_be.sh vendor/binutils/dist/ld/emulparams/gld960.sh vendor/binutils/dist/ld/emulparams/gld960coff.sh vendor/binutils/dist/ld/emulparams/h8300.sh vendor/binutils/dist/ld/emulparams/h8300elf.sh vendor/binutils/dist/ld/emulparams/h8300h.sh vendor/binutils/dist/ld/emulparams/h8300helf.sh vendor/binutils/dist/ld/emulparams/h8300hn.sh vendor/binutils/dist/ld/emulparams/h8300hnelf.sh vendor/binutils/dist/ld/emulparams/h8300s.sh vendor/binutils/dist/ld/emulparams/h8300self.sh vendor/binutils/dist/ld/emulparams/h8300sn.sh vendor/binutils/dist/ld/emulparams/h8300snelf.sh vendor/binutils/dist/ld/emulparams/h8300sx.sh vendor/binutils/dist/ld/emulparams/h8300sxelf.sh vendor/binutils/dist/ld/emulparams/h8300sxn.sh vendor/binutils/dist/ld/emulparams/h8300sxnelf.sh vendor/binutils/dist/ld/emulparams/h8500.sh vendor/binutils/dist/ld/emulparams/h8500b.sh vendor/binutils/dist/ld/emulparams/h8500c.sh vendor/binutils/dist/ld/emulparams/h8500m.sh vendor/binutils/dist/ld/emulparams/h8500s.sh vendor/binutils/dist/ld/emulparams/hp300bsd.sh vendor/binutils/dist/ld/emulparams/hp3hpux.sh vendor/binutils/dist/ld/emulparams/hppa64linux.sh vendor/binutils/dist/ld/emulparams/hppaelf.sh vendor/binutils/dist/ld/emulparams/hppalinux.sh vendor/binutils/dist/ld/emulparams/hppanbsd.sh vendor/binutils/dist/ld/emulparams/hppaobsd.sh vendor/binutils/dist/ld/emulparams/i386beos.sh (contents, props changed) vendor/binutils/dist/ld/emulparams/i386go32.sh vendor/binutils/dist/ld/emulparams/i386lynx.sh vendor/binutils/dist/ld/emulparams/i386mach.sh vendor/binutils/dist/ld/emulparams/i386msdos.sh vendor/binutils/dist/ld/emulparams/lnk960.sh vendor/binutils/dist/ld/emulparams/m32relf.sh vendor/binutils/dist/ld/emulparams/m32relf_linux.sh vendor/binutils/dist/ld/emulparams/m32rlelf.sh vendor/binutils/dist/ld/emulparams/m32rlelf_linux.sh vendor/binutils/dist/ld/emulparams/m68hc11elf.sh vendor/binutils/dist/ld/emulparams/m68hc11elfb.sh vendor/binutils/dist/ld/emulparams/m68hc12elf.sh vendor/binutils/dist/ld/emulparams/m68hc12elfb.sh vendor/binutils/dist/ld/emulparams/m68k4knbsd.sh vendor/binutils/dist/ld/emulparams/m68kaout.sh vendor/binutils/dist/ld/emulparams/m68kaux.sh vendor/binutils/dist/ld/emulparams/m68kcoff.sh vendor/binutils/dist/ld/emulparams/m68kelf.sh vendor/binutils/dist/ld/emulparams/m68kelfnbsd.sh vendor/binutils/dist/ld/emulparams/m68klinux.sh vendor/binutils/dist/ld/emulparams/m68klynx.sh vendor/binutils/dist/ld/emulparams/m68knbsd.sh vendor/binutils/dist/ld/emulparams/m68kpsos.sh vendor/binutils/dist/ld/emulparams/m88kbcs.sh vendor/binutils/dist/ld/emulparams/mcorepe.sh vendor/binutils/dist/ld/emulparams/mmo.sh vendor/binutils/dist/ld/emulparams/mn10200.sh vendor/binutils/dist/ld/emulparams/mn10300.sh vendor/binutils/dist/ld/emulparams/msp430all.sh vendor/binutils/dist/ld/emulparams/news.sh vendor/binutils/dist/ld/emulparams/ns32knbsd.sh vendor/binutils/dist/ld/emulparams/or32.sh vendor/binutils/dist/ld/emulparams/or32elf.sh vendor/binutils/dist/ld/emulparams/pc532macha.sh vendor/binutils/dist/ld/emulparams/pdp11.sh vendor/binutils/dist/ld/emulparams/pjelf.sh vendor/binutils/dist/ld/emulparams/pjlelf.sh vendor/binutils/dist/ld/emulparams/riscix.sh vendor/binutils/dist/ld/emulparams/sa29200.sh vendor/binutils/dist/ld/emulparams/shelf.sh vendor/binutils/dist/ld/emulparams/shelf32.sh vendor/binutils/dist/ld/emulparams/shelf32_linux.sh vendor/binutils/dist/ld/emulparams/shelf32_nbsd.sh vendor/binutils/dist/ld/emulparams/shelf64.sh vendor/binutils/dist/ld/emulparams/shelf64_nbsd.sh vendor/binutils/dist/ld/emulparams/shelf_linux.sh vendor/binutils/dist/ld/emulparams/shelf_nbsd.sh vendor/binutils/dist/ld/emulparams/shelf_nto.sh vendor/binutils/dist/ld/emulparams/shlelf32.sh vendor/binutils/dist/ld/emulparams/shlelf32_linux.sh vendor/binutils/dist/ld/emulparams/shlelf32_nbsd.sh vendor/binutils/dist/ld/emulparams/shlelf64.sh vendor/binutils/dist/ld/emulparams/shlelf64_nbsd.sh vendor/binutils/dist/ld/emulparams/shlelf_linux.sh vendor/binutils/dist/ld/emulparams/shlelf_nbsd.sh vendor/binutils/dist/ld/emulparams/shlelf_nto.sh vendor/binutils/dist/ld/emulparams/shpe.sh vendor/binutils/dist/ld/emulparams/sparclynx.sh vendor/binutils/dist/ld/emulparams/st2000.sh vendor/binutils/dist/ld/emulparams/sun3.sh vendor/binutils/dist/ld/emulparams/tic30aout.sh vendor/binutils/dist/ld/emulparams/tic30coff.sh vendor/binutils/dist/ld/emulparams/tic3xcoff.sh vendor/binutils/dist/ld/emulparams/tic3xcoff_onchip.sh vendor/binutils/dist/ld/emulparams/tic4xcoff.sh vendor/binutils/dist/ld/emulparams/tic54xcoff.sh vendor/binutils/dist/ld/emulparams/tic80coff.sh vendor/binutils/dist/ld/emulparams/v850.sh vendor/binutils/dist/ld/emulparams/vax.sh vendor/binutils/dist/ld/emulparams/vaxnbsd.sh vendor/binutils/dist/ld/emulparams/w65.sh vendor/binutils/dist/ld/emulparams/xtensa-config.sh vendor/binutils/dist/ld/emulparams/z8001.sh vendor/binutils/dist/ld/emulparams/z8002.sh vendor/binutils/dist/ld/emultempl/aix.em vendor/binutils/dist/ld/emultempl/beos.em vendor/binutils/dist/ld/emultempl/gld960.em vendor/binutils/dist/ld/emultempl/gld960c.em vendor/binutils/dist/ld/emultempl/hppaelf.em vendor/binutils/dist/ld/emultempl/irix.em vendor/binutils/dist/ld/emultempl/lnk960.em vendor/binutils/dist/ld/emultempl/m68hc1xelf.em vendor/binutils/dist/ld/emultempl/m68kcoff.em vendor/binutils/dist/ld/emultempl/m68kelf.em vendor/binutils/dist/ld/emultempl/mmix-elfnmmo.em vendor/binutils/dist/ld/emultempl/mmixelf.em vendor/binutils/dist/ld/emultempl/mmo.em vendor/binutils/dist/ld/emultempl/sh64elf.em vendor/binutils/dist/ld/emultempl/xtensaelf.em vendor/binutils/dist/ld/ld.info vendor/binutils/dist/ld/ldgram.c vendor/binutils/dist/ld/ldgram.h vendor/binutils/dist/ld/ldlex.c vendor/binutils/dist/ld/mac-ld.r vendor/binutils/dist/ld/mpw-config.in vendor/binutils/dist/ld/mpw-make.sed vendor/binutils/dist/ld/po/.cvsignore vendor/binutils/dist/ld/po/da.gmo (contents, props changed) vendor/binutils/dist/ld/po/da.po vendor/binutils/dist/ld/po/es.gmo (contents, props changed) vendor/binutils/dist/ld/po/es.po vendor/binutils/dist/ld/po/fr.gmo (contents, props changed) vendor/binutils/dist/ld/po/fr.po vendor/binutils/dist/ld/po/sv.gmo (contents, props changed) vendor/binutils/dist/ld/po/sv.po vendor/binutils/dist/ld/po/tr.gmo (contents, props changed) vendor/binutils/dist/ld/po/tr.po vendor/binutils/dist/ld/scripttempl/a29k.sc vendor/binutils/dist/ld/scripttempl/aix.sc vendor/binutils/dist/ld/scripttempl/avr.sc vendor/binutils/dist/ld/scripttempl/crisaout.sc vendor/binutils/dist/ld/scripttempl/delta68.sc vendor/binutils/dist/ld/scripttempl/dlx.sc vendor/binutils/dist/ld/scripttempl/ebmon29k.sc vendor/binutils/dist/ld/scripttempl/elf32msp430.sc vendor/binutils/dist/ld/scripttempl/elf32msp430_3.sc vendor/binutils/dist/ld/scripttempl/elf_chaos.sc vendor/binutils/dist/ld/scripttempl/elfd10v.sc vendor/binutils/dist/ld/scripttempl/elfd30v.sc vendor/binutils/dist/ld/scripttempl/elfi370.sc vendor/binutils/dist/ld/scripttempl/elfm68hc11.sc vendor/binutils/dist/ld/scripttempl/elfm68hc12.sc vendor/binutils/dist/ld/scripttempl/elfxtensa.sc vendor/binutils/dist/ld/scripttempl/epocpe.sc vendor/binutils/dist/ld/scripttempl/h8300.sc vendor/binutils/dist/ld/scripttempl/h8300h.sc vendor/binutils/dist/ld/scripttempl/h8300hn.sc vendor/binutils/dist/ld/scripttempl/h8300s.sc vendor/binutils/dist/ld/scripttempl/h8300sn.sc vendor/binutils/dist/ld/scripttempl/h8300sx.sc vendor/binutils/dist/ld/scripttempl/h8300sxn.sc vendor/binutils/dist/ld/scripttempl/h8500.sc vendor/binutils/dist/ld/scripttempl/h8500b.sc vendor/binutils/dist/ld/scripttempl/h8500c.sc vendor/binutils/dist/ld/scripttempl/h8500m.sc vendor/binutils/dist/ld/scripttempl/h8500s.sc vendor/binutils/dist/ld/scripttempl/hppaelf.sc vendor/binutils/dist/ld/scripttempl/i386beos.sc vendor/binutils/dist/ld/scripttempl/i386go32.sc vendor/binutils/dist/ld/scripttempl/i386lynx.sc vendor/binutils/dist/ld/scripttempl/i386msdos.sc vendor/binutils/dist/ld/scripttempl/i860coff.sc vendor/binutils/dist/ld/scripttempl/i960.sc vendor/binutils/dist/ld/scripttempl/ip2k.sc vendor/binutils/dist/ld/scripttempl/iq2000.sc vendor/binutils/dist/ld/scripttempl/m68kaux.sc vendor/binutils/dist/ld/scripttempl/m68kcoff.sc vendor/binutils/dist/ld/scripttempl/m68klynx.sc vendor/binutils/dist/ld/scripttempl/m88kbcs.sc vendor/binutils/dist/ld/scripttempl/mcorepe.sc vendor/binutils/dist/ld/scripttempl/mmo.sc vendor/binutils/dist/ld/scripttempl/or32.sc vendor/binutils/dist/ld/scripttempl/pj.sc vendor/binutils/dist/ld/scripttempl/psos.sc vendor/binutils/dist/ld/scripttempl/riscix.sc vendor/binutils/dist/ld/scripttempl/sa29200.sc vendor/binutils/dist/ld/scripttempl/sparclynx.sc vendor/binutils/dist/ld/scripttempl/st2000.sc vendor/binutils/dist/ld/scripttempl/tic4xcoff.sc vendor/binutils/dist/ld/scripttempl/tic54xcoff.sc vendor/binutils/dist/ld/scripttempl/tic80coff.sc vendor/binutils/dist/ld/scripttempl/w65.sc vendor/binutils/dist/ld/scripttempl/xstormy16.sc vendor/binutils/dist/ld/testsuite/ vendor/binutils/dist/ld/testsuite/ChangeLog vendor/binutils/dist/ld/testsuite/ChangeLog-9303 vendor/binutils/dist/ld/testsuite/config/ vendor/binutils/dist/ld/testsuite/config/default.exp vendor/binutils/dist/ld/testsuite/ld-alpha/ vendor/binutils/dist/ld/testsuite/ld-alpha/align.s vendor/binutils/dist/ld/testsuite/ld-alpha/alpha.exp vendor/binutils/dist/ld/testsuite/ld-alpha/tlsbin.dd vendor/binutils/dist/ld/testsuite/ld-alpha/tlsbin.rd vendor/binutils/dist/ld/testsuite/ld-alpha/tlsbin.s vendor/binutils/dist/ld/testsuite/ld-alpha/tlsbin.sd vendor/binutils/dist/ld/testsuite/ld-alpha/tlsbin.td vendor/binutils/dist/ld/testsuite/ld-alpha/tlsbinpic.s vendor/binutils/dist/ld/testsuite/ld-alpha/tlsbinr.dd vendor/binutils/dist/ld/testsuite/ld-alpha/tlsbinr.rd vendor/binutils/dist/ld/testsuite/ld-alpha/tlsbinr.sd vendor/binutils/dist/ld/testsuite/ld-alpha/tlsg.s vendor/binutils/dist/ld/testsuite/ld-alpha/tlsg.sd vendor/binutils/dist/ld/testsuite/ld-alpha/tlslib.s vendor/binutils/dist/ld/testsuite/ld-alpha/tlspic.dd vendor/binutils/dist/ld/testsuite/ld-alpha/tlspic.rd vendor/binutils/dist/ld/testsuite/ld-alpha/tlspic.sd vendor/binutils/dist/ld/testsuite/ld-alpha/tlspic.td vendor/binutils/dist/ld/testsuite/ld-alpha/tlspic1.s vendor/binutils/dist/ld/testsuite/ld-alpha/tlspic2.s vendor/binutils/dist/ld/testsuite/ld-arm/ vendor/binutils/dist/ld/testsuite/ld-arm/arm-app-abs32.d vendor/binutils/dist/ld/testsuite/ld-arm/arm-app-abs32.r vendor/binutils/dist/ld/testsuite/ld-arm/arm-app-abs32.s vendor/binutils/dist/ld/testsuite/ld-arm/arm-app.d vendor/binutils/dist/ld/testsuite/ld-arm/arm-app.r vendor/binutils/dist/ld/testsuite/ld-arm/arm-app.s vendor/binutils/dist/ld/testsuite/ld-arm/arm-elf.exp vendor/binutils/dist/ld/testsuite/ld-arm/arm-lib-plt32.d vendor/binutils/dist/ld/testsuite/ld-arm/arm-lib-plt32.r vendor/binutils/dist/ld/testsuite/ld-arm/arm-lib-plt32.s vendor/binutils/dist/ld/testsuite/ld-arm/arm-lib.d vendor/binutils/dist/ld/testsuite/ld-arm/arm-lib.r vendor/binutils/dist/ld/testsuite/ld-arm/arm-lib.s vendor/binutils/dist/ld/testsuite/ld-arm/arm-static-app.d vendor/binutils/dist/ld/testsuite/ld-arm/arm-static-app.r vendor/binutils/dist/ld/testsuite/ld-arm/arm-static-app.s vendor/binutils/dist/ld/testsuite/ld-auto-import/ vendor/binutils/dist/ld/testsuite/ld-auto-import/auto-import.exp vendor/binutils/dist/ld/testsuite/ld-auto-import/client.c vendor/binutils/dist/ld/testsuite/ld-auto-import/dll.c vendor/binutils/dist/ld/testsuite/ld-bootstrap/ vendor/binutils/dist/ld/testsuite/ld-bootstrap/bootstrap.exp vendor/binutils/dist/ld/testsuite/ld-cdtest/ vendor/binutils/dist/ld/testsuite/ld-cdtest/cdtest-bar.cc vendor/binutils/dist/ld/testsuite/ld-cdtest/cdtest-foo.cc vendor/binutils/dist/ld/testsuite/ld-cdtest/cdtest-foo.h vendor/binutils/dist/ld/testsuite/ld-cdtest/cdtest-main.cc vendor/binutils/dist/ld/testsuite/ld-cdtest/cdtest-nrv.dat vendor/binutils/dist/ld/testsuite/ld-cdtest/cdtest.dat vendor/binutils/dist/ld/testsuite/ld-cdtest/cdtest.exp vendor/binutils/dist/ld/testsuite/ld-checks/ vendor/binutils/dist/ld/testsuite/ld-checks/asm.s vendor/binutils/dist/ld/testsuite/ld-checks/checks.exp vendor/binutils/dist/ld/testsuite/ld-checks/script vendor/binutils/dist/ld/testsuite/ld-cris/ vendor/binutils/dist/ld/testsuite/ld-cris/badgotr1.d vendor/binutils/dist/ld/testsuite/ld-cris/comref1.s vendor/binutils/dist/ld/testsuite/ld-cris/cris.exp vendor/binutils/dist/ld/testsuite/ld-cris/dso-1.s vendor/binutils/dist/ld/testsuite/ld-cris/dso-2.s vendor/binutils/dist/ld/testsuite/ld-cris/dso-3.s vendor/binutils/dist/ld/testsuite/ld-cris/dsofnf.s vendor/binutils/dist/ld/testsuite/ld-cris/dsofnf2.s vendor/binutils/dist/ld/testsuite/ld-cris/euwref1.s vendor/binutils/dist/ld/testsuite/ld-cris/expdref1.s vendor/binutils/dist/ld/testsuite/ld-cris/expdyn1.d vendor/binutils/dist/ld/testsuite/ld-cris/expdyn1.s vendor/binutils/dist/ld/testsuite/ld-cris/expdyn2.d vendor/binutils/dist/ld/testsuite/ld-cris/expdyn3.d vendor/binutils/dist/ld/testsuite/ld-cris/expdyn4.d vendor/binutils/dist/ld/testsuite/ld-cris/expdyn5.d vendor/binutils/dist/ld/testsuite/ld-cris/expdyn6.d vendor/binutils/dist/ld/testsuite/ld-cris/expdyn7.d vendor/binutils/dist/ld/testsuite/ld-cris/gotplt1.d vendor/binutils/dist/ld/testsuite/ld-cris/gotplt2.d vendor/binutils/dist/ld/testsuite/ld-cris/gotplt3.d vendor/binutils/dist/ld/testsuite/ld-cris/gotrel1.s vendor/binutils/dist/ld/testsuite/ld-cris/gotrel2.s vendor/binutils/dist/ld/testsuite/ld-cris/hide1 vendor/binutils/dist/ld/testsuite/ld-cris/ldsym1.d vendor/binutils/dist/ld/testsuite/ld-cris/libdso-1.d vendor/binutils/dist/ld/testsuite/ld-cris/libdso-2.d vendor/binutils/dist/ld/testsuite/ld-cris/libdso-3.d vendor/binutils/dist/ld/testsuite/ld-cris/libdso-4.d vendor/binutils/dist/ld/testsuite/ld-cris/locref1.d vendor/binutils/dist/ld/testsuite/ld-cris/locref1.s vendor/binutils/dist/ld/testsuite/ld-cris/locref2.d vendor/binutils/dist/ld/testsuite/ld-cris/locref2.s vendor/binutils/dist/ld/testsuite/ld-cris/nodyn4.d vendor/binutils/dist/ld/testsuite/ld-cris/nodyn5.d vendor/binutils/dist/ld/testsuite/ld-cris/noglob1.d vendor/binutils/dist/ld/testsuite/ld-cris/noglob1.s vendor/binutils/dist/ld/testsuite/ld-cris/undef1.d vendor/binutils/dist/ld/testsuite/ld-cris/weakref1.d vendor/binutils/dist/ld/testsuite/ld-cris/weakref2.d vendor/binutils/dist/ld/testsuite/ld-cygwin/ vendor/binutils/dist/ld/testsuite/ld-cygwin/exe-export.exp vendor/binutils/dist/ld/testsuite/ld-cygwin/testdll.c vendor/binutils/dist/ld/testsuite/ld-cygwin/testdll.def vendor/binutils/dist/ld/testsuite/ld-cygwin/testexe.c vendor/binutils/dist/ld/testsuite/ld-cygwin/testexe.def vendor/binutils/dist/ld/testsuite/ld-d10v/ vendor/binutils/dist/ld/testsuite/ld-d10v/d10v.exp vendor/binutils/dist/ld/testsuite/ld-d10v/default_layout.d vendor/binutils/dist/ld/testsuite/ld-d10v/linktest-001.s vendor/binutils/dist/ld/testsuite/ld-d10v/linktest-002.lt vendor/binutils/dist/ld/testsuite/ld-d10v/linktest-002.s vendor/binutils/dist/ld/testsuite/ld-d10v/regression-001.lt vendor/binutils/dist/ld/testsuite/ld-d10v/regression-001.s vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-001.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-001.ld vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-001.s vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-002.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-002.ld vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-003.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-003.ld vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-004.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-004.ld vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-005.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-005.ld vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-005.s vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-006.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-006.ld vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-007.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-007.ld vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-008.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-008.ld vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-009.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-009.ld vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-009.s vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-010.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-010.ld vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-011.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-011.ld vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-012.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-012.ld vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-013.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-013.ld vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-014.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-014.ld vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-015.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-015.ld vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-016.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-016.ld vendor/binutils/dist/ld/testsuite/ld-d10v/simple.s vendor/binutils/dist/ld/testsuite/ld-discard/ vendor/binutils/dist/ld/testsuite/ld-discard/discard.exp vendor/binutils/dist/ld/testsuite/ld-discard/discard.ld vendor/binutils/dist/ld/testsuite/ld-discard/exit.s vendor/binutils/dist/ld/testsuite/ld-discard/extern.d vendor/binutils/dist/ld/testsuite/ld-discard/extern.s vendor/binutils/dist/ld/testsuite/ld-discard/start.d vendor/binutils/dist/ld/testsuite/ld-discard/start.s vendor/binutils/dist/ld/testsuite/ld-discard/static.d vendor/binutils/dist/ld/testsuite/ld-discard/static.s vendor/binutils/dist/ld/testsuite/ld-elf/ vendor/binutils/dist/ld/testsuite/ld-elf/elf.exp vendor/binutils/dist/ld/testsuite/ld-elf/merge.d vendor/binutils/dist/ld/testsuite/ld-elf/merge.ld vendor/binutils/dist/ld/testsuite/ld-elf/merge.s vendor/binutils/dist/ld/testsuite/ld-elf/merge2.d vendor/binutils/dist/ld/testsuite/ld-elf/merge2.s vendor/binutils/dist/ld/testsuite/ld-elf/sec64k.exp vendor/binutils/dist/ld/testsuite/ld-elfcomm/ vendor/binutils/dist/ld/testsuite/ld-elfcomm/common1a.c vendor/binutils/dist/ld/testsuite/ld-elfcomm/common1b.c vendor/binutils/dist/ld/testsuite/ld-elfcomm/elfcomm.exp vendor/binutils/dist/ld/testsuite/ld-elfvers/ vendor/binutils/dist/ld/testsuite/ld-elfvers/vers.exp vendor/binutils/dist/ld/testsuite/ld-elfvers/vers1.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers1.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers1.map vendor/binutils/dist/ld/testsuite/ld-elfvers/vers1.sym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers1.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers13.asym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers15.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers15.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers15.sym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers15.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers16.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers16.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers16.map vendor/binutils/dist/ld/testsuite/ld-elfvers/vers16a.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers16a.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers16a.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers17.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers17.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers17.map vendor/binutils/dist/ld/testsuite/ld-elfvers/vers17.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers18.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers18.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers18.map vendor/binutils/dist/ld/testsuite/ld-elfvers/vers18.sym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers18.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers19.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers19.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers19.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers2.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers2.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers2.map vendor/binutils/dist/ld/testsuite/ld-elfvers/vers2.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers20.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers20.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers20.map vendor/binutils/dist/ld/testsuite/ld-elfvers/vers20.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers20a.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers21.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers21.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers21.map vendor/binutils/dist/ld/testsuite/ld-elfvers/vers21.sym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers21.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers22.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers22.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers22.map vendor/binutils/dist/ld/testsuite/ld-elfvers/vers22.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers22a.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers22a.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers22a.sym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers22a.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers22b.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers22b.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers22b.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers23.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers23.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers23.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers23a.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers23a.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers23a.map vendor/binutils/dist/ld/testsuite/ld-elfvers/vers23a.sym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers23a.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers23b.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers23b.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers23b.map vendor/binutils/dist/ld/testsuite/ld-elfvers/vers23b.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers23c.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers23d.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers24.map vendor/binutils/dist/ld/testsuite/ld-elfvers/vers24.rd vendor/binutils/dist/ld/testsuite/ld-elfvers/vers24a.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers24b.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers24c.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers25a.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers25a.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers25a.map vendor/binutils/dist/ld/testsuite/ld-elfvers/vers25a.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers25b.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers25b.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers25b.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers26a.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers26a.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers26a.map vendor/binutils/dist/ld/testsuite/ld-elfvers/vers26a.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers26b.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers26b.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers26b.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers27a.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers27a.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers27a.map vendor/binutils/dist/ld/testsuite/ld-elfvers/vers27a.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers27b.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers27b.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers27b.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers27c.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers27c.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers27c.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers27d.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers27d.sym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers27d.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers27d1.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers27d2.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers27d3.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers27d4.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers27d4.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers28a.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers28a.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers28a.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers28b.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers28b.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers28b.map vendor/binutils/dist/ld/testsuite/ld-elfvers/vers28b.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers28c.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers28c.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers28c.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers3.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers3.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers3.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers4.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers4.sym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers4a.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers4a.sym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers4a.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers5.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers6.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers6.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers6.sym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers6.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers7.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers7.map vendor/binutils/dist/ld/testsuite/ld-elfvers/vers7a.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers7a.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers7a.sym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers7a.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers8.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers8.map vendor/binutils/dist/ld/testsuite/ld-elfvers/vers8.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers9.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers9.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers9.sym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers9.ver vendor/binutils/dist/ld/testsuite/ld-elfvsb/ vendor/binutils/dist/ld/testsuite/ld-elfvsb/common.c vendor/binutils/dist/ld/testsuite/ld-elfvsb/define.s vendor/binutils/dist/ld/testsuite/ld-elfvsb/elf-offset.ld vendor/binutils/dist/ld/testsuite/ld-elfvsb/elfvsb.dat vendor/binutils/dist/ld/testsuite/ld-elfvsb/elfvsb.exp vendor/binutils/dist/ld/testsuite/ld-elfvsb/hidden0.d vendor/binutils/dist/ld/testsuite/ld-elfvsb/hidden1.d vendor/binutils/dist/ld/testsuite/ld-elfvsb/internal0.d vendor/binutils/dist/ld/testsuite/ld-elfvsb/internal1.d vendor/binutils/dist/ld/testsuite/ld-elfvsb/main.c vendor/binutils/dist/ld/testsuite/ld-elfvsb/protected0.d vendor/binutils/dist/ld/testsuite/ld-elfvsb/protected1.d vendor/binutils/dist/ld/testsuite/ld-elfvsb/sh1.c vendor/binutils/dist/ld/testsuite/ld-elfvsb/sh2.c vendor/binutils/dist/ld/testsuite/ld-elfvsb/sh3.c vendor/binutils/dist/ld/testsuite/ld-elfvsb/test.c vendor/binutils/dist/ld/testsuite/ld-elfvsb/undef.s vendor/binutils/dist/ld/testsuite/ld-elfweak/ vendor/binutils/dist/ld/testsuite/ld-elfweak/bar.c vendor/binutils/dist/ld/testsuite/ld-elfweak/bar1a.c vendor/binutils/dist/ld/testsuite/ld-elfweak/bar1b.c vendor/binutils/dist/ld/testsuite/ld-elfweak/bar1c.c vendor/binutils/dist/ld/testsuite/ld-elfweak/dso.dsym vendor/binutils/dist/ld/testsuite/ld-elfweak/dsodata.dsym vendor/binutils/dist/ld/testsuite/ld-elfweak/dsow.dsym vendor/binutils/dist/ld/testsuite/ld-elfweak/dsowdata.dsym vendor/binutils/dist/ld/testsuite/ld-elfweak/elfweak.exp vendor/binutils/dist/ld/testsuite/ld-elfweak/foo.c vendor/binutils/dist/ld/testsuite/ld-elfweak/foo1a.c vendor/binutils/dist/ld/testsuite/ld-elfweak/foo1b.c vendor/binutils/dist/ld/testsuite/ld-elfweak/main.c vendor/binutils/dist/ld/testsuite/ld-elfweak/main1.c vendor/binutils/dist/ld/testsuite/ld-elfweak/strong.dat vendor/binutils/dist/ld/testsuite/ld-elfweak/strong.sym vendor/binutils/dist/ld/testsuite/ld-elfweak/strongcomm.sym vendor/binutils/dist/ld/testsuite/ld-elfweak/strongdata.dat vendor/binutils/dist/ld/testsuite/ld-elfweak/strongdata.sym vendor/binutils/dist/ld/testsuite/ld-elfweak/weak.dat vendor/binutils/dist/ld/testsuite/ld-elfweak/weak.dsym vendor/binutils/dist/ld/testsuite/ld-elfweak/weakdata.dat vendor/binutils/dist/ld/testsuite/ld-elfweak/weakdata.dsym vendor/binutils/dist/ld/testsuite/ld-empic/ vendor/binutils/dist/ld/testsuite/ld-empic/empic.exp vendor/binutils/dist/ld/testsuite/ld-empic/relax.t vendor/binutils/dist/ld/testsuite/ld-empic/relax1.c vendor/binutils/dist/ld/testsuite/ld-empic/relax2.c vendor/binutils/dist/ld/testsuite/ld-empic/relax3.c vendor/binutils/dist/ld/testsuite/ld-empic/relax4.c vendor/binutils/dist/ld/testsuite/ld-empic/run.c vendor/binutils/dist/ld/testsuite/ld-empic/runtest1.c vendor/binutils/dist/ld/testsuite/ld-empic/runtest2.c vendor/binutils/dist/ld/testsuite/ld-empic/runtesti.s vendor/binutils/dist/ld/testsuite/ld-fastcall/ vendor/binutils/dist/ld/testsuite/ld-fastcall/export.s vendor/binutils/dist/ld/testsuite/ld-fastcall/fastcall.exp vendor/binutils/dist/ld/testsuite/ld-fastcall/import.s vendor/binutils/dist/ld/testsuite/ld-frv/ vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-pie-1.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-pie-2.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-pie-5.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-pie-6-fail.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-pie-6.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-pie-7.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-pie-8-fail.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-pie-8.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-1.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-2-fail.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-2.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-3.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-4.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-5.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-6-fail.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-6.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-7.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-8-fail.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-8.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-local-2.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-local-8.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-static-1.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-static-2.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-static-5.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-static-6.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-static-7.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-static-8.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic.exp vendor/binutils/dist/ld/testsuite/ld-frv/fdpic1.s vendor/binutils/dist/ld/testsuite/ld-frv/fdpic2.ldv vendor/binutils/dist/ld/testsuite/ld-frv/fdpic2.s vendor/binutils/dist/ld/testsuite/ld-frv/fdpic2min.ldv vendor/binutils/dist/ld/testsuite/ld-frv/fdpic3.s vendor/binutils/dist/ld/testsuite/ld-frv/fdpic4.s vendor/binutils/dist/ld/testsuite/ld-frv/fdpic5.s vendor/binutils/dist/ld/testsuite/ld-frv/fdpic6.ldv vendor/binutils/dist/ld/testsuite/ld-frv/fdpic6.s vendor/binutils/dist/ld/testsuite/ld-frv/fdpic7.s vendor/binutils/dist/ld/testsuite/ld-frv/fdpic8.ldv vendor/binutils/dist/ld/testsuite/ld-frv/fdpic8.s vendor/binutils/dist/ld/testsuite/ld-frv/fdpic8min.ldv vendor/binutils/dist/ld/testsuite/ld-h8300/ vendor/binutils/dist/ld/testsuite/ld-h8300/h8300.exp vendor/binutils/dist/ld/testsuite/ld-h8300/relax-2.d vendor/binutils/dist/ld/testsuite/ld-h8300/relax-2.s vendor/binutils/dist/ld/testsuite/ld-h8300/relax-3-coff.d vendor/binutils/dist/ld/testsuite/ld-h8300/relax-3.d vendor/binutils/dist/ld/testsuite/ld-h8300/relax-3.s vendor/binutils/dist/ld/testsuite/ld-h8300/relax-4-coff.d vendor/binutils/dist/ld/testsuite/ld-h8300/relax-4.d vendor/binutils/dist/ld/testsuite/ld-h8300/relax-4.s vendor/binutils/dist/ld/testsuite/ld-h8300/relax-5-coff.d vendor/binutils/dist/ld/testsuite/ld-h8300/relax-5.d vendor/binutils/dist/ld/testsuite/ld-h8300/relax-5.s vendor/binutils/dist/ld/testsuite/ld-h8300/relax.d vendor/binutils/dist/ld/testsuite/ld-h8300/relax.s vendor/binutils/dist/ld/testsuite/ld-i386/ vendor/binutils/dist/ld/testsuite/ld-i386/combreloc.d vendor/binutils/dist/ld/testsuite/ld-i386/combreloc.s vendor/binutils/dist/ld/testsuite/ld-i386/i386.exp vendor/binutils/dist/ld/testsuite/ld-i386/reloc.d vendor/binutils/dist/ld/testsuite/ld-i386/reloc.s vendor/binutils/dist/ld/testsuite/ld-i386/tlsbin.dd vendor/binutils/dist/ld/testsuite/ld-i386/tlsbin.rd vendor/binutils/dist/ld/testsuite/ld-i386/tlsbin.s vendor/binutils/dist/ld/testsuite/ld-i386/tlsbin.sd vendor/binutils/dist/ld/testsuite/ld-i386/tlsbin.td vendor/binutils/dist/ld/testsuite/ld-i386/tlsbinpic.s vendor/binutils/dist/ld/testsuite/ld-i386/tlsg.s vendor/binutils/dist/ld/testsuite/ld-i386/tlsg.sd vendor/binutils/dist/ld/testsuite/ld-i386/tlsindntpoff.dd vendor/binutils/dist/ld/testsuite/ld-i386/tlsindntpoff.s vendor/binutils/dist/ld/testsuite/ld-i386/tlslib.s vendor/binutils/dist/ld/testsuite/ld-i386/tlsnopic.dd vendor/binutils/dist/ld/testsuite/ld-i386/tlsnopic.rd vendor/binutils/dist/ld/testsuite/ld-i386/tlsnopic.sd vendor/binutils/dist/ld/testsuite/ld-i386/tlsnopic1.s vendor/binutils/dist/ld/testsuite/ld-i386/tlsnopic2.s vendor/binutils/dist/ld/testsuite/ld-i386/tlspic.dd vendor/binutils/dist/ld/testsuite/ld-i386/tlspic.rd vendor/binutils/dist/ld/testsuite/ld-i386/tlspic.sd vendor/binutils/dist/ld/testsuite/ld-i386/tlspic.td vendor/binutils/dist/ld/testsuite/ld-i386/tlspic1.s vendor/binutils/dist/ld/testsuite/ld-i386/tlspic2.s vendor/binutils/dist/ld/testsuite/ld-ia64/ vendor/binutils/dist/ld/testsuite/ld-ia64/ia64.exp vendor/binutils/dist/ld/testsuite/ld-ia64/tlsbin.dd vendor/binutils/dist/ld/testsuite/ld-ia64/tlsbin.rd vendor/binutils/dist/ld/testsuite/ld-ia64/tlsbin.s vendor/binutils/dist/ld/testsuite/ld-ia64/tlsbin.sd vendor/binutils/dist/ld/testsuite/ld-ia64/tlsbin.td vendor/binutils/dist/ld/testsuite/ld-ia64/tlsbinpic.s vendor/binutils/dist/ld/testsuite/ld-ia64/tlsg.s vendor/binutils/dist/ld/testsuite/ld-ia64/tlsg.sd vendor/binutils/dist/ld/testsuite/ld-ia64/tlslib.s vendor/binutils/dist/ld/testsuite/ld-ia64/tlspic.dd vendor/binutils/dist/ld/testsuite/ld-ia64/tlspic.rd vendor/binutils/dist/ld/testsuite/ld-ia64/tlspic.sd vendor/binutils/dist/ld/testsuite/ld-ia64/tlspic.td vendor/binutils/dist/ld/testsuite/ld-ia64/tlspic1.s vendor/binutils/dist/ld/testsuite/ld-ia64/tlspic2.s vendor/binutils/dist/ld/testsuite/ld-linkonce/ vendor/binutils/dist/ld/testsuite/ld-linkonce/linkonce.exp vendor/binutils/dist/ld/testsuite/ld-linkonce/x.s vendor/binutils/dist/ld/testsuite/ld-linkonce/y.s vendor/binutils/dist/ld/testsuite/ld-linkonce/zeroeh.ld vendor/binutils/dist/ld/testsuite/ld-linkonce/zeroehl32.d vendor/binutils/dist/ld/testsuite/ld-m68hc11/ vendor/binutils/dist/ld/testsuite/ld-m68hc11/adj-brset.d vendor/binutils/dist/ld/testsuite/ld-m68hc11/adj-brset.s vendor/binutils/dist/ld/testsuite/ld-m68hc11/adj-jump.d vendor/binutils/dist/ld/testsuite/ld-m68hc11/adj-jump.s vendor/binutils/dist/ld/testsuite/ld-m68hc11/bug-1403.d vendor/binutils/dist/ld/testsuite/ld-m68hc11/bug-1403.s vendor/binutils/dist/ld/testsuite/ld-m68hc11/bug-1417.d vendor/binutils/dist/ld/testsuite/ld-m68hc11/bug-1417.s vendor/binutils/dist/ld/testsuite/ld-m68hc11/bug-3331.d vendor/binutils/dist/ld/testsuite/ld-m68hc11/bug-3331.s vendor/binutils/dist/ld/testsuite/ld-m68hc11/far-hc11.d vendor/binutils/dist/ld/testsuite/ld-m68hc11/far-hc11.s vendor/binutils/dist/ld/testsuite/ld-m68hc11/far-hc12.d vendor/binutils/dist/ld/testsuite/ld-m68hc11/far-hc12.ld vendor/binutils/dist/ld/testsuite/ld-m68hc11/far-hc12.s vendor/binutils/dist/ld/testsuite/ld-m68hc11/link-hc12.s vendor/binutils/dist/ld/testsuite/ld-m68hc11/link-hcs12.d vendor/binutils/dist/ld/testsuite/ld-m68hc11/link-hcs12.s vendor/binutils/dist/ld/testsuite/ld-m68hc11/m68hc11.exp vendor/binutils/dist/ld/testsuite/ld-m68hc11/relax-direct.d vendor/binutils/dist/ld/testsuite/ld-m68hc11/relax-direct.s vendor/binutils/dist/ld/testsuite/ld-m68hc11/relax-group.d vendor/binutils/dist/ld/testsuite/ld-m68hc11/relax-group.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/ vendor/binutils/dist/ld/testsuite/ld-mips-elf/branch-misc-1.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/elf-rel-got-n32.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/elf-rel-got-n64-linux.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/elf-rel-got-n64.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic1-ln.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic1-lp.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic1-mn.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic1-mp.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic1-ref.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic1-sn.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic1-sp.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic1-space.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic1-tgt.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic2-fwd-0.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic2-fwd-1.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic2-fwd-tgt.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic2-ref.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic2-rev-0.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic2-rev-1.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic2-rev-tgt.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic2-space.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/emrelocs-eb.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/emrelocs-el.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/emrelocs.ld vendor/binutils/dist/ld/testsuite/ld-mips-elf/emrelocs1.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/emrelocs2.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/jr.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/mips-elf-flags.exp vendor/binutils/dist/ld/testsuite/ld-mips-elf/mips-elf.exp vendor/binutils/dist/ld/testsuite/ld-mips-elf/mips16-1.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/mips16-1a.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/mips16-1b.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/multi-got-1-1.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/multi-got-1-2.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/multi-got-1.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/region1.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/region1.t vendor/binutils/dist/ld/testsuite/ld-mips-elf/region1a.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/region1b.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/rel32-n32.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/rel32-o32.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/rel32.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/rel64.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/rel64.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/relax-jalr-n32-shared.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/relax-jalr-n32.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/relax-jalr-n64-shared.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/relax-jalr-n64.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/relax-jalr.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-1-n32.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-1-n64.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-1-rel.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-1a.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-1b.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-2.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-2.ld vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-2a.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-2b.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-3-r.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-3-srec.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-3.ld vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-3a.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-3b.s vendor/binutils/dist/ld/testsuite/ld-mmix/ vendor/binutils/dist/ld/testsuite/ld-mmix/a.s vendor/binutils/dist/ld/testsuite/ld-mmix/areg-256.s vendor/binutils/dist/ld/testsuite/ld-mmix/areg-t.s vendor/binutils/dist/ld/testsuite/ld-mmix/aregm.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-badfil1.d vendor/binutils/dist/ld/testsuite/ld-mmix/b-badfil1.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-badfil2.d vendor/binutils/dist/ld/testsuite/ld-mmix/b-badfil2.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-badfixo.d vendor/binutils/dist/ld/testsuite/ld-mmix/b-badfixo.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-badloc.d vendor/binutils/dist/ld/testsuite/ld-mmix/b-badloc.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-badlop.d vendor/binutils/dist/ld/testsuite/ld-mmix/b-badlop.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-badm.d vendor/binutils/dist/ld/testsuite/ld-mmix/b-badm2.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-badmain.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-badquot.d vendor/binutils/dist/ld/testsuite/ld-mmix/b-badquot.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-badrx1.d vendor/binutils/dist/ld/testsuite/ld-mmix/b-badrx1.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-badrx2.d vendor/binutils/dist/ld/testsuite/ld-mmix/b-badrx2.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-badrx3.d vendor/binutils/dist/ld/testsuite/ld-mmix/b-badrx3.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-bend.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-bend1.d vendor/binutils/dist/ld/testsuite/ld-mmix/b-bend2.d vendor/binutils/dist/ld/testsuite/ld-mmix/b-bend3.d vendor/binutils/dist/ld/testsuite/ld-mmix/b-bstab1.d vendor/binutils/dist/ld/testsuite/ld-mmix/b-bstab1.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-fixo2.d vendor/binutils/dist/ld/testsuite/ld-mmix/b-fixo2.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-goodmain.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-loc64k.d vendor/binutils/dist/ld/testsuite/ld-mmix/b-loc64k.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-nosym.d vendor/binutils/dist/ld/testsuite/ld-mmix/b-nosym.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-post1.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-twoinsn.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-widec.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-widec1.d vendor/binutils/dist/ld/testsuite/ld-mmix/b-widec2.d vendor/binutils/dist/ld/testsuite/ld-mmix/b-widec2.s vendor/binutils/dist/ld/testsuite/ld-mmix/b-widec3.d vendor/binutils/dist/ld/testsuite/ld-mmix/b-widec3.s vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-1.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-1.s vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-10.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-10.s vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-11.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-11.s vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-12.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-12m.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-13.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-13m.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-14.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-14m.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-15.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-15m.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-16.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-16m.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-17.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-17m.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-18.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-18m.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-19.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-19m.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-1m.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-2.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-2.s vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-20.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-20m.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-21.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-21m.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-22.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-2m.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-3.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-3.s vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-3m.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-4.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-4.s vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-4m.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-5.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-5.s vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-5m.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-6.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-6.s vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-6m.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-7.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-7.s vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-7m.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-8.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-8.s vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-8m.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-9.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-9.s vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-9m.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo64addr.ld vendor/binutils/dist/ld/testsuite/ld-mmix/bspec1.d vendor/binutils/dist/ld/testsuite/ld-mmix/bspec1.s vendor/binutils/dist/ld/testsuite/ld-mmix/bspec1m.d vendor/binutils/dist/ld/testsuite/ld-mmix/bspec2.d vendor/binutils/dist/ld/testsuite/ld-mmix/bspec2.s vendor/binutils/dist/ld/testsuite/ld-mmix/bspec2m.d vendor/binutils/dist/ld/testsuite/ld-mmix/bspec801.s vendor/binutils/dist/ld/testsuite/ld-mmix/bspec802.s vendor/binutils/dist/ld/testsuite/ld-mmix/bspec803.s vendor/binutils/dist/ld/testsuite/ld-mmix/bspec804.s vendor/binutils/dist/ld/testsuite/ld-mmix/bspec805.s vendor/binutils/dist/ld/testsuite/ld-mmix/bspec806.s vendor/binutils/dist/ld/testsuite/ld-mmix/bspec807.s vendor/binutils/dist/ld/testsuite/ld-mmix/bspec808.s vendor/binutils/dist/ld/testsuite/ld-mmix/bza-1b.d vendor/binutils/dist/ld/testsuite/ld-mmix/bza-1f.d vendor/binutils/dist/ld/testsuite/ld-mmix/bza-2b.d vendor/binutils/dist/ld/testsuite/ld-mmix/bza-2f.d vendor/binutils/dist/ld/testsuite/ld-mmix/bza-7b.d vendor/binutils/dist/ld/testsuite/ld-mmix/bza-7f.d vendor/binutils/dist/ld/testsuite/ld-mmix/bza-8b.d vendor/binutils/dist/ld/testsuite/ld-mmix/bza-8f.d vendor/binutils/dist/ld/testsuite/ld-mmix/bza.s vendor/binutils/dist/ld/testsuite/ld-mmix/data1.s vendor/binutils/dist/ld/testsuite/ld-mmix/dloc1.s vendor/binutils/dist/ld/testsuite/ld-mmix/dloc2.s vendor/binutils/dist/ld/testsuite/ld-mmix/ext1-254.s vendor/binutils/dist/ld/testsuite/ld-mmix/ext1.s vendor/binutils/dist/ld/testsuite/ld-mmix/ext1g.s vendor/binutils/dist/ld/testsuite/ld-mmix/ext1l.s vendor/binutils/dist/ld/testsuite/ld-mmix/getaa-1b.d vendor/binutils/dist/ld/testsuite/ld-mmix/getaa-1f.d vendor/binutils/dist/ld/testsuite/ld-mmix/getaa-2b.d vendor/binutils/dist/ld/testsuite/ld-mmix/getaa-2f.d vendor/binutils/dist/ld/testsuite/ld-mmix/getaa-4b.d vendor/binutils/dist/ld/testsuite/ld-mmix/getaa-4f.d vendor/binutils/dist/ld/testsuite/ld-mmix/getaa-6b.d vendor/binutils/dist/ld/testsuite/ld-mmix/getaa-6f.d vendor/binutils/dist/ld/testsuite/ld-mmix/getaa-7b.d vendor/binutils/dist/ld/testsuite/ld-mmix/getaa-7f.d vendor/binutils/dist/ld/testsuite/ld-mmix/getaa-8b.d vendor/binutils/dist/ld/testsuite/ld-mmix/getaa-8f.d vendor/binutils/dist/ld/testsuite/ld-mmix/getaa.s vendor/binutils/dist/ld/testsuite/ld-mmix/getaa12b.d vendor/binutils/dist/ld/testsuite/ld-mmix/getaa12f.d vendor/binutils/dist/ld/testsuite/ld-mmix/getaa14b.d vendor/binutils/dist/ld/testsuite/ld-mmix/getaa14f.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-1.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-1.s vendor/binutils/dist/ld/testsuite/ld-mmix/greg-10.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-11.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-11b.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-12.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-13.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-14.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-14s.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-15.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-16.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-17.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-18.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-19.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-2.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-2.s vendor/binutils/dist/ld/testsuite/ld-mmix/greg-20.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-3.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-3.s vendor/binutils/dist/ld/testsuite/ld-mmix/greg-4.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-4.s vendor/binutils/dist/ld/testsuite/ld-mmix/greg-5.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-5.s vendor/binutils/dist/ld/testsuite/ld-mmix/greg-5s.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-6.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-7.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-8.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-9.d vendor/binutils/dist/ld/testsuite/ld-mmix/gregbza1.s vendor/binutils/dist/ld/testsuite/ld-mmix/gregget1.s vendor/binutils/dist/ld/testsuite/ld-mmix/gregget2.s vendor/binutils/dist/ld/testsuite/ld-mmix/gregldo1.s vendor/binutils/dist/ld/testsuite/ld-mmix/gregpsj1.s vendor/binutils/dist/ld/testsuite/ld-mmix/hdr-1.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa-1b.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa-1f.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa-2b.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa-2f.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa-3b.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa-3f.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa-4b.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa-4f.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa-5b.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa-5f.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa-6b.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa-6f.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa-7b.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa-7f.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa-8b.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa-8f.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa-9b.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa-9f.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa.s vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa12b.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa12f.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa13b.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa13f.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa14b.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa14f.d vendor/binutils/dist/ld/testsuite/ld-mmix/loc1.d vendor/binutils/dist/ld/testsuite/ld-mmix/loc1.s vendor/binutils/dist/ld/testsuite/ld-mmix/loc1m.d vendor/binutils/dist/ld/testsuite/ld-mmix/loc2.d vendor/binutils/dist/ld/testsuite/ld-mmix/loc2.s vendor/binutils/dist/ld/testsuite/ld-mmix/loc2m.d vendor/binutils/dist/ld/testsuite/ld-mmix/loc3.d vendor/binutils/dist/ld/testsuite/ld-mmix/loc3m.d vendor/binutils/dist/ld/testsuite/ld-mmix/loc4.d vendor/binutils/dist/ld/testsuite/ld-mmix/loc4m.d vendor/binutils/dist/ld/testsuite/ld-mmix/loc5.d vendor/binutils/dist/ld/testsuite/ld-mmix/loc5m.d vendor/binutils/dist/ld/testsuite/ld-mmix/loc6.d vendor/binutils/dist/ld/testsuite/ld-mmix/loc6m.d vendor/binutils/dist/ld/testsuite/ld-mmix/loc7.d vendor/binutils/dist/ld/testsuite/ld-mmix/loc7m.d vendor/binutils/dist/ld/testsuite/ld-mmix/local1.d vendor/binutils/dist/ld/testsuite/ld-mmix/local1.s vendor/binutils/dist/ld/testsuite/ld-mmix/local10.d vendor/binutils/dist/ld/testsuite/ld-mmix/local10m.d vendor/binutils/dist/ld/testsuite/ld-mmix/local11.d vendor/binutils/dist/ld/testsuite/ld-mmix/local11m.d vendor/binutils/dist/ld/testsuite/ld-mmix/local12.d vendor/binutils/dist/ld/testsuite/ld-mmix/local12m.d vendor/binutils/dist/ld/testsuite/ld-mmix/local1m.d vendor/binutils/dist/ld/testsuite/ld-mmix/local2.d vendor/binutils/dist/ld/testsuite/ld-mmix/local2.s vendor/binutils/dist/ld/testsuite/ld-mmix/local2m.d vendor/binutils/dist/ld/testsuite/ld-mmix/local3.d vendor/binutils/dist/ld/testsuite/ld-mmix/local3m.d vendor/binutils/dist/ld/testsuite/ld-mmix/local4.d vendor/binutils/dist/ld/testsuite/ld-mmix/local4m.d vendor/binutils/dist/ld/testsuite/ld-mmix/local5.d vendor/binutils/dist/ld/testsuite/ld-mmix/local5m.d vendor/binutils/dist/ld/testsuite/ld-mmix/local6.d vendor/binutils/dist/ld/testsuite/ld-mmix/local6m.d vendor/binutils/dist/ld/testsuite/ld-mmix/local7.d vendor/binutils/dist/ld/testsuite/ld-mmix/local7m.d vendor/binutils/dist/ld/testsuite/ld-mmix/local8.d vendor/binutils/dist/ld/testsuite/ld-mmix/local8m.d vendor/binutils/dist/ld/testsuite/ld-mmix/local9.d vendor/binutils/dist/ld/testsuite/ld-mmix/local9m.d vendor/binutils/dist/ld/testsuite/ld-mmix/locdo-1.d vendor/binutils/dist/ld/testsuite/ld-mmix/locdo.s vendor/binutils/dist/ld/testsuite/ld-mmix/loct-1.d vendor/binutils/dist/ld/testsuite/ld-mmix/loct.s vendor/binutils/dist/ld/testsuite/ld-mmix/locto-1.d vendor/binutils/dist/ld/testsuite/ld-mmix/locto.s vendor/binutils/dist/ld/testsuite/ld-mmix/main1.s vendor/binutils/dist/ld/testsuite/ld-mmix/mmix.exp vendor/binutils/dist/ld/testsuite/ld-mmix/mmohdr1.ld vendor/binutils/dist/ld/testsuite/ld-mmix/mmosec1.ld vendor/binutils/dist/ld/testsuite/ld-mmix/mmosec2.ld vendor/binutils/dist/ld/testsuite/ld-mmix/nop123.s vendor/binutils/dist/ld/testsuite/ld-mmix/pad16.s vendor/binutils/dist/ld/testsuite/ld-mmix/pad2p18m32.s vendor/binutils/dist/ld/testsuite/ld-mmix/pad2p26m32.s vendor/binutils/dist/ld/testsuite/ld-mmix/pad4.s vendor/binutils/dist/ld/testsuite/ld-mmix/pushja.s vendor/binutils/dist/ld/testsuite/ld-mmix/pushja1b-s.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushja1b.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushja1f-s.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushja1f.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushja2b.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushja2f.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushja7b-s.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushja7b.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushja7f-s.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushja7f.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushja8b.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushja8f.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushjs1.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushjs1b.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushjs1bm.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushjs1m.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushjs1r.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushjs2.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushjs2b.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushjs2bm.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushjs2m.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushjs2r.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushjs3.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushjs3b.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushjs3bm.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushjs3m.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushjs3r.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushjs4.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushjs4b.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushjs4bm.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushjs4m.d vendor/binutils/dist/ld/testsuite/ld-mmix/pushjs4r.d vendor/binutils/dist/ld/testsuite/ld-mmix/reg-1.d vendor/binutils/dist/ld/testsuite/ld-mmix/reg-1m.d vendor/binutils/dist/ld/testsuite/ld-mmix/reg-2.d vendor/binutils/dist/ld/testsuite/ld-mmix/reg-2m.d vendor/binutils/dist/ld/testsuite/ld-mmix/regext1.s vendor/binutils/dist/ld/testsuite/ld-mmix/sec-1.d vendor/binutils/dist/ld/testsuite/ld-mmix/sec-1.s vendor/binutils/dist/ld/testsuite/ld-mmix/sec-2.d vendor/binutils/dist/ld/testsuite/ld-mmix/sec-2.s vendor/binutils/dist/ld/testsuite/ld-mmix/sec-3.d vendor/binutils/dist/ld/testsuite/ld-mmix/sec-4.d vendor/binutils/dist/ld/testsuite/ld-mmix/sec-5.d vendor/binutils/dist/ld/testsuite/ld-mmix/sec-6.d vendor/binutils/dist/ld/testsuite/ld-mmix/sec-6.s vendor/binutils/dist/ld/testsuite/ld-mmix/sec-6m.d vendor/binutils/dist/ld/testsuite/ld-mmix/sec-7a.s vendor/binutils/dist/ld/testsuite/ld-mmix/sec-7b.s vendor/binutils/dist/ld/testsuite/ld-mmix/sec-7c.s vendor/binutils/dist/ld/testsuite/ld-mmix/sec-7d.s vendor/binutils/dist/ld/testsuite/ld-mmix/sec-7e.s vendor/binutils/dist/ld/testsuite/ld-mmix/sec-7m.d vendor/binutils/dist/ld/testsuite/ld-mmix/sec-8a.s vendor/binutils/dist/ld/testsuite/ld-mmix/sec-8b.s vendor/binutils/dist/ld/testsuite/ld-mmix/sec-8d.s vendor/binutils/dist/ld/testsuite/ld-mmix/sec-8m.d vendor/binutils/dist/ld/testsuite/ld-mmix/sec-8m.s vendor/binutils/dist/ld/testsuite/ld-mmix/spec801.d vendor/binutils/dist/ld/testsuite/ld-mmix/spec802.d vendor/binutils/dist/ld/testsuite/ld-mmix/spec803.d vendor/binutils/dist/ld/testsuite/ld-mmix/spec804.d vendor/binutils/dist/ld/testsuite/ld-mmix/spec805.d vendor/binutils/dist/ld/testsuite/ld-mmix/spec806.d vendor/binutils/dist/ld/testsuite/ld-mmix/spec807.d vendor/binutils/dist/ld/testsuite/ld-mmix/spec808.d vendor/binutils/dist/ld/testsuite/ld-mmix/start-1.d vendor/binutils/dist/ld/testsuite/ld-mmix/start-2.d vendor/binutils/dist/ld/testsuite/ld-mmix/start.s vendor/binutils/dist/ld/testsuite/ld-mmix/start2.s vendor/binutils/dist/ld/testsuite/ld-mmix/start3.s vendor/binutils/dist/ld/testsuite/ld-mmix/start4.s vendor/binutils/dist/ld/testsuite/ld-mmix/sym-1.d vendor/binutils/dist/ld/testsuite/ld-mmix/sym-2.d vendor/binutils/dist/ld/testsuite/ld-mmix/sym-2.s vendor/binutils/dist/ld/testsuite/ld-mmix/undef-1.d vendor/binutils/dist/ld/testsuite/ld-mmix/undef-1.s vendor/binutils/dist/ld/testsuite/ld-mmix/undef-1m.d vendor/binutils/dist/ld/testsuite/ld-mmix/undef-2.d vendor/binutils/dist/ld/testsuite/ld-mmix/undef-2.s vendor/binutils/dist/ld/testsuite/ld-mmix/undef-2m.d vendor/binutils/dist/ld/testsuite/ld-mmix/undef-3.d vendor/binutils/dist/ld/testsuite/ld-mmix/undef-3m.d vendor/binutils/dist/ld/testsuite/ld-mmix/x.s vendor/binutils/dist/ld/testsuite/ld-mmix/y.s vendor/binutils/dist/ld/testsuite/ld-mmix/zeroeh.ld vendor/binutils/dist/ld/testsuite/ld-mmix/zeroehelf.d vendor/binutils/dist/ld/testsuite/ld-mmix/zeroehmmo.d vendor/binutils/dist/ld/testsuite/ld-powerpc/ vendor/binutils/dist/ld/testsuite/ld-powerpc/apuinfo.rd vendor/binutils/dist/ld/testsuite/ld-powerpc/apuinfo1.s vendor/binutils/dist/ld/testsuite/ld-powerpc/apuinfo2.s vendor/binutils/dist/ld/testsuite/ld-powerpc/powerpc.exp vendor/binutils/dist/ld/testsuite/ld-powerpc/reloc.d vendor/binutils/dist/ld/testsuite/ld-powerpc/reloc.s vendor/binutils/dist/ld/testsuite/ld-powerpc/tls.d vendor/binutils/dist/ld/testsuite/ld-powerpc/tls.g vendor/binutils/dist/ld/testsuite/ld-powerpc/tls.s vendor/binutils/dist/ld/testsuite/ld-powerpc/tls.t vendor/binutils/dist/ld/testsuite/ld-powerpc/tls32.d vendor/binutils/dist/ld/testsuite/ld-powerpc/tls32.g vendor/binutils/dist/ld/testsuite/ld-powerpc/tls32.s vendor/binutils/dist/ld/testsuite/ld-powerpc/tls32.t vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsexe.d vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsexe.g vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsexe.r vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsexe.t vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsexe32.d vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsexe32.g vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsexe32.r vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsexe32.t vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsexetoc.d vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsexetoc.g vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsexetoc.r vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsexetoc.t vendor/binutils/dist/ld/testsuite/ld-powerpc/tlslib.s vendor/binutils/dist/ld/testsuite/ld-powerpc/tlslib32.s vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsso.d vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsso.g vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsso.r vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsso.t vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsso32.d vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsso32.g vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsso32.r vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsso32.t vendor/binutils/dist/ld/testsuite/ld-powerpc/tlstoc.d vendor/binutils/dist/ld/testsuite/ld-powerpc/tlstoc.g vendor/binutils/dist/ld/testsuite/ld-powerpc/tlstoc.s vendor/binutils/dist/ld/testsuite/ld-powerpc/tlstoc.t vendor/binutils/dist/ld/testsuite/ld-powerpc/tlstocso.d vendor/binutils/dist/ld/testsuite/ld-powerpc/tlstocso.g vendor/binutils/dist/ld/testsuite/ld-powerpc/tlstocso.r vendor/binutils/dist/ld/testsuite/ld-powerpc/tlstocso.t vendor/binutils/dist/ld/testsuite/ld-s390/ vendor/binutils/dist/ld/testsuite/ld-s390/s390.exp vendor/binutils/dist/ld/testsuite/ld-s390/tlsbin.dd vendor/binutils/dist/ld/testsuite/ld-s390/tlsbin.rd vendor/binutils/dist/ld/testsuite/ld-s390/tlsbin.s vendor/binutils/dist/ld/testsuite/ld-s390/tlsbin.sd vendor/binutils/dist/ld/testsuite/ld-s390/tlsbin.td vendor/binutils/dist/ld/testsuite/ld-s390/tlsbin_64.dd vendor/binutils/dist/ld/testsuite/ld-s390/tlsbin_64.rd vendor/binutils/dist/ld/testsuite/ld-s390/tlsbin_64.s vendor/binutils/dist/ld/testsuite/ld-s390/tlsbin_64.sd vendor/binutils/dist/ld/testsuite/ld-s390/tlsbin_64.td vendor/binutils/dist/ld/testsuite/ld-s390/tlsbinpic.s vendor/binutils/dist/ld/testsuite/ld-s390/tlsbinpic_64.s vendor/binutils/dist/ld/testsuite/ld-s390/tlslib.s vendor/binutils/dist/ld/testsuite/ld-s390/tlslib_64.s vendor/binutils/dist/ld/testsuite/ld-s390/tlspic.dd vendor/binutils/dist/ld/testsuite/ld-s390/tlspic.rd vendor/binutils/dist/ld/testsuite/ld-s390/tlspic.sd vendor/binutils/dist/ld/testsuite/ld-s390/tlspic.td vendor/binutils/dist/ld/testsuite/ld-s390/tlspic1.s vendor/binutils/dist/ld/testsuite/ld-s390/tlspic1_64.s vendor/binutils/dist/ld/testsuite/ld-s390/tlspic2.s vendor/binutils/dist/ld/testsuite/ld-s390/tlspic2_64.s vendor/binutils/dist/ld/testsuite/ld-s390/tlspic_64.dd vendor/binutils/dist/ld/testsuite/ld-s390/tlspic_64.rd vendor/binutils/dist/ld/testsuite/ld-s390/tlspic_64.sd vendor/binutils/dist/ld/testsuite/ld-s390/tlspic_64.td vendor/binutils/dist/ld/testsuite/ld-scripts/ vendor/binutils/dist/ld/testsuite/ld-scripts/align.exp vendor/binutils/dist/ld/testsuite/ld-scripts/align.s vendor/binutils/dist/ld/testsuite/ld-scripts/align.t vendor/binutils/dist/ld/testsuite/ld-scripts/assert.exp vendor/binutils/dist/ld/testsuite/ld-scripts/assert.s vendor/binutils/dist/ld/testsuite/ld-scripts/assert.t vendor/binutils/dist/ld/testsuite/ld-scripts/cross1.c vendor/binutils/dist/ld/testsuite/ld-scripts/cross1.t vendor/binutils/dist/ld/testsuite/ld-scripts/cross2.c vendor/binutils/dist/ld/testsuite/ld-scripts/cross2.t vendor/binutils/dist/ld/testsuite/ld-scripts/cross3.c vendor/binutils/dist/ld/testsuite/ld-scripts/crossref.exp vendor/binutils/dist/ld/testsuite/ld-scripts/data.d vendor/binutils/dist/ld/testsuite/ld-scripts/data.exp vendor/binutils/dist/ld/testsuite/ld-scripts/data.s vendor/binutils/dist/ld/testsuite/ld-scripts/data.t vendor/binutils/dist/ld/testsuite/ld-scripts/defined.exp vendor/binutils/dist/ld/testsuite/ld-scripts/defined.s vendor/binutils/dist/ld/testsuite/ld-scripts/defined.t vendor/binutils/dist/ld/testsuite/ld-scripts/defined2.d vendor/binutils/dist/ld/testsuite/ld-scripts/defined2.t vendor/binutils/dist/ld/testsuite/ld-scripts/defined3.d vendor/binutils/dist/ld/testsuite/ld-scripts/defined3.t vendor/binutils/dist/ld/testsuite/ld-scripts/dynamic-sections-1.s vendor/binutils/dist/ld/testsuite/ld-scripts/dynamic-sections-2.s vendor/binutils/dist/ld/testsuite/ld-scripts/dynamic-sections.d vendor/binutils/dist/ld/testsuite/ld-scripts/dynamic-sections.exp vendor/binutils/dist/ld/testsuite/ld-scripts/dynamic-sections.t vendor/binutils/dist/ld/testsuite/ld-scripts/map-address.d vendor/binutils/dist/ld/testsuite/ld-scripts/map-address.exp vendor/binutils/dist/ld/testsuite/ld-scripts/map-address.t vendor/binutils/dist/ld/testsuite/ld-scripts/overlay-size-map.d vendor/binutils/dist/ld/testsuite/ld-scripts/overlay-size.d vendor/binutils/dist/ld/testsuite/ld-scripts/overlay-size.exp vendor/binutils/dist/ld/testsuite/ld-scripts/overlay-size.s vendor/binutils/dist/ld/testsuite/ld-scripts/overlay-size.t vendor/binutils/dist/ld/testsuite/ld-scripts/phdrs.exp vendor/binutils/dist/ld/testsuite/ld-scripts/phdrs.s vendor/binutils/dist/ld/testsuite/ld-scripts/phdrs.t vendor/binutils/dist/ld/testsuite/ld-scripts/phdrs2.exp vendor/binutils/dist/ld/testsuite/ld-scripts/phdrs2.s vendor/binutils/dist/ld/testsuite/ld-scripts/phdrs2.t vendor/binutils/dist/ld/testsuite/ld-scripts/provide-1.d vendor/binutils/dist/ld/testsuite/ld-scripts/provide-1.s vendor/binutils/dist/ld/testsuite/ld-scripts/provide-1.t vendor/binutils/dist/ld/testsuite/ld-scripts/provide-2.d vendor/binutils/dist/ld/testsuite/ld-scripts/provide-2.s vendor/binutils/dist/ld/testsuite/ld-scripts/provide-2.t vendor/binutils/dist/ld/testsuite/ld-scripts/provide-3.d vendor/binutils/dist/ld/testsuite/ld-scripts/provide-3.s vendor/binutils/dist/ld/testsuite/ld-scripts/provide-3.t vendor/binutils/dist/ld/testsuite/ld-scripts/provide.exp vendor/binutils/dist/ld/testsuite/ld-scripts/script.exp vendor/binutils/dist/ld/testsuite/ld-scripts/script.s vendor/binutils/dist/ld/testsuite/ld-scripts/script.t vendor/binutils/dist/ld/testsuite/ld-scripts/scriptm.t vendor/binutils/dist/ld/testsuite/ld-scripts/size-1.d vendor/binutils/dist/ld/testsuite/ld-scripts/size-1.s vendor/binutils/dist/ld/testsuite/ld-scripts/size-1.t vendor/binutils/dist/ld/testsuite/ld-scripts/size-2.d vendor/binutils/dist/ld/testsuite/ld-scripts/size-2.s vendor/binutils/dist/ld/testsuite/ld-scripts/size-2.t vendor/binutils/dist/ld/testsuite/ld-scripts/size.exp vendor/binutils/dist/ld/testsuite/ld-scripts/sizeof.exp vendor/binutils/dist/ld/testsuite/ld-scripts/sizeof.s vendor/binutils/dist/ld/testsuite/ld-scripts/sizeof.t vendor/binutils/dist/ld/testsuite/ld-scripts/weak.exp vendor/binutils/dist/ld/testsuite/ld-scripts/weak.t vendor/binutils/dist/ld/testsuite/ld-scripts/weak1.s vendor/binutils/dist/ld/testsuite/ld-scripts/weak2.s vendor/binutils/dist/ld/testsuite/ld-selective/ vendor/binutils/dist/ld/testsuite/ld-selective/1.c vendor/binutils/dist/ld/testsuite/ld-selective/2.c vendor/binutils/dist/ld/testsuite/ld-selective/3.cc vendor/binutils/dist/ld/testsuite/ld-selective/4.cc vendor/binutils/dist/ld/testsuite/ld-selective/5.cc vendor/binutils/dist/ld/testsuite/ld-selective/keepdot.d vendor/binutils/dist/ld/testsuite/ld-selective/keepdot.ld vendor/binutils/dist/ld/testsuite/ld-selective/keepdot.s vendor/binutils/dist/ld/testsuite/ld-selective/keepdot0.d vendor/binutils/dist/ld/testsuite/ld-selective/keepdot0.ld vendor/binutils/dist/ld/testsuite/ld-selective/sel-dump.exp vendor/binutils/dist/ld/testsuite/ld-selective/selective.exp vendor/binutils/dist/ld/testsuite/ld-sh/ vendor/binutils/dist/ld/testsuite/ld-sh/ld-r-1.d vendor/binutils/dist/ld/testsuite/ld-sh/ldr1.s vendor/binutils/dist/ld/testsuite/ld-sh/ldr2.s vendor/binutils/dist/ld/testsuite/ld-sh/rd-sh.exp vendor/binutils/dist/ld/testsuite/ld-sh/refdbg-0-dso.d vendor/binutils/dist/ld/testsuite/ld-sh/refdbg-1.d vendor/binutils/dist/ld/testsuite/ld-sh/refdbg.s vendor/binutils/dist/ld/testsuite/ld-sh/refdbglib.s vendor/binutils/dist/ld/testsuite/ld-sh/sh.exp vendor/binutils/dist/ld/testsuite/ld-sh/sh1.s vendor/binutils/dist/ld/testsuite/ld-sh/sh2.c vendor/binutils/dist/ld/testsuite/ld-sh/sh64/ vendor/binutils/dist/ld/testsuite/ld-sh/sh64/abi32.sd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/abi32.xd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/abi64.sd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/abi64.xd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/abixx-noexp.sd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/cmpct1.sd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/cmpct1.xd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crange-1.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crange-2a.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crange-2b.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crange-2c.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crange-2d.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crange-2e.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crange-2f.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crange-2g.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crange-2h.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crange-2i.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crange1.rd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crange2.rd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crange3-media.rd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crange3.dd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crange3.rd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crangerel1.rd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crangerel2.rd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/dlsection-1.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/dlsection.sd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/endian.dbd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/endian.dld vendor/binutils/dist/ld/testsuite/ld-sh/sh64/endian.ld vendor/binutils/dist/ld/testsuite/ld-sh/sh64/endian.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/endian.sbd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/endian.sld vendor/binutils/dist/ld/testsuite/ld-sh/sh64/gotplt.d vendor/binutils/dist/ld/testsuite/ld-sh/sh64/gotplt.map vendor/binutils/dist/ld/testsuite/ld-sh/sh64/gotplt.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/init-cmpct.d vendor/binutils/dist/ld/testsuite/ld-sh/sh64/init-media.d vendor/binutils/dist/ld/testsuite/ld-sh/sh64/init.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/init64.d vendor/binutils/dist/ld/testsuite/ld-sh/sh64/mix1-noexp.sd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/mix1.sd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/mix1.xd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/mix2-noexp.sd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/mix2.sd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/mix2.xd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/rd-sh64.exp vendor/binutils/dist/ld/testsuite/ld-sh/sh64/rel-1.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/rel-2.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/rel32.xd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/rel64.xd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/relax.exp vendor/binutils/dist/ld/testsuite/ld-sh/sh64/relax1.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/relax2.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/relax3.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/relax4.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/reldl-1.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/reldl-2.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/reldl32.rd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/reldl64.rd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/relfail.exp vendor/binutils/dist/ld/testsuite/ld-sh/sh64/relfail.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/sh64-1.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/sh64-2.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/sh64.exp vendor/binutils/dist/ld/testsuite/ld-sh/sh64/shcmp-1.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/shdl-1.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/shdl-2.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/shdl32.xd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/shdl64.sd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/shdl64.xd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/shmix-1.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/shmix-2.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/shmix-3.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/stobin-0-dso.d vendor/binutils/dist/ld/testsuite/ld-sh/sh64/stobin-1.d vendor/binutils/dist/ld/testsuite/ld-sh/sh64/stobin.s vendor/binutils/dist/ld/testsuite/ld-sh/sh64/stolib.s vendor/binutils/dist/ld/testsuite/ld-sh/shared-1.d vendor/binutils/dist/ld/testsuite/ld-sh/shared-2.d vendor/binutils/dist/ld/testsuite/ld-sh/start.s vendor/binutils/dist/ld/testsuite/ld-sh/sub2l-1.d vendor/binutils/dist/ld/testsuite/ld-sh/sub2l.s vendor/binutils/dist/ld/testsuite/ld-sh/textrel1.s vendor/binutils/dist/ld/testsuite/ld-sh/textrel2.s vendor/binutils/dist/ld/testsuite/ld-sh/tlsbin-0-dso.d vendor/binutils/dist/ld/testsuite/ld-sh/tlsbin-1.d vendor/binutils/dist/ld/testsuite/ld-sh/tlsbin-2.d vendor/binutils/dist/ld/testsuite/ld-sh/tlsbin-3.d vendor/binutils/dist/ld/testsuite/ld-sh/tlsbin-4.d vendor/binutils/dist/ld/testsuite/ld-sh/tlsbin.s vendor/binutils/dist/ld/testsuite/ld-sh/tlsbinpic.s vendor/binutils/dist/ld/testsuite/ld-sh/tlslib.s vendor/binutils/dist/ld/testsuite/ld-sh/tlspic-1.d vendor/binutils/dist/ld/testsuite/ld-sh/tlspic-2.d vendor/binutils/dist/ld/testsuite/ld-sh/tlspic-3.d vendor/binutils/dist/ld/testsuite/ld-sh/tlspic-4.d vendor/binutils/dist/ld/testsuite/ld-sh/tlspic1.s vendor/binutils/dist/ld/testsuite/ld-sh/tlspic2.s vendor/binutils/dist/ld/testsuite/ld-sh/tlstpoff-1.d vendor/binutils/dist/ld/testsuite/ld-sh/tlstpoff-2.d vendor/binutils/dist/ld/testsuite/ld-sh/tlstpoff1.s vendor/binutils/dist/ld/testsuite/ld-sh/tlstpoff2.s vendor/binutils/dist/ld/testsuite/ld-sh/weak1.d vendor/binutils/dist/ld/testsuite/ld-sh/weak1.s vendor/binutils/dist/ld/testsuite/ld-shared/ vendor/binutils/dist/ld/testsuite/ld-shared/elf-offset.ld vendor/binutils/dist/ld/testsuite/ld-shared/main.c vendor/binutils/dist/ld/testsuite/ld-shared/sh1.c vendor/binutils/dist/ld/testsuite/ld-shared/sh2.c vendor/binutils/dist/ld/testsuite/ld-shared/shared.dat vendor/binutils/dist/ld/testsuite/ld-shared/shared.exp vendor/binutils/dist/ld/testsuite/ld-shared/sun4.dat vendor/binutils/dist/ld/testsuite/ld-shared/symbolic.dat vendor/binutils/dist/ld/testsuite/ld-shared/xcoff.dat vendor/binutils/dist/ld/testsuite/ld-sparc/ vendor/binutils/dist/ld/testsuite/ld-sparc/sparc.exp vendor/binutils/dist/ld/testsuite/ld-sparc/tlsg32.s vendor/binutils/dist/ld/testsuite/ld-sparc/tlsg32.sd vendor/binutils/dist/ld/testsuite/ld-sparc/tlsg64.s vendor/binutils/dist/ld/testsuite/ld-sparc/tlsg64.sd vendor/binutils/dist/ld/testsuite/ld-sparc/tlslib.s vendor/binutils/dist/ld/testsuite/ld-sparc/tlsnopic.s vendor/binutils/dist/ld/testsuite/ld-sparc/tlspic.s vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunbin32.dd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunbin32.rd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunbin32.s vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunbin32.sd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunbin32.td vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunbin64.dd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunbin64.rd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunbin64.s vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunbin64.sd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunbin64.td vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunbinpic32.s vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunbinpic64.s vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunnopic32.dd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunnopic32.rd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunnopic32.s vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunnopic32.sd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunnopic64.dd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunnopic64.rd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunnopic64.s vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunnopic64.sd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunpic32.dd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunpic32.rd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunpic32.s vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunpic32.sd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunpic32.td vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunpic64.dd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunpic64.rd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunpic64.s vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunpic64.sd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunpic64.td vendor/binutils/dist/ld/testsuite/ld-srec/ vendor/binutils/dist/ld/testsuite/ld-srec/sr1.c vendor/binutils/dist/ld/testsuite/ld-srec/sr2.c vendor/binutils/dist/ld/testsuite/ld-srec/sr3.cc vendor/binutils/dist/ld/testsuite/ld-srec/srec.exp vendor/binutils/dist/ld/testsuite/ld-undefined/ vendor/binutils/dist/ld/testsuite/ld-undefined/undefined.c vendor/binutils/dist/ld/testsuite/ld-undefined/undefined.exp vendor/binutils/dist/ld/testsuite/ld-undefined/weak-undef.exp vendor/binutils/dist/ld/testsuite/ld-undefined/weak-undef.s vendor/binutils/dist/ld/testsuite/ld-undefined/weak-undef.t vendor/binutils/dist/ld/testsuite/ld-versados/ vendor/binutils/dist/ld/testsuite/ld-versados/t1-1.ro (contents, props changed) vendor/binutils/dist/ld/testsuite/ld-versados/t1-2.ro (contents, props changed) vendor/binutils/dist/ld/testsuite/ld-versados/t1.ld vendor/binutils/dist/ld/testsuite/ld-versados/t1.ook vendor/binutils/dist/ld/testsuite/ld-versados/t2-1.ro (contents, props changed) vendor/binutils/dist/ld/testsuite/ld-versados/t2-2.ro (contents, props changed) vendor/binutils/dist/ld/testsuite/ld-versados/t2-3.ro (contents, props changed) vendor/binutils/dist/ld/testsuite/ld-versados/t2.ld vendor/binutils/dist/ld/testsuite/ld-versados/t2.ook vendor/binutils/dist/ld/testsuite/ld-versados/versados.exp vendor/binutils/dist/ld/testsuite/ld-x86-64/ vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsbin.dd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsbin.rd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsbin.s vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsbin.sd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsbin.td vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsbinpic.s vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsg.s vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsg.sd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlslib.s vendor/binutils/dist/ld/testsuite/ld-x86-64/tlspic.dd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlspic.rd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlspic.sd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlspic.td vendor/binutils/dist/ld/testsuite/ld-x86-64/tlspic1.s vendor/binutils/dist/ld/testsuite/ld-x86-64/tlspic2.s vendor/binutils/dist/ld/testsuite/ld-x86-64/x86-64.exp vendor/binutils/dist/ld/testsuite/ld-xstormy16/ vendor/binutils/dist/ld/testsuite/ld-xstormy16/external.s vendor/binutils/dist/ld/testsuite/ld-xstormy16/pcrel.d vendor/binutils/dist/ld/testsuite/ld-xstormy16/pcrel.s vendor/binutils/dist/ld/testsuite/ld-xstormy16/xstormy16.exp vendor/binutils/dist/ld/testsuite/ld-xtensa/ vendor/binutils/dist/ld/testsuite/ld-xtensa/coalesce.exp vendor/binutils/dist/ld/testsuite/ld-xtensa/coalesce.t vendor/binutils/dist/ld/testsuite/ld-xtensa/coalesce1.s vendor/binutils/dist/ld/testsuite/ld-xtensa/coalesce2.s vendor/binutils/dist/ld/testsuite/ld-xtensa/lcall.exp vendor/binutils/dist/ld/testsuite/ld-xtensa/lcall.t vendor/binutils/dist/ld/testsuite/ld-xtensa/lcall1.s vendor/binutils/dist/ld/testsuite/ld-xtensa/lcall2.s vendor/binutils/dist/ld/testsuite/lib/ vendor/binutils/dist/ld/testsuite/lib/ld-lib.exp vendor/binutils/dist/libiberty/COPYING.LIB vendor/binutils/dist/libiberty/config.h-vms vendor/binutils/dist/libiberty/config/mh-aix vendor/binutils/dist/libiberty/config/mh-windows vendor/binutils/dist/libiberty/configure.ac vendor/binutils/dist/libiberty/makefile.vms vendor/binutils/dist/libiberty/mempcpy.c vendor/binutils/dist/libiberty/mpw-config.in vendor/binutils/dist/libiberty/mpw-make.sed vendor/binutils/dist/libiberty/mpw.c vendor/binutils/dist/libiberty/msdos.c vendor/binutils/dist/libiberty/pex-common.h vendor/binutils/dist/libiberty/pex-djgpp.c vendor/binutils/dist/libiberty/pex-mpw.c vendor/binutils/dist/libiberty/pex-msdos.c vendor/binutils/dist/libiberty/pex-os2.c vendor/binutils/dist/libiberty/pex-unix.c vendor/binutils/dist/libiberty/pex-win32.c vendor/binutils/dist/libiberty/pexecute.txh vendor/binutils/dist/libiberty/snprintf.c vendor/binutils/dist/libiberty/stpcpy.c vendor/binutils/dist/libiberty/stpncpy.c vendor/binutils/dist/libiberty/testsuite/ vendor/binutils/dist/libiberty/testsuite/Makefile.in vendor/binutils/dist/libiberty/testsuite/demangle-expected vendor/binutils/dist/libiberty/testsuite/test-demangle.c vendor/binutils/dist/libiberty/vmsbuild.com vendor/binutils/dist/libiberty/vsnprintf.c vendor/binutils/dist/makefile.vms vendor/binutils/dist/mkdep (contents, props changed) vendor/binutils/dist/opcodes/a29k-dis.c vendor/binutils/dist/opcodes/avr-dis.c vendor/binutils/dist/opcodes/cris-dis.c vendor/binutils/dist/opcodes/cris-opc.c vendor/binutils/dist/opcodes/d10v-dis.c vendor/binutils/dist/opcodes/d10v-opc.c vendor/binutils/dist/opcodes/d30v-dis.c vendor/binutils/dist/opcodes/d30v-opc.c vendor/binutils/dist/opcodes/dlx-dis.c vendor/binutils/dist/opcodes/fr30-asm.c vendor/binutils/dist/opcodes/fr30-desc.c vendor/binutils/dist/opcodes/fr30-desc.h vendor/binutils/dist/opcodes/fr30-dis.c vendor/binutils/dist/opcodes/fr30-ibld.c vendor/binutils/dist/opcodes/fr30-opc.c vendor/binutils/dist/opcodes/fr30-opc.h vendor/binutils/dist/opcodes/frv-asm.c vendor/binutils/dist/opcodes/frv-desc.c vendor/binutils/dist/opcodes/frv-desc.h vendor/binutils/dist/opcodes/frv-dis.c vendor/binutils/dist/opcodes/frv-ibld.c vendor/binutils/dist/opcodes/frv-opc.c vendor/binutils/dist/opcodes/frv-opc.h vendor/binutils/dist/opcodes/h8300-dis.c vendor/binutils/dist/opcodes/h8500-dis.c vendor/binutils/dist/opcodes/h8500-opc.h vendor/binutils/dist/opcodes/hppa-dis.c vendor/binutils/dist/opcodes/i370-dis.c vendor/binutils/dist/opcodes/i370-opc.c vendor/binutils/dist/opcodes/i860-dis.c vendor/binutils/dist/opcodes/i960-dis.c vendor/binutils/dist/opcodes/ip2k-asm.c vendor/binutils/dist/opcodes/ip2k-desc.c vendor/binutils/dist/opcodes/ip2k-desc.h vendor/binutils/dist/opcodes/ip2k-dis.c vendor/binutils/dist/opcodes/ip2k-ibld.c vendor/binutils/dist/opcodes/ip2k-opc.c vendor/binutils/dist/opcodes/ip2k-opc.h vendor/binutils/dist/opcodes/iq2000-asm.c vendor/binutils/dist/opcodes/iq2000-desc.c vendor/binutils/dist/opcodes/iq2000-desc.h vendor/binutils/dist/opcodes/iq2000-dis.c vendor/binutils/dist/opcodes/iq2000-ibld.c vendor/binutils/dist/opcodes/iq2000-opc.c vendor/binutils/dist/opcodes/iq2000-opc.h vendor/binutils/dist/opcodes/m10200-dis.c vendor/binutils/dist/opcodes/m10200-opc.c vendor/binutils/dist/opcodes/m10300-dis.c vendor/binutils/dist/opcodes/m10300-opc.c vendor/binutils/dist/opcodes/m32r-asm.c vendor/binutils/dist/opcodes/m32r-desc.c vendor/binutils/dist/opcodes/m32r-desc.h vendor/binutils/dist/opcodes/m32r-dis.c vendor/binutils/dist/opcodes/m32r-ibld.c vendor/binutils/dist/opcodes/m32r-opc.c vendor/binutils/dist/opcodes/m32r-opc.h vendor/binutils/dist/opcodes/m32r-opinst.c vendor/binutils/dist/opcodes/m68hc11-dis.c vendor/binutils/dist/opcodes/m68hc11-opc.c vendor/binutils/dist/opcodes/m68k-dis.c vendor/binutils/dist/opcodes/m68k-opc.c vendor/binutils/dist/opcodes/m88k-dis.c vendor/binutils/dist/opcodes/makefile.vms vendor/binutils/dist/opcodes/mcore-dis.c vendor/binutils/dist/opcodes/mcore-opc.h vendor/binutils/dist/opcodes/mmix-dis.c vendor/binutils/dist/opcodes/mmix-opc.c vendor/binutils/dist/opcodes/mpw-config.in vendor/binutils/dist/opcodes/mpw-make.sed vendor/binutils/dist/opcodes/msp430-dis.c vendor/binutils/dist/opcodes/ns32k-dis.c vendor/binutils/dist/opcodes/openrisc-asm.c vendor/binutils/dist/opcodes/openrisc-desc.c vendor/binutils/dist/opcodes/openrisc-desc.h vendor/binutils/dist/opcodes/openrisc-dis.c vendor/binutils/dist/opcodes/openrisc-ibld.c vendor/binutils/dist/opcodes/openrisc-opc.c vendor/binutils/dist/opcodes/openrisc-opc.h vendor/binutils/dist/opcodes/or32-dis.c vendor/binutils/dist/opcodes/or32-opc.c vendor/binutils/dist/opcodes/pdp11-dis.c vendor/binutils/dist/opcodes/pdp11-opc.c vendor/binutils/dist/opcodes/pj-dis.c vendor/binutils/dist/opcodes/pj-opc.c vendor/binutils/dist/opcodes/po/.cvsignore vendor/binutils/dist/opcodes/po/da.gmo (contents, props changed) vendor/binutils/dist/opcodes/po/da.po vendor/binutils/dist/opcodes/po/de.gmo (contents, props changed) vendor/binutils/dist/opcodes/po/de.po vendor/binutils/dist/opcodes/po/es.gmo (contents, props changed) vendor/binutils/dist/opcodes/po/es.po vendor/binutils/dist/opcodes/po/fr.gmo (contents, props changed) vendor/binutils/dist/opcodes/po/fr.po vendor/binutils/dist/opcodes/po/id.gmo (contents, props changed) vendor/binutils/dist/opcodes/po/id.po vendor/binutils/dist/opcodes/po/nl.gmo (contents, props changed) vendor/binutils/dist/opcodes/po/nl.po vendor/binutils/dist/opcodes/po/pt_BR.gmo (contents, props changed) vendor/binutils/dist/opcodes/po/pt_BR.po vendor/binutils/dist/opcodes/po/ro.gmo (contents, props changed) vendor/binutils/dist/opcodes/po/ro.po vendor/binutils/dist/opcodes/po/sv.gmo (contents, props changed) vendor/binutils/dist/opcodes/po/sv.po vendor/binutils/dist/opcodes/po/tr.gmo (contents, props changed) vendor/binutils/dist/opcodes/po/tr.po vendor/binutils/dist/opcodes/sh64-dis.c vendor/binutils/dist/opcodes/sh64-opc.c vendor/binutils/dist/opcodes/sh64-opc.h vendor/binutils/dist/opcodes/tic30-dis.c vendor/binutils/dist/opcodes/tic4x-dis.c vendor/binutils/dist/opcodes/tic54x-dis.c vendor/binutils/dist/opcodes/tic54x-opc.c vendor/binutils/dist/opcodes/tic80-dis.c vendor/binutils/dist/opcodes/tic80-opc.c vendor/binutils/dist/opcodes/v850-dis.c vendor/binutils/dist/opcodes/v850-opc.c vendor/binutils/dist/opcodes/vax-dis.c vendor/binutils/dist/opcodes/w65-dis.c vendor/binutils/dist/opcodes/w65-opc.h vendor/binutils/dist/opcodes/xstormy16-asm.c vendor/binutils/dist/opcodes/xstormy16-desc.c vendor/binutils/dist/opcodes/xstormy16-desc.h vendor/binutils/dist/opcodes/xstormy16-dis.c vendor/binutils/dist/opcodes/xstormy16-ibld.c vendor/binutils/dist/opcodes/xstormy16-opc.c vendor/binutils/dist/opcodes/xstormy16-opc.h vendor/binutils/dist/opcodes/xtensa-dis.c vendor/binutils/dist/opcodes/z8k-dis.c vendor/binutils/dist/opcodes/z8k-opc.h vendor/binutils/dist/opcodes/z8kgen.c vendor/binutils/dist/setup.com vendor/binutils/dist/src-release vendor/binutils/dist/texinfo/ vendor/binutils/dist/texinfo/texinfo.tex Deleted: vendor/binutils/dist/bfd/doc/bfd.texi vendor/binutils/dist/bfd/elf32-i386-fbsd.c vendor/binutils/dist/bfd/elf64-alpha-fbsd.c vendor/binutils/dist/bfd/elflink.h vendor/binutils/dist/bfd/po/POTFILES.in vendor/binutils/dist/binutils/acconfig.h vendor/binutils/dist/binutils/addr2line.1 vendor/binutils/dist/binutils/ar.1 vendor/binutils/dist/binutils/binutils.texi vendor/binutils/dist/binutils/config.texi vendor/binutils/dist/binutils/cxxfilt.man vendor/binutils/dist/binutils/dyn-string.c vendor/binutils/dist/binutils/dyn-string.h vendor/binutils/dist/binutils/nm.1 vendor/binutils/dist/binutils/objcopy.1 vendor/binutils/dist/binutils/objdump.1 vendor/binutils/dist/binutils/ranlib.1 vendor/binutils/dist/binutils/readelf.1 vendor/binutils/dist/binutils/size.1 vendor/binutils/dist/binutils/strings.1 vendor/binutils/dist/binutils/strip.1 vendor/binutils/dist/config/mh-openedition vendor/binutils/dist/config/mh-sysv vendor/binutils/dist/config/mt-armpic vendor/binutils/dist/config/mt-elfalphapic vendor/binutils/dist/config/mt-ia64pic vendor/binutils/dist/config/mt-papic vendor/binutils/dist/config/mt-ppcpic vendor/binutils/dist/config/mt-s390pic vendor/binutils/dist/config/mt-sparcpic vendor/binutils/dist/config/mt-x86pic vendor/binutils/dist/etc/cfg-paper.texi vendor/binutils/dist/etc/configure.man vendor/binutils/dist/gas/acconfig.h vendor/binutils/dist/gas/conf.in vendor/binutils/dist/gas/config/i386coff.mt vendor/binutils/dist/gas/config/obj-generic.c vendor/binutils/dist/gas/config/obj-generic.h vendor/binutils/dist/gas/config/sco5.mt vendor/binutils/dist/gas/config/te-multi.h vendor/binutils/dist/gas/doc/gasp.texi vendor/binutils/dist/gas/gasp.c vendor/binutils/dist/include/callback.h vendor/binutils/dist/include/elf/arm-oabi.h vendor/binutils/dist/include/elf/po/ vendor/binutils/dist/include/regs/ vendor/binutils/dist/include/remote-sim.h vendor/binutils/dist/include/wait.h vendor/binutils/dist/install.sh vendor/binutils/dist/ld/acconfig.h vendor/binutils/dist/ld/configdoc.texi vendor/binutils/dist/ld/emulparams/armelf_linux26.sh vendor/binutils/dist/ld/emultempl/stringify.sed vendor/binutils/dist/ld/scripttempl/elfppc.sc vendor/binutils/dist/libiberty/alloca-botch.h vendor/binutils/dist/libiberty/alloca-conf.h vendor/binutils/dist/libiberty/alloca-norm.h vendor/binutils/dist/libiberty/config/mh-sysv vendor/binutils/dist/libiberty/config/mh-sysv4 vendor/binutils/dist/libiberty/config/mt-mingw32 vendor/binutils/dist/libiberty/configure.in vendor/binutils/dist/libiberty/dummy.c vendor/binutils/dist/libiberty/functions.def vendor/binutils/dist/libiberty/pexecute.c vendor/binutils/dist/md5.sum vendor/binutils/dist/opcodes/acconfig.h Modified: vendor/binutils/dist/bfd/elf64-sparc.c vendor/binutils/dist/binutils/defparse.c vendor/binutils/dist/binutils/defparse.h vendor/binutils/dist/binutils/defparse.y vendor/binutils/dist/binutils/rclex.c vendor/binutils/dist/binutils/rcparse.c vendor/binutils/dist/binutils/rcparse.y vendor/binutils/dist/binutils/sysinfo.y vendor/binutils/dist/binutils/syslex.l vendor/binutils/dist/config/ChangeLog vendor/binutils/dist/config/acinclude.m4 vendor/binutils/dist/config/mh-cxux vendor/binutils/dist/config/mh-necv4 vendor/binutils/dist/config/mh-sco vendor/binutils/dist/config/mh-solaris vendor/binutils/dist/config/mh-sysv4 vendor/binutils/dist/config/mh-sysv5 vendor/binutils/dist/config/mt-v810 vendor/binutils/dist/etc/ChangeLog vendor/binutils/dist/etc/Makefile.in vendor/binutils/dist/etc/configure.texi vendor/binutils/dist/gas/as.h vendor/binutils/dist/gas/config/tc-sh.c vendor/binutils/dist/gas/config/tc-sh.h vendor/binutils/dist/gas/config/tc-tic30.c vendor/binutils/dist/gas/config/tc-tic30.h vendor/binutils/dist/gas/config/tc-v850.c vendor/binutils/dist/gas/config/tc-v850.h vendor/binutils/dist/gas/config/tc-z8k.c vendor/binutils/dist/gas/config/tc-z8k.h vendor/binutils/dist/gas/doc/c-v850.texi vendor/binutils/dist/gas/doc/c-z8k.texi vendor/binutils/dist/gas/itbl-parse.y vendor/binutils/dist/gas/tc.h vendor/binutils/dist/gprof/po/Make-in vendor/binutils/dist/gprof/po/gprof.pot vendor/binutils/dist/ld/po/Make-in vendor/binutils/dist/ld/po/POTFILES.in vendor/binutils/dist/ld/po/ld.pot vendor/binutils/dist/ld/scripttempl/v850.sc vendor/binutils/dist/libiberty/acconfig.h vendor/binutils/dist/libiberty/cp-demangle.c vendor/binutils/dist/opcodes/sparc-opc.c Added: vendor/binutils/dist/.cvsignore ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/binutils/dist/.cvsignore Sun Oct 17 21:56:26 2010 (r213996) @@ -0,0 +1,32 @@ +*-all +*-co +*-dirs +*-done +*-install-info +*-src +*-stamp-* +*-tagged +blockit +cfg-paper.info +config.status +configure.aux +configure.cp +configure.cps +configure.dvi +configure.fn +configure.fns +configure.ky +configure.kys +configure.log +configure.pg +configure.pgs +configure.toc +configure.tp +configure.tps +configure.vr +configure.vrs +dir.info +Makefile +lost+found +update.out +update.sourceware Added: vendor/binutils/dist/COPYING ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/binutils/dist/COPYING Sun Oct 17 21:56:26 2010 (r213996) @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. Added: vendor/binutils/dist/COPYING.LIB ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/binutils/dist/COPYING.LIB Sun Oct 17 21:56:26 2010 (r213996) @@ -0,0 +1,482 @@ + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! Added: vendor/binutils/dist/COPYING.LIBGLOSS ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/binutils/dist/COPYING.LIBGLOSS Sun Oct 17 21:56:26 2010 (r213996) @@ -0,0 +1,297 @@ +The libgloss subdirectory is a collection of software from several sources. +Each have their own copyrights embedded in each file that they concern. + +(1) University of California, Berkeley + +[1a] + +Copyright (c) 1990 The Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms are permitted +provided that the above copyright notice and this paragraph are +duplicated in all such forms and that any documentation, +and other materials related to such distribution and use +acknowledge that the software was developed +by the University of California, Berkeley. The name of the +University may not be used to endorse or promote products derived +from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + +[1b] + +Copyright (c) 1991, 2000 The Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +[1c] + +Copyright (c) 1991, 1998, 2001 The Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. [rescinded 22 July 1999] +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +------------------------------------------------------------- + Please note that in some of the above alternate licenses, there is a + statement regarding that acknowledgement must be made in any + advertising materials for products using the code. This restriction + no longer applies due to the following license change: + + ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change + + In some cases the defunct clause has been removed in modified newlib code and + in some cases, the clause has been left as-is. +------------------------------------------------------------- + +(2) DJ Delorie + +Copyright (C) 1993 DJ Delorie +All rights reserved. + +Redistribution and use in source and binary forms is permitted +provided that the above copyright notice and following paragraph are +duplicated in all such forms. + +This file is distributed WITHOUT ANY WARRANTY; without even the implied +warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +(3) GPL (fr30 directory only) + +Copyright (C) 1998 Free Software Foundation, Inc. +Contributed by Cygnus Solutions. + +This file is part of GNU CC. + +GNU CC is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU CC is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU CC; see the file COPYING. If not, write to +the Free Software Foundation, 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. + +(4) Advanced Micro Devices + +Copyright 1989, 1990 Advanced Micro Devices, Inc. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 22:03:06 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 229B3106564A; Sun, 17 Oct 2010 22:03:06 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EAA348FC19; Sun, 17 Oct 2010 22:03:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HM358g047860; Sun, 17 Oct 2010 22:03:05 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HM35aV047859; Sun, 17 Oct 2010 22:03:05 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201010172203.o9HM35aV047859@svn.freebsd.org> From: Dimitry Andric Date: Sun, 17 Oct 2010 22:03:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213997 - vendor/binutils/binutils-2_15-branch-20040523-044032 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 22:03:06 -0000 Author: dim Date: Sun Oct 17 22:03:05 2010 New Revision: 213997 URL: http://svn.freebsd.org/changeset/base/213997 Log: Tag the binutils-2_15-branch from the sourceware CVS repository, exactly as it was on Sun, 23 May 2004 04:40:32 +0000. Corresponds to git commit 242eda977694c559d7d21626702034c13d745597. Added: vendor/binutils/binutils-2_15-branch-20040523-044032/ - copied from r213996, vendor/binutils/dist/ From owner-svn-src-all@FreeBSD.ORG Sun Oct 17 22:10:34 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6E3FF10656C7; Sun, 17 Oct 2010 22:10:34 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 42C268FC16; Sun, 17 Oct 2010 22:10:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9HMAYLl048115; Sun, 17 Oct 2010 22:10:34 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9HMAYOR048113; Sun, 17 Oct 2010 22:10:34 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201010172210.o9HMAYOR048113@svn.freebsd.org> From: Dimitry Andric Date: Sun, 17 Oct 2010 22:10:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org X-SVN-Group: svnadmin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r213998 - svnadmin/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 22:10:34 -0000 Author: dim Date: Sun Oct 17 22:10:33 2010 New Revision: 213998 URL: http://svn.freebsd.org/changeset/base/213998 Log: Back down to normal limit. Modified: svnadmin/conf/sizelimit.conf Modified: svnadmin/conf/sizelimit.conf ============================================================================== --- svnadmin/conf/sizelimit.conf Sun Oct 17 22:03:05 2010 (r213997) +++ svnadmin/conf/sizelimit.conf Sun Oct 17 22:10:33 2010 (r213998) @@ -32,4 +32,3 @@ gonzo kmacy jb jeff -dim From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 03:34:34 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 18ABF1065673; Mon, 18 Oct 2010 03:34:34 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 073DC8FC13; Mon, 18 Oct 2010 03:34:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9I3YXoN064429; Mon, 18 Oct 2010 03:34:33 GMT (envelope-from kevlo@svn.freebsd.org) Received: (from kevlo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9I3YXlg064427; Mon, 18 Oct 2010 03:34:33 GMT (envelope-from kevlo@svn.freebsd.org) Message-Id: <201010180334.o9I3YXlg064427@svn.freebsd.org> From: Kevin Lo Date: Mon, 18 Oct 2010 03:34:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214001 - head/sys/fs/msdosfs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 03:34:34 -0000 Author: kevlo Date: Mon Oct 18 03:34:33 2010 New Revision: 214001 URL: http://svn.freebsd.org/changeset/base/214001 Log: Fix a possible race where the directory dirent is moved to the location that was used by ".." entry. This change seems fixed panic during attempt to access msdosfs data over nfs. Reviewed by: kib MFC after: 1 week Modified: head/sys/fs/msdosfs/msdosfs_lookup.c Modified: head/sys/fs/msdosfs/msdosfs_lookup.c ============================================================================== --- head/sys/fs/msdosfs/msdosfs_lookup.c Sun Oct 17 23:15:36 2010 (r214000) +++ head/sys/fs/msdosfs/msdosfs_lookup.c Mon Oct 18 03:34:33 2010 (r214001) @@ -594,10 +594,15 @@ msdosfs_deget_dotdot(struct vnode *vp, u vfs_unbusy(mp); if (error == 0) *rvp = DETOV(rdp); - vn_lock(vp, ltype | LK_RETRY); + if (*rvp != vp) + vn_lock(vp, ltype | LK_RETRY); if (vp->v_iflag & VI_DOOMED) { - if (error == 0) - vput(*rvp); + if (error == 0) { + if (*rvp == vp) + vunref(*rvp); + else + vput(*rvp); + } error = ENOENT; } return (error); From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 03:59:56 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F37CA106566B; Mon, 18 Oct 2010 03:59:55 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E1A758FC19; Mon, 18 Oct 2010 03:59:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9I3xto6068127; Mon, 18 Oct 2010 03:59:55 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9I3xt8Z068125; Mon, 18 Oct 2010 03:59:55 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201010180359.o9I3xt8Z068125@svn.freebsd.org> From: Edwin Groothuis Date: Mon, 18 Oct 2010 03:59:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214002 - head/usr.bin/uudecode X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 03:59:56 -0000 Author: edwin Date: Mon Oct 18 03:59:55 2010 New Revision: 214002 URL: http://svn.freebsd.org/changeset/base/214002 Log: Stylify of uudecode(1) Part of PR bin/124739. PR: bin/124739 Submitted by: Mark Andrews Modified: head/usr.bin/uudecode/uudecode.c Modified: head/usr.bin/uudecode/uudecode.c ============================================================================== --- head/usr.bin/uudecode/uudecode.c Mon Oct 18 03:34:33 2010 (r214001) +++ head/usr.bin/uudecode/uudecode.c Mon Oct 18 03:59:55 2010 (r214002) @@ -87,7 +87,7 @@ main(int argc, char *argv[]) base64 = 1; while ((ch = getopt(argc, argv, "cimo:prs")) != -1) { - switch(ch) { + switch (ch) { case 'c': if (oflag || rflag) usage(); @@ -125,10 +125,10 @@ main(int argc, char *argv[]) usage(); } } - argc -= optind; - argv += optind; + argc -= optind; + argv += optind; - if (*argv) { + if (*argv != NULL) { rval = 0; do { infp = fopen(infile = *argv, "r"); @@ -184,7 +184,7 @@ decode2(void) void *handle; struct passwd *pw; struct stat st; - char buf[MAXPATHLEN+1]; + char buf[MAXPATHLEN + 1]; base64 = 0; /* search for header line */ @@ -259,7 +259,7 @@ decode2(void) if (pflag || strcmp(outfile, "/dev/stdout") == 0) outfp = stdout; else { - flags = O_WRONLY|O_CREAT|O_EXCL; + flags = O_WRONLY | O_CREAT | O_EXCL; if (lstat(outfile, &st) == 0) { if (iflag) { warnc(EEXIST, "%s: %s", infile, outfile); @@ -305,6 +305,7 @@ decode2(void) static int getline(char *buf, size_t size) { + if (fgets(buf, size, infp) != NULL) return (2); if (rflag) @@ -341,17 +342,19 @@ uu_decode(void) /* for each input line */ for (;;) { switch (getline(buf, sizeof(buf))) { - case 0: return (0); - case 1: return (1); + case 0: + return (0); + case 1: + return (1); } -#define DEC(c) (((c) - ' ') & 077) /* single character decode */ -#define IS_DEC(c) ( (((c) - ' ') >= 0) && (((c) - ' ') <= 077 + 1) ) +#define DEC(c) (((c) - ' ') & 077) /* single character decode */ +#define IS_DEC(c) ( (((c) - ' ') >= 0) && (((c) - ' ') <= 077 + 1) ) #define OUT_OF_RANGE do { \ warnx("%s: %s: character out of range: [%d-%d]", \ infile, outfile, 1 + ' ', 077 + ' ' + 1); \ - return (1); \ + return (1); \ } while (0) /* @@ -364,8 +367,8 @@ uu_decode(void) for (++p; i > 0; p += 4, i -= 3) if (i >= 3) { if (!(IS_DEC(*p) && IS_DEC(*(p + 1)) && - IS_DEC(*(p + 2)) && IS_DEC(*(p + 3)))) - OUT_OF_RANGE; + IS_DEC(*(p + 2)) && IS_DEC(*(p + 3)))) + OUT_OF_RANGE; ch = DEC(p[0]) << 2 | DEC(p[1]) >> 4; putc(ch, outfp); @@ -373,8 +376,7 @@ uu_decode(void) putc(ch, outfp); ch = DEC(p[2]) << 6 | DEC(p[3]); putc(ch, outfp); - } - else { + } else { if (i >= 1) { if (!(IS_DEC(*p) && IS_DEC(*(p + 1)))) OUT_OF_RANGE; @@ -383,25 +385,28 @@ uu_decode(void) } if (i >= 2) { if (!(IS_DEC(*(p + 1)) && - IS_DEC(*(p + 2)))) - OUT_OF_RANGE; + IS_DEC(*(p + 2)))) + OUT_OF_RANGE; ch = DEC(p[1]) << 4 | DEC(p[2]) >> 2; putc(ch, outfp); } if (i >= 3) { if (!(IS_DEC(*(p + 2)) && - IS_DEC(*(p + 3)))) - OUT_OF_RANGE; + IS_DEC(*(p + 3)))) + OUT_OF_RANGE; ch = DEC(p[2]) << 6 | DEC(p[3]); putc(ch, outfp); } } } switch (getline(buf, sizeof(buf))) { - case 0: return (0); - case 1: return (1); - default: return (checkend(buf, "end", "no \"end\" line")); + case 0: + return (0); + case 1: + return (1); + default: + return (checkend(buf, "end", "no \"end\" line")); } } @@ -409,7 +414,7 @@ static int base64_decode(void) { int n; - char inbuf[MAXPATHLEN+1]; + char inbuf[MAXPATHLEN + 1]; unsigned char outbuf[MAXPATHLEN * 4]; for (;;) { @@ -418,21 +423,22 @@ base64_decode(void) case 1: return (1); } n = b64_pton(inbuf, outbuf, sizeof(outbuf)); + if (n < 0) break; fwrite(outbuf, 1, n, outfp); } - return (checkend(inbuf, "====", - "error decoding base64 input stream")); + return (checkend(inbuf, "====", "error decoding base64 input stream")); } static void usage(void) { + (void)fprintf(stderr, -"usage: uudecode [-cimprs] [file ...]\n" -" uudecode [-i] -o output_file [file]\n" -" b64decode [-cimprs] [file ...]\n" -" b64decode [-i] -o output_file [file]\n"); + "usage: uudecode [-cimprs] [file ...]\n" + " uudecode [-i] -o output_file [file]\n" + " b64decode [-cimprs] [file ...]\n" + " b64decode [-i] -o output_file [file]\n"); exit(1); } From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 04:26:33 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 54E16106564A; Mon, 18 Oct 2010 04:26:33 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 42FF48FC13; Mon, 18 Oct 2010 04:26:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9I4QXAC072471; Mon, 18 Oct 2010 04:26:33 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9I4QX4G072469; Mon, 18 Oct 2010 04:26:33 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201010180426.o9I4QX4G072469@svn.freebsd.org> From: Marcel Moolenaar Date: Mon, 18 Oct 2010 04:26:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214003 - head/sys/dev/md X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 04:26:33 -0000 Author: marcel Date: Mon Oct 18 04:26:32 2010 New Revision: 214003 URL: http://svn.freebsd.org/changeset/base/214003 Log: Allow the MDIOCATTACH ioctl operation to originate from within the kernel. To protect against malicious software, we demand that the file name is at a particular location (i.e. appended to the mdio structure) for it to be treated as in-kernel. Modified: head/sys/dev/md/md.c Modified: head/sys/dev/md/md.c ============================================================================== --- head/sys/dev/md/md.c Mon Oct 18 03:59:55 2010 (r214002) +++ head/sys/dev/md/md.c Mon Oct 18 04:26:32 2010 (r214003) @@ -909,18 +909,26 @@ mdcreate_vnode(struct md_s *sc, struct m { struct vattr vattr; struct nameidata nd; + char *fname; int error, flags, vfslocked; - error = copyinstr(mdio->md_file, sc->file, sizeof(sc->file), NULL); - if (error != 0) - return (error); - flags = FREAD|FWRITE; /* - * If the user specified that this is a read only device, unset the - * FWRITE mask before trying to open the backing store. + * Kernel-originated requests must have the filename appended + * to the mdio structure to protect against malicious software. + */ + fname = mdio->md_file; + if ((void *)fname != (void *)(mdio + 1)) { + error = copyinstr(fname, sc->file, sizeof(sc->file), NULL); + if (error != 0) + return (error); + } else + strlcpy(sc->file, fname, sizeof(sc->file)); + + /* + * If the user specified that this is a read only device, don't + * set the FWRITE mask before trying to open the backing store. */ - if ((mdio->md_options & MD_READONLY) != 0) - flags &= ~FWRITE; + flags = FREAD | ((mdio->md_options & MD_READONLY) ? 0 : FWRITE); NDINIT(&nd, LOOKUP, FOLLOW | MPSAFE, UIO_SYSSPACE, sc->file, td); error = vn_open(&nd, &flags, 0, NULL); if (error != 0) From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 04:30:27 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9D22B106566C; Mon, 18 Oct 2010 04:30:27 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 70CC88FC17; Mon, 18 Oct 2010 04:30:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9I4URau073102; Mon, 18 Oct 2010 04:30:27 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9I4URLe073099; Mon, 18 Oct 2010 04:30:27 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201010180430.o9I4URLe073099@svn.freebsd.org> From: Marcel Moolenaar Date: Mon, 18 Oct 2010 04:30:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214004 - in head/sys: kern sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 04:30:27 -0000 Author: marcel Date: Mon Oct 18 04:30:27 2010 New Revision: 214004 URL: http://svn.freebsd.org/changeset/base/214004 Log: Rename boot() to kern_reboot() and make it visible outside of kern_shutdown.c. This makes it easier for emulators and other parts of the kernel to initiate a reboot. Modified: head/sys/kern/kern_shutdown.c head/sys/sys/systm.h Modified: head/sys/kern/kern_shutdown.c ============================================================================== --- head/sys/kern/kern_shutdown.c Mon Oct 18 04:26:32 2010 (r214003) +++ head/sys/kern/kern_shutdown.c Mon Oct 18 04:30:27 2010 (r214004) @@ -133,7 +133,6 @@ static struct dumperinfo dumper; /* our static struct pcb dumppcb; /* Registers. */ static lwpid_t dumptid; /* Thread ID. */ -static void boot(int) __dead2; static void poweroff_wait(void *, int); static void shutdown_halt(void *junk, int howto); static void shutdown_panic(void *junk, int howto); @@ -173,7 +172,7 @@ reboot(struct thread *td, struct reboot_ error = priv_check(td, PRIV_REBOOT); if (error == 0) { mtx_lock(&Giant); - boot(uap->opt); + kern_reboot(uap->opt); mtx_unlock(&Giant); } return (error); @@ -197,7 +196,7 @@ shutdown_nice(int howto) PROC_UNLOCK(initproc); } else { /* No init(8) running, so simply reboot */ - boot(RB_NOSYNC); + kern_reboot(RB_NOSYNC); } return; } @@ -269,8 +268,8 @@ isbufbusy(struct buf *bp) /* * Shutdown the system cleanly to prepare for reboot, halt, or power off. */ -static void -boot(int howto) +void +kern_reboot(int howto) { static int first_buf_printf = 1; @@ -283,7 +282,7 @@ boot(int howto) thread_lock(curthread); sched_bind(curthread, 0); thread_unlock(curthread); - KASSERT(PCPU_GET(cpuid) == 0, ("boot: not running on cpu 0")); + KASSERT(PCPU_GET(cpuid) == 0, ("%s: not running on cpu 0", __func__)); #endif /* We're in the process of rebooting. */ rebooting = 1; @@ -589,7 +588,7 @@ panic(const char *fmt, ...) if (!sync_on_panic) bootopt |= RB_NOSYNC; critical_exit(); - boot(bootopt); + kern_reboot(bootopt); } /* Modified: head/sys/sys/systm.h ============================================================================== --- head/sys/sys/systm.h Mon Oct 18 04:26:32 2010 (r214003) +++ head/sys/sys/systm.h Mon Oct 18 04:30:27 2010 (r214004) @@ -46,7 +46,7 @@ #include /* for people using printf mainly */ extern int cold; /* nonzero if we are doing a cold boot */ -extern int rebooting; /* boot() has been called. */ +extern int rebooting; /* kern_reboot() has been called. */ extern const char *panicstr; /* panic message */ extern char version[]; /* system version */ extern char copyright[]; /* system copyright */ @@ -291,6 +291,7 @@ void cpu_initclocks_ap(void); void usrinfoinit(void); /* Finalize the world */ +void kern_reboot(int) __dead2; void shutdown_nice(int); /* Timeouts */ From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 04:34:42 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EED1A1065674; Mon, 18 Oct 2010 04:34:42 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DD6078FC08; Mon, 18 Oct 2010 04:34:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9I4YgZL073844; Mon, 18 Oct 2010 04:34:42 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9I4Yg04073842; Mon, 18 Oct 2010 04:34:42 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201010180434.o9I4Yg04073842@svn.freebsd.org> From: Marcel Moolenaar Date: Mon, 18 Oct 2010 04:34:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214005 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 04:34:43 -0000 Author: marcel Date: Mon Oct 18 04:34:42 2010 New Revision: 214005 URL: http://svn.freebsd.org/changeset/base/214005 Log: In vfs_filteropt(), only print the errmsg when there's no errmsg mount option. Otherwise errors tend to get printed multiple times. Modified: head/sys/kern/vfs_mount.c Modified: head/sys/kern/vfs_mount.c ============================================================================== --- head/sys/kern/vfs_mount.c Mon Oct 18 04:30:27 2010 (r214004) +++ head/sys/kern/vfs_mount.c Mon Oct 18 04:34:42 2010 (r214005) @@ -1424,15 +1424,17 @@ vfs_filteropt(struct vfsoptlist *opts, c continue; snprintf(errmsg, sizeof(errmsg), "mount option <%s> is unknown", p); - printf("%s\n", errmsg); ret = EINVAL; } if (ret != 0) { TAILQ_FOREACH(opt, opts, link) { if (strcmp(opt->name, "errmsg") == 0) { strncpy((char *)opt->value, errmsg, opt->len); + break; } } + if (opt == NULL) + printf("%s\n", errmsg); } return (ret); } From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 05:01:53 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B08E1106566C; Mon, 18 Oct 2010 05:01:53 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9DA238FC0C; Mon, 18 Oct 2010 05:01:53 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9I51rrJ078389; Mon, 18 Oct 2010 05:01:53 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9I51rfE078387; Mon, 18 Oct 2010 05:01:53 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201010180501.o9I51rfE078387@svn.freebsd.org> From: Marcel Moolenaar Date: Mon, 18 Oct 2010 05:01:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214006 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 05:01:53 -0000 Author: marcel Date: Mon Oct 18 05:01:53 2010 New Revision: 214006 URL: http://svn.freebsd.org/changeset/base/214006 Log: Re-implement the root mount logic using a recursive approach, whereby each root file system (starting with devfs and a synthesized configuration) can contain directives for mounting another file system as root. The old root file system is re-mounted under the new root file system (with /.mount or /mnt as the mount point) to allow access to the underlying file system. The configuration allows for creating vnode-backed memory disks that can subsequently be mounted as root. This allows for an efficient and low- cost way to distribute and boot FreeBSD software images that reside on some storage media. When trying a mount, the kernel will wait for the device in question to arrive. The timeout is configurable and is part of the configuration. This allows arbitrarily complex GEOM configurations to be constructed on the fly. A side-effect of this change is that all root specifications, whether compiled into the kernel or typed at the prompt can contain root mount options. Modified: head/sys/kern/vfs_mountroot.c Modified: head/sys/kern/vfs_mountroot.c ============================================================================== --- head/sys/kern/vfs_mountroot.c Mon Oct 18 04:34:42 2010 (r214005) +++ head/sys/kern/vfs_mountroot.c Mon Oct 18 05:01:53 2010 (r214006) @@ -1,4 +1,5 @@ /*- + * Copyright (c) 2010 Marcel Moolenaar * Copyright (c) 1999-2004 Poul-Henning Kamp * Copyright (c) 1999 Michael Smith * Copyright (c) 1989, 1993 @@ -34,6 +35,8 @@ * SUCH DAMAGE. */ +#include "opt_rootdevname.h" + #include __FBSDID("$FreeBSD$"); @@ -44,6 +47,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -51,6 +55,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -58,25 +63,9 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include -#include - -#include "opt_rootdevname.h" - -#define ROOTNAME "root_device" - -static int vfs_mountroot_ask(void); -static int vfs_mountroot_try(const char *mountfrom, const char *options); - -/* - * The vnode of the system's root (/ in the filesystem, without chroot - * active.) - */ -struct vnode *rootvnode; - /* * The root filesystem is detailed in the kernel environment variable * vfs.root.mountfrom, which is expected to be in the general format @@ -96,21 +85,16 @@ struct vnode *rootvnode; * by nmount() in the kernel. */ +static int parse_mount(char **); +static struct mntarg *parse_mountroot_options(struct mntarg *, const char *); + /* - * The root specifiers we will try if RB_CDROM is specified. + * The vnode of the system's root (/ in the filesystem, without chroot + * active.) */ -static char *cdrom_rootdevnames[] = { - "cd9660:cd0", - "cd9660:acd0", - NULL -}; +struct vnode *rootvnode; -/* legacy find-root code */ -char *rootdevnames[2] = {NULL, NULL}; -#ifndef ROOTDEVNAME -# define ROOTDEVNAME NULL -#endif -static const char *ctrootdevname = ROOTDEVNAME; +char *rootdevnames[2] = {NULL, NULL}; struct root_hold_token { const char *who; @@ -120,8 +104,21 @@ struct root_hold_token { static LIST_HEAD(, root_hold_token) root_holds = LIST_HEAD_INITIALIZER(root_holds); +enum action { + A_CONTINUE, + A_PANIC, + A_REBOOT, + A_RETRY +}; + +static enum action root_mount_onfail = A_CONTINUE; + +static int root_mount_mddev; static int root_mount_complete; +/* By default wait up to 3 seconds for devices to appear. */ +static int root_mount_timeout = 3; + struct root_hold_token * root_mount_hold(const char *identifier) { @@ -151,52 +148,6 @@ root_mount_rel(struct root_hold_token *h free(h, M_DEVBUF); } -static void -root_mount_prepare(void) -{ - struct root_hold_token *h; - struct timeval lastfail; - int curfail = 0; - - for (;;) { - DROP_GIANT(); - g_waitidle(); - PICKUP_GIANT(); - mtx_lock(&mountlist_mtx); - if (LIST_EMPTY(&root_holds)) { - mtx_unlock(&mountlist_mtx); - break; - } - if (ppsratecheck(&lastfail, &curfail, 1)) { - printf("Root mount waiting for:"); - LIST_FOREACH(h, &root_holds, list) - printf(" %s", h->who); - printf("\n"); - } - msleep(&root_holds, &mountlist_mtx, PZERO | PDROP, "roothold", - hz); - } -} - -static void -root_mount_done(void) -{ - - /* Keep prison0's root in sync with the global rootvnode. */ - mtx_lock(&prison0.pr_mtx); - prison0.pr_root = rootvnode; - vref(prison0.pr_root); - mtx_unlock(&prison0.pr_mtx); - /* - * Use a mutex to prevent the wakeup being missed and waiting for - * an extra 1 second sleep. - */ - mtx_lock(&mountlist_mtx); - root_mount_complete = 1; - wakeup(&root_mount_complete); - mtx_unlock(&mountlist_mtx); -} - int root_mounted(void) { @@ -251,26 +202,27 @@ set_rootvnode(void) EVENTHANDLER_INVOKE(mountroot); } -static void -devfs_first(void) +static int +vfs_mountroot_devfs(struct thread *td, struct mount **mpp) { - struct thread *td = curthread; struct vfsoptlist *opts; struct vfsconf *vfsp; - struct mount *mp = NULL; + struct mount *mp; int error; + *mpp = NULL; + vfsp = vfs_byname("devfs"); KASSERT(vfsp != NULL, ("Could not find devfs by name")); if (vfsp == NULL) - return; + return (ENOENT); mp = vfs_mount_alloc(NULLVP, vfsp, "/dev", td->td_ucred); error = VFS_MOUNT(mp); KASSERT(error == 0, ("VFS_MOUNT(devfs) failed %d", error)); if (error) - return; + return (error); opts = malloc(sizeof(struct vfsoptlist), M_MOUNT, M_WAITOK); TAILQ_INIT(opts); @@ -280,170 +232,763 @@ devfs_first(void) TAILQ_INSERT_HEAD(&mountlist, mp, mnt_list); mtx_unlock(&mountlist_mtx); + *mpp = mp; set_rootvnode(); error = kern_symlink(td, "/", "dev", UIO_SYSSPACE); if (error) printf("kern_symlink /dev -> / returns %d\n", error); + + return (error); } -static void -devfs_fixup(struct thread *td) +static int +vfs_mountroot_shuffle(struct thread *td, struct mount *mpdevfs) { struct nameidata nd; - struct vnode *vp, *dvp; - struct mount *mp; + struct mount *mporoot, *mpnroot; + struct vnode *vp, *vporoot, *vpdevfs; + char *fspath; int error; - /* Remove our devfs mount from the mountlist and purge the cache */ + mpnroot = TAILQ_NEXT(mpdevfs, mnt_list); + + /* Shuffle the mountlist. */ mtx_lock(&mountlist_mtx); - mp = TAILQ_FIRST(&mountlist); - TAILQ_REMOVE(&mountlist, mp, mnt_list); + mporoot = TAILQ_FIRST(&mountlist); + TAILQ_REMOVE(&mountlist, mpdevfs, mnt_list); + if (mporoot != mpdevfs) { + TAILQ_REMOVE(&mountlist, mpnroot, mnt_list); + TAILQ_INSERT_HEAD(&mountlist, mpnroot, mnt_list); + } + TAILQ_INSERT_TAIL(&mountlist, mpdevfs, mnt_list); mtx_unlock(&mountlist_mtx); - cache_purgevfs(mp); - VFS_ROOT(mp, LK_EXCLUSIVE, &dvp); - VI_LOCK(dvp); - dvp->v_iflag &= ~VI_MOUNT; - VI_UNLOCK(dvp); - dvp->v_mountedhere = NULL; + cache_purgevfs(mporoot); + if (mporoot != mpdevfs) + cache_purgevfs(mpdevfs); + + VFS_ROOT(mporoot, LK_EXCLUSIVE, &vporoot); + + VI_LOCK(vporoot); + vporoot->v_iflag &= ~VI_MOUNT; + VI_UNLOCK(vporoot); + vporoot->v_mountedhere = NULL; + mporoot->mnt_flag &= ~MNT_ROOTFS; + mporoot->mnt_vnodecovered = NULL; + vput(vporoot); - /* Set up the real rootvnode, and purge the cache */ - TAILQ_FIRST(&mountlist)->mnt_vnodecovered = NULL; + /* Set up the new rootvnode, and purge the cache */ + mpnroot->mnt_vnodecovered = NULL; set_rootvnode(); cache_purgevfs(rootvnode->v_mount); + if (mporoot != mpdevfs) { + /* Remount old root under /.mount or /mnt */ + fspath = "/.mount"; + NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_SYSSPACE, + fspath, td); + error = namei(&nd); + if (error) { + NDFREE(&nd, NDF_ONLY_PNBUF); + fspath = "/mnt"; + NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_SYSSPACE, + fspath, td); + error = namei(&nd); + } + if (!error) { + vp = nd.ni_vp; + error = (vp->v_type == VDIR) ? 0 : ENOTDIR; + if (!error) + error = vinvalbuf(vp, V_SAVE, 0, 0); + if (!error) { + cache_purge(vp); + mporoot->mnt_vnodecovered = vp; + vp->v_mountedhere = mporoot; + strlcpy(mporoot->mnt_stat.f_mntonname, + fspath, MNAMELEN); + VOP_UNLOCK(vp, 0); + } else + vput(vp); + } + NDFREE(&nd, NDF_ONLY_PNBUF); + + if (error && bootverbose) + printf("mountroot: unable to remount previous root " + "under /.mount or /mnt (error %d).\n", error); + } + + /* Remount devfs under /dev */ NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_SYSSPACE, "/dev", td); error = namei(&nd); - if (error) { - printf("Lookup of /dev for devfs, error: %d\n", error); - vput(dvp); - vfs_unbusy(mp); - return; + if (!error) { + vp = nd.ni_vp; + error = (vp->v_type == VDIR) ? 0 : ENOTDIR; + if (!error) + error = vinvalbuf(vp, V_SAVE, 0, 0); + if (!error) { + vpdevfs = mpdevfs->mnt_vnodecovered; + if (vpdevfs != NULL) { + cache_purge(vpdevfs); + vpdevfs->v_mountedhere = NULL; + vrele(vpdevfs); + } + mpdevfs->mnt_vnodecovered = vp; + vp->v_mountedhere = mpdevfs; + VOP_UNLOCK(vp, 0); + } else + vput(vp); } + if (error && bootverbose) + printf("mountroot: unable to remount devfs under /dev " + "(error %d).\n", error); NDFREE(&nd, NDF_ONLY_PNBUF); - vp = nd.ni_vp; - if (vp->v_type != VDIR) { - printf("/dev is not a directory\n"); - vput(dvp); - vput(vp); - vfs_unbusy(mp); - return; + + if (mporoot == mpdevfs) { + vfs_unbusy(mpdevfs); + /* Unlink the no longer needed /dev/dev -> / symlink */ + error = kern_unlink(td, "/dev/dev", UIO_SYSSPACE); + if (error && bootverbose) + printf("mountroot: unable to unlink /dev/dev " + "(error %d)\n", error); } - error = vinvalbuf(vp, V_SAVE, 0, 0); - if (error) { - printf("vinvalbuf() of /dev failed, error: %d\n", error); - vput(dvp); - vput(vp); - vfs_unbusy(mp); - return; + + return (0); +} + +/* + * Configuration parser. + */ + +/* Parser character classes. */ +#define CC_WHITESPACE -1 +#define CC_NONWHITESPACE -2 + +/* Parse errors. */ +#define PE_EOF -1 +#define PE_EOL -2 + +static __inline int +parse_peek(char **conf) +{ + + return (**conf); +} + +static __inline void +parse_poke(char **conf, int c) +{ + + **conf = c; +} + +static __inline void +parse_advance(char **conf) +{ + + (*conf)++; +} + +static __inline int +parse_isspace(int c) +{ + + return ((c == ' ' || c == '\t' || c == '\n') ? 1 : 0); +} + +static int +parse_skipto(char **conf, int mc) +{ + int c, match; + + while (1) { + c = parse_peek(conf); + if (c == 0) + return (PE_EOF); + switch (mc) { + case CC_WHITESPACE: + match = (c == ' ' || c == '\t' || c == '\n') ? 1 : 0; + break; + case CC_NONWHITESPACE: + if (c == '\n') + return (PE_EOL); + match = (c != ' ' && c != '\t') ? 1 : 0; + break; + default: + match = (c == mc) ? 1 : 0; + break; + } + if (match) + break; + parse_advance(conf); } - cache_purge(vp); - mp->mnt_vnodecovered = vp; - vp->v_mountedhere = mp; - mtx_lock(&mountlist_mtx); - TAILQ_INSERT_TAIL(&mountlist, mp, mnt_list); - mtx_unlock(&mountlist_mtx); - VOP_UNLOCK(vp, 0); - vput(dvp); - vfs_unbusy(mp); + return (0); +} + +static int +parse_token(char **conf, char **tok) +{ + char *p; + size_t len; + int error; - /* Unlink the no longer needed /dev/dev -> / symlink */ - error = kern_unlink(td, "/dev/dev", UIO_SYSSPACE); + *tok = NULL; + error = parse_skipto(conf, CC_NONWHITESPACE); if (error) - printf("kern_unlink of /dev/dev failed, error: %d\n", error); + return (error); + p = *conf; + error = parse_skipto(conf, CC_WHITESPACE); + len = *conf - p; + *tok = malloc(len + 1, M_TEMP, M_WAITOK | M_ZERO); + bcopy(p, *tok, len); + return (0); } -void -vfs_mountroot(void) +static void +parse_dir_ask_printenv(const char *var) { - char *cp, *cpt, *options, *tmpdev; - int error, i, asked = 0; + char *val; - options = NULL; + val = getenv(var); + if (val != NULL) { + printf(" %s=%s\n", var, val); + freeenv(val); + } +} - root_mount_prepare(); +static int +parse_dir_ask(char **conf) +{ + char name[80]; + char *mnt; + int error; - devfs_first(); + printf("\nLoader variables:\n"); + parse_dir_ask_printenv("vfs.root.mountfrom"); + parse_dir_ask_printenv("vfs.root.mountfrom.options"); + + printf("\nManual root filesystem specification:\n"); + printf(" : [options]\n"); + printf(" Mount using filesystem \n"); + printf(" and with the specified (optional) option list.\n"); + printf("\n"); + printf(" eg. ufs:/dev/da0s1a\n"); + printf(" zfs:tank\n"); + printf(" cd9660:/dev/acd0 ro\n"); + printf(" (which is equivalent to: "); + printf("mount -t cd9660 -o ro /dev/acd0 /)\n"); + printf("\n"); + printf(" ? List valid disk boot devices\n"); + printf(" . Yield 1 second (for background tasks)\n"); + printf(" Abort manual input\n"); + + again: + printf("\nmountroot> "); + gets(name, sizeof(name), 1); + if (name[0] == '\0') + return (0); + if (name[0] == '?') { + printf("\nList of GEOM managed disk devices:\n "); + g_dev_print(); + goto again; + } + if (name[0] == '.') { + pause("rmask", hz); + goto again; + } + mnt = name; + error = parse_mount(&mnt); + if (error == -1) { + printf("Invalid specification.\n"); + goto again; + } + return (error); +} - /* - * We are booted with instructions to prompt for the root filesystem. - */ - if (boothowto & RB_ASKNAME) { - if (!vfs_mountroot_ask()) - goto mounted; - asked = 1; +static int +parse_dir_md(char **conf) +{ + struct stat sb; + struct thread *td; + struct md_ioctl *mdio; + char *path, *tok; + int error, fd, len; + + td = curthread; + + error = parse_token(conf, &tok); + if (error) + return (error); + + len = strlen(tok); + mdio = malloc(sizeof(*mdio) + len + 1, M_TEMP, M_WAITOK | M_ZERO); + path = (void *)(mdio + 1); + bcopy(tok, path, len); + free(tok, M_TEMP); + + /* Get file status. */ + error = kern_stat(td, path, UIO_SYSSPACE, &sb); + if (error) + goto out; + + /* Open /dev/mdctl so that we can attach/detach. */ + error = kern_open(td, "/dev/" MDCTL_NAME, UIO_SYSSPACE, O_RDWR, 0); + if (error) + goto out; + + fd = td->td_retval[0]; + mdio->md_version = MDIOVERSION; + mdio->md_type = MD_VNODE; + + if (root_mount_mddev != -1) { + mdio->md_unit = root_mount_mddev; + DROP_GIANT(); + error = kern_ioctl(td, fd, MDIOCDETACH, (void *)mdio); + PICKUP_GIANT(); + /* Ignore errors. We don't care. */ + root_mount_mddev = -1; } - options = getenv("vfs.root.mountfrom.options"); + mdio->md_file = (void *)(mdio + 1); + mdio->md_options = MD_AUTOUNIT | MD_READONLY; + mdio->md_mediasize = sb.st_size; + mdio->md_unit = 0; + DROP_GIANT(); + error = kern_ioctl(td, fd, MDIOCATTACH, (void *)mdio); + PICKUP_GIANT(); + if (error) + goto out; - /* - * The root filesystem information is compiled in, and we are - * booted with instructions to use it. - */ - if (ctrootdevname != NULL && (boothowto & RB_DFLTROOT)) { - if (!vfs_mountroot_try(ctrootdevname, options)) - goto mounted; - ctrootdevname = NULL; + if (mdio->md_unit > 9) { + printf("rootmount: too many md units\n"); + mdio->md_file = NULL; + mdio->md_options = 0; + mdio->md_mediasize = 0; + DROP_GIANT(); + error = kern_ioctl(td, fd, MDIOCDETACH, (void *)mdio); + PICKUP_GIANT(); + /* Ignore errors. We don't care. */ + error = ERANGE; + goto out; + } + + root_mount_mddev = mdio->md_unit; + printf(MD_NAME "%u attached to %s\n", root_mount_mddev, mdio->md_file); + + error = kern_close(td, fd); + + out: + free(mdio, M_TEMP); + return (error); +} + +static int +parse_dir_onfail(char **conf) +{ + char *action; + int error; + + error = parse_token(conf, &action); + if (error) + return (error); + + if (!strcmp(action, "continue")) + root_mount_onfail = A_CONTINUE; + else if (!strcmp(action, "panic")) + root_mount_onfail = A_PANIC; + else if (!strcmp(action, "reboot")) + root_mount_onfail = A_REBOOT; + else if (!strcmp(action, "retry")) + root_mount_onfail = A_RETRY; + else { + printf("rootmount: %s: unknown action\n", action); + error = EINVAL; + } + + free(action, M_TEMP); + return (0); +} + +static int +parse_dir_timeout(char **conf) +{ + char *tok, *endtok; + long secs; + int error; + + error = parse_token(conf, &tok); + if (error) + return (error); + + secs = strtol(tok, &endtok, 0); + error = (secs < 0 || *endtok != '\0') ? EINVAL : 0; + if (!error) + root_mount_timeout = secs; + free(tok, M_TEMP); + return (error); +} + +static int +parse_directive(char **conf) +{ + char *dir; + int error; + + error = parse_token(conf, &dir); + if (error) + return (error); + + if (strcmp(dir, ".ask") == 0) + error = parse_dir_ask(conf); + else if (strcmp(dir, ".md") == 0) + error = parse_dir_md(conf); + else if (strcmp(dir, ".onfail") == 0) + error = parse_dir_onfail(conf); + else if (strcmp(dir, ".timeout") == 0) + error = parse_dir_timeout(conf); + else { + printf("mountroot: invalid directive `%s'\n", dir); + /* Ignore the rest of the line. */ + (void)parse_skipto(conf, '\n'); + error = EINVAL; } + free(dir, M_TEMP); + return (error); +} + +static int +parse_mount_dev_present(const char *dev) +{ + struct nameidata nd; + int error; + + NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_SYSSPACE, dev, curthread); + error = namei(&nd); + if (!error) + vput(nd.ni_vp); + NDFREE(&nd, NDF_ONLY_PNBUF); + return (error != 0) ? 0 : 1; +} + +static int +parse_mount(char **conf) +{ + char errmsg[255]; + struct mntarg *ma; + char *dev, *fs, *opts, *tok; + int delay, error, timeout; + + error = parse_token(conf, &tok); + if (error) + return (error); + fs = tok; + error = parse_skipto(&tok, ':'); + if (error) { + free(fs, M_TEMP); + return (error); + } + parse_poke(&tok, '\0'); + parse_advance(&tok); + dev = tok; + + if (root_mount_mddev != -1) { + /* Handle substitution for the md unit number. */ + tok = strstr(dev, "md#"); + if (tok != NULL) + tok[2] = '0' + root_mount_mddev; + } + + /* Parse options. */ + error = parse_token(conf, &tok); + opts = (error == 0) ? tok : NULL; + + printf("Trying to mount root from %s:%s [%s]...\n", fs, dev, + (opts != NULL) ? opts : ""); + + bzero(errmsg, sizeof(errmsg)); + + if (vfs_byname(fs) == NULL) { + strlcpy(errmsg, "unknown file system", sizeof(errmsg)); + error = ENOENT; + goto out; + } + + if (dev[0] != '\0' && !parse_mount_dev_present(dev)) { + printf("mountroot: waiting for device %s ...\n", dev); + delay = hz / 10; + timeout = root_mount_timeout * hz; + do { + pause("rmdev", delay); + timeout -= delay; + } while (timeout > 0 && !parse_mount_dev_present(dev)); + if (timeout <= 0) { + error = ENODEV; + goto out; + } + } + + ma = NULL; + ma = mount_arg(ma, "fstype", fs, -1); + ma = mount_arg(ma, "fspath", "/", -1); + ma = mount_arg(ma, "from", dev, -1); + ma = mount_arg(ma, "errmsg", errmsg, sizeof(errmsg)); + ma = mount_arg(ma, "ro", NULL, 0); + ma = parse_mountroot_options(ma, opts); + error = kernel_mount(ma, MNT_ROOTFS); + + out: + if (error) { + printf("Mounting from %s:%s failed with error %d", + fs, dev, error); + if (errmsg[0] != '\0') + printf(": %s", errmsg); + printf(".\n"); + } + free(fs, M_TEMP); + if (opts != NULL) + free(opts, M_TEMP); + /* kernel_mount can return -1 on error. */ + return ((error < 0) ? EDOOFUS : error); +} + +static int +vfs_mountroot_parse(struct sbuf *sb, struct mount *mpdevfs) +{ + struct mount *mp; + char *conf; + int error; + + root_mount_mddev = -1; + +retry: + conf = sbuf_data(sb); + mp = TAILQ_NEXT(mpdevfs, mnt_list); + error = (mp == NULL) ? 0 : EDOOFUS; + root_mount_onfail = A_CONTINUE; + while (mp == NULL) { + error = parse_skipto(&conf, CC_NONWHITESPACE); + if (error == PE_EOL) { + parse_advance(&conf); + continue; + } + if (error < 0) + break; + switch (parse_peek(&conf)) { + case '#': + error = parse_skipto(&conf, '\n'); + break; + case '.': + error = parse_directive(&conf); + break; + default: + error = parse_mount(&conf); + break; + } + if (error < 0) + break; + /* Ignore any trailing garbage on the line. */ + if (parse_peek(&conf) != '\n') { + printf("mountroot: advancing to next directive...\n"); + (void)parse_skipto(&conf, '\n'); + } + mp = TAILQ_NEXT(mpdevfs, mnt_list); + } + if (mp != NULL) + return (0); /* - * We've been given the generic "use CDROM as root" flag. This is - * necessary because one media may be used in many different - * devices, so we need to search for them. + * We failed to mount (a new) root. */ + switch (root_mount_onfail) { + case A_CONTINUE: + break; + case A_PANIC: + panic("mountroot: unable to (re-)mount root."); + /* NOTREACHED */ + case A_RETRY: + goto retry; + case A_REBOOT: + kern_reboot(RB_NOSYNC); + /* NOTREACHED */ + } + + return (error); +} + +static void +vfs_mountroot_conf0(struct sbuf *sb) +{ + char *s, *tok, *mnt, *opt; + int error; + + sbuf_printf(sb, ".onfail panic\n"); + sbuf_printf(sb, ".timeout %d\n", root_mount_timeout); + if (boothowto & RB_ASKNAME) + sbuf_printf(sb, ".ask\n"); +#ifdef ROOTDEVNAME + if (boothowto & RB_DFLTROOT) + sbuf_printf(sb, "%s\n", ROOTDEVNAME); +#endif if (boothowto & RB_CDROM) { - for (i = 0; cdrom_rootdevnames[i] != NULL; i++) { - if (!vfs_mountroot_try(cdrom_rootdevnames[i], options)) - goto mounted; + sbuf_printf(sb, "cd9660:cd0\n"); + sbuf_printf(sb, ".timeout 0\n"); + sbuf_printf(sb, "cd9660:acd0\n"); + sbuf_printf(sb, ".timeout %d\n", root_mount_timeout); + } + s = getenv("vfs.root.mountfrom"); + if (s != NULL) { + opt = getenv("vfs.root.mountfrom.options"); + tok = s; + error = parse_token(&tok, &mnt); + while (!error) { + sbuf_printf(sb, "%s %s\n", mnt, + (opt != NULL) ? opt : ""); + free(mnt, M_TEMP); + error = parse_token(&tok, &mnt); } + if (opt != NULL) + freeenv(opt); + freeenv(s); } + if (rootdevnames[0] != NULL) + sbuf_printf(sb, "%s\n", rootdevnames[0]); + if (rootdevnames[1] != NULL) + sbuf_printf(sb, "%s\n", rootdevnames[1]); +#ifdef ROOTDEVNAME + if (!(boothowto & RB_DFLTROOT)) + sbuf_printf(sb, "%s\n", ROOTDEVNAME); +#endif + if (!(boothowto & RB_ASKNAME)) + sbuf_printf(sb, ".ask\n"); +} - /* - * Try to use the value read by the loader from /etc/fstab, or - * supplied via some other means. This is the preferred - * mechanism. - */ - cp = getenv("vfs.root.mountfrom"); - if (cp != NULL) { - cpt = cp; - while ((tmpdev = strsep(&cpt, " \t")) != NULL) { - error = vfs_mountroot_try(tmpdev, options); - if (error == 0) { - freeenv(cp); - goto mounted; +static int +vfs_mountroot_readconf(struct thread *td, struct sbuf *sb) +{ + static char buf[128]; + struct nameidata nd; + off_t ofs; + int error, flags; + int len, resid; + int vfslocked; + + NDINIT(&nd, LOOKUP, FOLLOW | MPSAFE, UIO_SYSSPACE, + "/.mount.conf", td); + flags = FREAD; + error = vn_open(&nd, &flags, 0, NULL); + if (error) + return (error); + + vfslocked = NDHASGIANT(&nd); + NDFREE(&nd, NDF_ONLY_PNBUF); + ofs = 0; + len = sizeof(buf) - 1; + while (1) { + error = vn_rdwr(UIO_READ, nd.ni_vp, buf, len, ofs, + UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, + NOCRED, &resid, td); + if (error) + break; + if (resid == len) + break; + buf[len - resid] = 0; + sbuf_printf(sb, "%s", buf); + ofs += len - resid; + } + + VOP_UNLOCK(nd.ni_vp, 0); + vn_close(nd.ni_vp, FREAD, td->td_ucred, td); + VFS_UNLOCK_GIANT(vfslocked); + return (error); +} + +static void +vfs_mountroot_wait(void) +{ + struct root_hold_token *h; + struct timeval lastfail; + int curfail; + + curfail = 0; + while (1) { + DROP_GIANT(); + g_waitidle(); + PICKUP_GIANT(); + mtx_lock(&mountlist_mtx); + if (LIST_EMPTY(&root_holds)) { + mtx_unlock(&mountlist_mtx); + break; + } + if (ppsratecheck(&lastfail, &curfail, 1)) { + printf("Root mount waiting for:"); + LIST_FOREACH(h, &root_holds, list) + printf(" %s", h->who); + printf("\n"); + } + msleep(&root_holds, &mountlist_mtx, PZERO | PDROP, "roothold", + hz); + } +} + +void +vfs_mountroot(void) +{ + struct mount *mp; + struct sbuf *sb; + struct thread *td; + time_t timebase; + int error; + + td = curthread; + + vfs_mountroot_wait(); + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 05:09:23 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6557F106564A; Mon, 18 Oct 2010 05:09:23 +0000 (UTC) (envelope-from davidxu@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 529C28FC1E; Mon, 18 Oct 2010 05:09:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9I59NbG079735; Mon, 18 Oct 2010 05:09:23 GMT (envelope-from davidxu@svn.freebsd.org) Received: (from davidxu@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9I59MQP079728; Mon, 18 Oct 2010 05:09:22 GMT (envelope-from davidxu@svn.freebsd.org) Message-Id: <201010180509.o9I59MQP079728@svn.freebsd.org> From: David Xu Date: Mon, 18 Oct 2010 05:09:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214007 - in head: include lib/libthr lib/libthr/thread X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 05:09:23 -0000 Author: davidxu Date: Mon Oct 18 05:09:22 2010 New Revision: 214007 URL: http://svn.freebsd.org/changeset/base/214007 Log: Add pthread_rwlockattr_setkind_np and pthread_rwlockattr_getkind_np, the functions set or get pthread_rwlock type, current supported types are: PTHREAD_RWLOCK_PREFER_READER_NP, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, PTHREAD_RWLOCK_PREFER_WRITER_NP, default is PTHREAD_RWLOCK_PREFER_WRITER_NONCECURSIVE_NP, this maintains binary compatible with old code. Modified: head/include/pthread.h head/lib/libthr/pthread.map head/lib/libthr/thread/thr_private.h head/lib/libthr/thread/thr_rwlock.c head/lib/libthr/thread/thr_rwlockattr.c Modified: head/include/pthread.h ============================================================================== --- head/include/pthread.h Mon Oct 18 05:01:53 2010 (r214006) +++ head/include/pthread.h Mon Oct 18 05:09:22 2010 (r214007) @@ -135,6 +135,15 @@ enum pthread_mutextype { #define PTHREAD_MUTEX_DEFAULT PTHREAD_MUTEX_ERRORCHECK +enum pthread_rwlocktype_np +{ + PTHREAD_RWLOCK_PREFER_READER_NP, + PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, + PTHREAD_RWLOCK_PREFER_WRITER_NP, + PTHREAD_RWLOCK_DEFAULT_NP = + PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP +}; + struct _pthread_cleanup_info { __uintptr_t pthread_cleanup_pad[8]; }; @@ -233,11 +242,14 @@ int pthread_rwlock_tryrdlock(pthread_rw int pthread_rwlock_trywrlock(pthread_rwlock_t *); int pthread_rwlock_unlock(pthread_rwlock_t *); int pthread_rwlock_wrlock(pthread_rwlock_t *); -int pthread_rwlockattr_init(pthread_rwlockattr_t *); +int pthread_rwlockattr_destroy(pthread_rwlockattr_t *); +int pthread_rwlockattr_getkind_np(const pthread_rwlockattr_t *, + int *); int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *, int *); +int pthread_rwlockattr_init(pthread_rwlockattr_t *); +int pthread_rwlockattr_setkind_np(pthread_rwlockattr_t *, int); int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *, int); -int pthread_rwlockattr_destroy(pthread_rwlockattr_t *); pthread_t pthread_self(void); int pthread_setspecific(pthread_key_t, const void *); Modified: head/lib/libthr/pthread.map ============================================================================== --- head/lib/libthr/pthread.map Mon Oct 18 05:01:53 2010 (r214006) +++ head/lib/libthr/pthread.map Mon Oct 18 05:09:22 2010 (r214007) @@ -318,7 +318,9 @@ FBSDprivate_1.0 { _pthread_rwlock_wrlock; _pthread_rwlockattr_destroy; _pthread_rwlockattr_getpshared; + _pthread_rwlockattr_getkind_np; _pthread_rwlockattr_init; + _pthread_rwlockattr_setkind_np; _pthread_rwlockattr_setpshared; _pthread_self; _pthread_set_name_np; @@ -403,4 +405,6 @@ FBSD_1.2 { openat; setcontext; swapcontext; + pthread_rwlockattr_getkind_np; + pthread_rwlockattr_setkind_np; }; Modified: head/lib/libthr/thread/thr_private.h ============================================================================== --- head/lib/libthr/thread/thr_private.h Mon Oct 18 05:01:53 2010 (r214006) +++ head/lib/libthr/thread/thr_private.h Mon Oct 18 05:09:22 2010 (r214007) @@ -285,11 +285,14 @@ struct pthread_prio { struct pthread_rwlockattr { int pshared; + int kind; }; struct pthread_rwlock { struct urwlock lock; struct pthread *owner; + int recurse; + int kind; }; /* Modified: head/lib/libthr/thread/thr_rwlock.c ============================================================================== --- head/lib/libthr/thread/thr_rwlock.c Mon Oct 18 05:01:53 2010 (r214006) +++ head/lib/libthr/thread/thr_rwlock.c Mon Oct 18 05:09:22 2010 (r214007) @@ -63,13 +63,19 @@ __weak_reference(_pthread_rwlock_timedwr */ static int -rwlock_init(pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr __unused) +rwlock_init(pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr) { pthread_rwlock_t prwlock; prwlock = (pthread_rwlock_t)calloc(1, sizeof(struct pthread_rwlock)); if (prwlock == NULL) return (ENOMEM); + if (attr != NULL) + prwlock->kind = (*attr)->kind; + else + prwlock->kind = PTHREAD_RWLOCK_DEFAULT_NP; + if (prwlock->kind == PTHREAD_RWLOCK_PREFER_READER_NP) + prwlock->lock.rw_flags |= URWLOCK_PREFER_READER; *rwlock = prwlock; return (0); } @@ -112,7 +118,7 @@ init_static(struct pthread *thread, pthr } int -_pthread_rwlock_init (pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr) +_pthread_rwlock_init(pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr) { *rwlock = NULL; return (rwlock_init(rwlock, attr)); @@ -260,6 +266,14 @@ rwlock_wrlock_common (pthread_rwlock_t * CHECK_AND_INIT_RWLOCK + if (__predict_false(prwlock->owner == curthread)) { + if (__predict_false( + prwlock->kind == PTHREAD_RWLOCK_PREFER_WRITER_NP)) { + prwlock->recurse++; + return (0); + } + } + /* * POSIX said the validity of the abstimeout parameter need * not be checked if the lock can be immediately acquired. @@ -335,6 +349,13 @@ _pthread_rwlock_unlock (pthread_rwlock_t if (state & URWLOCK_WRITE_OWNER) { if (__predict_false(prwlock->owner != curthread)) return (EPERM); + if (__predict_false( + prwlock->kind == PTHREAD_RWLOCK_PREFER_WRITER_NP)) { + if (prwlock->recurse > 0) { + prwlock->recurse--; + return (0); + } + } prwlock->owner = NULL; } Modified: head/lib/libthr/thread/thr_rwlockattr.c ============================================================================== --- head/lib/libthr/thread/thr_rwlockattr.c Mon Oct 18 05:01:53 2010 (r214006) +++ head/lib/libthr/thread/thr_rwlockattr.c Mon Oct 18 05:09:22 2010 (r214007) @@ -36,8 +36,10 @@ __weak_reference(_pthread_rwlockattr_destroy, pthread_rwlockattr_destroy); __weak_reference(_pthread_rwlockattr_getpshared, pthread_rwlockattr_getpshared); +__weak_reference(_pthread_rwlockattr_getkind_np, pthread_rwlockattr_getkind_np); __weak_reference(_pthread_rwlockattr_init, pthread_rwlockattr_init); __weak_reference(_pthread_rwlockattr_setpshared, pthread_rwlockattr_setpshared); +__weak_reference(_pthread_rwlockattr_setkind_np, pthread_rwlockattr_setkind_np); int _pthread_rwlockattr_destroy(pthread_rwlockattr_t *rwlockattr) @@ -98,3 +100,21 @@ _pthread_rwlockattr_setpshared(pthread_r return(0); } +int +_pthread_rwlockattr_setkind_np(pthread_rwlockattr_t *attr, int kind) +{ + if (kind != PTHREAD_RWLOCK_PREFER_READER_NP || + kind != PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP || + kind != PTHREAD_RWLOCK_PREFER_WRITER_NP) { + return (EINVAL); + } + (*attr)->kind = kind; + return (0); +} + +int +_pthread_rwlockattr_getkind_np(const pthread_rwlockattr_t *attr, int *kind) +{ + *kind = (*attr)->kind; + return (0); +} From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 05:15:26 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E75D0106564A; Mon, 18 Oct 2010 05:15:26 +0000 (UTC) (envelope-from davidxu@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D5E028FC12; Mon, 18 Oct 2010 05:15:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9I5FQ75080833; Mon, 18 Oct 2010 05:15:26 GMT (envelope-from davidxu@svn.freebsd.org) Received: (from davidxu@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9I5FQkV080831; Mon, 18 Oct 2010 05:15:26 GMT (envelope-from davidxu@svn.freebsd.org) Message-Id: <201010180515.o9I5FQkV080831@svn.freebsd.org> From: David Xu Date: Mon, 18 Oct 2010 05:15:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214008 - head/lib/libthr/thread X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 05:15:27 -0000 Author: davidxu Date: Mon Oct 18 05:15:26 2010 New Revision: 214008 URL: http://svn.freebsd.org/changeset/base/214008 Log: s/||/&& Modified: head/lib/libthr/thread/thr_rwlockattr.c Modified: head/lib/libthr/thread/thr_rwlockattr.c ============================================================================== --- head/lib/libthr/thread/thr_rwlockattr.c Mon Oct 18 05:09:22 2010 (r214007) +++ head/lib/libthr/thread/thr_rwlockattr.c Mon Oct 18 05:15:26 2010 (r214008) @@ -103,8 +103,8 @@ _pthread_rwlockattr_setpshared(pthread_r int _pthread_rwlockattr_setkind_np(pthread_rwlockattr_t *attr, int kind) { - if (kind != PTHREAD_RWLOCK_PREFER_READER_NP || - kind != PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP || + if (kind != PTHREAD_RWLOCK_PREFER_READER_NP && + kind != PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP && kind != PTHREAD_RWLOCK_PREFER_WRITER_NP) { return (EINVAL); } From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 05:16:45 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1C240106566C; Mon, 18 Oct 2010 05:16:45 +0000 (UTC) (envelope-from davidxu@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E4A6D8FC18; Mon, 18 Oct 2010 05:16:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9I5GiZT081092; Mon, 18 Oct 2010 05:16:44 GMT (envelope-from davidxu@svn.freebsd.org) Received: (from davidxu@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9I5GiAe081090; Mon, 18 Oct 2010 05:16:44 GMT (envelope-from davidxu@svn.freebsd.org) Message-Id: <201010180516.o9I5GiAe081090@svn.freebsd.org> From: David Xu Date: Mon, 18 Oct 2010 05:16:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214009 - head/lib/libthr X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 05:16:45 -0000 Author: davidxu Date: Mon Oct 18 05:16:44 2010 New Revision: 214009 URL: http://svn.freebsd.org/changeset/base/214009 Log: sort function name. Modified: head/lib/libthr/pthread.map Modified: head/lib/libthr/pthread.map ============================================================================== --- head/lib/libthr/pthread.map Mon Oct 18 05:15:26 2010 (r214008) +++ head/lib/libthr/pthread.map Mon Oct 18 05:16:44 2010 (r214009) @@ -403,8 +403,8 @@ FBSD_1.1 { FBSD_1.2 { openat; - setcontext; - swapcontext; pthread_rwlockattr_getkind_np; pthread_rwlockattr_setkind_np; + setcontext; + swapcontext; }; From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 05:34:43 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 90275106566C for ; Mon, 18 Oct 2010 05:34:43 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from mail2.fluidhosting.com (mx23.fluidhosting.com [204.14.89.6]) by mx1.freebsd.org (Postfix) with ESMTP id 1F5578FC22 for ; Mon, 18 Oct 2010 05:34:42 +0000 (UTC) Received: (qmail 14654 invoked by uid 399); 18 Oct 2010 05:34:41 -0000 Received: from localhost (HELO laptop.dougb.net) (dougb@dougbarton.us@127.0.0.1) by localhost with ESMTPAM; 18 Oct 2010 05:34:41 -0000 X-Originating-IP: 127.0.0.1 X-Sender: dougb@dougbarton.us Date: Sun, 17 Oct 2010 22:34:39 -0700 (PDT) From: Doug Barton To: David Xu In-Reply-To: <201010180515.o9I5FQkV080831@svn.freebsd.org> Message-ID: References: <201010180515.o9I5FQkV080831@svn.freebsd.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) X-message-flag: Outlook -- Not just for spreading viruses anymore! OpenPGP: id=1A1ABC84 Organization: http://SupersetSolutions.com/ MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r214008 - head/lib/libthr/thread X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 05:34:43 -0000 On Mon, 18 Oct 2010, David Xu wrote: > Author: davidxu > Date: Mon Oct 18 05:15:26 2010 > New Revision: 214008 > URL: http://svn.freebsd.org/changeset/base/214008 > > Log: > s/||/&& Since this came up in another context this evening ... We can see the "what" from the diff. I'm curious about the "why" for this change. Doug -- Improve the effectiveness of your Internet presence with a domain name makeover! http://SupersetSolutions.com/ Computers are useless. They can only give you answers. -- Pablo Picasso From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 05:44:12 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1FDBC10656A3; Mon, 18 Oct 2010 05:44:12 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0E0858FC14; Mon, 18 Oct 2010 05:44:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9I5iBtd085942; Mon, 18 Oct 2010 05:44:11 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9I5iBqi085940; Mon, 18 Oct 2010 05:44:11 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201010180544.o9I5iBqi085940@svn.freebsd.org> From: Edwin Groothuis Date: Mon, 18 Oct 2010 05:44:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214010 - head/usr.bin/uudecode X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 05:44:12 -0000 Author: edwin Date: Mon Oct 18 05:44:11 2010 New Revision: 214010 URL: http://svn.freebsd.org/changeset/base/214010 Log: "b64decode -r" did not handle arbitary breaks in base64 encoded data. White space should be accepted anywhere in a base64 encoded stream, not just after every chunk (4 characters). Test-scenario: VmVsb2NpdHkgUmV3YXJkcw== and VmVsb2NpdHkgUmV3YXJkcw == should both produce "Velocity Rewards" PR: bin/124739 Submitted by: Mark Andrews MFC after: 2 weeks Modified: head/usr.bin/uudecode/uudecode.c Modified: head/usr.bin/uudecode/uudecode.c ============================================================================== --- head/usr.bin/uudecode/uudecode.c Mon Oct 18 05:16:44 2010 (r214009) +++ head/usr.bin/uudecode/uudecode.c Mon Oct 18 05:44:11 2010 (r214010) @@ -57,6 +57,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include #include @@ -413,15 +414,40 @@ uu_decode(void) static int base64_decode(void) { - int n; - char inbuf[MAXPATHLEN + 1]; + int n, count, count4; + char inbuf[MAXPATHLEN + 1], *p; unsigned char outbuf[MAXPATHLEN * 4]; + char leftover[MAXPATHLEN + 1]; + leftover[0] = '\0'; for (;;) { - switch (getline(inbuf, sizeof(inbuf))) { - case 0: return (0); - case 1: return (1); + strcpy(inbuf, leftover); + switch (getline(inbuf + strlen(inbuf), + sizeof(inbuf) - strlen(inbuf))) { + case 0: + return (0); + case 1: + return (1); } + + count = 0; + count4 = -1; + p = inbuf; + while (*p != '\0') { + /* + * Base64 encoded strings have the following + * characters in them: A-Z, a-z, 0-9 and +, / and = + */ + if (isalnum(*p) || *p == '+' || *p == '/' || *p == '=') + count++; + if (count % 4 == 0) + count4 = p - inbuf; + p++; + } + + strcpy(leftover, inbuf + count4 + 1); + inbuf[count4 + 1] = 0; + n = b64_pton(inbuf, outbuf, sizeof(outbuf)); if (n < 0) From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 06:02:52 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8FF02106566B; Mon, 18 Oct 2010 06:02:52 +0000 (UTC) (envelope-from davidxu@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 62BBB8FC15; Mon, 18 Oct 2010 06:02:52 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o9I62oPS086215; Mon, 18 Oct 2010 06:02:51 GMT (envelope-from davidxu@freebsd.org) Message-ID: <4CBC538C.50508@freebsd.org> Date: Mon, 18 Oct 2010 14:02:52 +0000 From: David Xu User-Agent: Thunderbird 2.0.0.24 (X11/20100630) MIME-Version: 1.0 To: Doug Barton References: <201010180515.o9I5FQkV080831@svn.freebsd.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r214008 - head/lib/libthr/thread X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 06:02:52 -0000 Doug Barton wrote: > On Mon, 18 Oct 2010, David Xu wrote: > >> Author: davidxu >> Date: Mon Oct 18 05:15:26 2010 >> New Revision: 214008 >> URL: http://svn.freebsd.org/changeset/base/214008 >> >> Log: >> s/||/&& > > Since this came up in another context this evening ... > > We can see the "what" from the diff. I'm curious about the "why" for > this change. > > > Doug > This is for mysql which they think they can run better with the give feature, just like PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP. From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 06:15:45 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 274181065672 for ; Mon, 18 Oct 2010 06:15:45 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from mail2.fluidhosting.com (mx23.fluidhosting.com [204.14.89.6]) by mx1.freebsd.org (Postfix) with ESMTP id A60EE8FC1C for ; Mon, 18 Oct 2010 06:15:44 +0000 (UTC) Received: (qmail 485 invoked by uid 399); 18 Oct 2010 06:15:43 -0000 Received: from localhost (HELO laptop.dougb.net) (dougb@dougbarton.us@127.0.0.1) by localhost with ESMTPAM; 18 Oct 2010 06:15:43 -0000 X-Originating-IP: 127.0.0.1 X-Sender: dougb@dougbarton.us Date: Sun, 17 Oct 2010 23:15:41 -0700 (PDT) From: Doug Barton To: David Xu In-Reply-To: <4CBC538C.50508@freebsd.org> Message-ID: References: <201010180515.o9I5FQkV080831@svn.freebsd.org> <4CBC538C.50508@freebsd.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) X-message-flag: Outlook -- Not just for spreading viruses anymore! OpenPGP: id=1A1ABC84 Organization: http://SupersetSolutions.com/ MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r214008 - head/lib/libthr/thread X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 06:15:45 -0000 On Mon, 18 Oct 2010, David Xu wrote: > Doug Barton wrote: >> On Mon, 18 Oct 2010, David Xu wrote: >> >>> Author: davidxu >>> Date: Mon Oct 18 05:15:26 2010 >>> New Revision: 214008 >>> URL: http://svn.freebsd.org/changeset/base/214008 >>> >>> Log: >>> s/||/&& >> >> Since this came up in another context this evening ... >> >> We can see the "what" from the diff. I'm curious about the "why" for this >> change. >> >> >> Doug >> > This is for mysql which they think they can run better with the give feature, > just like PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP. Ok, thanks for the quick response. :) Doug -- Improve the effectiveness of your Internet presence with a domain name makeover! http://SupersetSolutions.com/ Computers are useless. They can only give you answers. -- Pablo Picasso From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 07:28:54 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 27F801065672; Mon, 18 Oct 2010 07:28:54 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 163ED8FC19; Mon, 18 Oct 2010 07:28:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9I7SrJM006171; Mon, 18 Oct 2010 07:28:53 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9I7Srxx006168; Mon, 18 Oct 2010 07:28:53 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201010180728.o9I7Srxx006168@svn.freebsd.org> From: Gleb Smirnoff Date: Mon, 18 Oct 2010 07:28:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214011 - head/usr.sbin/ppp X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 07:28:54 -0000 Author: glebius Date: Mon Oct 18 07:28:53 2010 New Revision: 214011 URL: http://svn.freebsd.org/changeset/base/214011 Log: Log if fopen() fails. Reviewed by: brian Modified: head/usr.sbin/ppp/ipcp.c Modified: head/usr.sbin/ppp/ipcp.c ============================================================================== --- head/usr.sbin/ppp/ipcp.c Mon Oct 18 05:44:11 2010 (r214010) +++ head/usr.sbin/ppp/ipcp.c Mon Oct 18 07:28:53 2010 (r214011) @@ -319,8 +319,11 @@ ipcp_WriteDNS(struct ipcp *ipcp) strerror(errno)); return 0; } - } else + } else { umask(mask); + log_Printf(LogERROR,"fopen(\"%s\", \"w\") failed: %s\n", _PATH_RESCONF, + strerror(errno)); + } return 1; } From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 08:34:53 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 291571065673; Mon, 18 Oct 2010 08:34:53 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mail.zoral.com.ua (mx0.zoral.com.ua [91.193.166.200]) by mx1.freebsd.org (Postfix) with ESMTP id 06F138FC1F; Mon, 18 Oct 2010 08:34:51 +0000 (UTC) Received: from deviant.kiev.zoral.com.ua (root@deviant.kiev.zoral.com.ua [10.1.1.148]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id o9I8YmUa038226 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 18 Oct 2010 11:34:48 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1]) by deviant.kiev.zoral.com.ua (8.14.4/8.14.4) with ESMTP id o9I8YmRC046865; Mon, 18 Oct 2010 11:34:48 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by deviant.kiev.zoral.com.ua (8.14.4/8.14.4/Submit) id o9I8Ym8u046864; Mon, 18 Oct 2010 11:34:48 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 18 Oct 2010 11:34:48 +0300 From: Kostik Belousov To: Kevin Lo Message-ID: <20101018083448.GB2392@deviant.kiev.zoral.com.ua> References: <201010180334.o9I3YXlg064427@svn.freebsd.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="dw6fAZ2Gq7hkCwZ4" Content-Disposition: inline In-Reply-To: <201010180334.o9I3YXlg064427@svn.freebsd.org> User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: clamav-milter 0.95.2 at skuns.kiev.zoral.com.ua X-Virus-Status: Clean X-Spam-Status: No, score=-3.4 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00, DNS_FROM_OPENWHOIS autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on skuns.kiev.zoral.com.ua Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r214001 - head/sys/fs/msdosfs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 08:34:53 -0000 --dw6fAZ2Gq7hkCwZ4 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Oct 18, 2010 at 03:34:33AM +0000, Kevin Lo wrote: > Author: kevlo > Date: Mon Oct 18 03:34:33 2010 > New Revision: 214001 > URL: http://svn.freebsd.org/changeset/base/214001 >=20 > Log: > Fix a possible race where the directory dirent is moved to the location > that was used by ".." entry. As I said, possible, but very unlikely. > This change seems fixed panic during attempt to access msdosfs data > over nfs. We are looking at the actual cause of the panic at the moment. The change itself covers the consequences of the actual bug or possibly filesystem corruption. --dw6fAZ2Gq7hkCwZ4 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) iEYEARECAAYFAky8BqcACgkQC3+MBN1Mb4ia0ACgtmYQlyJtMTRBwb7TA65etOJE X3QAoMFtCnB7xt6w1pC0nbwkJEfvVfPo =tQ2U -----END PGP SIGNATURE----- --dw6fAZ2Gq7hkCwZ4-- From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 08:36:04 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 47285106566B; Mon, 18 Oct 2010 08:36:04 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3541D8FC14; Mon, 18 Oct 2010 08:36:04 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9I8a4l2027926; Mon, 18 Oct 2010 08:36:04 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9I8a4ZR027924; Mon, 18 Oct 2010 08:36:04 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010180836.o9I8a4ZR027924@svn.freebsd.org> From: Marius Strobl Date: Mon, 18 Oct 2010 08:36:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214012 - head/sys/dev/mii X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 08:36:04 -0000 Author: marius Date: Mon Oct 18 08:36:03 2010 New Revision: 214012 URL: http://svn.freebsd.org/changeset/base/214012 Log: Revert r213867; while this driver really doesn't use any of the generic subroutines, at least mii_capabilities is used within itself. Modified: head/sys/dev/mii/brgphy.c Modified: head/sys/dev/mii/brgphy.c ============================================================================== --- head/sys/dev/mii/brgphy.c Mon Oct 18 07:28:53 2010 (r214011) +++ head/sys/dev/mii/brgphy.c Mon Oct 18 08:36:03 2010 (r214012) @@ -280,6 +280,10 @@ brgphy_attach(device_t dev) brgphy_reset(sc); + /* Read the PHY's capabilities. */ + sc->mii_capabilities = PHY_READ(sc, MII_BMSR) & ma->mii_capmask; + if (sc->mii_capabilities & BMSR_EXTSTAT) + sc->mii_extcapabilities = PHY_READ(sc, MII_EXTSR); device_printf(dev, " "); #define ADD(m, c) ifmedia_add(&mii->mii_media, (m), (c), NULL) From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 08:54:34 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3E5321065679; Mon, 18 Oct 2010 08:54:34 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 254EA8FC21; Mon, 18 Oct 2010 08:54:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9I8sYHw037231; Mon, 18 Oct 2010 08:54:34 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9I8sXgx037212; Mon, 18 Oct 2010 08:54:33 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201010180854.o9I8sXgx037212@svn.freebsd.org> From: Martin Matuska Date: Mon, 18 Oct 2010 08:54:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214013 - in stable/8: cddl/contrib/opensolaris/cmd/zinject cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris/lib/libzfs/common sys/cddl/contrib/opensolaris/uts/common/fs/zfs ... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 08:54:34 -0000 Author: mm Date: Mon Oct 18 08:54:33 2010 New Revision: 214013 URL: http://svn.freebsd.org/changeset/base/214013 Log: MFC r213197, r213198: MFC r213197: Enable offlining of log devices. OpenSolaris revision and Bug IDs: 9701:cc5b64682e64 6803605 should be able to offline log devices 6726045 vdev_deflate_ratio is not set when offlining a log device 6599442 zpool import has faults in the display MFC r213198: Properly handle IO with B_FAILFAST Retry IO once with ZIO_FLAG_TRYHARD before declaring a pool faulted OpenSolaris revision and Bug IDs: 9725:0bf7402e8022 6843014 ZFS B_FAILFAST handling is broken As FreeBSD does not support B_FAILFAST and we don't use vdev_disk.c, MFC of r213198 is a no-op with the purpose of diff reduction against latest ZFS code and making future updates easier. Approved by: delphij (mentor) Obtained from: OpenSolaris (Bug ID 6803605, 6726045, 6599442, 6843014) Modified: stable/8/cddl/contrib/opensolaris/cmd/zinject/zinject.c stable/8/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scrub.c stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_inject.c Directory Properties: stable/8/cddl/contrib/opensolaris/ (props changed) stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/cddl/contrib/opensolaris/cmd/zinject/zinject.c ============================================================================== --- stable/8/cddl/contrib/opensolaris/cmd/zinject/zinject.c Mon Oct 18 08:36:03 2010 (r214012) +++ stable/8/cddl/contrib/opensolaris/cmd/zinject/zinject.c Mon Oct 18 08:54:33 2010 (r214013) @@ -19,12 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" - /* * ZFS Fault Injector * @@ -227,7 +225,7 @@ usage(void) "\t\tClear the particular record (if given a numeric ID), or\n" "\t\tall records if 'all' is specificed.\n" "\n" - "\tzinject -d device [-e errno] [-L ] pool\n" + "\tzinject -d device [-e errno] [-L ] [-F] pool\n" "\t\tInject a fault into a particular device or the device's\n" "\t\tlabel. Label injection can either be 'nvlist' or 'uber'.\n" "\t\t'errno' can either be 'nxio' (the default) or 'io'.\n" @@ -519,7 +517,7 @@ main(int argc, char **argv) return (0); } - while ((c = getopt(argc, argv, ":ab:d:f:qhc:t:l:mr:e:uL:")) != -1) { + while ((c = getopt(argc, argv, ":ab:d:f:Fqhc:t:l:mr:e:uL:")) != -1) { switch (c) { case 'a': flags |= ZINJECT_FLUSH_ARC; @@ -556,6 +554,9 @@ main(int argc, char **argv) return (1); } break; + case 'F': + record.zi_failfast = B_TRUE; + break; case 'h': usage(); return (0); Modified: stable/8/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- stable/8/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Mon Oct 18 08:36:03 2010 (r214012) +++ stable/8/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Mon Oct 18 08:54:33 2010 (r214013) @@ -980,14 +980,189 @@ max_width(zpool_handle_t *zhp, nvlist_t return (max); } +typedef struct spare_cbdata { + uint64_t cb_guid; + zpool_handle_t *cb_zhp; +} spare_cbdata_t; + +static boolean_t +find_vdev(nvlist_t *nv, uint64_t search) +{ + uint64_t guid; + nvlist_t **child; + uint_t c, children; + + if (nvlist_lookup_uint64(nv, ZPOOL_CONFIG_GUID, &guid) == 0 && + search == guid) + return (B_TRUE); + + if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_CHILDREN, + &child, &children) == 0) { + for (c = 0; c < children; c++) + if (find_vdev(child[c], search)) + return (B_TRUE); + } + + return (B_FALSE); +} + +static int +find_spare(zpool_handle_t *zhp, void *data) +{ + spare_cbdata_t *cbp = data; + nvlist_t *config, *nvroot; + + config = zpool_get_config(zhp, NULL); + verify(nvlist_lookup_nvlist(config, ZPOOL_CONFIG_VDEV_TREE, + &nvroot) == 0); + + if (find_vdev(nvroot, cbp->cb_guid)) { + cbp->cb_zhp = zhp; + return (1); + } + + zpool_close(zhp); + return (0); +} + +/* + * Print out configuration state as requested by status_callback. + */ +void +print_status_config(zpool_handle_t *zhp, const char *name, nvlist_t *nv, + int namewidth, int depth, boolean_t isspare) +{ + nvlist_t **child; + uint_t c, children; + vdev_stat_t *vs; + char rbuf[6], wbuf[6], cbuf[6], repaired[7]; + char *vname; + uint64_t notpresent; + spare_cbdata_t cb; + char *state; + + verify(nvlist_lookup_uint64_array(nv, ZPOOL_CONFIG_STATS, + (uint64_t **)&vs, &c) == 0); + + if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_CHILDREN, + &child, &children) != 0) + children = 0; + + state = zpool_state_to_name(vs->vs_state, vs->vs_aux); + if (isspare) { + /* + * For hot spares, we use the terms 'INUSE' and 'AVAILABLE' for + * online drives. + */ + if (vs->vs_aux == VDEV_AUX_SPARED) + state = "INUSE"; + else if (vs->vs_state == VDEV_STATE_HEALTHY) + state = "AVAIL"; + } + + (void) printf("\t%*s%-*s %-8s", depth, "", namewidth - depth, + name, state); + + if (!isspare) { + zfs_nicenum(vs->vs_read_errors, rbuf, sizeof (rbuf)); + zfs_nicenum(vs->vs_write_errors, wbuf, sizeof (wbuf)); + zfs_nicenum(vs->vs_checksum_errors, cbuf, sizeof (cbuf)); + (void) printf(" %5s %5s %5s", rbuf, wbuf, cbuf); + } + + if (nvlist_lookup_uint64(nv, ZPOOL_CONFIG_NOT_PRESENT, + ¬present) == 0) { + char *path; + verify(nvlist_lookup_string(nv, ZPOOL_CONFIG_PATH, &path) == 0); + (void) printf(" was %s", path); + } else if (vs->vs_aux != 0) { + (void) printf(" "); + + switch (vs->vs_aux) { + case VDEV_AUX_OPEN_FAILED: + (void) printf(gettext("cannot open")); + break; + + case VDEV_AUX_BAD_GUID_SUM: + (void) printf(gettext("missing device")); + break; + + case VDEV_AUX_NO_REPLICAS: + (void) printf(gettext("insufficient replicas")); + break; + + case VDEV_AUX_VERSION_NEWER: + (void) printf(gettext("newer version")); + break; + + case VDEV_AUX_SPARED: + verify(nvlist_lookup_uint64(nv, ZPOOL_CONFIG_GUID, + &cb.cb_guid) == 0); + if (zpool_iter(g_zfs, find_spare, &cb) == 1) { + if (strcmp(zpool_get_name(cb.cb_zhp), + zpool_get_name(zhp)) == 0) + (void) printf(gettext("currently in " + "use")); + else + (void) printf(gettext("in use by " + "pool '%s'"), + zpool_get_name(cb.cb_zhp)); + zpool_close(cb.cb_zhp); + } else { + (void) printf(gettext("currently in use")); + } + break; + + case VDEV_AUX_ERR_EXCEEDED: + (void) printf(gettext("too many errors")); + break; + + case VDEV_AUX_IO_FAILURE: + (void) printf(gettext("experienced I/O failures")); + break; + + case VDEV_AUX_BAD_LOG: + (void) printf(gettext("bad intent log")); + break; + + default: + (void) printf(gettext("corrupted data")); + break; + } + } else if (vs->vs_scrub_repaired != 0 && children == 0) { + /* + * Report bytes resilvered/repaired on leaf devices. + */ + zfs_nicenum(vs->vs_scrub_repaired, repaired, sizeof (repaired)); + (void) printf(gettext(" %s %s"), repaired, + (vs->vs_scrub_type == POOL_SCRUB_RESILVER) ? + "resilvered" : "repaired"); + } + + (void) printf("\n"); + + for (c = 0; c < children; c++) { + uint64_t is_log = B_FALSE; + + /* Don't print logs here */ + (void) nvlist_lookup_uint64(child[c], ZPOOL_CONFIG_IS_LOG, + &is_log); + if (is_log) + continue; + vname = zpool_vdev_name(g_zfs, zhp, child[c]); + print_status_config(zhp, vname, child[c], + namewidth, depth + 2, isspare); + free(vname); + } +} + /* * Print the configuration of an exported pool. Iterate over all vdevs in the * pool, printing out the name and status for each one. */ void -print_import_config(const char *name, nvlist_t *nv, int namewidth, int depth, - boolean_t print_logs) +print_import_config(const char *name, nvlist_t *nv, int namewidth, int depth) { nvlist_t **child; uint_t c, children; @@ -1044,12 +1219,11 @@ print_import_config(const char *name, nv (void) nvlist_lookup_uint64(child[c], ZPOOL_CONFIG_IS_LOG, &is_log); - if ((is_log && !print_logs) || (!is_log && print_logs)) + if (is_log) continue; vname = zpool_vdev_name(g_zfs, NULL, child[c]); - print_import_config(vname, child[c], - namewidth, depth + 2, B_FALSE); + print_import_config(vname, child[c], namewidth, depth + 2); free(vname); } @@ -1075,6 +1249,43 @@ print_import_config(const char *name, nv } /* + * Print log vdevs. + * Logs are recorded as top level vdevs in the main pool child array + * but with "is_log" set to 1. We use either print_status_config() or + * print_import_config() to print the top level logs then any log + * children (eg mirrored slogs) are printed recursively - which + * works because only the top level vdev is marked "is_log" + */ +static void +print_logs(zpool_handle_t *zhp, nvlist_t *nv, int namewidth, boolean_t verbose) +{ + uint_t c, children; + nvlist_t **child; + + if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_CHILDREN, &child, + &children) != 0) + return; + + (void) printf(gettext("\tlogs\n")); + + for (c = 0; c < children; c++) { + uint64_t is_log = B_FALSE; + char *name; + + (void) nvlist_lookup_uint64(child[c], ZPOOL_CONFIG_IS_LOG, + &is_log); + if (!is_log) + continue; + name = zpool_vdev_name(g_zfs, zhp, child[c]); + if (verbose) + print_status_config(zhp, name, child[c], namewidth, + 2, B_FALSE); + else + print_import_config(name, child[c], namewidth, 2); + free(name); + } +} +/* * Display the status for the given pool. */ static void @@ -1242,11 +1453,9 @@ show_import(nvlist_t *config) if (namewidth < 10) namewidth = 10; - print_import_config(name, nvroot, namewidth, 0, B_FALSE); - if (num_logs(nvroot) > 0) { - (void) printf(gettext("\tlogs\n")); - print_import_config(name, nvroot, namewidth, 0, B_TRUE); - } + print_import_config(name, nvroot, namewidth, 0); + if (num_logs(nvroot) > 0) + print_logs(NULL, nvroot, namewidth, B_FALSE); if (reason == ZPOOL_STATUS_BAD_GUID_SUM) { (void) printf(gettext("\n\tAdditional devices are known to " @@ -2717,182 +2926,6 @@ print_scrub_status(nvlist_t *nvroot) (u_longlong_t)(minutes_left / 60), (uint_t)(minutes_left % 60)); } -typedef struct spare_cbdata { - uint64_t cb_guid; - zpool_handle_t *cb_zhp; -} spare_cbdata_t; - -static boolean_t -find_vdev(nvlist_t *nv, uint64_t search) -{ - uint64_t guid; - nvlist_t **child; - uint_t c, children; - - if (nvlist_lookup_uint64(nv, ZPOOL_CONFIG_GUID, &guid) == 0 && - search == guid) - return (B_TRUE); - - if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_CHILDREN, - &child, &children) == 0) { - for (c = 0; c < children; c++) - if (find_vdev(child[c], search)) - return (B_TRUE); - } - - return (B_FALSE); -} - -static int -find_spare(zpool_handle_t *zhp, void *data) -{ - spare_cbdata_t *cbp = data; - nvlist_t *config, *nvroot; - - config = zpool_get_config(zhp, NULL); - verify(nvlist_lookup_nvlist(config, ZPOOL_CONFIG_VDEV_TREE, - &nvroot) == 0); - - if (find_vdev(nvroot, cbp->cb_guid)) { - cbp->cb_zhp = zhp; - return (1); - } - - zpool_close(zhp); - return (0); -} - -/* - * Print out configuration state as requested by status_callback. - */ -void -print_status_config(zpool_handle_t *zhp, const char *name, nvlist_t *nv, - int namewidth, int depth, boolean_t isspare) -{ - nvlist_t **child; - uint_t c, children; - vdev_stat_t *vs; - char rbuf[6], wbuf[6], cbuf[6], repaired[7]; - char *vname; - uint64_t notpresent; - spare_cbdata_t cb; - char *state; - - verify(nvlist_lookup_uint64_array(nv, ZPOOL_CONFIG_STATS, - (uint64_t **)&vs, &c) == 0); - - if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_CHILDREN, - &child, &children) != 0) - children = 0; - - state = zpool_state_to_name(vs->vs_state, vs->vs_aux); - if (isspare) { - /* - * For hot spares, we use the terms 'INUSE' and 'AVAILABLE' for - * online drives. - */ - if (vs->vs_aux == VDEV_AUX_SPARED) - state = "INUSE"; - else if (vs->vs_state == VDEV_STATE_HEALTHY) - state = "AVAIL"; - } - - (void) printf("\t%*s%-*s %-8s", depth, "", namewidth - depth, - name, state); - - if (!isspare) { - zfs_nicenum(vs->vs_read_errors, rbuf, sizeof (rbuf)); - zfs_nicenum(vs->vs_write_errors, wbuf, sizeof (wbuf)); - zfs_nicenum(vs->vs_checksum_errors, cbuf, sizeof (cbuf)); - (void) printf(" %5s %5s %5s", rbuf, wbuf, cbuf); - } - - if (nvlist_lookup_uint64(nv, ZPOOL_CONFIG_NOT_PRESENT, - ¬present) == 0) { - char *path; - verify(nvlist_lookup_string(nv, ZPOOL_CONFIG_PATH, &path) == 0); - (void) printf(" was %s", path); - } else if (vs->vs_aux != 0) { - (void) printf(" "); - - switch (vs->vs_aux) { - case VDEV_AUX_OPEN_FAILED: - (void) printf(gettext("cannot open")); - break; - - case VDEV_AUX_BAD_GUID_SUM: - (void) printf(gettext("missing device")); - break; - - case VDEV_AUX_NO_REPLICAS: - (void) printf(gettext("insufficient replicas")); - break; - - case VDEV_AUX_VERSION_NEWER: - (void) printf(gettext("newer version")); - break; - - case VDEV_AUX_SPARED: - verify(nvlist_lookup_uint64(nv, ZPOOL_CONFIG_GUID, - &cb.cb_guid) == 0); - if (zpool_iter(g_zfs, find_spare, &cb) == 1) { - if (strcmp(zpool_get_name(cb.cb_zhp), - zpool_get_name(zhp)) == 0) - (void) printf(gettext("currently in " - "use")); - else - (void) printf(gettext("in use by " - "pool '%s'"), - zpool_get_name(cb.cb_zhp)); - zpool_close(cb.cb_zhp); - } else { - (void) printf(gettext("currently in use")); - } - break; - - case VDEV_AUX_ERR_EXCEEDED: - (void) printf(gettext("too many errors")); - break; - - case VDEV_AUX_IO_FAILURE: - (void) printf(gettext("experienced I/O failures")); - break; - - case VDEV_AUX_BAD_LOG: - (void) printf(gettext("bad intent log")); - break; - - default: - (void) printf(gettext("corrupted data")); - break; - } - } else if (vs->vs_scrub_repaired != 0 && children == 0) { - /* - * Report bytes resilvered/repaired on leaf devices. - */ - zfs_nicenum(vs->vs_scrub_repaired, repaired, sizeof (repaired)); - (void) printf(gettext(" %s %s"), repaired, - (vs->vs_scrub_type == POOL_SCRUB_RESILVER) ? - "resilvered" : "repaired"); - } - - (void) printf("\n"); - - for (c = 0; c < children; c++) { - uint64_t is_log = B_FALSE; - - /* Don't print logs here */ - (void) nvlist_lookup_uint64(child[c], ZPOOL_CONFIG_IS_LOG, - &is_log); - if (is_log) - continue; - vname = zpool_vdev_name(g_zfs, zhp, child[c]); - print_status_config(zhp, vname, child[c], - namewidth, depth + 2, isspare); - free(vname); - } -} - static void print_error_log(zpool_handle_t *zhp) { @@ -2969,39 +3002,6 @@ print_l2cache(zpool_handle_t *zhp, nvlis } /* - * Print log vdevs. - * Logs are recorded as top level vdevs in the main pool child array but with - * "is_log" set to 1. We use print_status_config() to print the top level logs - * then any log children (eg mirrored slogs) are printed recursively - which - * works because only the top level vdev is marked "is_log" - */ -static void -print_logs(zpool_handle_t *zhp, nvlist_t *nv, int namewidth) -{ - uint_t c, children; - nvlist_t **child; - - if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_CHILDREN, &child, - &children) != 0) - return; - - (void) printf(gettext("\tlogs\n")); - - for (c = 0; c < children; c++) { - uint64_t is_log = B_FALSE; - char *name; - - (void) nvlist_lookup_uint64(child[c], ZPOOL_CONFIG_IS_LOG, - &is_log); - if (!is_log) - continue; - name = zpool_vdev_name(g_zfs, zhp, child[c]); - print_status_config(zhp, name, child[c], namewidth, 2, B_FALSE); - free(name); - } -} - -/* * Display a summary of pool status. Displays a summary such as: * * pool: tank @@ -3229,7 +3229,7 @@ status_callback(zpool_handle_t *zhp, voi namewidth, 0, B_FALSE); if (num_logs(nvroot) > 0) - print_logs(zhp, nvroot, namewidth); + print_logs(zhp, nvroot, namewidth, B_TRUE); if (nvlist_lookup_nvlist_array(nvroot, ZPOOL_CONFIG_L2CACHE, &l2cache, &nl2cache) == 0) print_l2cache(zhp, l2cache, nl2cache, namewidth); Modified: stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h ============================================================================== --- stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Mon Oct 18 08:36:03 2010 (r214012) +++ stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Mon Oct 18 08:54:33 2010 (r214013) @@ -116,6 +116,7 @@ enum { EZFS_VDEVNOTSUP, /* unsupported vdev type */ EZFS_NOTSUP, /* ops not supported on this dataset */ EZFS_ACTIVE_SPARE, /* pool has active shared spare devices */ + EZFS_UNPLAYED_LOGS, /* log device has unplayed logs */ EZFS_UNKNOWN }; Modified: stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c ============================================================================== --- stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c Mon Oct 18 08:36:03 2010 (r214012) +++ stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c Mon Oct 18 08:54:33 2010 (r214013) @@ -1720,6 +1720,12 @@ zpool_vdev_fault(zpool_handle_t *zhp, ui */ return (zfs_error(hdl, EZFS_NOREPLICAS, msg)); + case EEXIST: + /* + * The log device has unplayed logs + */ + return (zfs_error(hdl, EZFS_UNPLAYED_LOGS, msg)); + default: return (zpool_standard_error(hdl, errno, msg)); } Modified: stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c ============================================================================== --- stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c Mon Oct 18 08:36:03 2010 (r214012) +++ stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c Mon Oct 18 08:54:33 2010 (r214013) @@ -210,6 +210,9 @@ libzfs_error_description(libzfs_handle_t case EZFS_ACTIVE_SPARE: return (dgettext(TEXT_DOMAIN, "pool has active shared spare " "device")); + case EZFS_UNPLAYED_LOGS: + return (dgettext(TEXT_DOMAIN, "log device has unplayed intent " + "logs")); case EZFS_UNKNOWN: return (dgettext(TEXT_DOMAIN, "unknown error")); default: Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scrub.c ============================================================================== --- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scrub.c Mon Oct 18 08:36:03 2010 (r214012) +++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scrub.c Mon Oct 18 08:54:33 2010 (r214013) @@ -351,7 +351,7 @@ traverse_zil_block(zilog_t *zilog, blkpt return; /* - * One block ("stumpy") can be allocated a long time ago; we + * One block ("stubby") can be allocated a long time ago; we * want to visit that one because it has been allocated * (on-disk) even if it hasn't been claimed (even though for * plain scrub there's nothing to do to it). Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c ============================================================================== --- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Mon Oct 18 08:36:03 2010 (r214012) +++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Mon Oct 18 08:54:33 2010 (r214013) @@ -1110,6 +1110,33 @@ spa_check_removed(vdev_t *vd) } /* + * Load the slog device state from the config object since it's possible + * that the label does not contain the most up-to-date information. + */ +void +spa_load_log_state(spa_t *spa) +{ + nvlist_t *nv, *nvroot, **child; + uint64_t is_log; + uint_t children, c; + vdev_t *rvd = spa->spa_root_vdev; + + VERIFY(load_nvlist(spa, spa->spa_config_object, &nv) == 0); + VERIFY(nvlist_lookup_nvlist(nv, ZPOOL_CONFIG_VDEV_TREE, &nvroot) == 0); + VERIFY(nvlist_lookup_nvlist_array(nvroot, ZPOOL_CONFIG_CHILDREN, + &child, &children) == 0); + + for (c = 0; c < children; c++) { + vdev_t *tvd = rvd->vdev_child[c]; + + if (nvlist_lookup_uint64(child[c], ZPOOL_CONFIG_IS_LOG, + &is_log) == 0 && is_log) + vdev_load_log_state(tvd, child[c]); + } + nvlist_free(nv); +} + +/* * Check for missing log devices */ int @@ -1125,13 +1152,7 @@ spa_check_logs(spa_t *spa) return (1); } break; - - case SPA_LOG_CLEAR: - (void) dmu_objset_find(spa->spa_name, zil_clear_log_chain, NULL, - DS_FIND_CHILDREN); - break; } - spa->spa_log_state = SPA_LOG_GOOD; return (0); } @@ -1455,6 +1476,8 @@ spa_load(spa_t *spa, nvlist_t *config, s spa_config_exit(spa, SCL_ALL, FTAG); } + spa_load_log_state(spa); + if (spa_check_logs(spa)) { vdev_set_state(rvd, B_TRUE, VDEV_STATE_CANT_OPEN, VDEV_AUX_BAD_LOG); @@ -1542,6 +1565,7 @@ spa_load(spa_t *spa, nvlist_t *config, s zil_claim, tx, DS_FIND_CHILDREN); dmu_tx_commit(tx); + spa->spa_log_state = SPA_LOG_GOOD; spa->spa_sync_on = B_TRUE; txg_sync_start(spa->spa_dsl_pool); @@ -4222,10 +4246,16 @@ spa_sync(spa_t *spa, uint64_t txg) if (svdcount == SPA_DVAS_PER_BP) break; } - error = vdev_config_sync(svd, svdcount, txg); + error = vdev_config_sync(svd, svdcount, txg, B_FALSE); + if (error != 0) + error = vdev_config_sync(svd, svdcount, txg, + B_TRUE); } else { error = vdev_config_sync(rvd->vdev_child, - rvd->vdev_children, txg); + rvd->vdev_children, txg, B_FALSE); + if (error != 0) + error = vdev_config_sync(rvd->vdev_child, + rvd->vdev_children, txg, B_TRUE); } spa_config_exit(spa, SCL_STATE, FTAG); Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h ============================================================================== --- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h Mon Oct 18 08:36:03 2010 (r214012) +++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h Mon Oct 18 08:54:33 2010 (r214013) @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -113,7 +113,8 @@ extern void vdev_queue_io_done(zio_t *zi extern void vdev_config_dirty(vdev_t *vd); extern void vdev_config_clean(vdev_t *vd); -extern int vdev_config_sync(vdev_t **svd, int svdcount, uint64_t txg); +extern int vdev_config_sync(vdev_t **svd, int svdcount, uint64_t txg, + boolean_t); extern void vdev_state_dirty(vdev_t *vd); extern void vdev_state_clean(vdev_t *vd); Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h ============================================================================== --- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h Mon Oct 18 08:36:03 2010 (r214012) +++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h Mon Oct 18 08:54:33 2010 (r214013) @@ -259,6 +259,7 @@ extern void vdev_remove_parent(vdev_t *c /* * vdev sync load and sync */ +extern void vdev_load_log_state(vdev_t *vd, nvlist_t *nv); extern void vdev_load(vdev_t *vd); extern void vdev_sync(vdev_t *vd, uint64_t txg); extern void vdev_sync_done(vdev_t *vd, uint64_t txg); Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h ============================================================================== --- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h Mon Oct 18 08:36:03 2010 (r214012) +++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h Mon Oct 18 08:54:33 2010 (r214013) @@ -118,7 +118,7 @@ typedef struct zinject_record { uint32_t zi_error; uint64_t zi_type; uint32_t zi_freq; - uint32_t zi_pad; /* pad out to 64 bit alignment */ + uint32_t zi_failfast; } zinject_record_t; #define ZINJECT_NULL 0x1 Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h ============================================================================== --- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h Mon Oct 18 08:36:03 2010 (r214012) +++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h Mon Oct 18 08:54:33 2010 (r214013) @@ -366,9 +366,9 @@ extern uint64_t zil_itx_assign(zilog_t * extern void zil_commit(zilog_t *zilog, uint64_t seq, uint64_t oid); +extern int zil_vdev_offline(char *osname, void *txarg); extern int zil_claim(char *osname, void *txarg); extern int zil_check_log_chain(char *osname, void *txarg); -extern int zil_clear_log_chain(char *osname, void *txarg); extern void zil_sync(zilog_t *zilog, dmu_tx_t *tx); extern void zil_clean(zilog_t *zilog); extern int zil_is_committed(zilog_t *zilog); Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h ============================================================================== --- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h Mon Oct 18 08:36:03 2010 (r214012) +++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h Mon Oct 18 08:54:33 2010 (r214013) @@ -117,31 +117,33 @@ enum zio_compress { #define ZIO_PRIORITY_SCRUB (zio_priority_table[10]) #define ZIO_PRIORITY_TABLE_SIZE 11 -#define ZIO_FLAG_MUSTSUCCEED 0x00000 -#define ZIO_FLAG_CANFAIL 0x00001 -#define ZIO_FLAG_SPECULATIVE 0x00002 -#define ZIO_FLAG_CONFIG_WRITER 0x00004 -#define ZIO_FLAG_DONT_RETRY 0x00008 - -#define ZIO_FLAG_DONT_CACHE 0x00010 -#define ZIO_FLAG_DONT_QUEUE 0x00020 -#define ZIO_FLAG_DONT_AGGREGATE 0x00040 -#define ZIO_FLAG_DONT_PROPAGATE 0x00080 - -#define ZIO_FLAG_IO_BYPASS 0x00100 -#define ZIO_FLAG_IO_REPAIR 0x00200 -#define ZIO_FLAG_IO_RETRY 0x00400 -#define ZIO_FLAG_IO_REWRITE 0x00800 - -#define ZIO_FLAG_SELF_HEAL 0x01000 -#define ZIO_FLAG_RESILVER 0x02000 -#define ZIO_FLAG_SCRUB 0x04000 -#define ZIO_FLAG_SCRUB_THREAD 0x08000 - -#define ZIO_FLAG_PROBE 0x10000 -#define ZIO_FLAG_GANG_CHILD 0x20000 -#define ZIO_FLAG_RAW 0x40000 -#define ZIO_FLAG_GODFATHER 0x80000 +#define ZIO_FLAG_MUSTSUCCEED 0x000000 +#define ZIO_FLAG_CANFAIL 0x000001 +#define ZIO_FLAG_SPECULATIVE 0x000002 +#define ZIO_FLAG_CONFIG_WRITER 0x000004 +#define ZIO_FLAG_DONT_RETRY 0x000008 + +#define ZIO_FLAG_DONT_CACHE 0x000010 +#define ZIO_FLAG_DONT_QUEUE 0x000020 +#define ZIO_FLAG_DONT_AGGREGATE 0x000040 +#define ZIO_FLAG_DONT_PROPAGATE 0x000080 + +#define ZIO_FLAG_IO_BYPASS 0x000100 +#define ZIO_FLAG_IO_REPAIR 0x000200 +#define ZIO_FLAG_IO_RETRY 0x000400 +#define ZIO_FLAG_IO_REWRITE 0x000800 + +#define ZIO_FLAG_SELF_HEAL 0x001000 +#define ZIO_FLAG_RESILVER 0x002000 +#define ZIO_FLAG_SCRUB 0x004000 +#define ZIO_FLAG_SCRUB_THREAD 0x008000 + +#define ZIO_FLAG_PROBE 0x010000 +#define ZIO_FLAG_GANG_CHILD 0x020000 +#define ZIO_FLAG_RAW 0x040000 +#define ZIO_FLAG_GODFATHER 0x080000 + +#define ZIO_FLAG_TRYHARD 0x100000 #define ZIO_FLAG_GANG_INHERIT \ (ZIO_FLAG_CANFAIL | \ @@ -159,7 +161,8 @@ enum zio_compress { (ZIO_FLAG_GANG_INHERIT | \ ZIO_FLAG_IO_REPAIR | \ ZIO_FLAG_IO_RETRY | \ - ZIO_FLAG_PROBE) + ZIO_FLAG_PROBE | \ + ZIO_FLAG_TRYHARD) #define ZIO_FLAG_AGG_INHERIT \ (ZIO_FLAG_DONT_AGGREGATE | \ @@ -440,7 +443,7 @@ extern int zio_inject_list_next(int *id, struct zinject_record *record); extern int zio_clear_fault(int id); extern int zio_handle_fault_injection(zio_t *zio, int error); -extern int zio_handle_device_injection(vdev_t *vd, int error); +extern int zio_handle_device_injection(vdev_t *vd, zio_t *zio, int error); extern int zio_handle_label_injection(zio_t *zio, int error); #ifdef __cplusplus Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c ============================================================================== --- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c Mon Oct 18 08:36:03 2010 (r214012) +++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c Mon Oct 18 08:54:33 2010 (r214013) @@ -39,6 +39,7 @@ #include #include #include +#include SYSCTL_DECL(_vfs_zfs); SYSCTL_NODE(_vfs_zfs, OID_AUTO, vdev, CTLFLAG_RW, 0, "ZFS VDEV"); @@ -765,6 +766,15 @@ vdev_metaslab_init(vdev_t *vd, uint64_t if (vd->vdev_ms_shift == 0) /* not being allocated from yet */ return (0); + /* + * Compute the raidz-deflation ratio. Note, we hard-code + * in 128k (1 << 17) because it is the current "typical" blocksize. + * Even if SPA_MAXBLOCKSIZE changes, this algorithm must never change, + * or we will inconsistently account for existing bp's. + */ + vd->vdev_deflate_ratio = (1 << 17) / + (vdev_psize_to_asize(vd, 1 << 17) >> SPA_MINBLOCKSHIFT); + ASSERT(oldc <= newc); if (vd->vdev_islog) @@ -918,7 +928,7 @@ vdev_probe(vdev_t *vd, zio_t *zio) vps->vps_flags = ZIO_FLAG_CANFAIL | ZIO_FLAG_PROBE | ZIO_FLAG_DONT_CACHE | ZIO_FLAG_DONT_AGGREGATE | - ZIO_FLAG_DONT_RETRY; + ZIO_FLAG_TRYHARD; if (spa_config_held(spa, SCL_ZIO, RW_WRITER)) { /* @@ -998,6 +1008,8 @@ vdev_open(vdev_t *vd) vd->vdev_state == VDEV_STATE_OFFLINE); vd->vdev_stat.vs_aux = VDEV_AUX_NONE; + vd->vdev_cant_read = B_FALSE; + vd->vdev_cant_write = B_FALSE; if (!vd->vdev_removed && vd->vdev_faulted) { ASSERT(vd->vdev_children == 0); @@ -1013,7 +1025,7 @@ vdev_open(vdev_t *vd) error = vd->vdev_ops->vdev_op_open(vd, &osize, &ashift); if (zio_injection_enabled && error == 0) - error = zio_handle_device_injection(vd, ENXIO); + error = zio_handle_device_injection(vd, NULL, ENXIO); if (error) { if (vd->vdev_removed && @@ -1113,18 +1125,6 @@ vdev_open(vdev_t *vd) } /* - * If this is a top-level vdev, compute the raidz-deflation - * ratio. Note, we hard-code in 128k (1<<17) because it is the - * current "typical" blocksize. Even if SPA_MAXBLOCKSIZE - * changes, this algorithm must never change, or we will - * inconsistently account for existing bp's. - */ - if (vd->vdev_top == vd) { - vd->vdev_deflate_ratio = (1<<17) / - (vdev_psize_to_asize(vd, 1<<17) >> SPA_MINBLOCKSHIFT); - } - - /* * If a leaf vdev has a DTL, and seems healthy, then kick off a * resilver. But don't do this if we are doing a reopen for a scrub, * since this would just restart the scrub we are already doing. @@ -1937,7 +1937,8 @@ vdev_online(spa_t *spa, uint64_t guid, u int vdev_offline(spa_t *spa, uint64_t guid, uint64_t flags) { - vdev_t *vd; + vdev_t *vd, *tvd; + int error; spa_vdev_state_enter(spa); @@ -1947,34 +1948,58 @@ vdev_offline(spa_t *spa, uint64_t guid, if (!vd->vdev_ops->vdev_op_leaf) return (spa_vdev_state_exit(spa, NULL, ENOTSUP)); + tvd = vd->vdev_top; + /* * If the device isn't already offline, try to offline it. */ if (!vd->vdev_offline) { /* * If this device has the only valid copy of some data, - * don't allow it to be offlined. + * don't allow it to be offlined. Log devices are always + * expendable. */ - if (vd->vdev_aux == NULL && vdev_dtl_required(vd)) + if (!tvd->vdev_islog && vd->vdev_aux == NULL && + vdev_dtl_required(vd)) return (spa_vdev_state_exit(spa, NULL, EBUSY)); /* * Offline this device and reopen its top-level vdev. - * If this action results in the top-level vdev becoming - * unusable, undo it and fail the request. + * If the top-level vdev is a log device then just offline + * it. Otherwise, if this action results in the top-level + * vdev becoming unusable, undo it and fail the request. */ vd->vdev_offline = B_TRUE; - vdev_reopen(vd->vdev_top); - if (vd->vdev_aux == NULL && vdev_is_dead(vd->vdev_top)) { + vdev_reopen(tvd); + + if (!tvd->vdev_islog && vd->vdev_aux == NULL && + vdev_is_dead(tvd)) { vd->vdev_offline = B_FALSE; - vdev_reopen(vd->vdev_top); + vdev_reopen(tvd); return (spa_vdev_state_exit(spa, NULL, EBUSY)); } } vd->vdev_tmpoffline = !!(flags & ZFS_OFFLINE_TEMPORARY); - return (spa_vdev_state_exit(spa, vd, 0)); + if (!tvd->vdev_islog || !vdev_is_dead(tvd)) + return (spa_vdev_state_exit(spa, vd, 0)); + + (void) spa_vdev_state_exit(spa, vd, 0); + + error = dmu_objset_find(spa_name(spa), zil_vdev_offline, + NULL, DS_FIND_CHILDREN); + if (error) { + (void) vdev_online(spa, guid, 0, NULL); + return (error); + } + /* + * If we successfully offlined the log device then we need to + * sync out the current txg so that the "stubby" block can be + * removed by zil_sync(). + */ + txg_wait_synced(spa->spa_dsl_pool, 0); + return (0); } /* @@ -2182,6 +2207,16 @@ vdev_stat_update(zio_t *zio, uint64_t ps if (flags & ZIO_FLAG_SPECULATIVE) return; + /* + * If this is an I/O error that is going to be retried, then ignore the + * error. Otherwise, the user may interpret B_FAILFAST I/O errors as + * hard errors, when in reality they can happen for any number of + * innocuous reasons (bus resets, MPxIO link failure, etc). + */ + if (zio->io_error == EIO && + !(zio->io_flags & ZIO_FLAG_IO_RETRY)) + return; + mutex_enter(&vd->vdev_stat_lock); if (type == ZIO_TYPE_READ && !vdev_is_dead(vd)) { if (zio->io_error == ECKSUM) @@ -2279,6 +2314,7 @@ vdev_space_update(vdev_t *vd, int64_t sp * childrens', thus not accurate enough for us. */ ASSERT((dspace_delta & (SPA_MINBLOCKSIZE-1)) == 0); + ASSERT(vd->vdev_deflate_ratio != 0 || vd->vdev_isl2cache); dspace_delta = (dspace_delta >> SPA_MINBLOCKSHIFT) * vd->vdev_deflate_ratio; @@ -2631,11 +2667,7 @@ vdev_set_state(vdev_t *vd, boolean_t iso boolean_t vdev_is_bootable(vdev_t *vd) { -#ifdef __FreeBSD_version - return (B_TRUE); -#else - int c; - +#ifdef sun if (!vd->vdev_ops->vdev_op_leaf) { char *vdev_type = vd->vdev_ops->vdev_op_type; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 09:26:39 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BD31A1065670; Mon, 18 Oct 2010 09:26:39 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AA3118FC0C; Mon, 18 Oct 2010 09:26:39 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9I9QdJc054051; Mon, 18 Oct 2010 09:26:39 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9I9QdMm054048; Mon, 18 Oct 2010 09:26:39 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010180926.o9I9QdMm054048@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Mon, 18 Oct 2010 09:26:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214014 - stable/8/sys/boot/zfs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 09:26:39 -0000 Author: pjd Date: Mon Oct 18 09:26:39 2010 New Revision: 214014 URL: http://svn.freebsd.org/changeset/base/214014 Log: MFC r212382,r212383,r212384,r212387: r212382: Remove duplicated code. r212383: Allow to boot from a pool within which replacing is in progress. Before the change it wasn't possible and the following error was printed: ZFS: can only boot from disk, mirror or raidz vdevs Now if the original vdev (the one we are replacing) is still present we will read from it, but if it is not present we won't read from the new vdev, as it might not have enough valid data yet. r212384: Ignore log vdevs. r212387: Remove empty lines committed by accident. Modified: stable/8/sys/boot/zfs/zfsimpl.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/boot/zfs/zfsimpl.c ============================================================================== --- stable/8/sys/boot/zfs/zfsimpl.c Mon Oct 18 08:54:33 2010 (r214013) +++ stable/8/sys/boot/zfs/zfsimpl.c Mon Oct 18 09:26:39 2010 (r214014) @@ -376,6 +376,27 @@ vdev_mirror_read(vdev_t *vdev, const blk return (rc); } +static int +vdev_replacing_read(vdev_t *vdev, const blkptr_t *bp, void *buf, + off_t offset, size_t bytes) +{ + vdev_t *kid; + + /* + * Here we should have two kids: + * First one which is the one we are replacing and we can trust + * only this one to have valid data, but it might not be present. + * Second one is that one we are replacing with. It is most likely + * healthy, but we can't trust it has needed data, so we won't use it. + */ + kid = STAILQ_FIRST(&vdev->v_children); + if (kid == NULL) + return (EIO); + if (kid->v_state != VDEV_STATE_HEALTHY) + return (EIO); + return (kid->v_read(kid, bp, buf, offset, bytes)); +} + static vdev_t * vdev_find(uint64_t guid) { @@ -416,7 +437,7 @@ vdev_init_from_nvlist(const unsigned cha vdev_t *vdev, *kid; const unsigned char *kids; int nkids, i, is_new; - uint64_t is_offline, is_faulted, is_degraded, is_removed; + uint64_t is_offline, is_faulted, is_degraded, is_removed, isnt_present; if (nvlist_find(nvlist, ZPOOL_CONFIG_GUID, DATA_TYPE_UINT64, 0, &guid) @@ -430,12 +451,13 @@ vdev_init_from_nvlist(const unsigned cha if (strcmp(type, VDEV_TYPE_MIRROR) && strcmp(type, VDEV_TYPE_DISK) - && strcmp(type, VDEV_TYPE_RAIDZ)) { + && strcmp(type, VDEV_TYPE_RAIDZ) + && strcmp(type, VDEV_TYPE_REPLACING)) { printf("ZFS: can only boot from disk, mirror or raidz vdevs\n"); return (EIO); } - is_offline = is_removed = is_faulted = is_degraded = 0; + is_offline = is_removed = is_faulted = is_degraded = isnt_present = 0; nvlist_find(nvlist, ZPOOL_CONFIG_OFFLINE, DATA_TYPE_UINT64, 0, &is_offline); @@ -445,6 +467,8 @@ vdev_init_from_nvlist(const unsigned cha &is_faulted); nvlist_find(nvlist, ZPOOL_CONFIG_DEGRADED, DATA_TYPE_UINT64, 0, &is_degraded); + nvlist_find(nvlist, ZPOOL_CONFIG_NOT_PRESENT, DATA_TYPE_UINT64, 0, + &isnt_present); vdev = vdev_find(guid); if (!vdev) { @@ -454,6 +478,8 @@ vdev_init_from_nvlist(const unsigned cha vdev = vdev_create(guid, vdev_mirror_read); else if (!strcmp(type, VDEV_TYPE_RAIDZ)) vdev = vdev_create(guid, vdev_raidz_read); + else if (!strcmp(type, VDEV_TYPE_REPLACING)) + vdev = vdev_create(guid, vdev_replacing_read); else vdev = vdev_create(guid, vdev_disk_read); @@ -483,7 +509,16 @@ vdev_init_from_nvlist(const unsigned cha vdev->v_name = strdup(type); } } + } else { + is_new = 0; + } + if (is_new || is_newer) { + /* + * This is either new vdev or we've already seen this vdev, + * but from an older vdev label, so let's refresh its state + * from the newer label. + */ if (is_offline) vdev->v_state = VDEV_STATE_OFFLINE; else if (is_removed) @@ -492,28 +527,10 @@ vdev_init_from_nvlist(const unsigned cha vdev->v_state = VDEV_STATE_FAULTED; else if (is_degraded) vdev->v_state = VDEV_STATE_DEGRADED; + else if (isnt_present) + vdev->v_state = VDEV_STATE_CANT_OPEN; else vdev->v_state = VDEV_STATE_HEALTHY; - } else { - is_new = 0; - - if (is_newer) { - /* - * We've already seen this vdev, but from an older - * vdev label, so let's refresh its state from the - * newer label. - */ - if (is_offline) - vdev->v_state = VDEV_STATE_OFFLINE; - else if (is_removed) - vdev->v_state = VDEV_STATE_REMOVED; - else if (is_faulted) - vdev->v_state = VDEV_STATE_FAULTED; - else if (is_degraded) - vdev->v_state = VDEV_STATE_DEGRADED; - else - vdev->v_state = VDEV_STATE_HEALTHY; - } } rc = nvlist_find(nvlist, ZPOOL_CONFIG_CHILDREN, @@ -749,6 +766,7 @@ vdev_probe(vdev_phys_read_t *read, void uint64_t val; uint64_t guid; uint64_t pool_txg, pool_guid; + uint64_t is_log; const char *pool_name; const unsigned char *vdevs; int i, rc, is_newer; @@ -825,6 +843,12 @@ vdev_probe(vdev_phys_read_t *read, void return (EIO); } + is_log = 0; + (void) nvlist_find(nvlist, ZPOOL_CONFIG_IS_LOG, DATA_TYPE_UINT64, 0, + &is_log); + if (is_log) + return (EIO); + /* * Create the pool if this is the first time we've seen it. */ From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 09:44:21 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BEE71106566B; Mon, 18 Oct 2010 09:44:21 +0000 (UTC) (envelope-from davidxu@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id ACF348FC1B; Mon, 18 Oct 2010 09:44:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9I9iLGH063517; Mon, 18 Oct 2010 09:44:21 GMT (envelope-from davidxu@svn.freebsd.org) Received: (from davidxu@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9I9iLQD063513; Mon, 18 Oct 2010 09:44:21 GMT (envelope-from davidxu@svn.freebsd.org) Message-Id: <201010180944.o9I9iLQD063513@svn.freebsd.org> From: David Xu Date: Mon, 18 Oct 2010 09:44:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214015 - head/lib/libc/include X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 09:44:21 -0000 Author: davidxu Date: Mon Oct 18 09:44:21 2010 New Revision: 214015 URL: http://svn.freebsd.org/changeset/base/214015 Log: Unbreak buildworld by including pthread_rwlockattr_setkind_np and pthread_rwlockattr_getkind_np. Modified: head/lib/libc/include/namespace.h head/lib/libc/include/un-namespace.h Modified: head/lib/libc/include/namespace.h ============================================================================== --- head/lib/libc/include/namespace.h Mon Oct 18 09:26:39 2010 (r214014) +++ head/lib/libc/include/namespace.h Mon Oct 18 09:44:21 2010 (r214015) @@ -177,8 +177,10 @@ #define pthread_rwlock_unlock _pthread_rwlock_unlock #define pthread_rwlock_wrlock _pthread_rwlock_wrlock #define pthread_rwlockattr_destroy _pthread_rwlockattr_destroy +#define pthread_rwlockattr_getkind_np _pthread_rwlockattr_getkind_np #define pthread_rwlockattr_getpshared _pthread_rwlockattr_getpshared #define pthread_rwlockattr_init _pthread_rwlockattr_init +#define pthread_rwlockattr_setkind_np _pthread_rwlockattr_setkind_np #define pthread_rwlockattr_setpshared _pthread_rwlockattr_setpshared #define pthread_self _pthread_self #define pthread_set_name_np _pthread_set_name_np Modified: head/lib/libc/include/un-namespace.h ============================================================================== --- head/lib/libc/include/un-namespace.h Mon Oct 18 09:26:39 2010 (r214014) +++ head/lib/libc/include/un-namespace.h Mon Oct 18 09:44:21 2010 (r214015) @@ -158,8 +158,10 @@ #undef pthread_rwlock_unlock #undef pthread_rwlock_wrlock #undef pthread_rwlockattr_destroy +#undef pthread_rwlockattr_getkind_np #undef pthread_rwlockattr_getpshared #undef pthread_rwlockattr_init +#undef pthread_rwlockattr_setkind_np #undef pthread_rwlockattr_setpshared #undef pthread_self #undef pthread_set_name_np From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 11:30:14 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 19DC51065672; Mon, 18 Oct 2010 11:30:14 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 06DF58FC14; Mon, 18 Oct 2010 11:30:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9IBUEqm070216; Mon, 18 Oct 2010 11:30:14 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9IBUDep070203; Mon, 18 Oct 2010 11:30:13 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201010181130.o9IBUDep070203@svn.freebsd.org> From: Alexander Motin Date: Mon, 18 Oct 2010 11:30:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214016 - in head/sys: arm/mv dev/ata dev/ata/chipsets X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 11:30:14 -0000 Author: mav Date: Mon Oct 18 11:30:13 2010 New Revision: 214016 URL: http://svn.freebsd.org/changeset/base/214016 Log: Set of legacy mode SATA enchancements: - Implement proper combined mode decoding for Intel controllers to properly identify SATA and PATA channels and associate ATA channels with SATA ports. This fixes wrong reporting and in some cases hard resets to wrong SATA ports. - Improve SATA registers support to handle hot-plug events and potentially interface errors. For ICH5/6300ESB chipsets these registers accessible via PCI config space. For later ones they may be accessible via PCI BAR(5). - For controllers not generating interrupts on hot-plug events, implement periodic status polling. Use it to detect hot-plug on Intel and VIA controllers. Same probably could also be used for Serverworks and SIS. Modified: head/sys/arm/mv/mv_sata.c head/sys/dev/ata/ata-all.c head/sys/dev/ata/ata-all.h head/sys/dev/ata/ata-pci.c head/sys/dev/ata/ata-sata.c head/sys/dev/ata/chipsets/ata-ahci.c head/sys/dev/ata/chipsets/ata-intel.c head/sys/dev/ata/chipsets/ata-marvell.c head/sys/dev/ata/chipsets/ata-nvidia.c head/sys/dev/ata/chipsets/ata-promise.c head/sys/dev/ata/chipsets/ata-siliconimage.c head/sys/dev/ata/chipsets/ata-via.c Modified: head/sys/arm/mv/mv_sata.c ============================================================================== --- head/sys/arm/mv/mv_sata.c Mon Oct 18 09:44:21 2010 (r214015) +++ head/sys/arm/mv/mv_sata.c Mon Oct 18 11:30:13 2010 (r214016) @@ -710,7 +710,7 @@ sata_channel_status(device_t dev) if ((icr & SATA_ICR_DEV(ch->unit)) || iecr) { /* Disable EDMA before accessing SATA registers */ sata_edma_ctrl(dev, 0); - ata_sata_phy_check_events(dev); + ata_sata_phy_check_events(dev, -1); /* Ack device and error interrupt */ SATA_OUTL(sc, SATA_ICR, ~SATA_ICR_DEV(ch->unit)); Modified: head/sys/dev/ata/ata-all.c ============================================================================== --- head/sys/dev/ata/ata-all.c Mon Oct 18 09:44:21 2010 (r214015) +++ head/sys/dev/ata/ata-all.c Mon Oct 18 11:30:13 2010 (r214016) @@ -83,6 +83,7 @@ static void bswap(int8_t *, int); static void btrim(int8_t *, int); static void bpack(int8_t *, int8_t *, int); static void ata_interrupt_locked(void *data); +static void ata_periodic_poll(void *data); /* global vars */ MALLOC_DEFINE(M_ATA, "ata_generic", "ATA driver generic layer"); @@ -173,6 +174,7 @@ ata_attach(device_t dev) ch->curr[i] = ch->user[i]; } #endif + callout_init(&ch->poll_callout, 1); /* reset the controller HW, the channel and device(s) */ while (ATA_LOCKING(dev, ATA_LF_LOCK) != ch->unit) @@ -200,6 +202,8 @@ ata_attach(device_t dev) device_printf(dev, "unable to setup interrupt\n"); return error; } + if (ch->flags & ATA_PERIODIC_POLL) + callout_reset(&ch->poll_callout, hz, ata_periodic_poll, ch); #ifndef ATA_CAM /* probe and attach devices on this channel unless we are in early boot */ @@ -246,6 +250,8 @@ err2: err1: bus_release_resource(dev, SYS_RES_IRQ, rid, ch->r_irq); mtx_unlock(&ch->state_mtx); + if (ch->flags & ATA_PERIODIC_POLL) + callout_drain(&ch->poll_callout); return (error); #endif } @@ -267,6 +273,8 @@ ata_detach(device_t dev) mtx_lock(&ch->state_mtx); ch->state |= ATA_STALL_QUEUE; mtx_unlock(&ch->state_mtx); + if (ch->flags & ATA_PERIODIC_POLL) + callout_drain(&ch->poll_callout); #ifndef ATA_CAM /* detach & delete all children */ @@ -454,6 +462,8 @@ ata_suspend(device_t dev) if (!dev || !(ch = device_get_softc(dev))) return ENXIO; + if (ch->flags & ATA_PERIODIC_POLL) + callout_drain(&ch->poll_callout); #ifdef ATA_CAM mtx_lock(&ch->state_mtx); xpt_freeze_simq(ch->sim, 1); @@ -498,6 +508,8 @@ ata_resume(device_t dev) /* kick off requests on the queue */ ata_start(dev); #endif + if (ch->flags & ATA_PERIODIC_POLL) + callout_reset(&ch->poll_callout, hz, ata_periodic_poll, ch); return error; } @@ -564,6 +576,15 @@ ata_interrupt_locked(void *data) #endif } +static void +ata_periodic_poll(void *data) +{ + struct ata_channel *ch = (struct ata_channel *)data; + + callout_reset(&ch->poll_callout, hz, ata_periodic_poll, ch); + ata_interrupt(ch); +} + void ata_print_cable(device_t dev, u_int8_t *who) { Modified: head/sys/dev/ata/ata-all.h ============================================================================== --- head/sys/dev/ata/ata-all.h Mon Oct 18 09:44:21 2010 (r214015) +++ head/sys/dev/ata/ata-all.h Mon Oct 18 11:30:13 2010 (r214016) @@ -114,13 +114,6 @@ #define ATA_SS_IPM_PARTIAL 0x00000200 #define ATA_SS_IPM_SLUMBER 0x00000600 -#define ATA_SS_CONWELL_MASK \ - (ATA_SS_DET_MASK|ATA_SS_SPD_MASK|ATA_SS_IPM_MASK) -#define ATA_SS_CONWELL_GEN1 \ - (ATA_SS_DET_PHY_ONLINE|ATA_SS_SPD_GEN1|ATA_SS_IPM_ACTIVE) -#define ATA_SS_CONWELL_GEN2 \ - (ATA_SS_DET_PHY_ONLINE|ATA_SS_SPD_GEN2|ATA_SS_IPM_ACTIVE) - #define ATA_SERROR 14 #define ATA_SE_DATA_CORRECTED 0x00000001 #define ATA_SE_COMM_CORRECTED 0x00000002 @@ -567,6 +560,7 @@ struct ata_channel { #define ATA_DMA_BEFORE_CMD 0x100 #define ATA_KNOWN_PRESENCE 0x200 #define ATA_STATUS_IS_LONG 0x400 +#define ATA_PERIODIC_POLL 0x800 int pm_level; /* power management level */ int devices; /* what is present */ @@ -593,6 +587,7 @@ struct ata_channel { struct ata_cam_device user[16]; /* User-specified settings */ struct ata_cam_device curr[16]; /* Current settings */ #endif + struct callout poll_callout; /* Periodic status poll. */ }; /* disk bay/enclosure related */ @@ -666,7 +661,7 @@ void ata_dmainit(device_t); void ata_dmafini(device_t dev); /* ata-sata.c: */ -void ata_sata_phy_check_events(device_t dev); +void ata_sata_phy_check_events(device_t dev, int port); int ata_sata_scr_read(struct ata_channel *ch, int port, int reg, uint32_t *val); int ata_sata_scr_write(struct ata_channel *ch, int port, int reg, uint32_t val); int ata_sata_phy_reset(device_t dev, int port, int quick); Modified: head/sys/dev/ata/ata-pci.c ============================================================================== --- head/sys/dev/ata/ata-pci.c Mon Oct 18 09:44:21 2010 (r214015) +++ head/sys/dev/ata/ata-pci.c Mon Oct 18 11:30:13 2010 (r214016) @@ -615,6 +615,7 @@ ata_pcichannel_attach(device_t dev) return (0); ch->attached = 1; + ch->dev = dev; ch->unit = (intptr_t)device_get_ivars(dev); resource_int_value(device_get_name(dev), Modified: head/sys/dev/ata/ata-sata.c ============================================================================== --- head/sys/dev/ata/ata-sata.c Mon Oct 18 09:44:21 2010 (r214015) +++ head/sys/dev/ata/ata-sata.c Mon Oct 18 11:30:13 2010 (r214016) @@ -48,20 +48,23 @@ __FBSDID("$FreeBSD$"); #include void -ata_sata_phy_check_events(device_t dev) +ata_sata_phy_check_events(device_t dev, int port) { struct ata_channel *ch = device_get_softc(dev); - u_int32_t error = ATA_IDX_INL(ch, ATA_SERROR); + u_int32_t error, status; - /* clear error bits/interrupt */ - ATA_IDX_OUTL(ch, ATA_SERROR, error); + ata_sata_scr_read(ch, port, ATA_SERROR, &error); + /* Clear set error bits/interrupt. */ + if (error) + ata_sata_scr_write(ch, port, ATA_SERROR, error); /* if we have a connection event deal with it */ if ((error & ATA_SE_PHY_CHANGED) && (ch->pm_level == 0)) { if (bootverbose) { - u_int32_t status = ATA_IDX_INL(ch, ATA_SSTATUS); - if (((status & ATA_SS_CONWELL_MASK) == ATA_SS_CONWELL_GEN1) || - ((status & ATA_SS_CONWELL_MASK) == ATA_SS_CONWELL_GEN2)) { + ata_sata_scr_read(ch, port, ATA_SSTATUS, &status); + if (((status & ATA_SS_DET_MASK) == ATA_SS_DET_PHY_ONLINE) && + ((status & ATA_SS_SPD_MASK) != ATA_SS_SPD_NO_SPEED) && + ((status & ATA_SS_IPM_MASK) == ATA_SS_IPM_ACTIVE)) { device_printf(dev, "CONNECT requested\n"); } else device_printf(dev, "DISCONNECT requested\n"); @@ -73,69 +76,51 @@ ata_sata_phy_check_events(device_t dev) int ata_sata_scr_read(struct ata_channel *ch, int port, int reg, uint32_t *val) { - int r; - if (port < 0) { + if (ch->hw.pm_read != NULL) + return (ch->hw.pm_read(ch->dev, port, reg, val)); + if (ch->r_io[reg].res) { *val = ATA_IDX_INL(ch, reg); return (0); - } else { - switch (reg) { - case ATA_SSTATUS: - r = 0; - break; - case ATA_SERROR: - r = 1; - break; - case ATA_SCONTROL: - r = 2; - break; - default: - return (EINVAL); - } - return (ch->hw.pm_read(ch->dev, port, r, val)); } + return (-1); } int ata_sata_scr_write(struct ata_channel *ch, int port, int reg, uint32_t val) { - int r; - if (port < 0) { + if (ch->hw.pm_write != NULL) + return (ch->hw.pm_write(ch->dev, port, reg, val)); + if (ch->r_io[reg].res) { ATA_IDX_OUTL(ch, reg, val); return (0); - } else { - switch (reg) { - case ATA_SERROR: - r = 1; - break; - case ATA_SCONTROL: - r = 2; - break; - default: - return (EINVAL); - } - return (ch->hw.pm_write(ch->dev, port, r, val)); } + return (-1); } static int -ata_sata_connect(struct ata_channel *ch, int port) +ata_sata_connect(struct ata_channel *ch, int port, int quick) { u_int32_t status; - int timeout; + int timeout, t; /* wait up to 1 second for "connect well" */ - for (timeout = 0; timeout < 100 ; timeout++) { + timeout = (quick == 2) ? 0 : 100; + t = 0; + while (1) { if (ata_sata_scr_read(ch, port, ATA_SSTATUS, &status)) return (0); - if ((status & ATA_SS_CONWELL_MASK) == ATA_SS_CONWELL_GEN1 || - (status & ATA_SS_CONWELL_MASK) == ATA_SS_CONWELL_GEN2) + if (((status & ATA_SS_DET_MASK) == ATA_SS_DET_PHY_ONLINE) && + ((status & ATA_SS_SPD_MASK) != ATA_SS_SPD_NO_SPEED) && + ((status & ATA_SS_IPM_MASK) == ATA_SS_IPM_ACTIVE)) + break; + if (++t > timeout) break; ata_udelay(10000); } - if (timeout >= 100) { - if (bootverbose) { + if (bootverbose) { + if (t > timeout) { if (port < 0) { device_printf(ch->dev, "SATA connect timeout status=%08x\n", status); @@ -143,23 +128,19 @@ ata_sata_connect(struct ata_channel *ch, device_printf(ch->dev, "p%d: SATA connect timeout status=%08x\n", port, status); } - } - return 0; - } - if (bootverbose) { - if (port < 0) { + } else if (port < 0) { device_printf(ch->dev, "SATA connect time=%dms status=%08x\n", - timeout * 10, status); + t * 10, status); } else { device_printf(ch->dev, "p%d: SATA connect time=%dms status=%08x\n", - port, timeout * 10, status); + port, t * 10, status); } } /* clear SATA error register */ ata_sata_scr_write(ch, port, ATA_SERROR, 0xffffffff); - return 1; + return ((t > timeout) ? 0 : 1); } int @@ -173,7 +154,7 @@ ata_sata_phy_reset(device_t dev, int por if (ata_sata_scr_read(ch, port, ATA_SCONTROL, &val)) return (0); if ((val & ATA_SC_DET_MASK) == ATA_SC_DET_IDLE) - return ata_sata_connect(ch, port); + return ata_sata_connect(ch, port, quick); } if (bootverbose) { @@ -203,7 +184,7 @@ ata_sata_phy_reset(device_t dev, int por if (ata_sata_scr_read(ch, port, ATA_SCONTROL, &val)) return (0); if ((val & ATA_SC_DET_MASK) == 0) - return ata_sata_connect(ch, port); + return ata_sata_connect(ch, port, 0); } } return 0; Modified: head/sys/dev/ata/chipsets/ata-ahci.c ============================================================================== --- head/sys/dev/ata/chipsets/ata-ahci.c Mon Oct 18 09:44:21 2010 (r214015) +++ head/sys/dev/ata/chipsets/ata-ahci.c Mon Oct 18 11:30:13 2010 (r214016) @@ -403,7 +403,7 @@ ata_ahci_status(device_t dev) /* do we have any PHY events ? */ if (istatus & (ATA_AHCI_P_IX_PRC | ATA_AHCI_P_IX_PC)) - ata_sata_phy_check_events(dev); + ata_sata_phy_check_events(dev, -1); /* do we have a potentially hanging engine to take care of? */ /* XXX SOS what todo on NCQ */ @@ -623,6 +623,25 @@ ata_ahci_pm_read(device_t dev, int port, (struct ata_ahci_cmd_tab *)(ch->dma.work + ATA_AHCI_CT_OFFSET); u_int8_t *fis = ch->dma.work + ATA_AHCI_FB_OFFSET + 0x40; + if (port < 0) { + *result = ATA_IDX_INL(ch, reg); + return (0); + } + if (port < ATA_PM) { + switch (reg) { + case ATA_SSTATUS: + reg = 0; + break; + case ATA_SERROR: + reg = 1; + break; + case ATA_SCONTROL: + reg = 2; + break; + default: + return (EINVAL); + } + } bzero(ctp->cfis, 64); ctp->cfis[0] = 0x27; /* host to device */ ctp->cfis[1] = 0x8f; /* command FIS to PM port */ @@ -649,6 +668,25 @@ ata_ahci_pm_write(device_t dev, int port (struct ata_ahci_cmd_tab *)(ch->dma.work + ATA_AHCI_CT_OFFSET); int offset = ch->unit << 7; + if (port < 0) { + ATA_IDX_OUTL(ch, reg, value); + return (0); + } + if (port < ATA_PM) { + switch (reg) { + case ATA_SSTATUS: + reg = 0; + break; + case ATA_SERROR: + reg = 1; + break; + case ATA_SCONTROL: + reg = 2; + break; + default: + return (EINVAL); + } + } bzero(ctp->cfis, 64); ctp->cfis[0] = 0x27; /* host to device */ ctp->cfis[1] = 0x8f; /* command FIS to PM port */ Modified: head/sys/dev/ata/chipsets/ata-intel.c ============================================================================== --- head/sys/dev/ata/chipsets/ata-intel.c Mon Oct 18 09:44:21 2010 (r214015) +++ head/sys/dev/ata/chipsets/ata-intel.c Mon Oct 18 11:30:13 2010 (r214016) @@ -59,6 +59,15 @@ static int ata_intel_old_setmode(device_ static int ata_intel_new_setmode(device_t dev, int target, int mode); static int ata_intel_sch_setmode(device_t dev, int target, int mode); static int ata_intel_sata_getrev(device_t dev, int target); +static int ata_intel_sata_status(device_t dev); +static int ata_intel_sata_cscr_read(device_t dev, int port, + int reg, u_int32_t *result); +static int ata_intel_sata_sidpr_read(device_t dev, int port, + int reg, u_int32_t *result); +static int ata_intel_sata_cscr_write(device_t dev, int port, + int reg, u_int32_t result); +static int ata_intel_sata_sidpr_write(device_t dev, int port, + int reg, u_int32_t result); static int ata_intel_31244_ch_attach(device_t dev); static int ata_intel_31244_ch_detach(device_t dev); static int ata_intel_31244_status(device_t dev); @@ -67,7 +76,9 @@ static void ata_intel_31244_reset(device /* misc defines */ #define INTEL_AHCI 1 - +#define INTEL_ICH5 2 +#define INTEL_6CH 4 +#define INTEL_6CH2 8 /* * Intel chipset support functions @@ -92,74 +103,74 @@ ata_intel_probe(device_t dev) { ATA_I82801DB, 0, 0, 2, ATA_UDMA5, "ICH4" }, { ATA_I82801DB_1, 0, 0, 2, ATA_UDMA5, "ICH4" }, { ATA_I82801EB, 0, 0, 2, ATA_UDMA5, "ICH5" }, - { ATA_I82801EB_S1, 0, 0, 2, ATA_SA150, "ICH5" }, - { ATA_I82801EB_R1, 0, 0, 2, ATA_SA150, "ICH5" }, + { ATA_I82801EB_S1, 0, INTEL_ICH5, 2, ATA_SA150, "ICH5" }, + { ATA_I82801EB_R1, 0, INTEL_ICH5, 2, ATA_SA150, "ICH5" }, { ATA_I6300ESB, 0, 0, 2, ATA_UDMA5, "6300ESB" }, - { ATA_I6300ESB_S1, 0, 0, 2, ATA_SA150, "6300ESB" }, - { ATA_I6300ESB_R1, 0, 0, 2, ATA_SA150, "6300ESB" }, + { ATA_I6300ESB_S1, 0, INTEL_ICH5, 2, ATA_SA150, "6300ESB" }, + { ATA_I6300ESB_R1, 0, INTEL_ICH5, 2, ATA_SA150, "6300ESB" }, { ATA_I82801FB, 0, 0, 2, ATA_UDMA5, "ICH6" }, { ATA_I82801FB_S1, 0, INTEL_AHCI, 0, ATA_SA150, "ICH6" }, { ATA_I82801FB_R1, 0, INTEL_AHCI, 0, ATA_SA150, "ICH6" }, { ATA_I82801FBM, 0, INTEL_AHCI, 0, ATA_SA150, "ICH6M" }, { ATA_I82801GB, 0, 0, 1, ATA_UDMA5, "ICH7" }, - { ATA_I82801GB_S1, 0, INTEL_AHCI, 0, ATA_SA300, "ICH7" }, - { ATA_I82801GB_R1, 0, INTEL_AHCI, 0, ATA_SA300, "ICH7" }, + { ATA_I82801GB_S1, 0, 0, 0, ATA_SA300, "ICH7" }, + { ATA_I82801GB_R1, 0, 0, 0, ATA_SA300, "ICH7" }, { ATA_I82801GB_AH, 0, INTEL_AHCI, 0, ATA_SA300, "ICH7" }, - { ATA_I82801GBM_S1, 0, INTEL_AHCI, 0, ATA_SA150, "ICH7M" }, - { ATA_I82801GBM_R1, 0, INTEL_AHCI, 0, ATA_SA150, "ICH7M" }, + { ATA_I82801GBM_S1, 0, 0, 0, ATA_SA150, "ICH7M" }, + { ATA_I82801GBM_R1, 0, 0, 0, ATA_SA150, "ICH7M" }, { ATA_I82801GBM_AH, 0, INTEL_AHCI, 0, ATA_SA150, "ICH7M" }, { ATA_I63XXESB2, 0, 0, 1, ATA_UDMA5, "63XXESB2" }, - { ATA_I63XXESB2_S1, 0, INTEL_AHCI, 0, ATA_SA300, "63XXESB2" }, + { ATA_I63XXESB2_S1, 0, 0, 0, ATA_SA300, "63XXESB2" }, { ATA_I63XXESB2_S2, 0, INTEL_AHCI, 0, ATA_SA300, "63XXESB2" }, { ATA_I63XXESB2_R1, 0, INTEL_AHCI, 0, ATA_SA300, "63XXESB2" }, { ATA_I63XXESB2_R2, 0, INTEL_AHCI, 0, ATA_SA300, "63XXESB2" }, - { ATA_I82801HB_S1, 0, INTEL_AHCI, 0, ATA_SA300, "ICH8" }, - { ATA_I82801HB_S2, 0, INTEL_AHCI, 0, ATA_SA300, "ICH8" }, + { ATA_I82801HB_S1, 0, INTEL_6CH, 0, ATA_SA300, "ICH8" }, + { ATA_I82801HB_S2, 0, INTEL_6CH2, 0, ATA_SA300, "ICH8" }, { ATA_I82801HB_R1, 0, INTEL_AHCI, 0, ATA_SA300, "ICH8" }, { ATA_I82801HB_AH4, 0, INTEL_AHCI, 0, ATA_SA300, "ICH8" }, { ATA_I82801HB_AH6, 0, INTEL_AHCI, 0, ATA_SA300, "ICH8" }, { ATA_I82801HBM, 0, 0, 1, ATA_UDMA5, "ICH8M" }, - { ATA_I82801HBM_S1, 0, INTEL_AHCI, 0, ATA_SA300, "ICH8M" }, + { ATA_I82801HBM_S1, 0, INTEL_6CH, 0, ATA_SA300, "ICH8M" }, { ATA_I82801HBM_S2, 0, INTEL_AHCI, 0, ATA_SA300, "ICH8M" }, { ATA_I82801HBM_S3, 0, INTEL_AHCI, 0, ATA_SA300, "ICH8M" }, - { ATA_I82801IB_S1, 0, INTEL_AHCI, 0, ATA_SA300, "ICH9" }, - { ATA_I82801IB_S2, 0, INTEL_AHCI, 0, ATA_SA300, "ICH9" }, + { ATA_I82801IB_S1, 0, INTEL_6CH, 0, ATA_SA300, "ICH9" }, + { ATA_I82801IB_S2, 0, INTEL_6CH2, 0, ATA_SA300, "ICH9" }, { ATA_I82801IB_AH2, 0, INTEL_AHCI, 0, ATA_SA300, "ICH9" }, { ATA_I82801IB_AH4, 0, INTEL_AHCI, 0, ATA_SA300, "ICH9" }, { ATA_I82801IB_AH6, 0, INTEL_AHCI, 0, ATA_SA300, "ICH9" }, { ATA_I82801IB_R1, 0, INTEL_AHCI, 0, ATA_SA300, "ICH9" }, - { ATA_I82801JIB_S1, 0, INTEL_AHCI, 0, ATA_SA300, "ICH10" }, + { ATA_I82801JIB_S1, 0, INTEL_6CH, 0, ATA_SA300, "ICH10" }, { ATA_I82801JIB_AH, 0, INTEL_AHCI, 0, ATA_SA300, "ICH10" }, { ATA_I82801JIB_R1, 0, INTEL_AHCI, 0, ATA_SA300, "ICH10" }, - { ATA_I82801JIB_S2, 0, INTEL_AHCI, 0, ATA_SA300, "ICH10" }, - { ATA_I82801JD_S1, 0, INTEL_AHCI, 0, ATA_SA300, "ICH10" }, + { ATA_I82801JIB_S2, 0, INTEL_6CH2, 0, ATA_SA300, "ICH10" }, + { ATA_I82801JD_S1, 0, INTEL_6CH, 0, ATA_SA300, "ICH10" }, { ATA_I82801JD_AH, 0, INTEL_AHCI, 0, ATA_SA300, "ICH10" }, { ATA_I82801JD_R1, 0, INTEL_AHCI, 0, ATA_SA300, "ICH10" }, - { ATA_I82801JD_S2, 0, INTEL_AHCI, 0, ATA_SA300, "ICH10" }, - { ATA_I82801JI_S1, 0, INTEL_AHCI, 0, ATA_SA300, "ICH10" }, + { ATA_I82801JD_S2, 0, INTEL_6CH2, 0, ATA_SA300, "ICH10" }, + { ATA_I82801JI_S1, 0, INTEL_6CH, 0, ATA_SA300, "ICH10" }, { ATA_I82801JI_AH, 0, INTEL_AHCI, 0, ATA_SA300, "ICH10" }, { ATA_I82801JI_R1, 0, INTEL_AHCI, 0, ATA_SA300, "ICH10" }, - { ATA_I82801JI_S2, 0, INTEL_AHCI, 0, ATA_SA300, "ICH10" }, - { ATA_5Series_S1, 0, INTEL_AHCI, 0, ATA_SA300, "5 Series/3400 Series PCH" }, - { ATA_5Series_S2, 0, INTEL_AHCI, 0, ATA_SA300, "5 Series/3400 Series PCH" }, + { ATA_I82801JI_S2, 0, INTEL_6CH2, 0, ATA_SA300, "ICH10" }, + { ATA_5Series_S1, 0, INTEL_6CH, 0, ATA_SA300, "5 Series/3400 Series PCH" }, + { ATA_5Series_S2, 0, INTEL_6CH2, 0, ATA_SA300, "5 Series/3400 Series PCH" }, { ATA_5Series_AH1, 0, INTEL_AHCI, 0, ATA_SA300, "5 Series/3400 Series PCH" }, { ATA_5Series_AH2, 0, INTEL_AHCI, 0, ATA_SA300, "5 Series/3400 Series PCH" }, { ATA_5Series_R1, 0, INTEL_AHCI, 0, ATA_SA300, "5 Series/3400 Series PCH" }, - { ATA_5Series_S3, 0, INTEL_AHCI, 0, ATA_SA300, "5 Series/3400 Series PCH" }, - { ATA_5Series_S4, 0, INTEL_AHCI, 0, ATA_SA300, "5 Series/3400 Series PCH" }, + { ATA_5Series_S3, 0, INTEL_6CH2, 0, ATA_SA300, "5 Series/3400 Series PCH" }, + { ATA_5Series_S4, 0, INTEL_6CH, 0, ATA_SA300, "5 Series/3400 Series PCH" }, { ATA_5Series_AH3, 0, INTEL_AHCI, 0, ATA_SA300, "5 Series/3400 Series PCH" }, { ATA_5Series_R2, 0, INTEL_AHCI, 0, ATA_SA300, "5 Series/3400 Series PCH" }, - { ATA_5Series_S5, 0, INTEL_AHCI, 0, ATA_SA300, "5 Series/3400 Series PCH" }, - { ATA_5Series_S6, 0, INTEL_AHCI, 0, ATA_SA300, "5 Series/3400 Series PCH" }, + { ATA_5Series_S5, 0, INTEL_6CH2, 0, ATA_SA300, "5 Series/3400 Series PCH" }, + { ATA_5Series_S6, 0, INTEL_6CH, 0, ATA_SA300, "5 Series/3400 Series PCH" }, { ATA_5Series_AH4, 0, INTEL_AHCI, 0, ATA_SA300, "5 Series/3400 Series PCH" }, - { ATA_CPT_S1, 0, INTEL_AHCI, 0, ATA_SA300, "Cougar Point" }, - { ATA_CPT_S2, 0, INTEL_AHCI, 0, ATA_SA300, "Cougar Point" }, + { ATA_CPT_S1, 0, INTEL_6CH, 0, ATA_SA300, "Cougar Point" }, + { ATA_CPT_S2, 0, INTEL_6CH, 0, ATA_SA300, "Cougar Point" }, { ATA_CPT_AH1, 0, INTEL_AHCI, 0, ATA_SA300, "Cougar Point" }, { ATA_CPT_AH2, 0, INTEL_AHCI, 0, ATA_SA300, "Cougar Point" }, { ATA_CPT_R1, 0, INTEL_AHCI, 0, ATA_SA300, "Cougar Point" }, { ATA_CPT_R2, 0, INTEL_AHCI, 0, ATA_SA300, "Cougar Point" }, - { ATA_CPT_S3, 0, INTEL_AHCI, 0, ATA_SA300, "Cougar Point" }, - { ATA_CPT_S4, 0, INTEL_AHCI, 0, ATA_SA300, "Cougar Point" }, + { ATA_CPT_S3, 0, INTEL_6CH2, 0, ATA_SA300, "Cougar Point" }, + { ATA_CPT_S4, 0, INTEL_6CH2, 0, ATA_SA300, "Cougar Point" }, { ATA_I31244, 0, 0, 2, ATA_SA150, "31244" }, { ATA_ISCH, 0, 0, 1, ATA_UDMA5, "SCH" }, { 0, 0, 0, 0, 0, 0}}; @@ -183,6 +194,8 @@ ata_intel_chipinit(device_t dev) if (ata_setup_interrupt(dev, ata_generic_intr)) return ENXIO; + ctlr->chipset_data = NULL; + /* good old PIIX needs special treatment (not implemented) */ if (ctlr->chip->chipid == ATA_I82371FB) { ctlr->setmode = ata_intel_old_setmode; @@ -233,7 +246,7 @@ ata_intel_chipinit(device_t dev) * if we have AHCI capability and AHCI or RAID mode enabled * in BIOS we try for AHCI mode */ - if ((ctlr->chip->cfg1 == INTEL_AHCI) && + if ((ctlr->chip->cfg1 & INTEL_AHCI) && (pci_read_config(dev, 0x90, 1) & 0xc0) && (ata_ahci_chipinit(dev) != ENXIO)) return 0; @@ -242,7 +255,8 @@ ata_intel_chipinit(device_t dev) ctlr->r_type2 = SYS_RES_IOPORT; ctlr->r_rid2 = PCIR_BAR(5); if ((ctlr->r_res2 = bus_alloc_resource_any(dev, ctlr->r_type2, - &ctlr->r_rid2, RF_ACTIVE))) + &ctlr->r_rid2, RF_ACTIVE)) + || (ctlr->chip->cfg1 & INTEL_ICH5)) ctlr->getrev = ata_intel_sata_getrev; ctlr->setmode = ata_sata_setmode; } @@ -252,63 +266,142 @@ ata_intel_chipinit(device_t dev) static int ata_intel_ch_attach(device_t dev) { - struct ata_pci_controller *ctlr = device_get_softc(device_get_parent(dev)); - struct ata_channel *ch = device_get_softc(dev); - - /* setup the usual register normal pci style */ - if (ata_pci_ch_attach(dev)) - return ENXIO; - - /* if r_res2 is valid it points to SATA interface registers */ - if (ctlr->r_res2) { - ch->r_io[ATA_IDX_ADDR].res = ctlr->r_res2; - ch->r_io[ATA_IDX_ADDR].offset = 0x00; - ch->r_io[ATA_IDX_DATA].res = ctlr->r_res2; - ch->r_io[ATA_IDX_DATA].offset = 0x04; - } + struct ata_pci_controller *ctlr; + struct ata_channel *ch; + u_char *smap; + u_int map; + + /* setup the usual register normal pci style */ + if (ata_pci_ch_attach(dev)) + return (ENXIO); + + ctlr = device_get_softc(device_get_parent(dev)); + ch = device_get_softc(dev); + + /* if r_res2 is valid it points to SATA interface registers */ + if (ctlr->r_res2) { + ch->r_io[ATA_IDX_ADDR].res = ctlr->r_res2; + ch->r_io[ATA_IDX_ADDR].offset = 0x00; + ch->r_io[ATA_IDX_DATA].res = ctlr->r_res2; + ch->r_io[ATA_IDX_DATA].offset = 0x04; + } - ch->flags |= ATA_ALWAYS_DMASTAT; - if (ctlr->chip->max_dma >= ATA_SA150) { - if (ctlr->chip->cfg1 == 0 && - (pci_read_config(device_get_parent(dev), 0x90, 1) & 0x04) == 0) - ch->flags |= ATA_NO_SLAVE; - ch->flags |= ATA_SATA; - } else if (ctlr->chip->chipid != ATA_ISCH) - ch->flags |= ATA_CHECKS_CABLE; - return 0; + ch->flags |= ATA_ALWAYS_DMASTAT; + if (ctlr->chip->max_dma >= ATA_SA150) { + smap = (u_char *)&ctlr->chipset_data + ch->unit * 2; + map = pci_read_config(device_get_parent(dev), 0x90, 1); + if (ctlr->chip->cfg1 & INTEL_ICH5) { + map &= 0x07; + if ((map & 0x04) == 0) { + ch->flags |= ATA_SATA; + ch->flags |= ATA_NO_SLAVE; + smap[0] = (map & 0x01) ^ ch->unit; + smap[1] = 0; + } else if ((map & 0x02) == 0 && ch->unit == 0) { + ch->flags |= ATA_SATA; + smap[0] = (map & 0x01) ? 1 : 0; + smap[1] = (map & 0x01) ? 0 : 1; + } else if ((map & 0x02) != 0 && ch->unit == 1) { + ch->flags |= ATA_SATA; + smap[0] = (map & 0x01) ? 1 : 0; + smap[1] = (map & 0x01) ? 0 : 1; + } + } else if (ctlr->chip->cfg1 & INTEL_6CH2) { + ch->flags |= ATA_SATA; + ch->flags |= ATA_NO_SLAVE; + smap[0] = (ch->unit == 0) ? 4 : 5; + smap[1] = 0; + } else { + map &= 0x03; + if (map == 0x00) { + ch->flags |= ATA_SATA; + smap[ch->unit] = (ch->unit == 0) ? 0x20 : 0x31; + smap[0] = (ch->unit == 0) ? 0 : 1; + smap[1] = (ch->unit == 0) ? 2 : 3; + } else if (map == 0x02 && ch->unit == 0) { + ch->flags |= ATA_SATA; + smap[0] = 0; + smap[1] = 2; + } else if (map == 0x01 && ch->unit == 1) { + ch->flags |= ATA_SATA; + smap[0] = 1; + smap[1] = 3; + } + } + if (ch->flags & ATA_SATA) { + if ((ctlr->chip->cfg1 & INTEL_ICH5)) { + ch->flags |= ATA_PERIODIC_POLL; + ch->hw.status = ata_intel_sata_status; + ch->hw.pm_read = ata_intel_sata_cscr_read; + ch->hw.pm_write = ata_intel_sata_cscr_write; + } else if (ctlr->r_res2) { + ch->flags |= ATA_PERIODIC_POLL; + ch->hw.status = ata_intel_sata_status; + ch->hw.pm_read = ata_intel_sata_sidpr_read; + ch->hw.pm_write = ata_intel_sata_sidpr_write; + } + if (ch->hw.pm_write != NULL) { + ata_sata_scr_write(ch, 0, + ATA_SERROR, 0xffffffff); + if ((ch->flags & ATA_NO_SLAVE) == 0) { + ata_sata_scr_write(ch, 1, + ATA_SERROR, 0xffffffff); + } + } + } else + ctlr->setmode = ata_intel_new_setmode; + } else if (ctlr->chip->chipid != ATA_ISCH) + ch->flags |= ATA_CHECKS_CABLE; + return (0); } static void ata_intel_reset(device_t dev) { - device_t parent = device_get_parent(dev); - struct ata_pci_controller *ctlr = device_get_softc(parent); - struct ata_channel *ch = device_get_softc(dev); - int mask, timeout; + device_t parent = device_get_parent(dev); + struct ata_pci_controller *ctlr = device_get_softc(parent); + struct ata_channel *ch = device_get_softc(dev); + int mask, pmask, timeout, devs; + u_char *smap; - /* ICH6 & ICH7 in compat mode has 4 SATA ports as master/slave on 2 ch's */ - if (ctlr->chip->cfg1) { - mask = (0x0005 << ch->unit); - } - else { - /* ICH5 in compat mode has SATA ports as master/slave on 1 channel */ - if (pci_read_config(parent, 0x90, 1) & 0x04) - mask = 0x0003; + /* In combined mode, skip SATA stuff for PATA channel. */ + if ((ch->flags & ATA_SATA) == 0) + return (ata_generic_reset(dev)); + + /* Do hard-reset on respective SATA ports. */ + smap = (u_char *)&ctlr->chipset_data + ch->unit * 2; + mask = 1 << smap[0]; + if ((ch->flags & ATA_NO_SLAVE) == 0) + mask |= (1 << smap[1]); + pci_write_config(parent, 0x92, + pci_read_config(parent, 0x92, 2) & ~mask, 2); + DELAY(10); + pci_write_config(parent, 0x92, + pci_read_config(parent, 0x92, 2) | mask, 2); + + /* Wait up to 1 sec for "connect well". */ + if (ctlr->chip->cfg1 & (INTEL_6CH | INTEL_6CH2)) + pmask = mask << 8; else - mask = (0x0001 << ch->unit); - } - pci_write_config(parent, 0x92, pci_read_config(parent, 0x92, 2) & ~mask, 2); - DELAY(10); - pci_write_config(parent, 0x92, pci_read_config(parent, 0x92, 2) | mask, 2); - - /* wait up to 1 sec for "connect well" */ - for (timeout = 0; timeout < 100 ; timeout++) { - if (((pci_read_config(parent, 0x92, 2) & (mask << 4)) == (mask << 4)) && - (ATA_IDX_INB(ch, ATA_STATUS) != 0xff)) - break; - ata_udelay(10000); - } - ata_generic_reset(dev); + pmask = mask << 4; + for (timeout = 0; timeout < 100 ; timeout++) { + if (((pci_read_config(parent, 0x92, 2) & pmask) == pmask) && + (ATA_IDX_INB(ch, ATA_STATUS) != 0xff)) + break; + ata_udelay(10000); + } + + /* If any device found, do soft-reset. */ + if (ch->hw.pm_read != NULL) { + devs = ata_sata_phy_reset(dev, 0, 2); + if ((ch->flags & ATA_NO_SLAVE) == 0) + devs += ata_sata_phy_reset(dev, 1, 2); + } else + devs = 1; + if (devs) + ata_generic_reset(dev); + else + ch->devices = 0; } static int @@ -339,6 +432,10 @@ ata_intel_new_setmode(device_t dev, int u_int8_t timings[] = { 0x00, 0x00, 0x10, 0x21, 0x23, 0x00, 0x21, 0x23 }; u_int8_t utimings[] = { 0x00, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02 }; + /* In combined mode, skip PATA stuff for SATA channel. */ + if (ch->flags & ATA_SATA) + return (ata_sata_setmode(dev, target, mode)); + mode = min(mode, ctlr->chip->max_dma); if (ata_dma_check_80pin && mode > ATA_UDMA2 && !(reg54 & (0x10 << devno))) { @@ -421,12 +518,145 @@ static int ata_intel_sata_getrev(device_t dev, int target) { struct ata_channel *ch = device_get_softc(dev); - int devno = (ch->unit << 1) + target; + uint32_t status; + + if (ata_sata_scr_read(ch, target, ATA_SSTATUS, &status) == 0) + return ((status & 0x0f0) >> 4); + return (0xff); +} + +static int +ata_intel_sata_status(device_t dev) +{ + struct ata_channel *ch = device_get_softc(dev); + + ata_sata_phy_check_events(dev, 0); + if ((ch->flags & ATA_NO_SLAVE) == 0) + ata_sata_phy_check_events(dev, 1); - /* set ATA_SSTATUS register offset */ - ATA_IDX_OUTL(ch, ATA_IDX_ADDR, devno * 0x100); - /* query SATA STATUS for the speed */ - return ((ATA_IDX_INL(ch, ATA_IDX_DATA) & 0x0f0) >> 4); + return ata_pci_status(dev); +} + +static int +ata_intel_sata_cscr_read(device_t dev, int port, int reg, u_int32_t *result) +{ + struct ata_pci_controller *ctlr; + struct ata_channel *ch; + device_t parent; + u_char *smap; + + parent = device_get_parent(dev); + ctlr = device_get_softc(parent); + ch = device_get_softc(dev); + smap = (u_char *)&ctlr->chipset_data + ch->unit * 2; + port = (port == 1) ? 1 : 0; + switch (reg) { + case ATA_SSTATUS: + reg = 0; + break; + case ATA_SERROR: + reg = 1; + break; + case ATA_SCONTROL: + reg = 2; + break; + default: + return (EINVAL); + } + pci_write_config(parent, 0xa0, + 0x50 + smap[port] * 0x10 + reg * 4, 4); + *result = pci_read_config(parent, 0xa4, 4); + return (0); +} + +static int +ata_intel_sata_sidpr_read(device_t dev, int port, int reg, u_int32_t *result) +{ + struct ata_pci_controller *ctlr; + struct ata_channel *ch; + device_t parent; + + parent = device_get_parent(dev); + ctlr = device_get_softc(parent); + ch = device_get_softc(dev); + port = (port == 1) ? 1 : 0; + switch (reg) { + case ATA_SSTATUS: + reg = 0; + break; + case ATA_SCONTROL: + reg = 1; + break; + case ATA_SERROR: + reg = 2; + break; + default: + return (EINVAL); + } + ATA_IDX_OUTL(ch, ATA_IDX_ADDR, ((ch->unit * 2 + port) << 8) + reg); + *result = ATA_IDX_INL(ch, ATA_IDX_DATA); + return (0); +} + +static int +ata_intel_sata_cscr_write(device_t dev, int port, int reg, u_int32_t value) +{ + struct ata_pci_controller *ctlr; + struct ata_channel *ch; + device_t parent; + u_char *smap; + + parent = device_get_parent(dev); + ctlr = device_get_softc(parent); + ch = device_get_softc(dev); + smap = (u_char *)&ctlr->chipset_data + ch->unit * 2; + port = (port == 1) ? 1 : 0; + switch (reg) { + case ATA_SSTATUS: + reg = 0; + break; + case ATA_SERROR: + reg = 1; + break; + case ATA_SCONTROL: + reg = 2; + break; + default: + return (EINVAL); + } + pci_write_config(parent, 0xa0, + 0x50 + smap[port] * 0x10 + reg * 4, 4); + pci_write_config(parent, 0xa4, value, 4); + return (0); +} + +static int +ata_intel_sata_sidpr_write(device_t dev, int port, int reg, u_int32_t value) +{ + struct ata_pci_controller *ctlr; + struct ata_channel *ch; + device_t parent; + + parent = device_get_parent(dev); + ctlr = device_get_softc(parent); + ch = device_get_softc(dev); + port = (port == 1) ? 1 : 0; + switch (reg) { + case ATA_SSTATUS: + reg = 0; + break; + case ATA_SCONTROL: + reg = 1; + break; + case ATA_SERROR: + reg = 2; + break; + default: + return (EINVAL); + } + ATA_IDX_OUTL(ch, ATA_IDX_ADDR, ((ch->unit * 2 + port) << 8) + reg); + ATA_IDX_OUTL(ch, ATA_IDX_DATA, value); + return (0); } static int @@ -492,7 +722,7 @@ static int ata_intel_31244_status(device_t dev) { /* do we have any PHY events ? */ - ata_sata_phy_check_events(dev); + ata_sata_phy_check_events(dev, -1); /* any drive action to take care of ? */ return ata_pci_status(dev); Modified: head/sys/dev/ata/chipsets/ata-marvell.c ============================================================================== --- head/sys/dev/ata/chipsets/ata-marvell.c Mon Oct 18 09:44:21 2010 (r214015) +++ head/sys/dev/ata/chipsets/ata-marvell.c Mon Oct 18 11:30:13 2010 (r214016) @@ -374,7 +374,7 @@ ata_marvell_edma_status(device_t dev) ATA_OUTL(ctlr->r_res1, 0x02008 + ATA_MV_EDMA_BASE(ch), 0x0); /* do we have any PHY events ? */ - ata_sata_phy_check_events(dev); + ata_sata_phy_check_events(dev, -1); } /* do we have any device action ? */ Modified: head/sys/dev/ata/chipsets/ata-nvidia.c ============================================================================== --- head/sys/dev/ata/chipsets/ata-nvidia.c Mon Oct 18 09:44:21 2010 (r214015) +++ head/sys/dev/ata/chipsets/ata-nvidia.c Mon Oct 18 11:30:13 2010 (r214016) @@ -281,7 +281,7 @@ ata_nvidia_status(device_t dev) /* do we have any PHY events ? */ if (istatus & (0x0c << shift)) - ata_sata_phy_check_events(dev); + ata_sata_phy_check_events(dev, -1); /* clear interrupt(s) */ if (ctlr->chip->cfg1 & NVQ) Modified: head/sys/dev/ata/chipsets/ata-promise.c ============================================================================== --- head/sys/dev/ata/chipsets/ata-promise.c Mon Oct 18 09:44:21 2010 (r214015) +++ head/sys/dev/ata/chipsets/ata-promise.c Mon Oct 18 11:30:13 2010 (r214016) @@ -830,6 +830,25 @@ ata_promise_mio_pm_read(device_t dev, in struct ata_channel *ch = device_get_softc(dev); int timeout = 0; + if (port < 0) { + *result = ATA_IDX_INL(ch, reg); + return (0); + } + if (port < ATA_PM) { + switch (reg) { + case ATA_SSTATUS: + reg = 0; + break; + case ATA_SERROR: + reg = 1; + break; + case ATA_SCONTROL: + reg = 2; + break; + default: + return (EINVAL); + } + } /* set portmultiplier port */ ATA_OUTB(ctlr->r_res2, 0x4e8 + (ch->unit << 8), 0x0f); @@ -862,6 +881,25 @@ ata_promise_mio_pm_write(device_t dev, i struct ata_channel *ch = device_get_softc(dev); int timeout = 0; + if (port < 0) { + ATA_IDX_OUTL(ch, reg, value); + return (0); + } + if (port < ATA_PM) { + switch (reg) { + case ATA_SSTATUS: + reg = 0; + break; + case ATA_SERROR: + reg = 1; + break; + case ATA_SCONTROL: + reg = 2; + break; + default: + return (EINVAL); + } + } /* set portmultiplier port */ ATA_OUTB(ctlr->r_res2, 0x4e8 + (ch->unit << 8), 0x0f); Modified: head/sys/dev/ata/chipsets/ata-siliconimage.c ============================================================================== --- head/sys/dev/ata/chipsets/ata-siliconimage.c Mon Oct 18 09:44:21 2010 (r214015) +++ head/sys/dev/ata/chipsets/ata-siliconimage.c Mon Oct 18 11:30:13 2010 (r214016) @@ -354,7 +354,7 @@ ata_sii_status(device_t dev) /* do we have any PHY events ? */ if (ctlr->chip->max_dma >= ATA_SA150 && (ATA_INL(ctlr->r_res2, 0x10 + offset0) & 0x00000010)) - ata_sata_phy_check_events(dev); + ata_sata_phy_check_events(dev, -1); if (ATA_INL(ctlr->r_res2, 0xa0 + offset1) & 0x00000800) return ata_pci_status(dev); @@ -510,7 +510,7 @@ ata_siiprb_status(device_t dev) u_int32_t istatus = ATA_INL(ctlr->r_res2, 0x1008 + offset); /* do we have any PHY events ? */ - ata_sata_phy_check_events(dev); + ata_sata_phy_check_events(dev, -1); /* clear interrupt(s) */ ATA_OUTL(ctlr->r_res2, 0x1008 + offset, istatus); @@ -700,6 +700,25 @@ ata_siiprb_pm_read(device_t dev, int por struct ata_siiprb_command *prb = (struct ata_siiprb_command *)ch->dma.work; int offset = ch->unit * 0x2000; + if (port < 0) { + *result = ATA_IDX_INL(ch, reg); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 11:41:14 2010 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7B540106564A; Mon, 18 Oct 2010 11:41:14 +0000 (UTC) (envelope-from gavin@FreeBSD.org) Received: from gse-mta-27.emailfiltering.com (gse-mta-27-tx.emailfiltering.com [194.116.198.158]) by mx1.freebsd.org (Postfix) with ESMTP id 6C6FB8FC15; Mon, 18 Oct 2010 11:41:12 +0000 (UTC) Received: from mail-gw14.york.ac.uk ([144.32.129.164]) by gse-mta-27.emailfiltering.com with emfmta (version 4.6.0.72) by TLS id 779643584 for culot@FreeBSD.org; a50c6825d3676c00; Mon, 18 Oct 2010 12:41:12 +0100 Received: from buffy-128.york.ac.uk ([144.32.128.160]:19820 helo=buffy.york.ac.uk) by mail-gw14.york.ac.uk with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1P7o5X-0000F1-AP; Mon, 18 Oct 2010 12:41:11 +0100 Received: from buffy.york.ac.uk (localhost [127.0.0.1]) by buffy.york.ac.uk (8.14.4/8.14.4) with ESMTP id o9IBfA3L088211; Mon, 18 Oct 2010 12:41:10 +0100 (BST) (envelope-from gavin@FreeBSD.org) Received: (from ga9@localhost) by buffy.york.ac.uk (8.14.4/8.14.4/Submit) id o9IBfAkC088210; Mon, 18 Oct 2010 12:41:10 +0100 (BST) (envelope-from gavin@FreeBSD.org) X-Authentication-Warning: buffy.york.ac.uk: ga9 set sender to gavin@FreeBSD.org using -f From: Gavin Atkinson To: Frederic Culot In-Reply-To: <201010171902.o9HJ2gjw042593@svn.freebsd.org> References: <201010171902.o9HJ2gjw042593@svn.freebsd.org> Content-Type: text/plain; charset="ASCII" Content-Transfer-Encoding: quoted-printable Date: Mon, 18 Oct 2010 12:41:09 +0100 Message-ID: <1287402069.73576.24.camel@buffy.york.ac.uk> Mime-Version: 1.0 X-Mailer: Evolution 2.30.1.2 FreeBSD GNOME Team Port Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r213990 - head/usr.bin/calendar/calendars X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 11:41:14 -0000 On Sun, 2010-10-17 at 19:02 +0000, Frederic Culot wrote: > Author: culot (ports committer) > Date: Sun Oct 17 19:02:42 2010 > New Revision: 213990 > URL: http://svn.freebsd.org/changeset/base/213990 >=20 > Log: > Add myself to calendar.freebsd. >=20 > Modified: > head/usr.bin/calendar/calendars/calendar.freebsd >=20 > Modified: head/usr.bin/calendar/calendars/calendar.freebsd > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/usr.bin/calendar/calendars/calendar.freebsd Sun Oct 17 18:49:45 = 2010 (r213989) > +++ head/usr.bin/calendar/calendars/calendar.freebsd Sun Oct 17 19:02:42 = 2010 (r213990) > @@ -302,6 +302,7 @@ > 11/19 Konstantin Belousov born in Kiev, USSR, 1972 > 11/20 Dmitry Morozovsky born in Moscow, USSR, 1968 > 11/20 Gavin Atkinson born in Middlesbrough, United K= ingdom, 1979 > +11/22 Frederic Culot born in Saint-Germain-En-Laye= , France, 1976 > 11/23 Josef Lawrence Karthauser born in Pembury, Kent,= United Kingdom, 1972 > 11/24 Andrey Zakhvatov born in Chelyabinsk, Russian F= ederation, 1974 > 11/24 Daniel Gerzo born in Bratislava, Slovakia, 19= 86 It looks like you've accidentally added an extra space between the date and your name. Gavin --=20 Gavin Atkinson FreeBSD committer and bugmeister GPG: A093262B (313A A79F 697D 3A5C 216A EDF5 935D EF44 A093 262B) From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 12:10:11 2010 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4FA14106566B; Mon, 18 Oct 2010 12:10:11 +0000 (UTC) (envelope-from bruce@cran.org.uk) Received: from muon.cran.org.uk (muon.cran.org.uk [IPv6:2a01:348:0:15:5d59:5c40:0:1]) by mx1.freebsd.org (Postfix) with ESMTP id B04AF8FC2A; Mon, 18 Oct 2010 12:10:10 +0000 (UTC) Received: from muon.cran.org.uk (localhost [127.0.0.1]) by muon.cran.org.uk (Postfix) with ESMTP id 178E7E869E; Mon, 18 Oct 2010 13:10:09 +0100 (BST) Received: from unknown (unknown [109.144.232.255]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by muon.cran.org.uk (Postfix) with ESMTPSA; Mon, 18 Oct 2010 13:10:08 +0100 (BST) Date: Mon, 18 Oct 2010 13:10:06 +0100 From: Bruce Cran To: Gavin Atkinson Message-ID: <20101018131006.000062b8@unknown> In-Reply-To: <1287402069.73576.24.camel@buffy.york.ac.uk> References: <201010171902.o9HJ2gjw042593@svn.freebsd.org> <1287402069.73576.24.camel@buffy.york.ac.uk> X-Mailer: Claws Mail 3.7.4cvs1 (GTK+ 2.16.0; i586-pc-mingw32msvc) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: svn-src-head@FreeBSD.org, Frederic Culot , svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r213990 - head/usr.bin/calendar/calendars X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 12:10:11 -0000 On Mon, 18 Oct 2010 12:41:09 +0100 Gavin Atkinson wrote: > It looks like you've accidentally added an extra space between the > date and your name. I think there should be a single tab, and instead there are spaces. -- Bruce Cran From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 12:12:39 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0BEBF106566B; Mon, 18 Oct 2010 12:12:39 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EDCCA8FC13; Mon, 18 Oct 2010 12:12:38 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9ICCchA071171; Mon, 18 Oct 2010 12:12:38 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9ICCc1N071169; Mon, 18 Oct 2010 12:12:38 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010181212.o9ICCc1N071169@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Mon, 18 Oct 2010 12:12:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214017 - stable/8/sys/cddl/boot/zfs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 12:12:39 -0000 Author: pjd Date: Mon Oct 18 12:12:38 2010 New Revision: 214017 URL: http://svn.freebsd.org/changeset/base/214017 Log: MFC r212407: Forgot to commit this file. Add ZPOOL_CONFIG_IS_LOG. Reported by: keramida, dhw Modified: stable/8/sys/cddl/boot/zfs/zfsimpl.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/cddl/boot/zfs/zfsimpl.h ============================================================================== --- stable/8/sys/cddl/boot/zfs/zfsimpl.h Mon Oct 18 11:30:13 2010 (r214016) +++ stable/8/sys/cddl/boot/zfs/zfsimpl.h Mon Oct 18 12:12:38 2010 (r214017) @@ -546,6 +546,7 @@ typedef enum { #define ZPOOL_CONFIG_NPARITY "nparity" #define ZPOOL_CONFIG_HOSTID "hostid" #define ZPOOL_CONFIG_HOSTNAME "hostname" +#define ZPOOL_CONFIG_IS_LOG "is_log" #define ZPOOL_CONFIG_TIMESTAMP "timestamp" /* not stored on disk */ /* From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 12:35:10 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E878B1065673; Mon, 18 Oct 2010 12:35:10 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D74018FC08; Mon, 18 Oct 2010 12:35:10 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9ICZAcs071665; Mon, 18 Oct 2010 12:35:10 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9ICZArX071663; Mon, 18 Oct 2010 12:35:10 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010181235.o9ICZArX071663@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Mon, 18 Oct 2010 12:35:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214018 - head/lib/libradius X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 12:35:11 -0000 Author: pjd Date: Mon Oct 18 12:35:10 2010 New Revision: 214018 URL: http://svn.freebsd.org/changeset/base/214018 Log: Add links for libradius(3) functions. Modified: head/lib/libradius/Makefile Modified: head/lib/libradius/Makefile ============================================================================== --- head/lib/libradius/Makefile Mon Oct 18 12:12:38 2010 (r214017) +++ head/lib/libradius/Makefile Mon Oct 18 12:35:10 2010 (r214018) @@ -33,6 +33,39 @@ CFLAGS+= -Wall SHLIB_MAJOR= 4 MAN= libradius.3 radius.conf.5 +MLINKS+=libradius.3 rad_acct_open.3 \ + libradius.3 rad_add_server.3 \ + libradius.3 rad_auth_open.3 \ + libradius.3 rad_close.3 \ + libradius.3 rad_config.3 \ + libradius.3 rad_continue_send_request.3 \ + libradius.3 rad_create_request.3 \ + libradius.3 rad_create_response.3 \ + libradius.3 rad_cvt_addr.3 \ + libradius.3 rad_cvt_int.3 \ + libradius.3 rad_cvt_string.3 \ + libradius.3 rad_demangle.3 \ + libradius.3 rad_demangle_mppe_key.3 \ + libradius.3 rad_get_attr.3 \ + libradius.3 rad_get_vendor_attr.3 \ + libradius.3 rad_init_send_request.3 \ + libradius.3 rad_put_addr.3 \ + libradius.3 rad_put_attr.3 \ + libradius.3 rad_put_int.3 \ + libradius.3 rad_put_message_authentic.3 \ + libradius.3 rad_put_string.3 \ + libradius.3 rad_put_vendor_addr.3 \ + libradius.3 rad_put_vendor_attr.3 \ + libradius.3 rad_put_vendor_int.3 \ + libradius.3 rad_put_vendor_string.3 \ + libradius.3 rad_receive_request.3 \ + libradius.3 rad_request_authenticator.3 \ + libradius.3 rad_send_request.3 \ + libradius.3 rad_send_response.3 \ + libradius.3 rad_server_open.3 \ + libradius.3 rad_server_secret.3 \ + libradius.3 rad_strerror.3 + WARNS?= 3 .if ${MK_OPENSSL} == "no" From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 12:35:49 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2FE06106566C; Mon, 18 Oct 2010 12:35:49 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1ECE88FC22; Mon, 18 Oct 2010 12:35:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9ICZneg071709; Mon, 18 Oct 2010 12:35:49 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9ICZndh071707; Mon, 18 Oct 2010 12:35:49 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010181235.o9ICZndh071707@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Mon, 18 Oct 2010 12:35:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214019 - head/share/man/man9 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 12:35:49 -0000 Author: pjd Date: Mon Oct 18 12:35:48 2010 New Revision: 214019 URL: http://svn.freebsd.org/changeset/base/214019 Log: Update links for taskqueue(9) functions. Modified: head/share/man/man9/Makefile Modified: head/share/man/man9/Makefile ============================================================================== --- head/share/man/man9/Makefile Mon Oct 18 12:35:10 2010 (r214018) +++ head/share/man/man9/Makefile Mon Oct 18 12:35:48 2010 (r214019) @@ -1212,11 +1212,17 @@ MLINKS+=sysctl_ctx_init.9 sysctl_ctx_ent sysctl_ctx_init.9 sysctl_ctx_free.9 MLINKS+=taskqueue.9 TASK_INIT.9 \ taskqueue.9 taskqueue_create.9 \ + taskqueue.9 taskqueue_create_fast.9 \ taskqueue.9 TASKQUEUE_DECLARE.9 \ taskqueue.9 TASKQUEUE_DEFINE.9 \ + taskqueue.9 TASKQUEUE_DEFINE_THREAD.9 \ + taskqueue.9 taskqueue_drain.9 \ taskqueue.9 taskqueue_enqueue.9 \ - taskqueue.9 taskqueue_find.9 \ + taskqueue.9 taskqueue_enqueue_fast.9 \ + taskqueue.9 TASKQUEUE_FAST_DEFINE.9 \ + taskqueue.9 TASKQUEUE_FAST_DEFINE_THREAD.9 \ taskqueue.9 taskqueue_free.9 \ + taskqueue.9 taskqueue_member.9 \ taskqueue.9 taskqueue_run.9 MLINKS+=time.9 boottime.9 \ time.9 time_second.9 \ From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 14:13:19 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EE3BF106566B; Mon, 18 Oct 2010 14:13:19 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DC8888FC0A; Mon, 18 Oct 2010 14:13:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9IEDJRk073778; Mon, 18 Oct 2010 14:13:19 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9IEDJP1073776; Mon, 18 Oct 2010 14:13:19 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201010181413.o9IEDJP1073776@svn.freebsd.org> From: Sergey Kandaurov Date: Mon, 18 Oct 2010 14:13:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214020 - head/share/man/man4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 14:13:20 -0000 Author: pluknet Date: Mon Oct 18 14:13:19 2010 New Revision: 214020 URL: http://svn.freebsd.org/changeset/base/214020 Log: Fix typo: Offlaod -> Offload. PR: docs/150756 Approved by: avg (mentor) MFC after: 3 days Modified: head/share/man/man4/nxge.4 Modified: head/share/man/man4/nxge.4 ============================================================================== --- head/share/man/man4/nxge.4 Mon Oct 18 12:35:48 2010 (r214019) +++ head/share/man/man4/nxge.4 Mon Oct 18 14:13:19 2010 (r214020) @@ -49,7 +49,7 @@ The .Nm driver provides support for Neterion Xframe-I and Xframe-II adapters. The driver supports TCP Segmentation Offload (TSO/LSO), -Large Receive Offlaod (LRO), Jumbo Frames (5 buffer mode), +Large Receive Offload (LRO), Jumbo Frames (5 buffer mode), Header Separation (Rx 2 buffer mode), VLAN, and Promiscuous mode. .Pp For general information and support, please visit the Neterion support page From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 14:26:29 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5CE381065674; Mon, 18 Oct 2010 14:26:29 +0000 (UTC) (envelope-from brucec@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4B5258FC24; Mon, 18 Oct 2010 14:26:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9IEQTmP074160; Mon, 18 Oct 2010 14:26:29 GMT (envelope-from brucec@svn.freebsd.org) Received: (from brucec@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9IEQTnP074158; Mon, 18 Oct 2010 14:26:29 GMT (envelope-from brucec@svn.freebsd.org) Message-Id: <201010181426.o9IEQTnP074158@svn.freebsd.org> From: Bruce Cran Date: Mon, 18 Oct 2010 14:26:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214021 - head/sys/dev/firewire X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 14:26:29 -0000 Author: brucec Date: Mon Oct 18 14:26:29 2010 New Revision: 214021 URL: http://svn.freebsd.org/changeset/base/214021 Log: Fix grammar. Modified: head/sys/dev/firewire/fwohci.c Modified: head/sys/dev/firewire/fwohci.c ============================================================================== --- head/sys/dev/firewire/fwohci.c Mon Oct 18 14:13:19 2010 (r214020) +++ head/sys/dev/firewire/fwohci.c Mon Oct 18 14:26:29 2010 (r214021) @@ -1971,8 +1971,8 @@ fwohci_intr_dma(struct fwohci_softc *sc, OWRITE(sc, OHCI_LNKCTLCLR, OHCI_CNTL_CYCTIMER); #endif OWRITE(sc, FWOHCI_INTMASKCLR, OHCI_INT_CYC_LOST); - device_printf(fc->dev, "too many cycle lost, " - "no cycle master presents?\n"); + device_printf(fc->dev, "too many cycles lost, " + "no cycle master present?\n"); } } if (stat & OHCI_INT_DMA_ATRQ) { From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 14:35:21 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 89E131065696; Mon, 18 Oct 2010 14:35:21 +0000 (UTC) (envelope-from brucec@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 781548FC1B; Mon, 18 Oct 2010 14:35:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9IEZLMK074422; Mon, 18 Oct 2010 14:35:21 GMT (envelope-from brucec@svn.freebsd.org) Received: (from brucec@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9IEZLaw074420; Mon, 18 Oct 2010 14:35:21 GMT (envelope-from brucec@svn.freebsd.org) Message-Id: <201010181435.o9IEZLaw074420@svn.freebsd.org> From: Bruce Cran Date: Mon, 18 Oct 2010 14:35:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214022 - head/contrib/netcat X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 14:35:21 -0000 Author: brucec Date: Mon Oct 18 14:35:21 2010 New Revision: 214022 URL: http://svn.freebsd.org/changeset/base/214022 Log: Remove extra word, which looks like a left-over from a deleted sentence. Modified: head/contrib/netcat/nc.1 Modified: head/contrib/netcat/nc.1 ============================================================================== --- head/contrib/netcat/nc.1 Mon Oct 18 14:26:29 2010 (r214021) +++ head/contrib/netcat/nc.1 Mon Oct 18 14:35:21 2010 (r214022) @@ -158,7 +158,6 @@ TCP_NOOPT socket option. .It Fl O Ar length Specifies the size of the TCP send buffer. -When .It Fl P Ar proxy_username Specifies a username to present to a proxy server that requires authentication. If no username is specified then authentication will not be attempted. From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 14:36:51 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D0092106564A; Mon, 18 Oct 2010 14:36:51 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A3A9D8FC18; Mon, 18 Oct 2010 14:36:51 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9IEapNl074518; Mon, 18 Oct 2010 14:36:51 GMT (envelope-from jh@svn.freebsd.org) Received: (from jh@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9IEapRL074517; Mon, 18 Oct 2010 14:36:51 GMT (envelope-from jh@svn.freebsd.org) Message-Id: <201010181436.o9IEapRL074517@svn.freebsd.org> From: Jaakko Heinonen Date: Mon, 18 Oct 2010 14:36:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214023 - stable/7/sbin/mount X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 14:36:51 -0000 Author: jh Date: Mon Oct 18 14:36:51 2010 New Revision: 214023 URL: http://svn.freebsd.org/changeset/base/214023 Log: Remove incorrectly placed mergeinfo. This is a direct commit to stable/7. Modified: Directory Properties: stable/7/sbin/mount/mount_fs.c (props changed) From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 14:37:05 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DFA3E106566C; Mon, 18 Oct 2010 14:37:05 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id B04E88FC0A; Mon, 18 Oct 2010 14:37:05 +0000 (UTC) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id 4E81646B0C; Mon, 18 Oct 2010 10:37:05 -0400 (EDT) Received: from jhbbsd.localnet (smtp.hudson-trading.com [209.249.190.9]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 4C64D8A009; Mon, 18 Oct 2010 10:37:04 -0400 (EDT) From: John Baldwin To: Marius Strobl Date: Mon, 18 Oct 2010 10:03:12 -0400 User-Agent: KMail/1.13.5 (FreeBSD/7.3-CBSD-20100819; KDE/4.4.5; amd64; ; ) References: <201010171646.o9HGks2U038501@svn.freebsd.org> In-Reply-To: <201010171646.o9HGks2U038501@svn.freebsd.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201010181003.13045.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6 (bigwig.baldwin.cx); Mon, 18 Oct 2010 10:37:04 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.96.3 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-1.9 required=4.2 tests=BAYES_00 autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on bigwig.baldwin.cx Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r213985 - head/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 14:37:06 -0000 On Sunday, October 17, 2010 12:46:54 pm Marius Strobl wrote: > Author: marius > Date: Sun Oct 17 16:46:54 2010 > New Revision: 213985 > URL: http://svn.freebsd.org/changeset/base/213985 > > Log: > - In oneshot-mode it doesn't make sense to try to compensate the clock > drift in order to achieve a more stable clock as the tick intervals may > vary in the first place. In fact I haven't seen this code kick in when > in oneshot-mode so just skip it in that case. > - There's no need to explicitly stop the (S)TICK counter in oneshot-mode > with every tick as it just won't trigger again with the (S)TICK compare > register set to a value in the past (with a wrap-around once every ~195 > years of uptime at 1.5 GHz this isn't something we have to worry about > in practice). > - Given that we'll disable interrupts completely anyway there's no > need to enter critical sections. This last is not entirely true. The purpose of the critical section is to prevent the kernel from preempting to the softclock swi thread until all of the hardclock handler has finished execution. Thus, places that actually actually call hardclock() should probably still be wrapped in a critical section. -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 14:40:49 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5D649106564A; Mon, 18 Oct 2010 14:40:49 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4B0B78FC19; Mon, 18 Oct 2010 14:40:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9IEem4q074660; Mon, 18 Oct 2010 14:40:48 GMT (envelope-from jh@svn.freebsd.org) Received: (from jh@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9IEemKU074658; Mon, 18 Oct 2010 14:40:48 GMT (envelope-from jh@svn.freebsd.org) Message-Id: <201010181440.o9IEemKU074658@svn.freebsd.org> From: Jaakko Heinonen Date: Mon, 18 Oct 2010 14:40:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214024 - stable/7/sbin/mount X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 14:40:49 -0000 Author: jh Date: Mon Oct 18 14:40:48 2010 New Revision: 214024 URL: http://svn.freebsd.org/changeset/base/214024 Log: MFC r213298: Fix printing of the "rw" mount option in fstab(5) format (-p option). fstab(5) format requires that one of "rw", "rq" or "ro" is always specified. PR: bin/123021 Modified: stable/7/sbin/mount/mount.c Directory Properties: stable/7/sbin/mount/ (props changed) Modified: stable/7/sbin/mount/mount.c ============================================================================== --- stable/7/sbin/mount/mount.c Mon Oct 18 14:36:51 2010 (r214023) +++ stable/7/sbin/mount/mount.c Mon Oct 18 14:40:48 2010 (r214024) @@ -846,10 +846,18 @@ void putfsent(struct statfs *ent) { struct fstab *fst; - char *opts; + char *opts, *rw; int l; + opts = NULL; + /* flags2opts() doesn't return the "rw" option. */ + if ((ent->f_flags & MNT_RDONLY) != 0) + rw = NULL; + else + rw = catopt(NULL, "rw"); + opts = flags2opts(ent->f_flags); + opts = catopt(rw, opts); if (strncmp(ent->f_mntfromname, "", 7) == 0 || strncmp(ent->f_mntfromname, "", 7) == 0) { @@ -857,10 +865,6 @@ putfsent(struct statfs *ent) +1)); } - /* - * "rw" is not a real mount option; this is why we print NULL as "rw" - * if opts is still NULL here. - */ l = strlen(ent->f_mntfromname); printf("%s%s%s%s", ent->f_mntfromname, l < 8 ? "\t" : "", @@ -872,13 +876,9 @@ putfsent(struct statfs *ent) l < 16 ? "\t" : "", l < 24 ? "\t" : " "); printf("%s\t", ent->f_fstypename); - if (opts == NULL) { - printf("%s\t", "rw"); - } else { - l = strlen(opts); - printf("%s%s", opts, - l < 8 ? "\t" : " "); - } + l = strlen(opts); + printf("%s%s", opts, + l < 8 ? "\t" : " "); free(opts); if ((fst = getfsspec(ent->f_mntfromname))) From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 15:00:02 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 661D71065674; Mon, 18 Oct 2010 15:00:02 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from gw03.mail.saunalahti.fi (gw03.mail.saunalahti.fi [195.197.172.111]) by mx1.freebsd.org (Postfix) with ESMTP id 11F858FC20; Mon, 18 Oct 2010 15:00:01 +0000 (UTC) Received: from ws64.jh.dy.fi (a91-153-123-205.elisa-laajakaista.fi [91.153.123.205]) by gw03.mail.saunalahti.fi (Postfix) with SMTP id DCBF521661D; Mon, 18 Oct 2010 17:43:54 +0300 (EEST) Date: Mon, 18 Oct 2010 17:43:53 +0300 From: Jaakko Heinonen To: "David E. O'Brien" Message-ID: <20101018144353.GA1381@ws64.jh.dy.fi> References: <201010140121.o9E1Li3e006863@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201010140121.o9E1Li3e006863@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-8@freebsd.org Subject: Re: svn commit: r213817 - in stable/8: . contrib/top etc/periodic/daily gnu/usr.bin lib/libusb release/picobsd/floppy.tree/sbin sbin/geom/class/sched tools/regression/lib/msun tools/regression/usr.bin/... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 15:00:02 -0000 On 2010-10-14, David E. O'Brien wrote: > MFC r212770 & r212832: > + Add the SCRIPT environmental variable to the sub-shell. > + Add the 'command' argument (if supplied on the command line) > to the typescript file. I don't think that this commit placed mergeinfo correctly. The mergeinfo should have been placed to usr.bin/script like r213828 did for stable/7. > Modified: > stable/8/usr.bin/script/script.1 > stable/8/usr.bin/script/script.c > Directory Properties: > stable/8/ (props changed) > stable/8/Makefile (props changed) > stable/8/Makefile.inc1 (props changed) > stable/8/ObsoleteFiles.inc (props changed) . . . > stable/8/usr.sbin/wpa/ (props changed) > stable/8/usr.sbin/ypserv/ (props changed) > stable/8/usr.sbin/zic/ (props changed) -- Jaakko From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 15:46:58 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A9C86106566C; Mon, 18 Oct 2010 15:46:58 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 97C358FC1A; Mon, 18 Oct 2010 15:46:58 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9IFkwAE076700; Mon, 18 Oct 2010 15:46:58 GMT (envelope-from emaste@svn.freebsd.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9IFkwrR076698; Mon, 18 Oct 2010 15:46:58 GMT (envelope-from emaste@svn.freebsd.org) Message-Id: <201010181546.o9IFkwrR076698@svn.freebsd.org> From: Ed Maste Date: Mon, 18 Oct 2010 15:46:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214025 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 15:46:58 -0000 Author: emaste Date: Mon Oct 18 15:46:58 2010 New Revision: 214025 URL: http://svn.freebsd.org/changeset/base/214025 Log: We've already set p = td->td_proc, so use it. Modified: head/sys/kern/kern_resource.c Modified: head/sys/kern/kern_resource.c ============================================================================== --- head/sys/kern/kern_resource.c Mon Oct 18 14:40:48 2010 (r214024) +++ head/sys/kern/kern_resource.c Mon Oct 18 15:46:58 2010 (r214025) @@ -699,8 +699,8 @@ kern_setrlimit(td, which, limp) if (limp->rlim_max > maxssiz) limp->rlim_max = maxssiz; oldssiz = *alimp; - if (td->td_proc->p_sysent->sv_fixlimit != NULL) - td->td_proc->p_sysent->sv_fixlimit(&oldssiz, + if (p->p_sysent->sv_fixlimit != NULL) + p->p_sysent->sv_fixlimit(&oldssiz, RLIMIT_STACK); break; @@ -722,8 +722,8 @@ kern_setrlimit(td, which, limp) limp->rlim_max = 1; break; } - if (td->td_proc->p_sysent->sv_fixlimit != NULL) - td->td_proc->p_sysent->sv_fixlimit(limp, which); + if (p->p_sysent->sv_fixlimit != NULL) + p->p_sysent->sv_fixlimit(limp, which); *alimp = *limp; p->p_limit = newlim; PROC_UNLOCK(p); From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 16:29:36 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 198A6106564A; Mon, 18 Oct 2010 16:29:36 +0000 (UTC) (envelope-from rpaulo@freebsd.org) Received: from karen.lavabit.com (karen.lavabit.com [72.249.41.33]) by mx1.freebsd.org (Postfix) with ESMTP id CF57D8FC12; Mon, 18 Oct 2010 16:29:35 +0000 (UTC) Received: from c.earth.lavabit.com (c.earth.lavabit.com [192.168.111.12]) by karen.lavabit.com (Postfix) with ESMTP id F2420157543; Mon, 18 Oct 2010 11:29:34 -0500 (CDT) Received: from rui-macbook.lan (bl17-136-196.dsl.telepac.pt [188.82.136.196]) by lavabit.com with ESMTP id T3LRIH3WZ607; Mon, 18 Oct 2010 11:29:34 -0500 References: <201004091205.o39C5OD5045357@svn.freebsd.org> In-Reply-To: Mime-Version: 1.0 (Apple Message framework v1081) Content-Type: text/plain; charset=us-ascii Message-Id: Content-Transfer-Encoding: quoted-printable From: Rui Paulo Date: Mon, 18 Oct 2010 17:29:31 +0100 To: Paul B Mahol X-Mailer: Apple Mail (2.1081) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r206418 - head/sys/modules/wlan X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 16:29:36 -0000 On 18 Oct 2010, at 17:23, Paul B Mahol wrote: > On 4/9/10, Rui Paulo wrote: >> Author: rpaulo >> Date: Fri Apr 9 12:05:24 2010 >> New Revision: 206418 >> URL: http://svn.freebsd.org/changeset/base/206418 >>=20 >> Log: >> Add ieee80211_{amrr,rssadapt}.c. >>=20 >=20 > Either revert this or remove amrr and rssadapt modules (IMHO better = option). Why? AMRR is used by many drivers. >> MFC after: 1 month >>=20 >> Modified: >> head/sys/modules/wlan/Makefile >>=20 >> Modified: head/sys/modules/wlan/Makefile >> = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D >> --- head/sys/modules/wlan/Makefile Fri Apr 9 11:56:38 2010 = (r206417) >> +++ head/sys/modules/wlan/Makefile Fri Apr 9 12:05:24 2010 = (r206418) >> @@ -3,13 +3,13 @@ >> .PATH: ${.CURDIR}/../../net80211 >>=20 >> KMOD=3D wlan >> -SRCS=3D ieee80211.c ieee80211_action.c ieee80211_ageq.c \ >> +SRCS=3D ieee80211.c ieee80211_action.c ieee80211_ageq.c = ieee80211_amrr.c \ >> ieee80211_crypto.c ieee80211_crypto_none.c ieee80211_dfs.c \ >> ieee80211_freebsd.c ieee80211_input.c ieee80211_ioctl.c \ >> ieee80211_mesh.c ieee80211_node.c ieee80211_output.c = ieee80211_phy.c \ >> ieee80211_power.c ieee80211_proto.c ieee80211_scan.c \ >> ieee80211_scan_sta.c ieee80211_radiotap.c ieee80211_ratectl.c \ >> - ieee80211_regdomain.c \ >> + ieee80211_regdomain.c ieee80211_rssadapt.c \ >> ieee80211_ht.c ieee80211_hwmp.c ieee80211_adhoc.c = ieee80211_hostap.c \ >> ieee80211_monitor.c ieee80211_sta.c ieee80211_wds.c = ieee80211_ddb.c >> SRCS+=3D bus_if.h device_if.h opt_inet.h opt_inet6.h opt_ipx.h = opt_wlan.h \ >> _______________________________________________ >> svn-src-head@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/svn-src-head >> To unsubscribe, send any mail to = "svn-src-head-unsubscribe@freebsd.org" >>=20 >=20 > = __________________________________________________________________________= __________ > Use the link below to report this message as spam. > https://lavabit.com/apps/teacher?sig=3D1413657&key=3D1486363005 > = __________________________________________________________________________= __________ Regards, -- Rui Paulo From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 16:44:28 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6F773106566B; Mon, 18 Oct 2010 16:44:28 +0000 (UTC) (envelope-from onemda@gmail.com) Received: from mail-wy0-f182.google.com (mail-wy0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id 864978FC0C; Mon, 18 Oct 2010 16:44:27 +0000 (UTC) Received: by wyb38 with SMTP id 38so1494745wyb.13 for ; Mon, 18 Oct 2010 09:44:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=MpaoEIbtzEieogxhv0TOkAKUbmbpdu7rSG+5ixC5ydU=; b=bm388f8v28l5drQZfLGvQD9rbO81n0JuZubDyFuZg4BlqparQO6IoJaOeYn8faBKdl 9sr45rjpSNuAWYflmf5uOiTxFnVG+Z5dtW4jDR0SkxI6ilQ+oZVzbpzGV1aMC5KBhwy9 8fwLb3bdWyXj97DWhqJARBWNq4qpz819divhA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=qt8y0WyYPPEieaJb116S4BY1mehl/57kJjH70qRd/6HHgybYN2y1/VVR+U77BRDWmq YtPo3N+FQfnSC30yR+6BCOjKAjrUJz/LulmpAwCwHqKL4R60Q2E3kRplx5SN2YSHUr1h kg+0ABywiLb2ZxmhbQcMw5Bn06q8BVFw0EKQc= MIME-Version: 1.0 Received: by 10.216.37.4 with SMTP id x4mr5579936wea.1.1287420266112; Mon, 18 Oct 2010 09:44:26 -0700 (PDT) Received: by 10.216.87.67 with HTTP; Mon, 18 Oct 2010 09:44:26 -0700 (PDT) In-Reply-To: References: <201004091205.o39C5OD5045357@svn.freebsd.org> Date: Mon, 18 Oct 2010 16:44:26 +0000 Message-ID: From: Paul B Mahol To: Rui Paulo Content-Type: text/plain; charset=ISO-8859-1 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r206418 - head/sys/modules/wlan X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 16:44:28 -0000 On 10/18/10, Rui Paulo wrote: > > On 18 Oct 2010, at 17:23, Paul B Mahol wrote: > >> On 4/9/10, Rui Paulo wrote: >>> Author: rpaulo >>> Date: Fri Apr 9 12:05:24 2010 >>> New Revision: 206418 >>> URL: http://svn.freebsd.org/changeset/base/206418 >>> >>> Log: >>> Add ieee80211_{amrr,rssadapt}.c. >>> >> >> Either revert this or remove amrr and rssadapt modules (IMHO better >> option). > > Why? AMRR is used by many drivers. Try to load wlan_amrr.ko module or wlan_rssadapt.ko module while wlan.ko module is already loaded. > >>> MFC after: 1 month >>> >>> Modified: >>> head/sys/modules/wlan/Makefile >>> >>> Modified: head/sys/modules/wlan/Makefile >>> ============================================================================== >>> --- head/sys/modules/wlan/Makefile Fri Apr 9 11:56:38 2010 (r206417) >>> +++ head/sys/modules/wlan/Makefile Fri Apr 9 12:05:24 2010 (r206418) >>> @@ -3,13 +3,13 @@ >>> .PATH: ${.CURDIR}/../../net80211 >>> >>> KMOD= wlan >>> -SRCS= ieee80211.c ieee80211_action.c ieee80211_ageq.c \ >>> +SRCS= ieee80211.c ieee80211_action.c ieee80211_ageq.c ieee80211_amrr.c \ >>> ieee80211_crypto.c ieee80211_crypto_none.c ieee80211_dfs.c \ >>> ieee80211_freebsd.c ieee80211_input.c ieee80211_ioctl.c \ >>> ieee80211_mesh.c ieee80211_node.c ieee80211_output.c ieee80211_phy.c \ >>> ieee80211_power.c ieee80211_proto.c ieee80211_scan.c \ >>> ieee80211_scan_sta.c ieee80211_radiotap.c ieee80211_ratectl.c \ >>> - ieee80211_regdomain.c \ >>> + ieee80211_regdomain.c ieee80211_rssadapt.c \ >>> ieee80211_ht.c ieee80211_hwmp.c ieee80211_adhoc.c ieee80211_hostap.c \ >>> ieee80211_monitor.c ieee80211_sta.c ieee80211_wds.c ieee80211_ddb.c >>> SRCS+= bus_if.h device_if.h opt_inet.h opt_inet6.h opt_ipx.h opt_wlan.h \ >>> _______________________________________________ >>> svn-src-head@freebsd.org mailing list >>> http://lists.freebsd.org/mailman/listinfo/svn-src-head >>> To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org" >>> >> >> ____________________________________________________________________________________ >> Use the link below to report this message as spam. >> https://lavabit.com/apps/teacher?sig=1413657&key=1486363005 >> ____________________________________________________________________________________ > > Regards, > -- > Rui Paulo > > > From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 16:49:26 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8DBFD1065673; Mon, 18 Oct 2010 16:49:26 +0000 (UTC) (envelope-from onemda@gmail.com) Received: from mail-ww0-f50.google.com (mail-ww0-f50.google.com [74.125.82.50]) by mx1.freebsd.org (Postfix) with ESMTP id CBAC18FC3E; Mon, 18 Oct 2010 16:49:25 +0000 (UTC) Received: by wwb13 with SMTP id 13so512295wwb.31 for ; Mon, 18 Oct 2010 09:49:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=xg38ioETs0xftorO1cb4EFzxUTLkDezdPtyaC457ZBk=; b=JM+FRJeFgAGLM6gancFiYht6FVY3HhxFqzXnVYedoO0G4g7bN7Fmq6gpWj1LgmVb7E ZBlLPAzGQfu4a1vuIlLlwpzJy0sjVkj1JEt1MDWCWTJ9f466LVTrQ2pGuIFwmNOvLSvE nN5Ag1H46+AVfH6OhchezrYxEbrQDCqZl0Rxs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=vqggQfZRyys/4kXOumkUsBHRP30WaKjF6LRVzTECx4Dr77rc482O8m35lYpGPO39JM 718toQI+C7ZLA2bEc/9bY3ypCAHqKTeHtVlxpWDzLeXPC9mUdKierIDbp30RlyXxhKYi oqu6IYzgMkvu+vle2M4BsEmlVT7WqGFxt5cBA= MIME-Version: 1.0 Received: by 10.216.58.209 with SMTP id q59mr5496439wec.41.1287419030922; Mon, 18 Oct 2010 09:23:50 -0700 (PDT) Received: by 10.216.87.67 with HTTP; Mon, 18 Oct 2010 09:23:50 -0700 (PDT) In-Reply-To: <201004091205.o39C5OD5045357@svn.freebsd.org> References: <201004091205.o39C5OD5045357@svn.freebsd.org> Date: Mon, 18 Oct 2010 16:23:50 +0000 Message-ID: From: Paul B Mahol To: Rui Paulo Content-Type: text/plain; charset=ISO-8859-1 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r206418 - head/sys/modules/wlan X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 16:49:26 -0000 On 4/9/10, Rui Paulo wrote: > Author: rpaulo > Date: Fri Apr 9 12:05:24 2010 > New Revision: 206418 > URL: http://svn.freebsd.org/changeset/base/206418 > > Log: > Add ieee80211_{amrr,rssadapt}.c. > Either revert this or remove amrr and rssadapt modules (IMHO better option). > MFC after: 1 month > > Modified: > head/sys/modules/wlan/Makefile > > Modified: head/sys/modules/wlan/Makefile > ============================================================================== > --- head/sys/modules/wlan/Makefile Fri Apr 9 11:56:38 2010 (r206417) > +++ head/sys/modules/wlan/Makefile Fri Apr 9 12:05:24 2010 (r206418) > @@ -3,13 +3,13 @@ > .PATH: ${.CURDIR}/../../net80211 > > KMOD= wlan > -SRCS= ieee80211.c ieee80211_action.c ieee80211_ageq.c \ > +SRCS= ieee80211.c ieee80211_action.c ieee80211_ageq.c ieee80211_amrr.c \ > ieee80211_crypto.c ieee80211_crypto_none.c ieee80211_dfs.c \ > ieee80211_freebsd.c ieee80211_input.c ieee80211_ioctl.c \ > ieee80211_mesh.c ieee80211_node.c ieee80211_output.c ieee80211_phy.c \ > ieee80211_power.c ieee80211_proto.c ieee80211_scan.c \ > ieee80211_scan_sta.c ieee80211_radiotap.c ieee80211_ratectl.c \ > - ieee80211_regdomain.c \ > + ieee80211_regdomain.c ieee80211_rssadapt.c \ > ieee80211_ht.c ieee80211_hwmp.c ieee80211_adhoc.c ieee80211_hostap.c \ > ieee80211_monitor.c ieee80211_sta.c ieee80211_wds.c ieee80211_ddb.c > SRCS+= bus_if.h device_if.h opt_inet.h opt_inet6.h opt_ipx.h opt_wlan.h \ > _______________________________________________ > svn-src-head@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org" > From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 19:06:18 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C2F921065670; Mon, 18 Oct 2010 19:06:18 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (alchemy.franken.de [194.94.249.214]) by mx1.freebsd.org (Postfix) with ESMTP id 2DA888FC15; Mon, 18 Oct 2010 19:06:17 +0000 (UTC) Received: from alchemy.franken.de (localhost [127.0.0.1]) by alchemy.franken.de (8.14.4/8.14.4/ALCHEMY.FRANKEN.DE) with ESMTP id o9IJ6Fbt034678; Mon, 18 Oct 2010 21:06:15 +0200 (CEST) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by alchemy.franken.de (8.14.4/8.14.4/Submit) id o9IJ6FUV034677; Mon, 18 Oct 2010 21:06:15 +0200 (CEST) (envelope-from marius) Date: Mon, 18 Oct 2010 21:06:15 +0200 From: Marius Strobl To: John Baldwin Message-ID: <20101018190615.GL1416@alchemy.franken.de> References: <201010171646.o9HGks2U038501@svn.freebsd.org> <201010181003.13045.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201010181003.13045.jhb@freebsd.org> User-Agent: Mutt/1.4.2.3i Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r213985 - head/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 19:06:18 -0000 On Mon, Oct 18, 2010 at 10:03:12AM -0400, John Baldwin wrote: > On Sunday, October 17, 2010 12:46:54 pm Marius Strobl wrote: > > Author: marius > > Date: Sun Oct 17 16:46:54 2010 > > New Revision: 213985 > > URL: http://svn.freebsd.org/changeset/base/213985 > > > > Log: > > - In oneshot-mode it doesn't make sense to try to compensate the clock > > drift in order to achieve a more stable clock as the tick intervals may > > vary in the first place. In fact I haven't seen this code kick in when > > in oneshot-mode so just skip it in that case. > > - There's no need to explicitly stop the (S)TICK counter in oneshot-mode > > with every tick as it just won't trigger again with the (S)TICK compare > > register set to a value in the past (with a wrap-around once every ~195 > > years of uptime at 1.5 GHz this isn't something we have to worry about > > in practice). > > - Given that we'll disable interrupts completely anyway there's no > > need to enter critical sections. > > This last is not entirely true. The purpose of the critical section is to > prevent the kernel from preempting to the softclock swi thread until all of > the hardclock handler has finished execution. Thus, places that actually > actually call hardclock() should probably still be wrapped in a critical > section. > It's currently unclear to me how on architectures converted to the event timer world order hardclock() is called eventually but in any case shouldn't it be the responsibility of the code actually calling it (or the equivalent code) to wrap it in a critical section instead then? After all the MD part just enrolls in calling _something_ in one-shot and/or periodic mode without knowing what it actually calls (and IMO it also should no longer need to). In handleevents() of kern_clocksource.c hardclock_anycpu() is called so i think that is what actually needs to be wrapped in a critical section. Marius From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 19:06:47 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 498821065672; Mon, 18 Oct 2010 19:06:47 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2CEA78FC22; Mon, 18 Oct 2010 19:06:46 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9IJ6k0c082158; Mon, 18 Oct 2010 19:06:46 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9IJ6k6G082153; Mon, 18 Oct 2010 19:06:46 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201010181906.o9IJ6k6G082153@svn.freebsd.org> From: Konstantin Belousov Date: Mon, 18 Oct 2010 19:06:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214026 - head/sys/nfsclient X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 19:06:47 -0000 Author: kib Date: Mon Oct 18 19:06:46 2010 New Revision: 214026 URL: http://svn.freebsd.org/changeset/base/214026 Log: Do not synchronously start the nfsiod threads at all. The r212506 fixed the issues with file descriptor locks, but the same problems are present for vnode lock/user map lock. If the nfs_asyncio() cannot find the free nfsiod, schedule task to create new nfsiod and return error. This causes fall back to the synchronous i/o for nfs_strategy(), or does not start read at all in the case of readahead. The caller that holds vnode and potentially user map lock does not wait for kproc_create() to finish, preventing the LORs. The change effectively reverts r203072, because we never hand off the request to newly created nfsiod thread anymore. Reviewed by: jhb Tested by: jhb, pluknet MFC after: 3 weeks Modified: head/sys/nfsclient/nfs.h head/sys/nfsclient/nfs_bio.c head/sys/nfsclient/nfs_nfsiod.c head/sys/nfsclient/nfsnode.h Modified: head/sys/nfsclient/nfs.h ============================================================================== --- head/sys/nfsclient/nfs.h Mon Oct 18 15:46:58 2010 (r214025) +++ head/sys/nfsclient/nfs.h Mon Oct 18 19:06:46 2010 (r214026) @@ -253,7 +253,7 @@ int nfs_writerpc(struct vnode *, struct int nfs_commit(struct vnode *vp, u_quad_t offset, int cnt, struct ucred *cred, struct thread *td); int nfs_readdirrpc(struct vnode *, struct uio *, struct ucred *); -int nfs_nfsiodnew(int); +void nfs_nfsiodnew(void); void nfs_nfsiodnew_tq(__unused void *, int); int nfs_asyncio(struct nfsmount *, struct buf *, struct ucred *, struct thread *); int nfs_doio(struct vnode *, struct buf *, struct ucred *, struct thread *); Modified: head/sys/nfsclient/nfs_bio.c ============================================================================== --- head/sys/nfsclient/nfs_bio.c Mon Oct 18 15:46:58 2010 (r214025) +++ head/sys/nfsclient/nfs_bio.c Mon Oct 18 19:06:46 2010 (r214026) @@ -1375,13 +1375,9 @@ again: /* * Try to create one if none are free. */ - if (!gotiod) { - iod = nfs_nfsiodnew(1); - if (iod != -1) - gotiod = TRUE; - } - - if (gotiod) { + if (!gotiod) + nfs_nfsiodnew(); + else { /* * Found one, so wake it up and tell it which * mount to process. @@ -1401,7 +1397,7 @@ again: if (!gotiod) { if (nmp->nm_bufqiods > 0) { NFS_DPF(ASYNCIO, - ("nfs_asyncio: %d iods are already processing mount %p\n", + ("nfs_asyncio: %d iods are already processing mount %p\n", nmp->nm_bufqiods, nmp)); gotiod = TRUE; } @@ -1416,9 +1412,9 @@ again: * Ensure that the queue never grows too large. We still want * to asynchronize so we block rather then return EIO. */ - while (nmp->nm_bufqlen >= 2*nfs_numasync) { + while (nmp->nm_bufqlen >= 2 * nfs_numasync) { NFS_DPF(ASYNCIO, - ("nfs_asyncio: waiting for mount %p queue to drain\n", nmp)); + ("nfs_asyncio: waiting for mount %p queue to drain\n", nmp)); nmp->nm_bufqwant = TRUE; error = nfs_msleep(td, &nmp->nm_bufq, &nfs_iod_mtx, slpflag | PRIBIO, @@ -1426,7 +1422,7 @@ again: if (error) { error2 = nfs_sigintr(nmp, td); if (error2) { - mtx_unlock(&nfs_iod_mtx); + mtx_unlock(&nfs_iod_mtx); return (error2); } if (slpflag == NFS_PCATCH) { @@ -1438,17 +1434,13 @@ again: * We might have lost our iod while sleeping, * so check and loop if nescessary. */ - if (nmp->nm_bufqiods == 0) { - NFS_DPF(ASYNCIO, - ("nfs_asyncio: no iods after mount %p queue was drained, looping\n", nmp)); - goto again; - } + goto again; } /* We might have lost our nfsiod */ if (nmp->nm_bufqiods == 0) { NFS_DPF(ASYNCIO, - ("nfs_asyncio: no iods after mount %p queue was drained, looping\n", nmp)); +("nfs_asyncio: no iods after mount %p queue was drained, looping\n", nmp)); goto again; } Modified: head/sys/nfsclient/nfs_nfsiod.c ============================================================================== --- head/sys/nfsclient/nfs_nfsiod.c Mon Oct 18 15:46:58 2010 (r214025) +++ head/sys/nfsclient/nfs_nfsiod.c Mon Oct 18 19:06:46 2010 (r214026) @@ -76,16 +76,6 @@ static MALLOC_DEFINE(M_NFSSVC, "nfsclien static void nfssvc_iod(void *); -struct nfsiod_str { - STAILQ_ENTRY(nfsiod_str) ni_links; - int *ni_inst; - int ni_iod; - int ni_error; - int ni_done; -}; -static STAILQ_HEAD(, nfsiod_str) nfsiodhead = - STAILQ_HEAD_INITIALIZER(nfsiodhead); - static int nfs_asyncdaemon[NFS_MAXASYNCDAEMON]; SYSCTL_DECL(_vfs_nfs); @@ -101,6 +91,8 @@ unsigned int nfs_iodmax = 20; /* Minimum number of nfsiod kthreads to keep as spares */ static unsigned int nfs_iodmin = 0; +static int nfs_nfsiodnew_sync(void); + static int sysctl_iodmin(SYSCTL_HANDLER_ARGS) { @@ -124,7 +116,7 @@ sysctl_iodmin(SYSCTL_HANDLER_ARGS) * than the new minimum, create some more. */ for (i = nfs_iodmin - nfs_numasync; i > 0; i--) - nfs_nfsiodnew(0); + nfs_nfsiodnew_sync(); out: mtx_unlock(&nfs_iod_mtx); return (0); @@ -170,68 +162,55 @@ SYSCTL_PROC(_vfs_nfs, OID_AUTO, iodmax, sizeof (nfs_iodmax), sysctl_iodmax, "IU", "Max number of nfsiod kthreads"); +static int +nfs_nfsiodnew_sync(void) +{ + int error, i; + + mtx_assert(&nfs_iod_mtx, MA_OWNED); + for (i = 0; i < nfs_iodmax; i++) { + if (nfs_asyncdaemon[i] == 0) { + nfs_asyncdaemon[i] = 1; + break; + } + } + if (i == nfs_iodmax) + return (0); + mtx_unlock(&nfs_iod_mtx); + error = kproc_create(nfssvc_iod, nfs_asyncdaemon + i, NULL, + RFHIGHPID, 0, "nfsiod %d", i); + mtx_lock(&nfs_iod_mtx); + if (error == 0) { + nfs_numasync++; + nfs_iodwant[i] = NFSIOD_AVAILABLE; + } else + nfs_asyncdaemon[i] = 0; + return (error); +} + void nfs_nfsiodnew_tq(__unused void *arg, int pending) { - struct nfsiod_str *nip; mtx_lock(&nfs_iod_mtx); - while ((nip = STAILQ_FIRST(&nfsiodhead)) != NULL) { - STAILQ_REMOVE_HEAD(&nfsiodhead, ni_links); - mtx_unlock(&nfs_iod_mtx); - nip->ni_error = kproc_create(nfssvc_iod, nip->ni_inst, NULL, - RFHIGHPID, 0, "nfsiod %d", nip->ni_iod); - nip->ni_done = 1; - mtx_lock(&nfs_iod_mtx); - wakeup(nip); + while (pending > 0) { + pending--; + nfs_nfsiodnew_sync(); } mtx_unlock(&nfs_iod_mtx); } -int -nfs_nfsiodnew(int set_iodwant) +void +nfs_nfsiodnew(void) { - int error, i; - int newiod; - struct nfsiod_str *nip; - if (nfs_numasync >= nfs_iodmax) - return (-1); - newiod = -1; - for (i = 0; i < nfs_iodmax; i++) - if (nfs_asyncdaemon[i] == 0) { - nfs_asyncdaemon[i]++; - newiod = i; - break; - } - if (newiod == -1) - return (-1); - if (set_iodwant > 0) - nfs_iodwant[i] = NFSIOD_CREATED_FOR_NFS_ASYNCIO; - mtx_unlock(&nfs_iod_mtx); - nip = malloc(sizeof(*nip), M_TEMP, M_WAITOK | M_ZERO); - nip->ni_inst = nfs_asyncdaemon + i; - nip->ni_iod = newiod; - mtx_lock(&nfs_iod_mtx); - STAILQ_INSERT_TAIL(&nfsiodhead, nip, ni_links); + mtx_assert(&nfs_iod_mtx, MA_OWNED); taskqueue_enqueue(taskqueue_thread, &nfs_nfsiodnew_task); - while (!nip->ni_done) - mtx_sleep(nip, &nfs_iod_mtx, 0, "niwt", 0); - error = nip->ni_error; - free(nip, M_TEMP); - if (error) { - if (set_iodwant > 0) - nfs_iodwant[i] = NFSIOD_NOT_AVAILABLE; - return (-1); - } - nfs_numasync++; - return (newiod); } static void nfsiod_setup(void *dummy) { - int i; int error; TUNABLE_INT_FETCH("vfs.nfs.iodmin", &nfs_iodmin); @@ -240,8 +219,8 @@ nfsiod_setup(void *dummy) if (nfs_iodmin > NFS_MAXASYNCDAEMON) nfs_iodmin = NFS_MAXASYNCDAEMON; - for (i = 0; i < nfs_iodmin; i++) { - error = nfs_nfsiodnew(0); + while (nfs_numasync < nfs_iodmin) { + error = nfs_nfsiodnew_sync(); if (error == -1) panic("nfsiod_setup: nfs_nfsiodnew failed"); } Modified: head/sys/nfsclient/nfsnode.h ============================================================================== --- head/sys/nfsclient/nfsnode.h Mon Oct 18 15:46:58 2010 (r214025) +++ head/sys/nfsclient/nfsnode.h Mon Oct 18 19:06:46 2010 (r214026) @@ -165,16 +165,13 @@ struct nfsnode { #define NFS_TIMESPEC_COMPARE(T1, T2) (((T1)->tv_sec != (T2)->tv_sec) || ((T1)->tv_nsec != (T2)->tv_nsec)) /* - * NFS iod threads can be in one of these three states once spawned. + * NFS iod threads can be in one of these two states once spawned. * NFSIOD_NOT_AVAILABLE - Cannot be assigned an I/O operation at this time. * NFSIOD_AVAILABLE - Available to be assigned an I/O operation. - * NFSIOD_CREATED_FOR_NFS_ASYNCIO - Newly created for nfs_asyncio() and - * will be used by the thread that called nfs_asyncio(). */ enum nfsiod_state { NFSIOD_NOT_AVAILABLE = 0, NFSIOD_AVAILABLE = 1, - NFSIOD_CREATED_FOR_NFS_ASYNCIO = 2, }; /* From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 19:14:59 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AFCA81065694; Mon, 18 Oct 2010 19:14:59 +0000 (UTC) (envelope-from culot@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9DA2C8FC15; Mon, 18 Oct 2010 19:14:59 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9IJExF8082420; Mon, 18 Oct 2010 19:14:59 GMT (envelope-from culot@svn.freebsd.org) Received: (from culot@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9IJEx9W082418; Mon, 18 Oct 2010 19:14:59 GMT (envelope-from culot@svn.freebsd.org) Message-Id: <201010181914.o9IJEx9W082418@svn.freebsd.org> From: Frederic Culot Date: Mon, 18 Oct 2010 19:14:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214027 - head/usr.bin/calendar/calendars X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 19:14:59 -0000 Author: culot (ports committer) Date: Mon Oct 18 19:14:59 2010 New Revision: 214027 URL: http://svn.freebsd.org/changeset/base/214027 Log: Replace spaces by a tab after the date. Reported by: gavin@, brucec@ Approved by: sahil@ (mentor) Modified: head/usr.bin/calendar/calendars/calendar.freebsd Modified: head/usr.bin/calendar/calendars/calendar.freebsd ============================================================================== --- head/usr.bin/calendar/calendars/calendar.freebsd Mon Oct 18 19:06:46 2010 (r214026) +++ head/usr.bin/calendar/calendars/calendar.freebsd Mon Oct 18 19:14:59 2010 (r214027) @@ -302,7 +302,7 @@ 11/19 Konstantin Belousov born in Kiev, USSR, 1972 11/20 Dmitry Morozovsky born in Moscow, USSR, 1968 11/20 Gavin Atkinson born in Middlesbrough, United Kingdom, 1979 -11/22 Frederic Culot born in Saint-Germain-En-Laye, France, 1976 +11/22 Frederic Culot born in Saint-Germain-En-Laye, France, 1976 11/23 Josef Lawrence Karthauser born in Pembury, Kent, United Kingdom, 1972 11/24 Andrey Zakhvatov born in Chelyabinsk, Russian Federation, 1974 11/24 Daniel Gerzo born in Bratislava, Slovakia, 1986 From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 19:17:26 2010 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D79BE1065672; Mon, 18 Oct 2010 19:17:26 +0000 (UTC) (envelope-from sahil@tandon.net) Received: from spartan.hamla.org (spartan.hamla.org [206.251.255.30]) by mx1.freebsd.org (Postfix) with ESMTP id ACDA38FC0C; Mon, 18 Oct 2010 19:17:26 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by spartan.hamla.org (Postfix) with ESMTP id 0C09617131; Mon, 18 Oct 2010 15:02:08 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tandon.net; h= date:date:subject:subject:from:from:x-mailer:message-id :content-type:content-type:content-transfer-encoding :mime-version:in-reply-to:references:received:received; s=aegis; t=1287428527; bh=LxHCZtNh/ec0i9wS4IOjKdVRncCwFkL1vYJmyUDT8gE=; b= YgsXJYuT8RxeBd6OnKjxrwhEjVxR3fnWNrnenlaGnf1feY+FKvNzIsPcxxNJSBc6 r2e3NkmfG/S433Nb+6yT1Ya2QrbZE7c2PqNm73197iJPRhkNtLxqrHab4ez+IsEf xT1sFNvZa0cB0YaJXEKQott0sRcZyfkn/Mb19XVnJUo= X-Virus-Scanned: by ClamAV at spartan.hamla.org Received: from spartan.hamla.org ([127.0.0.1]) by localhost (spartan.hamla.org [127.0.0.1]) (amavisd-new, port 10027) with LMTP id CODF-hAwRC1j; Mon, 18 Oct 2010 15:02:07 -0400 (EDT) Received: from [10.58.152.112] (mobile-166-137-139-251.mycingular.net [166.137.139.251]) by spartan.hamla.org (Postfix) with ESMTPSA id 6675F17088; Mon, 18 Oct 2010 15:02:00 -0400 (EDT) References: <201010171902.o9HJ2gjw042593@svn.freebsd.org> <1287402069.73576.24.camel@buffy.york.ac.uk> <20101018131006.000062b8@unknown> In-Reply-To: <20101018131006.000062b8@unknown> Mime-Version: 1.0 (iPhone Mail 8A293) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Message-Id: <7B468C67-9442-4977-B098-AEC00A818B37@tandon.net> X-Mailer: iPhone Mail (8A293) From: Sahil Tandon Date: Mon, 18 Oct 2010 15:01:07 -0400 To: Bruce Cran Cc: "svn-src-head@FreeBSD.org" , Frederic Culot , "svn-src-all@FreeBSD.org" , Gavin Atkinson , "src-committers@FreeBSD.org" Subject: Re: svn commit: r213990 - head/usr.bin/calendar/calendars X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 19:17:26 -0000 On Oct 18, 2010, at 8:10 AM, Bruce Cran wrote: > On Mon, 18 Oct 2010 12:41:09 +0100 > Gavin Atkinson wrote: >=20 >> It looks like you've accidentally added an extra space between the >> date and your name. >=20 > I think there should be a single tab This is my fault; in my haste, I missed this. culot@ will commit the correc= ted version shortly. Sorry everyone.= From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 19:23:01 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DDE20106566C; Mon, 18 Oct 2010 19:23:00 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id AB82B8FC12; Mon, 18 Oct 2010 19:23:00 +0000 (UTC) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id 113A946B82; Mon, 18 Oct 2010 15:23:00 -0400 (EDT) Received: from jhbbsd.localnet (smtp.hudson-trading.com [209.249.190.9]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 035378A009; Mon, 18 Oct 2010 15:22:58 -0400 (EDT) From: John Baldwin To: Marius Strobl Date: Mon, 18 Oct 2010 15:22:47 -0400 User-Agent: KMail/1.13.5 (FreeBSD/7.3-CBSD-20100819; KDE/4.4.5; amd64; ; ) References: <201010171646.o9HGks2U038501@svn.freebsd.org> <201010181003.13045.jhb@freebsd.org> <20101018190615.GL1416@alchemy.franken.de> In-Reply-To: <20101018190615.GL1416@alchemy.franken.de> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201010181522.47714.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6 (bigwig.baldwin.cx); Mon, 18 Oct 2010 15:22:59 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.96.3 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-1.9 required=4.2 tests=BAYES_00 autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on bigwig.baldwin.cx Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r213985 - head/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 19:23:01 -0000 On Monday, October 18, 2010 3:06:15 pm Marius Strobl wrote: > On Mon, Oct 18, 2010 at 10:03:12AM -0400, John Baldwin wrote: > > On Sunday, October 17, 2010 12:46:54 pm Marius Strobl wrote: > > > Author: marius > > > Date: Sun Oct 17 16:46:54 2010 > > > New Revision: 213985 > > > URL: http://svn.freebsd.org/changeset/base/213985 > > > > > > Log: > > > - In oneshot-mode it doesn't make sense to try to compensate the clock > > > drift in order to achieve a more stable clock as the tick intervals may > > > vary in the first place. In fact I haven't seen this code kick in when > > > in oneshot-mode so just skip it in that case. > > > - There's no need to explicitly stop the (S)TICK counter in oneshot-mode > > > with every tick as it just won't trigger again with the (S)TICK compare > > > register set to a value in the past (with a wrap-around once every ~195 > > > years of uptime at 1.5 GHz this isn't something we have to worry about > > > in practice). > > > - Given that we'll disable interrupts completely anyway there's no > > > need to enter critical sections. > > > > This last is not entirely true. The purpose of the critical section is to > > prevent the kernel from preempting to the softclock swi thread until all of > > the hardclock handler has finished execution. Thus, places that actually > > actually call hardclock() should probably still be wrapped in a critical > > section. > > > > It's currently unclear to me how on architectures converted to the > event timer world order hardclock() is called eventually but in any case > shouldn't it be the responsibility of the code actually calling it (or > the equivalent code) to wrap it in a critical section instead then? After > all the MD part just enrolls in calling _something_ in one-shot and/or > periodic mode without knowing what it actually calls (and IMO it also > should no longer need to). In handleevents() of kern_clocksource.c > hardclock_anycpu() is called so i think that is what actually needs to > be wrapped in a critical section. Hmm, we've previously done the critical section in the MD code instead of in hardclock() itself so that if a timer needed to be reprogrammed or interrupt acknowledged as much of that as possible could happen before being preempted (or put another way, the preemption to softclock was deferred until all that stuff had completed). I don't know if handleevents() is at a sufficient level to know for certain that everything is done such that it is safe to preempt when critical_exit() is invoked. -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 19:44:45 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8C6FC106566C; Mon, 18 Oct 2010 19:44:45 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 795258FC18; Mon, 18 Oct 2010 19:44:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9IJijYO083205; Mon, 18 Oct 2010 19:44:45 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9IJijSW083201; Mon, 18 Oct 2010 19:44:45 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201010181944.o9IJijSW083201@svn.freebsd.org> From: Xin LI Date: Mon, 18 Oct 2010 19:44:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214028 - vendor/netcat/dist X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 19:44:45 -0000 Author: delphij Date: Mon Oct 18 19:44:45 2010 New Revision: 214028 URL: http://svn.freebsd.org/changeset/base/214028 Log: Import nc from OpenBSD's OPENBSD_4_8 as of today. Modified: vendor/netcat/dist/nc.1 vendor/netcat/dist/netcat.c vendor/netcat/dist/socks.c Modified: vendor/netcat/dist/nc.1 ============================================================================== --- vendor/netcat/dist/nc.1 Mon Oct 18 19:14:59 2010 (r214027) +++ vendor/netcat/dist/nc.1 Mon Oct 18 19:44:45 2010 (r214028) @@ -1,4 +1,4 @@ -.\" $OpenBSD: nc.1,v 1.53 2010/02/23 23:00:52 schwarze Exp $ +.\" $OpenBSD: nc.1,v 1.55 2010/07/25 07:51:39 guenther Exp $ .\" .\" Copyright (c) 1996 David Sacerdote .\" All rights reserved. @@ -25,7 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd $Mdocdate: February 23 2010 $ +.Dd $Mdocdate: July 3 2010 $ .Dt NC 1 .Os .Sh NAME @@ -42,7 +42,7 @@ .Op Fl p Ar source_port .Op Fl s Ar source_ip_address .Op Fl T Ar ToS -.Op Fl V Ar rdomain +.Op Fl V Ar rtable .Op Fl w Ar timeout .Op Fl X Ar proxy_protocol .Oo Xo @@ -179,8 +179,8 @@ Specifies to use sockets. .It Fl u Use UDP instead of the default option of TCP. -.It Fl V Ar rdomain -Set the routing domain. +.It Fl V Ar rtable +Set the routing table to be used. The default is 0. .It Fl v Have @@ -317,7 +317,7 @@ when it might be necessary to verify wha in response to commands issued by the client. For example, to retrieve the home page of a web site: .Bd -literal -offset indent -$ echo -n "GET / HTTP/1.0\er\en\er\en" | nc host.example.com 80 +$ printf "GET / HTTP/1.0\er\en\er\en" | nc host.example.com 80 .Ed .Pp Note that this also displays the headers sent by the web server. Modified: vendor/netcat/dist/netcat.c ============================================================================== --- vendor/netcat/dist/netcat.c Mon Oct 18 19:14:59 2010 (r214027) +++ vendor/netcat/dist/netcat.c Mon Oct 18 19:44:45 2010 (r214028) @@ -1,4 +1,4 @@ -/* $OpenBSD: netcat.c,v 1.95 2010/02/27 00:58:56 nicm Exp $ */ +/* $OpenBSD: netcat.c,v 1.98 2010/07/03 04:44:51 guenther Exp $ */ /* * Copyright (c) 2001 Eric Jackson * @@ -84,7 +84,7 @@ int Iflag; /* TCP receive buffer siz int Oflag; /* TCP send buffer size */ int Sflag; /* TCP MD5 signature option */ int Tflag = -1; /* IP Type of Service */ -u_int rdomain; +u_int rtableid; int timeout = -1; int family = AF_UNSPEC; @@ -189,10 +189,10 @@ main(int argc, char *argv[]) uflag = 1; break; case 'V': - rdomain = (unsigned int)strtonum(optarg, 0, + rtableid = (unsigned int)strtonum(optarg, 0, RT_TABLEID_MAX, &errstr); if (errstr) - errx(1, "rdomain %s: %s", errstr, optarg); + errx(1, "rtable %s: %s", errstr, optarg); break; case 'v': vflag = 1; @@ -323,11 +323,11 @@ main(int argc, char *argv[]) */ if (uflag) { int rv, plen; - char buf[8192]; + char buf[16384]; struct sockaddr_storage z; len = sizeof(z); - plen = jflag ? 8192 : 1024; + plen = jflag ? 16384 : 2048; rv = recvfrom(s, buf, plen, MSG_PEEK, (struct sockaddr *)&z, &len); if (rv < 0) @@ -507,10 +507,10 @@ remote_connect(const char *host, const c res0->ai_protocol)) < 0) continue; - if (rdomain) { - if (setsockopt(s, IPPROTO_IP, SO_RDOMAIN, &rdomain, - sizeof(rdomain)) == -1) - err(1, "setsockopt SO_RDOMAIN"); + if (rtableid) { + if (setsockopt(s, IPPROTO_IP, SO_RTABLE, &rtableid, + sizeof(rtableid)) == -1) + err(1, "setsockopt SO_RTABLE"); } /* Bind to a local port or source address if specified. */ @@ -581,10 +581,10 @@ local_listen(char *host, char *port, str res0->ai_protocol)) < 0) continue; - if (rdomain) { - if (setsockopt(s, IPPROTO_IP, SO_RDOMAIN, &rdomain, - sizeof(rdomain)) == -1) - err(1, "setsockopt SO_RDOMAIN"); + if (rtableid) { + if (setsockopt(s, IPPROTO_IP, SO_RTABLE, &rtableid, + sizeof(rtableid)) == -1) + err(1, "setsockopt SO_RTABLE"); } ret = setsockopt(s, SOL_SOCKET, SO_REUSEPORT, &x, sizeof(x)); @@ -619,12 +619,12 @@ void readwrite(int nfd) { struct pollfd pfd[2]; - unsigned char buf[8192]; + unsigned char buf[16384]; int n, wfd = fileno(stdin); int lfd = fileno(stdout); int plen; - plen = jflag ? 8192 : 1024; + plen = jflag ? 16384 : 2048; /* Setup Network FD */ pfd[0].fd = nfd; @@ -766,10 +766,9 @@ build_ports(char *p) hi = strtonum(p, 1, PORT_MAX, &errstr); if (errstr) errx(1, "port number %s: %s", errstr, p); - portlist[0] = calloc(1, PORT_MAX_LEN); + portlist[0] = strdup(p); if (portlist[0] == NULL) err(1, NULL); - portlist[0] = p; } } @@ -872,7 +871,7 @@ help(void) \t-t Answer TELNET negotiation\n\ \t-U Use UNIX domain socket\n\ \t-u UDP mode\n\ - \t-V rdomain Specify alternate routing domain\n\ + \t-V rtable Specify alternate routing table\n\ \t-v Verbose\n\ \t-w secs\t Timeout for connects and final net reads\n\ \t-X proto Proxy protocol: \"4\", \"5\" (SOCKS) or \"connect\"\n\ @@ -888,7 +887,7 @@ usage(int ret) fprintf(stderr, "usage: nc [-46DdhklnrStUuvz] [-I length] [-i interval] [-O length]\n" "\t [-P proxy_username] [-p source_port] [-s source_ip_address] [-T ToS]\n" - "\t [-V rdomain] [-w timeout] [-X proxy_protocol]\n" + "\t [-V rtable] [-w timeout] [-X proxy_protocol]\n" "\t [-x proxy_address[:port]] [hostname] [port]\n"); if (ret) exit(1); Modified: vendor/netcat/dist/socks.c ============================================================================== --- vendor/netcat/dist/socks.c Mon Oct 18 19:14:59 2010 (r214027) +++ vendor/netcat/dist/socks.c Mon Oct 18 19:44:45 2010 (r214028) @@ -1,4 +1,4 @@ -/* $OpenBSD: socks.c,v 1.17 2006/09/25 04:51:20 ray Exp $ */ +/* $OpenBSD: socks.c,v 1.18 2010/04/20 07:26:35 nicm Exp $ */ /* * Copyright (c) 1999 Niklas Hallqvist. All rights reserved. @@ -167,11 +167,11 @@ socks_connect(const char *host, const ch buf[2] = SOCKS_NOAUTH; cnt = atomicio(vwrite, proxyfd, buf, 3); if (cnt != 3) - err(1, "write failed (%d/3)", cnt); + err(1, "write failed (%zu/3)", cnt); cnt = atomicio(read, proxyfd, buf, 2); if (cnt != 2) - err(1, "read failed (%d/3)", cnt); + err(1, "read failed (%zu/3)", cnt); if (buf[1] == SOCKS_NOMETHOD) errx(1, "authentication method negotiation failed"); @@ -220,11 +220,11 @@ socks_connect(const char *host, const ch cnt = atomicio(vwrite, proxyfd, buf, wlen); if (cnt != wlen) - err(1, "write failed (%d/%d)", cnt, wlen); + err(1, "write failed (%zu/%zu)", cnt, wlen); cnt = atomicio(read, proxyfd, buf, 10); if (cnt != 10) - err(1, "read failed (%d/10)", cnt); + err(1, "read failed (%zu/10)", cnt); if (buf[1] != 0) errx(1, "connection failed, SOCKS error %d", buf[1]); } else if (socksv == 4) { @@ -242,11 +242,11 @@ socks_connect(const char *host, const ch cnt = atomicio(vwrite, proxyfd, buf, wlen); if (cnt != wlen) - err(1, "write failed (%d/%d)", cnt, wlen); + err(1, "write failed (%zu/%zu)", cnt, wlen); cnt = atomicio(read, proxyfd, buf, 8); if (cnt != 8) - err(1, "read failed (%d/8)", cnt); + err(1, "read failed (%zu/8)", cnt); if (buf[1] != 90) errx(1, "connection failed, SOCKS error %d", buf[1]); } else if (socksv == -1) { @@ -272,7 +272,7 @@ socks_connect(const char *host, const ch cnt = atomicio(vwrite, proxyfd, buf, r); if (cnt != r) - err(1, "write failed (%d/%d)", cnt, r); + err(1, "write failed (%zu/%d)", cnt, r); if (authretry > 1) { char resp[1024]; @@ -290,7 +290,7 @@ socks_connect(const char *host, const ch errx(1, "Proxy auth response too long"); r = strlen(buf); if ((cnt = atomicio(vwrite, proxyfd, buf, r)) != r) - err(1, "write failed (%d/%d)", cnt, r); + err(1, "write failed (%zu/%d)", cnt, r); } /* Terminate headers */ From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 19:45:24 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B6B271065694; Mon, 18 Oct 2010 19:45:24 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8AD2D8FC24; Mon, 18 Oct 2010 19:45:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9IJjObY083266; Mon, 18 Oct 2010 19:45:24 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9IJjOK7083265; Mon, 18 Oct 2010 19:45:24 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201010181945.o9IJjOK7083265@svn.freebsd.org> From: Xin LI Date: Mon, 18 Oct 2010 19:45:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214029 - vendor/netcat/4.8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 19:45:24 -0000 Author: delphij Date: Mon Oct 18 19:45:24 2010 New Revision: 214029 URL: http://svn.freebsd.org/changeset/base/214029 Log: Tag for OpenBSD 4.8's nc(1). Added: vendor/netcat/4.8/ - copied from r214028, vendor/netcat/dist/ From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 20:18:26 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2092E106564A; Mon, 18 Oct 2010 20:18:26 +0000 (UTC) (envelope-from pgollucci@p6m7g8.com) Received: from cell.p6m7g8.net (static-71-178-236-107.washdc.fios.verizon.net [71.178.236.107]) by mx1.freebsd.org (Postfix) with ESMTP id AA1118FC0C; Mon, 18 Oct 2010 20:18:25 +0000 (UTC) Received: from philip.hq.rws (wsip-174-79-184-239.dc.dc.cox.net [174.79.184.239]) (authenticated bits=0) by cell.p6m7g8.net (8.14.4/8.14.3) with ESMTP id o9IJur46052331 (version=TLSv1/SSLv3 cipher=DHE-DSS-CAMELLIA256-SHA bits=256 verify=NO); Mon, 18 Oct 2010 19:56:53 GMT (envelope-from pgollucci@p6m7g8.com) Message-ID: <4CBCA685.4030009@p6m7g8.com> Date: Mon, 18 Oct 2010 19:56:53 +0000 From: "Philip M. Gollucci" Organization: P6M7G8 Inc. User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.1.12) Gecko/20100908 Thunderbird/3.0.7 MIME-Version: 1.0 To: Frederic Culot References: <201010171902.o9HJ2gjw042593@svn.freebsd.org> In-Reply-To: <201010171902.o9HJ2gjw042593@svn.freebsd.org> X-Enigmail-Version: 1.0.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,RDNS_DYNAMIC autolearn=no version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on cell.p6m7g8.net Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r213990 - head/usr.bin/calendar/calendars X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 20:18:26 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 10/17/10 19:02, Frederic Culot wrote: > Author: culot (ports committer) > Date: Sun Oct 17 19:02:42 2010 > New Revision: 213990 > URL: http://svn.freebsd.org/changeset/base/213990 > > Log: > Add myself to calendar.freebsd. > > Approved by: sahil@ (mentor) > > Modified: > head/usr.bin/calendar/calendars/calendar.freebsd > > Modified: head/usr.bin/calendar/calendars/calendar.freebsd > ============================================================================== > --- head/usr.bin/calendar/calendars/calendar.freebsd Sun Oct 17 18:49:45 2010 (r213989) > +++ head/usr.bin/calendar/calendars/calendar.freebsd Sun Oct 17 19:02:42 2010 (r213990) > @@ -302,6 +302,7 @@ > 11/19 Konstantin Belousov born in Kiev, USSR, 1972 > 11/20 Dmitry Morozovsky born in Moscow, USSR, 1968 > 11/20 Gavin Atkinson born in Middlesbrough, United Kingdom, 1979 > +11/22 Frederic Culot born in Saint-Germain-En-Laye, France, 1976 Minor whitespace glitch. Welcome! - -- - ------------------------------------------------------------------------ 1024D/DB9B8C1C B90B FBC3 A3A1 C71A 8E70 3F8C 75B8 8FFB DB9B 8C1C Philip M. Gollucci (pgollucci@p6m7g8.com) c: 703.336.9354 VP Apache Infrastructure; Member, Apache Software Foundation Committer, FreeBSD Foundation Consultant, P6M7G8 Inc. Sr. System Admin, Ridecharge Inc. Work like you don't need the money, love like you'll never get hurt, and dance like nobody's watching. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (FreeBSD) iD8DBQFMvKaFdbiP+9ubjBwRAhCbAJ98GMXOcfJMKQg5BLHOguUJmmyC/QCeIuyT lw5XUNU/9aYhV4pZQQ2JpZI= =BtB8 -----END PGP SIGNATURE----- From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 20:28:20 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4052A106564A; Mon, 18 Oct 2010 20:28:20 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-bw0-f54.google.com (mail-bw0-f54.google.com [209.85.214.54]) by mx1.freebsd.org (Postfix) with ESMTP id 390D58FC0C; Mon, 18 Oct 2010 20:28:18 +0000 (UTC) Received: by bwz16 with SMTP id 16so50430bwz.13 for ; Mon, 18 Oct 2010 13:28:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :x-enigmail-version:content-type:content-transfer-encoding; bh=1yO7oI4ob14StQJvo3N913YV9ZuB7WiFOsNsXlLLLBs=; b=UHY5YpGNqVc7dioo7hWQ+rEwziNud9igdTSwPzyeU7rLGE3LVBft1cOhnNed9jSSrs QSn9D4XaB8L0vqLRKFZQWylNNmNULRjSsbEo750Ap0oZ7rC2FhVAP/msqUrheWVSlrSP /pw5peWVRp6iVIHvyB9NV/47U9nV4Hqsg2DxY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=a9IvMnnkgFNyGjgbOjOrUY2Oz3+rE9LWSmLa+nDMYtOTf8yafyzoB4RyOMWHj1Foia xB/Zq9/INIfRvRrqXHDbAtGL9kaDhacyoSN5VDNDFm0T1qeP+TtGjJl9aw6f21yxUBPB n6U+1AOl89dBgmXC3Zm9ydQeqIdGMYVg4sHnw= Received: by 10.204.24.144 with SMTP id v16mr4817449bkb.137.1287433696962; Mon, 18 Oct 2010 13:28:16 -0700 (PDT) Received: from mavbook.mavhome.dp.ua (pc.mavhome.dp.ua [212.86.226.226]) by mx.google.com with ESMTPS id 4sm14496041bki.1.2010.10.18.13.28.14 (version=SSLv3 cipher=RC4-MD5); Mon, 18 Oct 2010 13:28:15 -0700 (PDT) Sender: Alexander Motin Message-ID: <4CBCADDD.5070109@FreeBSD.org> Date: Mon, 18 Oct 2010 23:28:13 +0300 From: Alexander Motin User-Agent: Thunderbird 2.0.0.24 (X11/20100402) MIME-Version: 1.0 To: Marius Strobl References: <201010171646.o9HGks2U038501@svn.freebsd.org> <201010181003.13045.jhb@freebsd.org> <20101018190615.GL1416@alchemy.franken.de> In-Reply-To: <20101018190615.GL1416@alchemy.franken.de> X-Enigmail-Version: 0.96.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, John Baldwin Subject: Re: svn commit: r213985 - head/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 20:28:20 -0000 Marius Strobl wrote: > On Mon, Oct 18, 2010 at 10:03:12AM -0400, John Baldwin wrote: >> On Sunday, October 17, 2010 12:46:54 pm Marius Strobl wrote: >>> Author: marius >>> Date: Sun Oct 17 16:46:54 2010 >>> New Revision: 213985 >>> URL: http://svn.freebsd.org/changeset/base/213985 >>> >>> Log: >>> - In oneshot-mode it doesn't make sense to try to compensate the clock >>> drift in order to achieve a more stable clock as the tick intervals may >>> vary in the first place. In fact I haven't seen this code kick in when >>> in oneshot-mode so just skip it in that case. >>> - There's no need to explicitly stop the (S)TICK counter in oneshot-mode >>> with every tick as it just won't trigger again with the (S)TICK compare >>> register set to a value in the past (with a wrap-around once every ~195 >>> years of uptime at 1.5 GHz this isn't something we have to worry about >>> in practice). >>> - Given that we'll disable interrupts completely anyway there's no >>> need to enter critical sections. >> This last is not entirely true. The purpose of the critical section is to >> prevent the kernel from preempting to the softclock swi thread until all of >> the hardclock handler has finished execution. Thus, places that actually >> actually call hardclock() should probably still be wrapped in a critical >> section. > > It's currently unclear to me how on architectures converted to the > event timer world order hardclock() is called eventually but in any case > shouldn't it be the responsibility of the code actually calling it (or > the equivalent code) to wrap it in a critical section instead then? After > all the MD part just enrolls in calling _something_ in one-shot and/or > periodic mode without knowing what it actually calls (and IMO it also > should no longer need to). In handleevents() of kern_clocksource.c > hardclock_anycpu() is called so i think that is what actually needs to > be wrapped in a critical section. At this time on most (all?) platforms critical section is grabbed by MD interrupt code. It is important to be there, as soon as there touched td_intr_nesting_level and td_intr_frame fields of curthread. We can't allow thread migration until all counted interrupt handlers complete. -- Alexander Motin From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 20:52:26 2010 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BBC5D106564A; Mon, 18 Oct 2010 20:52:26 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (alchemy.franken.de [194.94.249.214]) by mx1.freebsd.org (Postfix) with ESMTP id 1D3AC8FC17; Mon, 18 Oct 2010 20:52:25 +0000 (UTC) Received: from alchemy.franken.de (localhost [127.0.0.1]) by alchemy.franken.de (8.14.4/8.14.4/ALCHEMY.FRANKEN.DE) with ESMTP id o9IKqOjs035128; Mon, 18 Oct 2010 22:52:25 +0200 (CEST) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by alchemy.franken.de (8.14.4/8.14.4/Submit) id o9IKqOuH035127; Mon, 18 Oct 2010 22:52:24 +0200 (CEST) (envelope-from marius) Date: Mon, 18 Oct 2010 22:52:24 +0200 From: Marius Strobl To: Alexander Motin Message-ID: <20101018205224.GO1416@alchemy.franken.de> References: <201010171646.o9HGks2U038501@svn.freebsd.org> <201010181003.13045.jhb@freebsd.org> <20101018190615.GL1416@alchemy.franken.de> <4CBCADDD.5070109@FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4CBCADDD.5070109@FreeBSD.org> User-Agent: Mutt/1.4.2.3i Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, John Baldwin Subject: Re: svn commit: r213985 - head/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 20:52:26 -0000 On Mon, Oct 18, 2010 at 11:28:13PM +0300, Alexander Motin wrote: > Marius Strobl wrote: > > On Mon, Oct 18, 2010 at 10:03:12AM -0400, John Baldwin wrote: > >> On Sunday, October 17, 2010 12:46:54 pm Marius Strobl wrote: > >>> Author: marius > >>> Date: Sun Oct 17 16:46:54 2010 > >>> New Revision: 213985 > >>> URL: http://svn.freebsd.org/changeset/base/213985 > >>> > >>> Log: > >>> - In oneshot-mode it doesn't make sense to try to compensate the clock > >>> drift in order to achieve a more stable clock as the tick intervals may > >>> vary in the first place. In fact I haven't seen this code kick in when > >>> in oneshot-mode so just skip it in that case. > >>> - There's no need to explicitly stop the (S)TICK counter in oneshot-mode > >>> with every tick as it just won't trigger again with the (S)TICK compare > >>> register set to a value in the past (with a wrap-around once every ~195 > >>> years of uptime at 1.5 GHz this isn't something we have to worry about > >>> in practice). > >>> - Given that we'll disable interrupts completely anyway there's no > >>> need to enter critical sections. > >> This last is not entirely true. The purpose of the critical section is to > >> prevent the kernel from preempting to the softclock swi thread until all of > >> the hardclock handler has finished execution. Thus, places that actually > >> actually call hardclock() should probably still be wrapped in a critical > >> section. > > > > It's currently unclear to me how on architectures converted to the > > event timer world order hardclock() is called eventually but in any case > > shouldn't it be the responsibility of the code actually calling it (or > > the equivalent code) to wrap it in a critical section instead then? After > > all the MD part just enrolls in calling _something_ in one-shot and/or > > periodic mode without knowing what it actually calls (and IMO it also > > should no longer need to). In handleevents() of kern_clocksource.c > > hardclock_anycpu() is called so i think that is what actually needs to > > be wrapped in a critical section. > > At this time on most (all?) platforms critical section is grabbed by MD > interrupt code. It is important to be there, as soon as there touched > td_intr_nesting_level and td_intr_frame fields of curthread. We can't > allow thread migration until all counted interrupt handlers complete. > AFAICT this is not true; intr_event_handle() in sys/kern/kern_intr.c is what enters a critical section and f.e. on amd64 I don't see where anywhere in the path from ISR_VEC() to intr_execute_handlers() calling intr_event_handle() a critical section would be entered, which also means that in intr_execute_handlers() td_intr_nesting_level is incremented outside of a critical section. Marius From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 21:05:30 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ECC681065673; Mon, 18 Oct 2010 21:05:29 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id A33D48FC16; Mon, 18 Oct 2010 21:05:29 +0000 (UTC) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id 1DD7A46B17; Mon, 18 Oct 2010 17:05:29 -0400 (EDT) Received: from jhbbsd.localnet (smtp.hudson-trading.com [209.249.190.9]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 0840B8A009; Mon, 18 Oct 2010 17:05:28 -0400 (EDT) From: John Baldwin To: Marius Strobl Date: Mon, 18 Oct 2010 17:05:24 -0400 User-Agent: KMail/1.13.5 (FreeBSD/7.3-CBSD-20100819; KDE/4.4.5; amd64; ; ) References: <201010171646.o9HGks2U038501@svn.freebsd.org> <4CBCADDD.5070109@FreeBSD.org> <20101018205224.GO1416@alchemy.franken.de> In-Reply-To: <20101018205224.GO1416@alchemy.franken.de> MIME-Version: 1.0 Message-Id: <201010181705.24879.jhb@freebsd.org> Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6 (bigwig.baldwin.cx); Mon, 18 Oct 2010 17:05:28 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.96.3 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-1.9 required=4.2 tests=BAYES_00 autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on bigwig.baldwin.cx Cc: svn-src-head@freebsd.org, Alexander Motin , src-committers@freebsd.org, svn-src-all@freebsd.org Subject: Re: svn commit: r213985 - head/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 21:05:30 -0000 On Monday, October 18, 2010 4:52:24 pm Marius Strobl wrote: > On Mon, Oct 18, 2010 at 11:28:13PM +0300, Alexander Motin wrote: > > Marius Strobl wrote: > > > On Mon, Oct 18, 2010 at 10:03:12AM -0400, John Baldwin wrote: > > >> On Sunday, October 17, 2010 12:46:54 pm Marius Strobl wrote: > > >>> Author: marius > > >>> Date: Sun Oct 17 16:46:54 2010 > > >>> New Revision: 213985 > > >>> URL: http://svn.freebsd.org/changeset/base/213985 > > >>> > > >>> Log: > > >>> - In oneshot-mode it doesn't make sense to try to compensate the clock > > >>> drift in order to achieve a more stable clock as the tick intervals may > > >>> vary in the first place. In fact I haven't seen this code kick in when > > >>> in oneshot-mode so just skip it in that case. > > >>> - There's no need to explicitly stop the (S)TICK counter in oneshot-mode > > >>> with every tick as it just won't trigger again with the (S)TICK compare > > >>> register set to a value in the past (with a wrap-around once every ~195 > > >>> years of uptime at 1.5 GHz this isn't something we have to worry about > > >>> in practice). > > >>> - Given that we'll disable interrupts completely anyway there's no > > >>> need to enter critical sections. > > >> This last is not entirely true. The purpose of the critical section is to > > >> prevent the kernel from preempting to the softclock swi thread until all of > > >> the hardclock handler has finished execution. Thus, places that actually > > >> actually call hardclock() should probably still be wrapped in a critical > > >> section. > > > > > > It's currently unclear to me how on architectures converted to the > > > event timer world order hardclock() is called eventually but in any case > > > shouldn't it be the responsibility of the code actually calling it (or > > > the equivalent code) to wrap it in a critical section instead then? After > > > all the MD part just enrolls in calling _something_ in one-shot and/or > > > periodic mode without knowing what it actually calls (and IMO it also > > > should no longer need to). In handleevents() of kern_clocksource.c > > > hardclock_anycpu() is called so i think that is what actually needs to > > > be wrapped in a critical section. > > > > At this time on most (all?) platforms critical section is grabbed by MD > > interrupt code. It is important to be there, as soon as there touched > > td_intr_nesting_level and td_intr_frame fields of curthread. We can't > > allow thread migration until all counted interrupt handlers complete. > > > > AFAICT this is not true; intr_event_handle() in sys/kern/kern_intr.c > is what enters a critical section and f.e. on amd64 I don't see where > anywhere in the path from ISR_VEC() to intr_execute_handlers() > calling intr_event_handle() a critical section would be entered, > which also means that in intr_execute_handlers() td_intr_nesting_level > is incremented outside of a critical section. Not all of the clock interrupts use intr_event_handle(). The local APIC timer uses its own interrupt entry point on x86 for example and uses an explicit critical section as a result. I suspect the sparc64 tick interrupt is closer to the local APIC timer case and doesn't use intr_event_handle(). The fact that some clock interrupts do use intr_event_handle() (e.g. the atrtc driver on x86 now) does indicate that the low-level interrupt code probably does not belong in the time events code but in the caller. -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 21:11:03 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 575A61065672; Mon, 18 Oct 2010 21:11:03 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 23F538FC1A; Mon, 18 Oct 2010 21:11:03 +0000 (UTC) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id C5B5C46B17; Mon, 18 Oct 2010 17:11:02 -0400 (EDT) Received: from jhbbsd.localnet (smtp.hudson-trading.com [209.249.190.9]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id C51A08A009; Mon, 18 Oct 2010 17:11:01 -0400 (EDT) From: John Baldwin To: Rui Paulo Date: Mon, 18 Oct 2010 17:10:14 -0400 User-Agent: KMail/1.13.5 (FreeBSD/7.3-CBSD-20100819; KDE/4.4.5; amd64; ; ) References: <201010141919.o9EJJJIc034032@svn.freebsd.org> <96F4E353-55A6-48E6-BA20-92720EC2C4E7@freebsd.org> <201010151628.41177.jhb@freebsd.org> In-Reply-To: <201010151628.41177.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201010181710.15226.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6 (bigwig.baldwin.cx); Mon, 18 Oct 2010 17:11:01 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.96.3 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-1.9 required=4.2 tests=BAYES_00 autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on bigwig.baldwin.cx Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Dimitry Andric Subject: Re: svn commit: r213845 - head/sys/dev/aic7xxx/aicasm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 21:11:03 -0000 On Friday, October 15, 2010 4:28:40 pm John Baldwin wrote: > On Friday, October 15, 2010 2:50:46 pm Rui Paulo wrote: > > On 15 Oct 2010, at 13:45, John Baldwin wrote: > > > > > On Thursday, October 14, 2010 5:09:58 pm Dimitry Andric wrote: > > >> On 2010-10-14 21:39, John Baldwin wrote: > > >>> On Thursday, October 14, 2010 3:19:19 pm Rui Paulo wrote: > > >> ... > > >>>> Revert r213765. This is required because our build infrastructure uses > > >>>> the host lex instead of the lex built during buildworld. I will MFC the > > >>>> lex changes soon and in a few weeks this I'll commit again r213765. > > >>> Can't you make 'lex' a build-tool to workaround this? > > >> > > >> That will not help for "cd conf/CONF && make kernel", apparently. It > > >> will always use the host lex. > > > > > > Well, yes, but that is always true. build-tools are only used for > > > buildkernel. However, if an 8.x lex cannot build a 9.x kernel, then having > > > lex be a build-tool (or cross-tool, ru@ knows which category better than I) > > > will let a 'make kernel-toolchain' followed by 'make buildkernel' of a 9.x > > > source tree work on an 8.x host. > > > > Yes, but I was told that 'cd conf/CONF && make kernel' is a supported configuration (without requiring kernel-toolchain first). > > Nah, just when it happens to work. It's ok to require people to build a new > world to get a new lex in that case. However, for the buildkernel case the > 'buildworld' / 'toolchain' / 'kernel-toolchain' targets should always build > enough tools to let buildkernel work, so if a new lex is required they should > build a new lex. Untested patch: Index: Makefile.inc1 =================================================================== --- Makefile.inc1 (revision 213841) +++ Makefile.inc1 (working copy) @@ -1088,6 +1090,7 @@ ${_clang} \ gnu/usr.bin/binutils \ gnu/usr.bin/cc \ + usr.bin/lex \ usr.bin/xlint/lint1 usr.bin/xlint/lint2 usr.bin/xlint/xlint \ ${_btxld} \ ${_crunchide} \ -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 21:20:11 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5029A1065693; Mon, 18 Oct 2010 21:20:11 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3A83E8FC15; Mon, 18 Oct 2010 21:20:11 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9ILKBVr086008; Mon, 18 Oct 2010 21:20:11 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9ILKBCV086003; Mon, 18 Oct 2010 21:20:11 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201010182120.o9ILKBCV086003@svn.freebsd.org> From: Dimitry Andric Date: Mon, 18 Oct 2010 21:20:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214033 - in vendor/binutils/dist: bfd gas gas/config gas/testsuite gas/testsuite/gas/cfi gas/testsuite/gas/i386 gas/testsuite/gas/mips gas/testsuite/gas/ppc include/opcode ld ld/emulpa... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 21:20:11 -0000 Author: dim Date: Mon Oct 18 21:20:10 2010 New Revision: 214033 URL: http://svn.freebsd.org/changeset/base/214033 Log: Import the binutils-2_15-branch from the sourceware CVS repository, exactly as it was on Wed, 8 Jun 2005 15:34:48 +0000. Corresponds to git commit 7e01d69a19a8fd079887f26853c8565da15ff340. This is currently (and most likely forever :) the last commit on this branch. Added: vendor/binutils/dist/gas/testsuite/gas/mips/branch-swap.d vendor/binutils/dist/gas/testsuite/gas/mips/branch-swap.s Modified: vendor/binutils/dist/bfd/ChangeLog vendor/binutils/dist/bfd/config.bfd vendor/binutils/dist/bfd/configure vendor/binutils/dist/bfd/configure.in vendor/binutils/dist/bfd/elf.c vendor/binutils/dist/bfd/elf32-hppa.c vendor/binutils/dist/bfd/elf64-sparc.c vendor/binutils/dist/bfd/elflink.c vendor/binutils/dist/bfd/targets.c vendor/binutils/dist/bfd/version.h vendor/binutils/dist/gas/ChangeLog vendor/binutils/dist/gas/config/tc-hppa.h vendor/binutils/dist/gas/config/tc-m32r.c vendor/binutils/dist/gas/config/tc-mips.c vendor/binutils/dist/gas/testsuite/ChangeLog vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-sparc64-1.d vendor/binutils/dist/gas/testsuite/gas/i386/padlock.d vendor/binutils/dist/gas/testsuite/gas/i386/padlock.s vendor/binutils/dist/gas/testsuite/gas/mips/mips.exp vendor/binutils/dist/gas/testsuite/gas/ppc/e500.d vendor/binutils/dist/gas/testsuite/gas/ppc/e500.s vendor/binutils/dist/include/opcode/ChangeLog vendor/binutils/dist/include/opcode/i386.h vendor/binutils/dist/ld/ChangeLog vendor/binutils/dist/ld/emulparams/hppanbsd.sh vendor/binutils/dist/ld/emultempl/hppaelf.em vendor/binutils/dist/opcodes/ChangeLog vendor/binutils/dist/opcodes/i386-dis.c vendor/binutils/dist/opcodes/ppc-opc.c vendor/binutils/dist/opcodes/sparc-opc.c Modified: vendor/binutils/dist/bfd/ChangeLog ============================================================================== --- vendor/binutils/dist/bfd/ChangeLog Mon Oct 18 21:04:55 2010 (r214032) +++ vendor/binutils/dist/bfd/ChangeLog Mon Oct 18 21:20:10 2010 (r214033) @@ -1,3 +1,46 @@ +2005-01-05 Eric Botcazou + + * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows + from STABS debugging sections again. + +2004-10-16 H.J. Lu + + * elflink.c (elf_link_add_object_symbols): Also clear + _cooked_size for warning sections. + +2004-09-07 Eric Botcazou + + Merge from mainline: + 2004-08-31 Eric Botcazou + * elf.c (special_sections): Add .gnu.linkonce.b modelled on .bss. + + 2004-06-09 Alexandre Oliva + * elflink.c (elf_sort_symbol): Compare section id, not pointers. + (elf_link_add_object_symbols): Likewise. + +2004-08-10 Daniel Jacobowitz + + * elf.c (assign_file_positions_except_relocs): Revert unintended + change from 2004-04-08. + +2004-05-28 Jason Thorpe + + * config.bfd (hppa*-*-netbsd*): Set targ_defvec to + bfd_elf32_hppa_nbsd_vec. Add bfd_elf32_hppa_linux_vec + to targ_selvecs. + * configure.in (bfd_elf32_hppa_nbsd_vec): Add case. + * configure: Regenerate. + * elf32-hppa.c (elf32_hppa_object_p): Add "elf32-hppa-netbsd" + case that accepts OSABI=NetBSD and OSABI=SysV. + (elf32_hppa_set_gp): For "elf32-hppa-netbsd", set the GP to + the base of .got or .data (if .got does not exist). + (elf32_hppa_post_process_headers): For elf32-hppa-netbsd, + set OSABI=NetBSD. + (TARGET_BIG_SYM): Add bfd_elf32_hppa_nbsd_vec case. + (TARGET_BIG_NAME): Add "elf32-hppa-netbsd" case. + * targets.c (bfd_elf32_hppa_nbsd_vec): Add extern declaration. + (_bfd_target_vector): Add bfd_elf32_hppa_nbsd_vec. + 2004-05-17 Daniel Jacobowitz * configure.in: Mark unreleased for post-2.15 snapshots. Modified: vendor/binutils/dist/bfd/config.bfd ============================================================================== --- vendor/binutils/dist/bfd/config.bfd Mon Oct 18 21:04:55 2010 (r214032) +++ vendor/binutils/dist/bfd/config.bfd Mon Oct 18 21:20:10 2010 (r214033) @@ -371,10 +371,14 @@ case "${targ}" in ;; #endif - hppa*-*-linux-gnu* | hppa*-*-netbsd*) + hppa*-*-linux-gnu*) targ_defvec=bfd_elf32_hppa_linux_vec targ_selvecs=bfd_elf32_hppa_vec ;; + hppa*-*-netbsd*) + targ_defvec=bfd_elf32_hppa_nbsd_vec + targ_selvecs="bfd_elf32_hppa_vec bfd_elf32_hppa_linux_vec" + ;; hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-rtems* | hppa*-*-openbsd*) targ_defvec=bfd_elf32_hppa_vec targ_selvecs=bfd_elf32_hppa_linux_vec Modified: vendor/binutils/dist/bfd/configure ============================================================================== --- vendor/binutils/dist/bfd/configure Mon Oct 18 21:04:55 2010 (r214032) +++ vendor/binutils/dist/bfd/configure Mon Oct 18 21:20:10 2010 (r214033) @@ -3327,7 +3327,7 @@ EOF fi -for ac_hdr in stdlib.h unistd.h sys/stat.h sys/types.h +for ac_hdr in unistd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 @@ -3459,24 +3459,11 @@ else #include #include -#if HAVE_SYS_TYPES_H -# include -#endif - -#if HAVE_STDLIB_H -# include -#endif - -#if HAVE_SYS_STAT_H -# include -#endif - -#if HAVE_UNISTD_H -# include -#endif - /* This mess was copied from the GNU getpagesize.h. */ #ifndef HAVE_GETPAGESIZE +# ifdef HAVE_UNISTD_H +# include +# endif /* Assume that all systems that can run configure have sys/param.h. */ # ifndef HAVE_SYS_PARAM_H @@ -3584,7 +3571,7 @@ main() } EOF -if { (eval echo configure:3588: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3575: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else @@ -3612,17 +3599,17 @@ unistd.h values.h sys/param.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3616: checking for $ac_hdr" >&5 +echo "configure:3603: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3626: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3613: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3652,12 +3639,12 @@ done __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3656: checking for $ac_func" >&5 +echo "configure:3643: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3671: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3709,12 +3696,12 @@ done for ac_func in stpcpy do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3713: checking for $ac_func" >&5 +echo "configure:3700: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3728: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3771,19 +3758,19 @@ EOF if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:3775: checking for LC_MESSAGES" >&5 +echo "configure:3762: checking for LC_MESSAGES" >&5 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return LC_MESSAGES ; return 0; } EOF -if { (eval echo configure:3787: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3774: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_val_LC_MESSAGES=yes else @@ -3804,7 +3791,7 @@ EOF fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:3808: checking whether NLS is requested" >&5 +echo "configure:3795: checking whether NLS is requested" >&5 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls" @@ -3824,7 +3811,7 @@ fi EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:3828: checking whether included gettext is requested" >&5 +echo "configure:3815: checking whether included gettext is requested" >&5 # Check whether --with-included-gettext or --without-included-gettext was given. if test "${with_included_gettext+set}" = set; then withval="$with_included_gettext" @@ -3843,17 +3830,17 @@ fi ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:3847: checking for libintl.h" >&5 +echo "configure:3834: checking for libintl.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3857: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3844: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3870,19 +3857,19 @@ fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6 -echo "configure:3874: checking for gettext in libc" >&5 +echo "configure:3861: checking for gettext in libc" >&5 if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return (int) gettext ("") ; return 0; } EOF -if { (eval echo configure:3886: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3873: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gettext_libc=yes else @@ -3898,7 +3885,7 @@ echo "$ac_t""$gt_cv_func_gettext_libc" 1 if test "$gt_cv_func_gettext_libc" != "yes"; then echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6 -echo "configure:3902: checking for bindtextdomain in -lintl" >&5 +echo "configure:3889: checking for bindtextdomain in -lintl" >&5 ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3906,7 +3893,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3908: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3933,19 +3920,19 @@ fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6 -echo "configure:3937: checking for gettext in libintl" >&5 +echo "configure:3924: checking for gettext in libintl" >&5 if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3936: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gettext_libintl=yes else @@ -3973,7 +3960,7 @@ EOF # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3977: checking for $ac_word" >&5 +echo "configure:3964: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4007,12 +3994,12 @@ fi for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4011: checking for $ac_func" >&5 +echo "configure:3998: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4026: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4062,7 +4049,7 @@ done # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4066: checking for $ac_word" >&5 +echo "configure:4053: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4098,7 +4085,7 @@ fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4102: checking for $ac_word" >&5 +echo "configure:4089: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4130,7 +4117,7 @@ else fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4129: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* CATOBJEXT=.gmo DATADIRNAME=share @@ -4170,7 +4157,7 @@ fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4174: checking for $ac_word" >&5 +echo "configure:4161: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4204,7 +4191,7 @@ fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4208: checking for $ac_word" >&5 +echo "configure:4195: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4240,7 +4227,7 @@ fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4244: checking for $ac_word" >&5 +echo "configure:4231: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4330,7 +4317,7 @@ fi LINGUAS= else echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:4334: checking for catalogs to be installed" >&5 +echo "configure:4321: checking for catalogs to be installed" >&5 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in @@ -4358,17 +4345,17 @@ echo "configure:4334: checking for catal if test "$CATOBJEXT" = ".cat"; then ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6 -echo "configure:4362: checking for linux/version.h" >&5 +echo "configure:4349: checking for linux/version.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4372: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4359: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4446,7 +4433,7 @@ fi # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:4450: checking for a BSD compatible install" >&5 +echo "configure:4437: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4506,19 +4493,19 @@ BFD_HOST_64_BIT= BFD_HOST_U_64_BIT= echo $ac_n "checking for long long""... $ac_c" 1>&6 -echo "configure:4510: checking for long long" >&5 +echo "configure:4497: checking for long long" >&5 if eval "test \"`echo '$''{'bfd_cv_has_long_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4509: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_has_long_long=yes else @@ -4534,13 +4521,13 @@ echo "$ac_t""$bfd_cv_has_long_long" 1>&6 if test $bfd_cv_has_long_long = yes; then BFD_HOST_LONG_LONG=1 echo $ac_n "checking size of long long""... $ac_c" 1>&6 -echo "configure:4538: checking size of long long" >&5 +echo "configure:4525: checking size of long long" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_long_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence. cat > conftest.$ac_ext < @@ -4550,7 +4537,7 @@ int main() { switch (0) case 0: case (sizeof (long long) == $ac_size):; ; return 0; } EOF -if { (eval echo configure:4554: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4541: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_sizeof_long_long=$ac_size else @@ -4575,13 +4562,13 @@ EOF fi echo $ac_n "checking size of long""... $ac_c" 1>&6 -echo "configure:4579: checking size of long" >&5 +echo "configure:4566: checking size of long" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence. cat > conftest.$ac_ext < @@ -4591,7 +4578,7 @@ int main() { switch (0) case 0: case (sizeof (long) == $ac_size):; ; return 0; } EOF -if { (eval echo configure:4595: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4582: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_sizeof_long=$ac_size else @@ -4649,7 +4636,7 @@ if test "x$cross_compiling" = "xno"; the EXEEXT_FOR_BUILD='$(EXEEXT)' else echo $ac_n "checking for build system executable suffix""... $ac_c" 1>&6 -echo "configure:4653: checking for build system executable suffix" >&5 +echo "configure:4640: checking for build system executable suffix" >&5 if eval "test \"`echo '$''{'bfd_cv_build_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4677,17 +4664,17 @@ for ac_hdr in stddef.h string.h strings. do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4681: checking for $ac_hdr" >&5 +echo "configure:4668: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4691: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4678: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4717,17 +4704,17 @@ for ac_hdr in fcntl.h sys/file.h sys/tim do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4721: checking for $ac_hdr" >&5 +echo "configure:4708: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4731: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4718: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4754,12 +4741,12 @@ fi done echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:4758: checking whether time.h and sys/time.h may both be included" >&5 +echo "configure:4745: checking whether time.h and sys/time.h may both be included" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -4768,7 +4755,7 @@ int main() { struct tm *tp; ; return 0; } EOF -if { (eval echo configure:4772: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4759: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -4793,12 +4780,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/di do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 -echo "configure:4797: checking for $ac_hdr that defines DIR" >&5 +echo "configure:4784: checking for $ac_hdr that defines DIR" >&5 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include <$ac_hdr> @@ -4806,7 +4793,7 @@ int main() { DIR *dirp = 0; ; return 0; } EOF -if { (eval echo configure:4810: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4797: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else @@ -4831,7 +4818,7 @@ done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 -echo "configure:4835: checking for opendir in -ldir" >&5 +echo "configure:4822: checking for opendir in -ldir" >&5 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4839,7 +4826,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldir $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4841: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4872,7 +4859,7 @@ fi else echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 -echo "configure:4876: checking for opendir in -lx" >&5 +echo "configure:4863: checking for opendir in -lx" >&5 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4880,7 +4867,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lx $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4882: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4916,12 +4903,12 @@ fi for ac_func in fcntl getpagesize setitimer sysconf fdopen getuid getgid do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4920: checking for $ac_func" >&5 +echo "configure:4907: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4935: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4971,12 +4958,12 @@ done for ac_func in strtoull do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4975: checking for $ac_func" >&5 +echo "configure:4962: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5034,12 +5021,12 @@ EOF esac echo $ac_n "checking whether strstr must be declared""... $ac_c" 1>&6 -echo "configure:5038: checking whether strstr must be declared" >&5 +echo "configure:5025: checking whether strstr must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_strstr'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -5060,7 +5047,7 @@ int main() { char *(*pfn) = (char *(*)) strstr ; return 0; } EOF -if { (eval echo configure:5064: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5051: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_strstr=no else @@ -5081,12 +5068,12 @@ EOF fi echo $ac_n "checking whether malloc must be declared""... $ac_c" 1>&6 -echo "configure:5085: checking whether malloc must be declared" >&5 +echo "configure:5072: checking whether malloc must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_malloc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -5107,7 +5094,7 @@ int main() { char *(*pfn) = (char *(*)) malloc ; return 0; } EOF -if { (eval echo configure:5111: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5098: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_malloc=no else @@ -5128,12 +5115,12 @@ EOF fi echo $ac_n "checking whether realloc must be declared""... $ac_c" 1>&6 -echo "configure:5132: checking whether realloc must be declared" >&5 +echo "configure:5119: checking whether realloc must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_realloc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -5154,7 +5141,7 @@ int main() { char *(*pfn) = (char *(*)) realloc ; return 0; } EOF -if { (eval echo configure:5158: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5145: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_realloc=no else @@ -5175,12 +5162,12 @@ EOF fi echo $ac_n "checking whether free must be declared""... $ac_c" 1>&6 -echo "configure:5179: checking whether free must be declared" >&5 +echo "configure:5166: checking whether free must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_free'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -5201,7 +5188,7 @@ int main() { char *(*pfn) = (char *(*)) free ; return 0; } EOF -if { (eval echo configure:5205: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5192: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_free=no else @@ -5222,12 +5209,12 @@ EOF fi echo $ac_n "checking whether getenv must be declared""... $ac_c" 1>&6 -echo "configure:5226: checking whether getenv must be declared" >&5 +echo "configure:5213: checking whether getenv must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_getenv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -5248,7 +5235,7 @@ int main() { char *(*pfn) = (char *(*)) getenv ; return 0; } EOF -if { (eval echo configure:5252: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5239: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_getenv=no else @@ -5424,16 +5411,16 @@ if test "${target}" = "${host}"; then # Not all versions of AIX with -DAIX_CORE_DUMPX_CORE # have c_impl as a member of struct core_dumpx echo $ac_n "checking for c_impl in struct core_dumpx""... $ac_c" 1>&6 -echo "configure:5428: checking for c_impl in struct core_dumpx" >&5 +echo "configure:5415: checking for c_impl in struct core_dumpx" >&5 cat > conftest.$ac_ext < int main() { struct core_dumpx c; c.c_impl = 0; ; return 0; } EOF -if { (eval echo configure:5437: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5424: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_ST_C_IMPL 1 @@ -5510,17 +5497,17 @@ rm -f conftest* do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5514: checking for $ac_hdr" >&5 +echo "configure:5501: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5524: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5511: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5548,12 +5535,12 @@ done if test "$ac_cv_header_sys_procfs_h" = yes; then echo $ac_n "checking for prstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5552: checking for prstatus_t in sys/procfs.h" >&5 +echo "configure:5539: checking for prstatus_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prstatus_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5553: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_prstatus_t=yes else @@ -5584,12 +5571,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_prstatus_t" 1>&6 echo $ac_n "checking for prstatus32_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5588: checking for prstatus32_t in sys/procfs.h" >&5 +echo "configure:5575: checking for prstatus32_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prstatus32_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5589: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_prstatus32_t=yes else @@ -5620,12 +5607,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_prstatus32_t" 1>&6 echo $ac_n "checking for prstatus_t.pr_who in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5624: checking for prstatus_t.pr_who in sys/procfs.h" >&5 +echo "configure:5611: checking for prstatus_t.pr_who in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5625: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who=yes else @@ -5656,12 +5643,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who" 1>&6 echo $ac_n "checking for prstatus32_t.pr_who in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5660: checking for prstatus32_t.pr_who in sys/procfs.h" >&5 +echo "configure:5647: checking for prstatus32_t.pr_who in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5661: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who=yes else @@ -5692,12 +5679,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who" 1>&6 echo $ac_n "checking for pstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5696: checking for pstatus_t in sys/procfs.h" >&5 +echo "configure:5683: checking for pstatus_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pstatus_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9531E106566B; Mon, 18 Oct 2010 21:21:57 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 68BC38FC1F; Mon, 18 Oct 2010 21:21:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9ILLv6N086089; Mon, 18 Oct 2010 21:21:57 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9ILLvSF086088; Mon, 18 Oct 2010 21:21:57 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201010182121.o9ILLvSF086088@svn.freebsd.org> From: Dimitry Andric Date: Mon, 18 Oct 2010 21:21:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214034 - vendor/binutils/binutils-2_15-branch-20050608-153448 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 21:21:57 -0000 Author: dim Date: Mon Oct 18 21:21:57 2010 New Revision: 214034 URL: http://svn.freebsd.org/changeset/base/214034 Log: Tag the binutils-2_15-branch from the sourceware CVS repository, exactly as it was on Wed, 8 Jun 2005 15:34:48 +0000. Corresponds to git commit 7e01d69a19a8fd079887f26853c8565da15ff340. Added: vendor/binutils/binutils-2_15-branch-20050608-153448/ - copied from r214033, vendor/binutils/dist/ From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 21:30:57 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E962C1065694; Mon, 18 Oct 2010 21:30:57 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (alchemy.franken.de [194.94.249.214]) by mx1.freebsd.org (Postfix) with ESMTP id 694578FC1F; Mon, 18 Oct 2010 21:30:57 +0000 (UTC) Received: from alchemy.franken.de (localhost [127.0.0.1]) by alchemy.franken.de (8.14.4/8.14.4/ALCHEMY.FRANKEN.DE) with ESMTP id o9ILUuxO035334; Mon, 18 Oct 2010 23:30:56 +0200 (CEST) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by alchemy.franken.de (8.14.4/8.14.4/Submit) id o9ILUtFT035333; Mon, 18 Oct 2010 23:30:55 +0200 (CEST) (envelope-from marius) Date: Mon, 18 Oct 2010 23:30:55 +0200 From: Marius Strobl To: John Baldwin Message-ID: <20101018213055.GP1416@alchemy.franken.de> References: <201010171646.o9HGks2U038501@svn.freebsd.org> <4CBCADDD.5070109@FreeBSD.org> <20101018205224.GO1416@alchemy.franken.de> <201010181705.24879.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201010181705.24879.jhb@freebsd.org> User-Agent: Mutt/1.4.2.3i Cc: svn-src-head@freebsd.org, Alexander Motin , src-committers@freebsd.org, svn-src-all@freebsd.org Subject: Re: svn commit: r213985 - head/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 21:30:58 -0000 On Mon, Oct 18, 2010 at 05:05:24PM -0400, John Baldwin wrote: > On Monday, October 18, 2010 4:52:24 pm Marius Strobl wrote: > > On Mon, Oct 18, 2010 at 11:28:13PM +0300, Alexander Motin wrote: > > > Marius Strobl wrote: > > > > On Mon, Oct 18, 2010 at 10:03:12AM -0400, John Baldwin wrote: > > > >> On Sunday, October 17, 2010 12:46:54 pm Marius Strobl wrote: > > > >>> Author: marius > > > >>> Date: Sun Oct 17 16:46:54 2010 > > > >>> New Revision: 213985 > > > >>> URL: http://svn.freebsd.org/changeset/base/213985 > > > >>> > > > >>> Log: > > > >>> - In oneshot-mode it doesn't make sense to try to compensate the clock > > > >>> drift in order to achieve a more stable clock as the tick intervals may > > > >>> vary in the first place. In fact I haven't seen this code kick in when > > > >>> in oneshot-mode so just skip it in that case. > > > >>> - There's no need to explicitly stop the (S)TICK counter in oneshot-mode > > > >>> with every tick as it just won't trigger again with the (S)TICK compare > > > >>> register set to a value in the past (with a wrap-around once every ~195 > > > >>> years of uptime at 1.5 GHz this isn't something we have to worry about > > > >>> in practice). > > > >>> - Given that we'll disable interrupts completely anyway there's no > > > >>> need to enter critical sections. > > > >> This last is not entirely true. The purpose of the critical section is to > > > >> prevent the kernel from preempting to the softclock swi thread until all of > > > >> the hardclock handler has finished execution. Thus, places that actually > > > >> actually call hardclock() should probably still be wrapped in a critical > > > >> section. > > > > > > > > It's currently unclear to me how on architectures converted to the > > > > event timer world order hardclock() is called eventually but in any case > > > > shouldn't it be the responsibility of the code actually calling it (or > > > > the equivalent code) to wrap it in a critical section instead then? After > > > > all the MD part just enrolls in calling _something_ in one-shot and/or > > > > periodic mode without knowing what it actually calls (and IMO it also > > > > should no longer need to). In handleevents() of kern_clocksource.c > > > > hardclock_anycpu() is called so i think that is what actually needs to > > > > be wrapped in a critical section. > > > > > > At this time on most (all?) platforms critical section is grabbed by MD > > > interrupt code. It is important to be there, as soon as there touched > > > td_intr_nesting_level and td_intr_frame fields of curthread. We can't > > > allow thread migration until all counted interrupt handlers complete. > > > > > > > AFAICT this is not true; intr_event_handle() in sys/kern/kern_intr.c > > is what enters a critical section and f.e. on amd64 I don't see where > > anywhere in the path from ISR_VEC() to intr_execute_handlers() > > calling intr_event_handle() a critical section would be entered, > > which also means that in intr_execute_handlers() td_intr_nesting_level > > is incremented outside of a critical section. > > Not all of the clock interrupts use intr_event_handle(). The local APIC > timer uses its own interrupt entry point on x86 for example and uses an > explicit critical section as a result. I suspect the sparc64 tick interrupt > is closer to the local APIC timer case and doesn't use intr_event_handle(). Correct; but still you can't say that the MD interrupt code enters a critical section in general, neither is incrementing td_intr_nesting_level in intr_execute_handlers() protected by a critical section. > > The fact that some clock interrupts do use intr_event_handle() (e.g. the > atrtc driver on x86 now) does indicate that the low-level interrupt code > probably does not belong in the time events code but in the caller. > Well, I agree that entering a critical section in the time events code would mean entering a nested critical section unnecessarily in case the clock driver uses a regular "fast" interrupt handler and that should be avoided. Still I don't think the event time front-end actually should need to worry about wrapping the callback in a critical section. Marius From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 21:35:45 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 63808106566C; Mon, 18 Oct 2010 21:35:45 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (alchemy.franken.de [194.94.249.214]) by mx1.freebsd.org (Postfix) with ESMTP id 1474C8FC08; Mon, 18 Oct 2010 21:35:41 +0000 (UTC) Received: from alchemy.franken.de (localhost [127.0.0.1]) by alchemy.franken.de (8.14.4/8.14.4/ALCHEMY.FRANKEN.DE) with ESMTP id o9ILZdGE035378; Mon, 18 Oct 2010 23:35:39 +0200 (CEST) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by alchemy.franken.de (8.14.4/8.14.4/Submit) id o9ILZdEb035377; Mon, 18 Oct 2010 23:35:39 +0200 (CEST) (envelope-from marius) Date: Mon, 18 Oct 2010 23:35:39 +0200 From: Marius Strobl To: Dimitry Andric Message-ID: <20101018213539.GA99142@alchemy.franken.de> References: <201010182120.o9ILKBCV086003@svn.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201010182120.o9ILKBCV086003@svn.freebsd.org> User-Agent: Mutt/1.4.2.3i Cc: svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-vendor@freebsd.org Subject: Re: svn commit: r214033 - in vendor/binutils/dist: bfd gas gas/config gas/testsuite gas/testsuite/gas/cfi gas/testsuite/gas/i386 gas/testsuite/gas/mips gas/testsuite/gas/ppc include/opcode ld ld/emulpa... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 21:35:45 -0000 On Mon, Oct 18, 2010 at 09:20:11PM +0000, Dimitry Andric wrote: > Author: dim > Date: Mon Oct 18 21:20:10 2010 > New Revision: 214033 > URL: http://svn.freebsd.org/changeset/base/214033 > > Log: > Import the binutils-2_15-branch from the sourceware CVS repository, > exactly as it was on Wed, 8 Jun 2005 15:34:48 +0000. > > Corresponds to git commit 7e01d69a19a8fd079887f26853c8565da15ff340. > > This is currently (and most likely forever :) the last commit on this > branch. I thought the last GPLv2 version was something like binutils 2.17 and the plan still was to update to that? Marius From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 21:42:03 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 93246106566C; Mon, 18 Oct 2010 21:42:03 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-bw0-f54.google.com (mail-bw0-f54.google.com [209.85.214.54]) by mx1.freebsd.org (Postfix) with ESMTP id 876078FC0C; Mon, 18 Oct 2010 21:42:02 +0000 (UTC) Received: by bwz16 with SMTP id 16so119770bwz.13 for ; Mon, 18 Oct 2010 14:42:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :x-enigmail-version:content-type:content-transfer-encoding; bh=SIZ9/1T45x08RYa6bz/6I0uEbZL+HUn4mKfgOmWlNAE=; b=JRbrbRzDRVtsaJzXS/m5o6tGSxZqwFvZWpDpOiILxeQq1NL9rmfR/hRdm0L3Jzu2Lm NEejN+3lvUMjYkYGxY6OFdkWoujQ8QAXSwUYiu0AZu3zfaa/oCCeTFu3kgSuHUwdrJ0C 6JbTRZGjRcvFHc8/4evSVI3Rxz8b/4wsxC3F8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=CefEWW0fdcQEf9ABhuauE57qXBRqdUbaENNhKaD/Ojy4cBoqrew5Le9kAtl6xwItIa RxYpq9NnrfMUYbcQe1rnDRpwSF4GJVYDWfForJyzCPpkhinvoCftEnDkJ4W5l/WkufsW d/LUV/cmLmXhDUURioKqoS222JOJiw9FFvGOY= Received: by 10.204.46.226 with SMTP id k34mr4843952bkf.38.1287438121212; Mon, 18 Oct 2010 14:42:01 -0700 (PDT) Received: from mavbook.mavhome.dp.ua (pc.mavhome.dp.ua [212.86.226.226]) by mx.google.com with ESMTPS id 4sm14545460bki.1.2010.10.18.14.41.59 (version=SSLv3 cipher=RC4-MD5); Mon, 18 Oct 2010 14:42:00 -0700 (PDT) Sender: Alexander Motin Message-ID: <4CBCBF25.8010902@FreeBSD.org> Date: Tue, 19 Oct 2010 00:41:57 +0300 From: Alexander Motin User-Agent: Thunderbird 2.0.0.24 (X11/20100402) MIME-Version: 1.0 To: Marius Strobl References: <201010171646.o9HGks2U038501@svn.freebsd.org> <4CBCADDD.5070109@FreeBSD.org> <20101018205224.GO1416@alchemy.franken.de> <201010181705.24879.jhb@freebsd.org> <20101018213055.GP1416@alchemy.franken.de> In-Reply-To: <20101018213055.GP1416@alchemy.franken.de> X-Enigmail-Version: 0.96.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, John Baldwin Subject: Re: svn commit: r213985 - head/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 21:42:03 -0000 Marius Strobl wrote: > On Mon, Oct 18, 2010 at 05:05:24PM -0400, John Baldwin wrote: >> On Monday, October 18, 2010 4:52:24 pm Marius Strobl wrote: >>> AFAICT this is not true; intr_event_handle() in sys/kern/kern_intr.c >>> is what enters a critical section and f.e. on amd64 I don't see where >>> anywhere in the path from ISR_VEC() to intr_execute_handlers() >>> calling intr_event_handle() a critical section would be entered, >>> which also means that in intr_execute_handlers() td_intr_nesting_level >>> is incremented outside of a critical section. >> Not all of the clock interrupts use intr_event_handle(). The local APIC >> timer uses its own interrupt entry point on x86 for example and uses an >> explicit critical section as a result. I suspect the sparc64 tick interrupt >> is closer to the local APIC timer case and doesn't use intr_event_handle(). > > Correct; but still you can't say that the MD interrupt code enters a > critical section in general, neither is incrementing td_intr_nesting_level > in intr_execute_handlers() protected by a critical section. > >> The fact that some clock interrupts do use intr_event_handle() (e.g. the >> atrtc driver on x86 now) does indicate that the low-level interrupt code >> probably does not belong in the time events code but in the caller. > > Well, I agree that entering a critical section in the time events > code would mean entering a nested critical section unnecessarily in > case the clock driver uses a regular "fast" interrupt handler and > that should be avoided. Still I don't think the event time front-end > actually should need to worry about wrapping the callback in a > critical section. Interrupt frame, required for hard-/stat-/profclock() operation is stored in curthread. So critical section is effectively mandatory there now. Correct td_intr_nesting_level value is also important for proper interrupt threads scheduling - one more reason to have critical section there. It is indeed strange that td_intr_nesting_level in intr_event_handle() is not covered by critical section, but probably it should. -- Alexander Motin From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 21:46:20 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AB1DD106566B; Mon, 18 Oct 2010 21:46:20 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (cl-327.ede-01.nl.sixxs.net [IPv6:2001:7b8:2ff:146::2]) by mx1.freebsd.org (Postfix) with ESMTP id 677C68FC0A; Mon, 18 Oct 2010 21:46:20 +0000 (UTC) Received: from [IPv6:2001:7b8:3a7:0:14c4:2c98:2984:1861] (unknown [IPv6:2001:7b8:3a7:0:14c4:2c98:2984:1861]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 4DE0C5C43; Mon, 18 Oct 2010 23:46:19 +0200 (CEST) Message-ID: <4CBCC02D.9050706@FreeBSD.org> Date: Mon, 18 Oct 2010 23:46:21 +0200 From: Dimitry Andric Organization: The FreeBSD Project User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.2.12pre) Gecko/20101016 Lanikai/3.1.6pre MIME-Version: 1.0 To: Marius Strobl References: <201010182120.o9ILKBCV086003@svn.freebsd.org> <20101018213539.GA99142@alchemy.franken.de> In-Reply-To: <20101018213539.GA99142@alchemy.franken.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-vendor@freebsd.org Subject: Re: svn commit: r214033 - in vendor/binutils/dist: bfd gas gas/config gas/testsuite gas/testsuite/gas/cfi gas/testsuite/gas/i386 gas/testsuite/gas/mips gas/testsuite/gas/ppc include/opcode ld ld/emulpa... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 21:46:20 -0000 On 2010-10-18 23:35, Marius Strobl wrote: > I thought the last GPLv2 version was something like binutils 2.17 > and the plan still was to update to that? Yes, after this one I will start importing 2.17 (which is indeed the last GPLv2 version), probably tomorrow. First I need to check various things, run make universe, and so on. From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 21:47:46 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B961F10656A9 for ; Mon, 18 Oct 2010 21:47:46 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from mail2.fluidhosting.com (mx23.fluidhosting.com [204.14.89.6]) by mx1.freebsd.org (Postfix) with ESMTP id 40B9C8FC1D for ; Mon, 18 Oct 2010 21:47:45 +0000 (UTC) Received: (qmail 17929 invoked by uid 399); 18 Oct 2010 21:47:44 -0000 Received: from localhost (HELO laptop.dougb.net) (dougb@dougbarton.us@127.0.0.1) by localhost with ESMTPAM; 18 Oct 2010 21:47:44 -0000 X-Originating-IP: 127.0.0.1 X-Sender: dougb@dougbarton.us Date: Mon, 18 Oct 2010 14:47:43 -0700 (PDT) From: Doug Barton To: Dimitry Andric In-Reply-To: <4CBCC02D.9050706@FreeBSD.org> Message-ID: References: <201010182120.o9ILKBCV086003@svn.freebsd.org> <20101018213539.GA99142@alchemy.franken.de> <4CBCC02D.9050706@FreeBSD.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) X-message-flag: Outlook -- Not just for spreading viruses anymore! OpenPGP: id=1A1ABC84 Organization: http://SupersetSolutions.com/ MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-vendor@freebsd.org, Marius Strobl Subject: Re: svn commit: r214033 - in vendor/binutils/dist: bfd gas gas/config gas/testsuite gas/testsuite/gas/cfi gas/testsuite/gas/i386 gas/testsuite/gas/mips gas/testsuite/gas/ppc include/opcode ld ld/emulpa... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 21:47:46 -0000 On Mon, 18 Oct 2010, Dimitry Andric wrote: > On 2010-10-18 23:35, Marius Strobl wrote: >> I thought the last GPLv2 version was something like binutils 2.17 >> and the plan still was to update to that? > > Yes, after this one I will start importing 2.17 (which is indeed the > last GPLv2 version), probably tomorrow. First I need to check various > things, run make universe, and so on. This may be a good thing to request a pointyhat run for as well. Doug -- Improve the effectiveness of your Internet presence with a domain name makeover! http://SupersetSolutions.com/ Computers are useless. They can only give you answers. -- Pablo Picasso From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 22:03:24 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D1E80106564A; Mon, 18 Oct 2010 22:03:24 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (cl-327.ede-01.nl.sixxs.net [IPv6:2001:7b8:2ff:146::2]) by mx1.freebsd.org (Postfix) with ESMTP id 8C4978FC14; Mon, 18 Oct 2010 22:03:24 +0000 (UTC) Received: from [IPv6:2001:7b8:3a7:0:14c4:2c98:2984:1861] (unknown [IPv6:2001:7b8:3a7:0:14c4:2c98:2984:1861]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id BD46D5C43; Tue, 19 Oct 2010 00:03:23 +0200 (CEST) Message-ID: <4CBCC42E.9020608@FreeBSD.org> Date: Tue, 19 Oct 2010 00:03:26 +0200 From: Dimitry Andric Organization: The FreeBSD Project User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.2.12pre) Gecko/20101016 Lanikai/3.1.6pre MIME-Version: 1.0 To: Doug Barton References: <201010182120.o9ILKBCV086003@svn.freebsd.org> <20101018213539.GA99142@alchemy.franken.de> <4CBCC02D.9050706@FreeBSD.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-vendor@freebsd.org, Marius Strobl Subject: Re: svn commit: r214033 - in vendor/binutils/dist: bfd gas gas/config gas/testsuite gas/testsuite/gas/cfi gas/testsuite/gas/i386 gas/testsuite/gas/mips gas/testsuite/gas/ppc include/opcode ld ld/emulpa... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 22:03:24 -0000 On 2010-10-18 23:47, Doug Barton wrote: > This may be a good thing to request a pointyhat run for as well. Please note, this is *not* going into head yet, but into a project branch for now (projects/binutils-2.17). There it will have to prove itself first... :) From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 23:10:32 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8C406106564A; Mon, 18 Oct 2010 23:10:32 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 773118FC20; Mon, 18 Oct 2010 23:10:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9INAWSR089631; Mon, 18 Oct 2010 23:10:32 GMT (envelope-from obrien@svn.freebsd.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9INAWPU089616; Mon, 18 Oct 2010 23:10:32 GMT (envelope-from obrien@svn.freebsd.org) Message-Id: <201010182310.o9INAWPU089616@svn.freebsd.org> From: "David E. O'Brien" Date: Mon, 18 Oct 2010 23:10:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214045 - in stable/8/tools/regression/bin/sh: builtins errors execution expansion set-e X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 23:10:32 -0000 Author: obrien Date: Mon Oct 18 23:10:32 2010 New Revision: 214045 URL: http://svn.freebsd.org/changeset/base/214045 Log: MFC: r199955: disable job control when running 'sh -i' in the testsuite r204801: make sure to popredir() even if a special builtin caused an error r204802: make sure to popredir() even if a function caused an error r211399: get rid of unnecessary non-standard empty lists. r211609: add a test for breaking from a loop outside the current function r211622: test that all bytes from 128 to 255 can be used in IFS r211973: weaken builtins/command4 test to only require a non-0 exit status Added: stable/8/tools/regression/bin/sh/builtins/break3.0 - copied unchanged from r211609, head/tools/regression/bin/sh/builtins/break3.0 stable/8/tools/regression/bin/sh/builtins/command10.0 - copied unchanged from r204802, head/tools/regression/bin/sh/builtins/command10.0 stable/8/tools/regression/bin/sh/builtins/command4.0 - copied unchanged from r211973, head/tools/regression/bin/sh/builtins/command4.0 stable/8/tools/regression/bin/sh/builtins/command9.0 - copied unchanged from r204801, head/tools/regression/bin/sh/builtins/command9.0 stable/8/tools/regression/bin/sh/expansion/ifs3.0 - copied unchanged from r211622, head/tools/regression/bin/sh/expansion/ifs3.0 Deleted: stable/8/tools/regression/bin/sh/builtins/command4.127 Modified: stable/8/tools/regression/bin/sh/builtins/command3.0 stable/8/tools/regression/bin/sh/builtins/command5.0 stable/8/tools/regression/bin/sh/errors/backquote-error1.0 stable/8/tools/regression/bin/sh/execution/func2.0 stable/8/tools/regression/bin/sh/set-e/elif1.0 stable/8/tools/regression/bin/sh/set-e/elif2.0 stable/8/tools/regression/bin/sh/set-e/if1.0 stable/8/tools/regression/bin/sh/set-e/if3.0 stable/8/tools/regression/bin/sh/set-e/while1.0 stable/8/tools/regression/bin/sh/set-e/while2.0 Directory Properties: stable/8/tools/regression/bin/sh/ (props changed) Copied: stable/8/tools/regression/bin/sh/builtins/break3.0 (from r211609, head/tools/regression/bin/sh/builtins/break3.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/8/tools/regression/bin/sh/builtins/break3.0 Mon Oct 18 23:10:32 2010 (r214045, copy of r211609, head/tools/regression/bin/sh/builtins/break3.0) @@ -0,0 +1,15 @@ +# $FreeBSD$ + +# We accept this and people might rely on it. +# However, various other shells do not accept it. + +f() { + break + echo bad1 +} + +while :; do + f + echo bad2 + exit 2 +done Copied: stable/8/tools/regression/bin/sh/builtins/command10.0 (from r204802, head/tools/regression/bin/sh/builtins/command10.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/8/tools/regression/bin/sh/builtins/command10.0 Mon Oct 18 23:10:32 2010 (r214045, copy of r204802, head/tools/regression/bin/sh/builtins/command10.0) @@ -0,0 +1,14 @@ +# $FreeBSD$ + +failures=0 + +check() { + if ! eval "[ $* ]"; then + echo "Failed: $*" + : $((failures += 1)) + fi +} + +check '"$(f() { shift x; }; { command eval f 2>/dev/null; } >/dev/null; echo hi)" = hi' + +exit $((failures > 0)) Modified: stable/8/tools/regression/bin/sh/builtins/command3.0 ============================================================================== --- stable/8/tools/regression/bin/sh/builtins/command3.0 Mon Oct 18 22:30:58 2010 (r214044) +++ stable/8/tools/regression/bin/sh/builtins/command3.0 Mon Oct 18 23:10:32 2010 (r214045) @@ -4,6 +4,7 @@ command -v true command -v /bin/ls fun() { + : } command -v fun command -v break Copied: stable/8/tools/regression/bin/sh/builtins/command4.0 (from r211973, head/tools/regression/bin/sh/builtins/command4.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/8/tools/regression/bin/sh/builtins/command4.0 Mon Oct 18 23:10:32 2010 (r214045, copy of r211973, head/tools/regression/bin/sh/builtins/command4.0) @@ -0,0 +1,2 @@ +# $FreeBSD$ +! command -v nonexisting Modified: stable/8/tools/regression/bin/sh/builtins/command5.0 ============================================================================== --- stable/8/tools/regression/bin/sh/builtins/command5.0 Mon Oct 18 22:30:58 2010 (r214044) +++ stable/8/tools/regression/bin/sh/builtins/command5.0 Mon Oct 18 23:10:32 2010 (r214045) @@ -4,6 +4,7 @@ command -V true command -V /bin/ls fun() { + : } command -V fun command -V break Copied: stable/8/tools/regression/bin/sh/builtins/command9.0 (from r204801, head/tools/regression/bin/sh/builtins/command9.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/8/tools/regression/bin/sh/builtins/command9.0 Mon Oct 18 23:10:32 2010 (r214045, copy of r204801, head/tools/regression/bin/sh/builtins/command9.0) @@ -0,0 +1,14 @@ +# $FreeBSD$ + +failures=0 + +check() { + if ! eval "[ $* ]"; then + echo "Failed: $*" + : $((failures += 1)) + fi +} + +check '"$({ command eval shift x 2>/dev/null; } >/dev/null; echo hi)" = hi' + +exit $((failures > 0)) Modified: stable/8/tools/regression/bin/sh/errors/backquote-error1.0 ============================================================================== --- stable/8/tools/regression/bin/sh/errors/backquote-error1.0 Mon Oct 18 22:30:58 2010 (r214044) +++ stable/8/tools/regression/bin/sh/errors/backquote-error1.0 Mon Oct 18 23:10:32 2010 (r214045) @@ -1,4 +1,4 @@ # $FreeBSD$ -echo 'echo `for` echo ".BAD"CODE.' | sh -i 2>&1 | grep -q BADCODE && exit 1 +echo 'echo `for` echo ".BAD"CODE.' | sh +m -i 2>&1 | grep -q BADCODE && exit 1 exit 0 Modified: stable/8/tools/regression/bin/sh/execution/func2.0 ============================================================================== --- stable/8/tools/regression/bin/sh/execution/func2.0 Mon Oct 18 22:30:58 2010 (r214044) +++ stable/8/tools/regression/bin/sh/execution/func2.0 Mon Oct 18 23:10:32 2010 (r214045) @@ -1,4 +1,5 @@ # $FreeBSD$ +# The empty pairs of braces here are to test that this does not cause a crash. f() { } f Copied: stable/8/tools/regression/bin/sh/expansion/ifs3.0 (from r211622, head/tools/regression/bin/sh/expansion/ifs3.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/8/tools/regression/bin/sh/expansion/ifs3.0 Mon Oct 18 23:10:32 2010 (r214045, copy of r211622, head/tools/regression/bin/sh/expansion/ifs3.0) @@ -0,0 +1,21 @@ +# $FreeBSD$ + +failures=0 +unset LC_ALL +export LC_CTYPE=en_US.ISO8859-1 +i=128 +set -f +while [ "$i" -le 255 ]; do + i2=$((i^2)) + c=$(printf \\"$(printf %o "$i")") + c2=$(printf \\"$(printf %o "$i2")") + IFS=$c + set -- $c2$c$c2$c$c2 + if [ "$#" -ne 3 ] || [ "$1" != "$c2" ] || [ "$2" != "$c2" ] || + [ "$3" != "$c2" ]; then + echo "Bad results for separator $i (word $i2)" >&2 + : $((failures += 1)) + fi + i=$((i+1)) +done +exit $((failures > 0)) Modified: stable/8/tools/regression/bin/sh/set-e/elif1.0 ============================================================================== --- stable/8/tools/regression/bin/sh/set-e/elif1.0 Mon Oct 18 22:30:58 2010 (r214044) +++ stable/8/tools/regression/bin/sh/set-e/elif1.0 Mon Oct 18 23:10:32 2010 (r214045) @@ -1,5 +1,7 @@ # $FreeBSD$ set -e if false; then + : elif false; then + : fi Modified: stable/8/tools/regression/bin/sh/set-e/elif2.0 ============================================================================== --- stable/8/tools/regression/bin/sh/set-e/elif2.0 Mon Oct 18 22:30:58 2010 (r214044) +++ stable/8/tools/regression/bin/sh/set-e/elif2.0 Mon Oct 18 23:10:32 2010 (r214045) @@ -1,5 +1,7 @@ # $FreeBSD$ set -e if false; then + : elif false; false; then + : fi Modified: stable/8/tools/regression/bin/sh/set-e/if1.0 ============================================================================== --- stable/8/tools/regression/bin/sh/set-e/if1.0 Mon Oct 18 22:30:58 2010 (r214044) +++ stable/8/tools/regression/bin/sh/set-e/if1.0 Mon Oct 18 23:10:32 2010 (r214045) @@ -1,4 +1,5 @@ # $FreeBSD$ set -e if false; then + : fi Modified: stable/8/tools/regression/bin/sh/set-e/if3.0 ============================================================================== --- stable/8/tools/regression/bin/sh/set-e/if3.0 Mon Oct 18 22:30:58 2010 (r214044) +++ stable/8/tools/regression/bin/sh/set-e/if3.0 Mon Oct 18 23:10:32 2010 (r214045) @@ -1,4 +1,5 @@ # $FreeBSD$ set -e if false; false; then + : fi Modified: stable/8/tools/regression/bin/sh/set-e/while1.0 ============================================================================== --- stable/8/tools/regression/bin/sh/set-e/while1.0 Mon Oct 18 22:30:58 2010 (r214044) +++ stable/8/tools/regression/bin/sh/set-e/while1.0 Mon Oct 18 23:10:32 2010 (r214045) @@ -1,4 +1,5 @@ # $FreeBSD$ set -e while false; do + : done Modified: stable/8/tools/regression/bin/sh/set-e/while2.0 ============================================================================== --- stable/8/tools/regression/bin/sh/set-e/while2.0 Mon Oct 18 22:30:58 2010 (r214044) +++ stable/8/tools/regression/bin/sh/set-e/while2.0 Mon Oct 18 23:10:32 2010 (r214045) @@ -1,4 +1,5 @@ # $FreeBSD$ set -e while false; false; do + : done From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 23:37:56 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 93A761065670; Mon, 18 Oct 2010 23:37:56 +0000 (UTC) (envelope-from davidxu@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 81E998FC0C; Mon, 18 Oct 2010 23:37:56 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9INbu7u090422; Mon, 18 Oct 2010 23:37:56 GMT (envelope-from davidxu@svn.freebsd.org) Received: (from davidxu@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9INbuTt090420; Mon, 18 Oct 2010 23:37:56 GMT (envelope-from davidxu@svn.freebsd.org) Message-Id: <201010182337.o9INbuTt090420@svn.freebsd.org> From: David Xu Date: Mon, 18 Oct 2010 23:37:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214046 - head/lib/libthr/thread X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 23:37:56 -0000 Author: davidxu Date: Mon Oct 18 23:37:56 2010 New Revision: 214046 URL: http://svn.freebsd.org/changeset/base/214046 Log: Set default type to PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, this is the type we are using. Modified: head/lib/libthr/thread/thr_rwlockattr.c Modified: head/lib/libthr/thread/thr_rwlockattr.c ============================================================================== --- head/lib/libthr/thread/thr_rwlockattr.c Mon Oct 18 23:10:32 2010 (r214045) +++ head/lib/libthr/thread/thr_rwlockattr.c Mon Oct 18 23:37:56 2010 (r214046) @@ -83,6 +83,7 @@ _pthread_rwlockattr_init(pthread_rwlocka return(ENOMEM); prwlockattr->pshared = PTHREAD_PROCESS_PRIVATE; + prwlockattr->kind = PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP; *rwlockattr = prwlockattr; return(0); From owner-svn-src-all@FreeBSD.ORG Mon Oct 18 23:58:12 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BDFAD1065673 for ; Mon, 18 Oct 2010 23:58:12 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from mail2.fluidhosting.com (mx23.fluidhosting.com [204.14.89.6]) by mx1.freebsd.org (Postfix) with ESMTP id 0FAEF8FC1F for ; Mon, 18 Oct 2010 23:58:11 +0000 (UTC) Received: (qmail 31633 invoked by uid 399); 18 Oct 2010 23:58:10 -0000 Received: from localhost (HELO laptop.dougb.net) (dougb@dougbarton.us@127.0.0.1) by localhost with ESMTPAM; 18 Oct 2010 23:58:10 -0000 X-Originating-IP: 127.0.0.1 X-Sender: dougb@dougbarton.us Date: Mon, 18 Oct 2010 16:58:10 -0700 (PDT) From: Doug Barton To: Dimitry Andric In-Reply-To: <4CBCC42E.9020608@FreeBSD.org> Message-ID: References: <201010182120.o9ILKBCV086003@svn.freebsd.org> <20101018213539.GA99142@alchemy.franken.de> <4CBCC02D.9050706@FreeBSD.org> <4CBCC42E.9020608@FreeBSD.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) X-message-flag: Outlook -- Not just for spreading viruses anymore! OpenPGP: id=1A1ABC84 Organization: http://SupersetSolutions.com/ MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-vendor@freebsd.org, Marius Strobl Subject: Re: svn commit: r214033 - in vendor/binutils/dist: bfd gas gas/config gas/testsuite gas/testsuite/gas/cfi gas/testsuite/gas/i386 gas/testsuite/gas/mips gas/testsuite/gas/ppc include/opcode ld ld/emulpa... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Oct 2010 23:58:12 -0000 On Tue, 19 Oct 2010, Dimitry Andric wrote: > On 2010-10-18 23:47, Doug Barton wrote: >> This may be a good thing to request a pointyhat run for as well. > > Please note, this is *not* going into head yet, but into a project > branch for now (projects/binutils-2.17). There it will have to prove > itself first... :) Got it, sorry for the confusion. Doug -- Improve the effectiveness of your Internet presence with a domain name makeover! http://SupersetSolutions.com/ Computers are useless. They can only give you answers. -- Pablo Picasso From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 00:01:53 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D3ABD1065672; Tue, 19 Oct 2010 00:01:53 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C09798FC0A; Tue, 19 Oct 2010 00:01:53 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9J01rj3091160; Tue, 19 Oct 2010 00:01:53 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9J01raB091155; Tue, 19 Oct 2010 00:01:53 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201010190001.o9J01raB091155@svn.freebsd.org> From: Xin LI Date: Tue, 19 Oct 2010 00:01:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214047 - in head: contrib/netcat usr.bin/nc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 00:01:53 -0000 Author: delphij Date: Tue Oct 19 00:01:53 2010 New Revision: 214047 URL: http://svn.freebsd.org/changeset/base/214047 Log: MFV: nc(1) from OpenBSD 4.8. While I'm there, bump WARNS level to 2 as the vendor have the right printf format string now. MFC after: 1 month Obtained from: OpenBSD Modified: head/contrib/netcat/nc.1 head/contrib/netcat/netcat.c head/contrib/netcat/socks.c head/usr.bin/nc/Makefile Directory Properties: head/contrib/netcat/ (props changed) Modified: head/contrib/netcat/nc.1 ============================================================================== --- head/contrib/netcat/nc.1 Mon Oct 18 23:37:56 2010 (r214046) +++ head/contrib/netcat/nc.1 Tue Oct 19 00:01:53 2010 (r214047) @@ -1,4 +1,4 @@ -.\" $OpenBSD: nc.1,v 1.53 2010/02/23 23:00:52 schwarze Exp $ +.\" $OpenBSD: nc.1,v 1.55 2010/07/25 07:51:39 guenther Exp $ .\" .\" Copyright (c) 1996 David Sacerdote .\" All rights reserved. @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 3, 2010 +.Dd July 25, 2010 .Dt NC 1 .Os .Sh NAME @@ -46,7 +46,7 @@ .Op Fl p Ar source_port .Op Fl s Ar source_ip_address .Op Fl T Ar ToS -.Op Fl V Ar fib +.Op Fl V Ar rtable .Op Fl w Ar timeout .Op Fl X Ar proxy_protocol .Oo Xo @@ -201,8 +201,10 @@ Specifies to use sockets. .It Fl u Use UDP instead of the default option of TCP. -.It Fl V Ar fib -Set the routing table (FIB). +.It Fl V Ar rtable +Set the routing table +.Pq Dq FIB +to be used. The default is 0. .It Fl v Have Modified: head/contrib/netcat/netcat.c ============================================================================== --- head/contrib/netcat/netcat.c Mon Oct 18 23:37:56 2010 (r214046) +++ head/contrib/netcat/netcat.c Tue Oct 19 00:01:53 2010 (r214047) @@ -1,4 +1,4 @@ -/* $OpenBSD: netcat.c,v 1.95 2010/02/27 00:58:56 nicm Exp $ */ +/* $OpenBSD: netcat.c,v 1.98 2010/07/03 04:44:51 guenther Exp $ */ /* * Copyright (c) 2001 Eric Jackson * @@ -93,7 +93,7 @@ int Iflag; /* TCP receive buffer siz int Oflag; /* TCP send buffer size */ int Sflag; /* TCP MD5 signature option */ int Tflag = -1; /* IP Type of Service */ -u_int rdomain; +u_int rtableid; int timeout = -1; int family = AF_UNSPEC; @@ -139,7 +139,6 @@ main(int argc, char *argv[]) { NULL, 0, NULL, 0 } }; - rdomain = 0; ret = 1; ipsec_count = 0; s = 0; @@ -235,10 +234,10 @@ main(int argc, char *argv[]) case 'V': if (sysctlbyname("net.fibs", &numfibs, &intsize, NULL, 0) == -1) errx(1, "Multiple FIBS not supported"); - rdomain = (unsigned int)strtonum(optarg, 0, + rtableid = (unsigned int)strtonum(optarg, 0, numfibs - 1, &errstr); if (errstr) - errx(1, "FIB %s: %s", errstr, optarg); + errx(1, "rtable %s: %s", errstr, optarg); break; case 'v': vflag = 1; @@ -371,11 +370,11 @@ main(int argc, char *argv[]) */ if (uflag) { int rv, plen; - char buf[8192]; + char buf[16384]; struct sockaddr_storage z; len = sizeof(z); - plen = jflag ? 8192 : 1024; + plen = jflag ? 16384 : 2048; rv = recvfrom(s, buf, plen, MSG_PEEK, (struct sockaddr *)&z, &len); if (rv < 0) @@ -561,8 +560,8 @@ remote_connect(const char *host, const c add_ipsec_policy(s, ipsec_policy[1]); #endif - if (rdomain) { - if (setfib(rdomain) == -1) + if (rtableid) { + if (setfib(rtableid) == -1) err(1, "setfib"); } @@ -634,8 +633,8 @@ local_listen(char *host, char *port, str res0->ai_protocol)) < 0) continue; - if (rdomain) { - if (setfib(rdomain) == -1) + if (rtableid) { + if (setfib(rtableid) == -1) err(1, "setfib"); } @@ -680,12 +679,12 @@ void readwrite(int nfd) { struct pollfd pfd[2]; - unsigned char buf[8192]; + unsigned char buf[16384]; int n, wfd = fileno(stdin); int lfd = fileno(stdout); int plen; - plen = jflag ? 8192 : 1024; + plen = jflag ? 16384 : 2048; /* Setup Network FD */ pfd[0].fd = nfd; @@ -827,10 +826,9 @@ build_ports(char *p) hi = strtonum(p, 1, PORT_MAX, &errstr); if (errstr) errx(1, "port number %s: %s", errstr, p); - portlist[0] = calloc(1, PORT_MAX_LEN); + portlist[0] = strdup(p); if (portlist[0] == NULL) err(1, NULL); - portlist[0] = p; } } @@ -947,7 +945,7 @@ help(void) \t-t Answer TELNET negotiation\n\ \t-U Use UNIX domain socket\n\ \t-u UDP mode\n\ - \t-V fib Specify alternate routing table (FIB)\n\ + \t-V rtable Specify alternate routing table\n\ \t-v Verbose\n\ \t-w secs\t Timeout for connects and final net reads\n\ \t-X proto Proxy protocol: \"4\", \"5\" (SOCKS) or \"connect\"\n\ @@ -992,7 +990,7 @@ usage(int ret) "usage: nc [-46DdhklnrStUuvz] [-I length] [-i interval] [-O length]\n" #endif "\t [-P proxy_username] [-p source_port] [-s source_ip_address] [-T ToS]\n" - "\t [-V fib] [-w timeout] [-X proxy_protocol]\n" + "\t [-V rtable] [-w timeout] [-X proxy_protocol]\n" "\t [-x proxy_address[:port]] [hostname] [port]\n"); if (ret) exit(1); Modified: head/contrib/netcat/socks.c ============================================================================== --- head/contrib/netcat/socks.c Mon Oct 18 23:37:56 2010 (r214046) +++ head/contrib/netcat/socks.c Tue Oct 19 00:01:53 2010 (r214047) @@ -1,4 +1,4 @@ -/* $OpenBSD: socks.c,v 1.17 2006/09/25 04:51:20 ray Exp $ */ +/* $OpenBSD: socks.c,v 1.18 2010/04/20 07:26:35 nicm Exp $ */ /* * Copyright (c) 1999 Niklas Hallqvist. All rights reserved. @@ -167,11 +167,11 @@ socks_connect(const char *host, const ch buf[2] = SOCKS_NOAUTH; cnt = atomicio(vwrite, proxyfd, buf, 3); if (cnt != 3) - err(1, "write failed (%d/3)", cnt); + err(1, "write failed (%zu/3)", cnt); cnt = atomicio(read, proxyfd, buf, 2); if (cnt != 2) - err(1, "read failed (%d/3)", cnt); + err(1, "read failed (%zu/3)", cnt); if (buf[1] == SOCKS_NOMETHOD) errx(1, "authentication method negotiation failed"); @@ -220,11 +220,11 @@ socks_connect(const char *host, const ch cnt = atomicio(vwrite, proxyfd, buf, wlen); if (cnt != wlen) - err(1, "write failed (%d/%d)", cnt, wlen); + err(1, "write failed (%zu/%zu)", cnt, wlen); cnt = atomicio(read, proxyfd, buf, 10); if (cnt != 10) - err(1, "read failed (%d/10)", cnt); + err(1, "read failed (%zu/10)", cnt); if (buf[1] != 0) errx(1, "connection failed, SOCKS error %d", buf[1]); } else if (socksv == 4) { @@ -242,11 +242,11 @@ socks_connect(const char *host, const ch cnt = atomicio(vwrite, proxyfd, buf, wlen); if (cnt != wlen) - err(1, "write failed (%d/%d)", cnt, wlen); + err(1, "write failed (%zu/%zu)", cnt, wlen); cnt = atomicio(read, proxyfd, buf, 8); if (cnt != 8) - err(1, "read failed (%d/8)", cnt); + err(1, "read failed (%zu/8)", cnt); if (buf[1] != 90) errx(1, "connection failed, SOCKS error %d", buf[1]); } else if (socksv == -1) { @@ -272,7 +272,7 @@ socks_connect(const char *host, const ch cnt = atomicio(vwrite, proxyfd, buf, r); if (cnt != r) - err(1, "write failed (%d/%d)", cnt, r); + err(1, "write failed (%zu/%d)", cnt, r); if (authretry > 1) { char resp[1024]; @@ -290,7 +290,7 @@ socks_connect(const char *host, const ch errx(1, "Proxy auth response too long"); r = strlen(buf); if ((cnt = atomicio(vwrite, proxyfd, buf, r)) != r) - err(1, "write failed (%d/%d)", cnt, r); + err(1, "write failed (%zu/%d)", cnt, r); } /* Terminate headers */ Modified: head/usr.bin/nc/Makefile ============================================================================== --- head/usr.bin/nc/Makefile Mon Oct 18 23:37:56 2010 (r214046) +++ head/usr.bin/nc/Makefile Tue Oct 19 00:01:53 2010 (r214047) @@ -9,6 +9,6 @@ CFLAGS+=-DIPSEC LDADD= -lipsec DPADD= ${LIBIPSEC} -WARNS?= 1 +WARNS?= 2 .include From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 00:20:01 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 528BF106566B; Tue, 19 Oct 2010 00:20:01 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3AB628FC08; Tue, 19 Oct 2010 00:20:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9J0K1UR091669; Tue, 19 Oct 2010 00:20:01 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9J0K1g9091654; Tue, 19 Oct 2010 00:20:01 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201010190020.o9J0K1g9091654@svn.freebsd.org> From: Rick Macklem Date: Tue, 19 Oct 2010 00:20:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214048 - in head/sys: fs/nfsclient nfs nfsclient nlm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 00:20:01 -0000 Author: rmacklem Date: Tue Oct 19 00:20:00 2010 New Revision: 214048 URL: http://svn.freebsd.org/changeset/base/214048 Log: Modify the NFS clients and the NLM so that the NLM can be used by both clients. Since the NLM uses various fields of the nfsmount structure, those fields were extracted and put in a separate nfs_mountcommon structure stored in sys/nfs/nfs_mountcommon.h. This structure also has a function pointer for a function that extracts the required information from the mount point and nfs vnode for that particular client, for information stored differently by the clients. Reviewed by: jhb MFC after: 2 weeks Added: head/sys/nfs/nfs_mountcommon.h (contents, props changed) Modified: head/sys/fs/nfsclient/nfs_clnode.c head/sys/fs/nfsclient/nfs_clvfsops.c head/sys/fs/nfsclient/nfs_clvnops.c head/sys/fs/nfsclient/nfsmount.h head/sys/nfs/nfs_lock.c head/sys/nfs/nfs_lock.h head/sys/nfsclient/nfs_node.c head/sys/nfsclient/nfs_vfsops.c head/sys/nfsclient/nfs_vnops.c head/sys/nfsclient/nfsmount.h head/sys/nfsclient/nfsnode.h head/sys/nlm/nlm_advlock.c head/sys/nlm/nlm_prot_impl.c Modified: head/sys/fs/nfsclient/nfs_clnode.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clnode.c Tue Oct 19 00:01:53 2010 (r214047) +++ head/sys/fs/nfsclient/nfs_clnode.c Tue Oct 19 00:20:00 2010 (r214048) @@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -53,12 +54,13 @@ __FBSDID("$FreeBSD$"); #include #include +#include + extern struct vop_vector newnfs_vnodeops; extern struct buf_ops buf_ops_newnfs; MALLOC_DECLARE(M_NEWNFSREQ); uma_zone_t newnfsnode_zone; -vop_reclaim_t *ncl_reclaim_p = NULL; void ncl_nhinit(void) @@ -238,8 +240,8 @@ ncl_reclaim(struct vop_reclaim_args *ap) * If the NLM is running, give it a chance to abort pending * locks. */ - if (ncl_reclaim_p) - ncl_reclaim_p(ap); + if (nfs_reclaim_p != NULL) + nfs_reclaim_p(ap); /* * Destroy the vm object and flush associated pages. Modified: head/sys/fs/nfsclient/nfs_clvfsops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clvfsops.c Tue Oct 19 00:01:53 2010 (r214047) +++ head/sys/fs/nfsclient/nfs_clvfsops.c Tue Oct 19 00:20:00 2010 (r214048) @@ -96,10 +96,13 @@ SYSCTL_INT(_vfs_newnfs, NFS_TPRINTF_DELA static void nfs_sec_name(char *, int *); static void nfs_decode_args(struct mount *mp, struct nfsmount *nmp, - struct nfs_args *argp, struct ucred *, struct thread *); + struct nfs_args *argp, const char *, struct ucred *, + struct thread *); static int mountnfs(struct nfs_args *, struct mount *, struct sockaddr *, char *, u_char *, u_char *, u_char *, struct vnode **, struct ucred *, struct thread *, int); +static void nfs_getnlminfo(struct vnode *, uint8_t *, int *, + struct sockaddr_storage *, int *, off_t *); static vfs_mount_t nfs_mount; static vfs_cmount_t nfs_cmount; static vfs_unmount_t nfs_unmount; @@ -518,10 +521,11 @@ nfs_sec_name(char *sec, int *flagsp) static void nfs_decode_args(struct mount *mp, struct nfsmount *nmp, struct nfs_args *argp, - struct ucred *cred, struct thread *td) + const char *hostname, struct ucred *cred, struct thread *td) { int s; int adjsock; + char *p; s = splnet(); @@ -659,6 +663,14 @@ nfs_decode_args(struct mount *mp, struct nmp->nm_sotype = argp->sotype; nmp->nm_soproto = argp->proto; } + + if (hostname != NULL) { + strlcpy(nmp->nm_hostname, hostname, + sizeof(nmp->nm_hostname)); + p = strchr(nmp->nm_hostname, ':'); + if (p != NULL) + *p = '\0'; + } } static const char *nfs_opts[] = { "from", @@ -933,7 +945,7 @@ nfs_mount(struct mount *mp) NFSMNT_INTEGRITY | NFSMNT_PRIVACY | NFSMNT_NOLOCKD /*|NFSMNT_XLATECOOKIE*/)); - nfs_decode_args(mp, nmp, &args, td->td_ucred, td); + nfs_decode_args(mp, nmp, &args, NULL, td->td_ucred, td); goto out; } @@ -1110,13 +1122,14 @@ mountnfs(struct nfs_args *argp, struct m nmp->nm_sockreq.nr_cred = crhold(cred); mtx_init(&nmp->nm_sockreq.nr_mtx, "nfssock", NULL, MTX_DEF); mp->mnt_data = nmp; + nmp->nm_getinfo = nfs_getnlminfo; } vfs_getnewfsid(mp); nmp->nm_mountp = mp; mtx_init(&nmp->nm_mtx, "NFSmount lock", NULL, MTX_DEF | MTX_DUPOK); nmp->nm_negnametimeo = negnametimeo; - nfs_decode_args(mp, nmp, argp, cred, td); + nfs_decode_args(mp, nmp, argp, hst, cred, td); /* * V2 can only handle 32 bit filesizes. A 4GB-1 limit may be too @@ -1447,3 +1460,26 @@ nfs_sysctl(struct mount *mp, fsctlop_t o return (0); } +/* + * Extract the information needed by the nlm from the nfs vnode. + */ +static void +nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, int *fhlenp, + struct sockaddr_storage *sp, int *is_v3p, off_t *sizep) +{ + struct nfsmount *nmp; + struct nfsnode *np = VTONFS(vp); + + nmp = VFSTONFS(vp->v_mount); + if (fhlenp != NULL) + *fhlenp = np->n_fhp->nfh_len; + if (fhp != NULL) + bcopy(np->n_fhp->nfh_fh, fhp, np->n_fhp->nfh_len); + if (sp != NULL) + bcopy(nmp->nm_nam, sp, min(nmp->nm_nam->sa_len, sizeof(*sp))); + if (is_v3p != NULL) + *is_v3p = NFS_ISV3(vp); + if (sizep != NULL) + *sizep = np->n_size; +} + Modified: head/sys/fs/nfsclient/nfs_clvnops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clvnops.c Tue Oct 19 00:01:53 2010 (r214047) +++ head/sys/fs/nfsclient/nfs_clvnops.c Tue Oct 19 00:20:00 2010 (r214048) @@ -84,7 +84,6 @@ __FBSDID("$FreeBSD$"); extern struct nfsstats newnfsstats; MALLOC_DECLARE(M_NEWNFSREQ); -vop_advlock_t *ncl_advlock_p = NULL; /* * Ifdef for FreeBSD-current merged buffer cache. It is unfortunate that these @@ -2937,8 +2936,8 @@ nfs_advlock(struct vop_advlock_args *ap) VOP_UNLOCK(vp, 0); error = lf_advlock(ap, &(vp->v_lockf), size); } else { - if (ncl_advlock_p) - error = ncl_advlock_p(ap); + if (nfs_advlock_p != NULL) + error = nfs_advlock_p(ap); else { VOP_UNLOCK(vp, 0); error = ENOLCK; Modified: head/sys/fs/nfsclient/nfsmount.h ============================================================================== --- head/sys/fs/nfsclient/nfsmount.h Tue Oct 19 00:01:53 2010 (r214047) +++ head/sys/fs/nfsclient/nfsmount.h Tue Oct 19 00:20:00 2010 (r214048) @@ -35,22 +35,19 @@ #ifndef _NFSCLIENT_NFSMOUNT_H_ #define _NFSCLIENT_NFSMOUNT_H_ +#include + /* * Mount structure. * One allocated on every NFS mount. * Holds NFS specific information for mount. */ struct nfsmount { - struct mtx nm_mtx; - int nm_flag; /* Flags for soft/hard... */ - int nm_state; /* Internal state flags */ - struct mount *nm_mountp; /* Vfs structure for this filesystem */ + struct nfsmount_common nm_com; /* Common fields for nlm */ int nm_numgrps; /* Max. size of groupslist */ u_char nm_fh[NFSX_FHMAX]; /* File handle of root dir */ int nm_fhsize; /* Size of root file handle */ struct nfssockreq nm_sockreq; /* Socket Info */ - int nm_timeo; /* Init timer for NFSMNT_DUMBTIMR */ - int nm_retry; /* Max retries */ int nm_timeouts; /* Request timeouts */ int nm_rsize; /* Max size of read rpc */ int nm_wsize; /* Max size of write rpc */ @@ -89,6 +86,14 @@ struct nfsmount { #define nm_soproto nm_sockreq.nr_soproto #define nm_client nm_sockreq.nr_client #define nm_krbname nm_name +#define nm_mtx nm_com.nmcom_mtx +#define nm_flag nm_com.nmcom_flag +#define nm_state nm_com.nmcom_state +#define nm_mountp nm_com.nmcom_mountp +#define nm_timeo nm_com.nmcom_timeo +#define nm_retry nm_com.nmcom_retry +#define nm_hostname nm_com.nmcom_hostname +#define nm_getinfo nm_com.nmcom_getinfo #define NFSMNT_DIRPATH(m) (&((m)->nm_name[(m)->nm_krbnamelen + 1])) #define NFSMNT_SRVKRBNAME(m) \ Modified: head/sys/nfs/nfs_lock.c ============================================================================== --- head/sys/nfs/nfs_lock.c Tue Oct 19 00:01:53 2010 (r214047) +++ head/sys/nfs/nfs_lock.c Tue Oct 19 00:20:00 2010 (r214048) @@ -62,6 +62,9 @@ __FBSDID("$FreeBSD$"); extern void (*nlminfo_release_p)(struct proc *p); +vop_advlock_t *nfs_advlock_p = nfs_dolock; +vop_reclaim_t *nfs_reclaim_p = NULL; + MALLOC_DEFINE(M_NFSLOCK, "nfsclient_lock", "NFS lock request"); MALLOC_DEFINE(M_NLMINFO, "nfsclient_nlminfo", "NFS lock process structure"); @@ -236,20 +239,19 @@ nfs_dolock(struct vop_advlock_args *ap) int error; struct flock *fl; struct proc *p; + struct nfsmount *nmp; td = curthread; p = td->td_proc; vp = ap->a_vp; fl = ap->a_fl; + nmp = VFSTONFS(vp->v_mount); ASSERT_VOP_LOCKED(vp, "nfs_dolock"); - bcopy(VFSTONFS(vp->v_mount)->nm_nam, &msg.lm_addr, - min(sizeof msg.lm_addr, VFSTONFS(vp->v_mount)->nm_nam->sa_len)); - msg.lm_fh_len = NFS_ISV3(vp) ? VTONFS(vp)->n_fhsize : NFSX_V2FH; - bcopy(VTONFS(vp)->n_fhp, msg.lm_fh, msg.lm_fh_len); - msg.lm_nfsv3 = NFS_ISV3(vp); + nmp->nm_getinfo(vp, msg.lm_fh, &msg.lm_fh_len, &msg.lm_addr, + &msg.lm_nfsv3, NULL); VOP_UNLOCK(vp, 0); /* Modified: head/sys/nfs/nfs_lock.h ============================================================================== --- head/sys/nfs/nfs_lock.h Tue Oct 19 00:01:53 2010 (r214047) +++ head/sys/nfs/nfs_lock.h Tue Oct 19 00:20:00 2010 (r214048) @@ -87,4 +87,6 @@ struct lockd_ans { #ifdef _KERNEL int nfs_dolock(struct vop_advlock_args *ap); +extern vop_advlock_t *nfs_advlock_p; +extern vop_reclaim_t *nfs_reclaim_p; #endif Added: head/sys/nfs/nfs_mountcommon.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/nfs/nfs_mountcommon.h Tue Oct 19 00:20:00 2010 (r214048) @@ -0,0 +1,51 @@ +/*- + * Copyright (c) 2009 Rick Macklem, University of Guelph + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _NFS_MOUNTCOMMON_H_ +#define _NFS_MOUNTCOMMON_H_ + +/* + * The common fields of the nfsmount structure for the two clients + * used by the nlm. It includes a function pointer that provides + * a mechanism for getting the client specific info for an nfs vnode. + */ +typedef void nfs_getinfofromvp_ftype(struct vnode *, uint8_t *, int *, + struct sockaddr_storage *, int *, off_t *); + +struct nfsmount_common { + struct mtx nmcom_mtx; + int nmcom_flag; /* Flags for soft/hard... */ + int nmcom_state; /* Internal state flags */ + struct mount *nmcom_mountp; /* Vfs structure for this filesystem */ + int nmcom_timeo; /* Init timer for NFSMNT_DUMBTIMR */ + int nmcom_retry; /* Max retries */ + char nmcom_hostname[MNAMELEN]; /* server's name */ + nfs_getinfofromvp_ftype *nmcom_getinfo; /* Get info from nfsnode */ +}; + +#endif /* _NFS_MOUNTCOMMON_H_ */ Modified: head/sys/nfsclient/nfs_node.c ============================================================================== --- head/sys/nfsclient/nfs_node.c Tue Oct 19 00:01:53 2010 (r214047) +++ head/sys/nfsclient/nfs_node.c Tue Oct 19 00:20:00 2010 (r214048) @@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -51,6 +52,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include Modified: head/sys/nfsclient/nfs_vfsops.c ============================================================================== --- head/sys/nfsclient/nfs_vfsops.c Tue Oct 19 00:01:53 2010 (r214047) +++ head/sys/nfsclient/nfs_vfsops.c Tue Oct 19 00:20:00 2010 (r214048) @@ -115,6 +115,8 @@ static void nfs_decode_args(struct mount static int mountnfs(struct nfs_args *, struct mount *, struct sockaddr *, char *, struct vnode **, struct ucred *cred, int); +static void nfs_getnlminfo(struct vnode *, uint8_t *, int *, + struct sockaddr_storage *, int *, off_t *); static vfs_mount_t nfs_mount; static vfs_cmount_t nfs_cmount; static vfs_unmount_t nfs_unmount; @@ -1202,6 +1204,7 @@ mountnfs(struct nfs_args *argp, struct m bzero((caddr_t)nmp, sizeof (struct nfsmount)); TAILQ_INIT(&nmp->nm_bufq); mp->mnt_data = nmp; + nmp->nm_getinfo = nfs_getnlminfo; } vfs_getnewfsid(mp); nmp->nm_mountp = mp; @@ -1490,3 +1493,27 @@ nfs_sysctl(struct mount *mp, fsctlop_t o } return (0); } + +/* + * Extract the information needed by the nlm from the nfs vnode. + */ +static void +nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, int *fhlenp, + struct sockaddr_storage *sp, int *is_v3p, off_t *sizep) +{ + struct nfsmount *nmp; + struct nfsnode *np = VTONFS(vp); + + nmp = VFSTONFS(vp->v_mount); + if (fhlenp != NULL) + *fhlenp = np->n_fhsize; + if (fhp != NULL) + bcopy(np->n_fhp, fhp, np->n_fhsize); + if (sp != NULL) + bcopy(nmp->nm_nam, sp, min(nmp->nm_nam->sa_len, sizeof(*sp))); + if (is_v3p != NULL) + *is_v3p = NFS_ISV3(vp); + if (sizep != NULL) + *sizep = np->n_size; +} + Modified: head/sys/nfsclient/nfs_vnops.c ============================================================================== --- head/sys/nfsclient/nfs_vnops.c Tue Oct 19 00:01:53 2010 (r214047) +++ head/sys/nfsclient/nfs_vnops.c Tue Oct 19 00:20:00 2010 (r214048) @@ -215,8 +215,6 @@ struct mtx nfs_iod_mtx; enum nfsiod_state nfs_iodwant[NFS_MAXASYNCDAEMON]; struct nfsmount *nfs_iodmount[NFS_MAXASYNCDAEMON]; int nfs_numasync = 0; -vop_advlock_t *nfs_advlock_p = nfs_dolock; -vop_reclaim_t *nfs_reclaim_p = NULL; #define DIRHDSIZ (sizeof (struct dirent) - (MAXNAMLEN + 1)) SYSCTL_DECL(_vfs_nfs); Modified: head/sys/nfsclient/nfsmount.h ============================================================================== --- head/sys/nfsclient/nfsmount.h Tue Oct 19 00:01:53 2010 (r214047) +++ head/sys/nfsclient/nfsmount.h Tue Oct 19 00:20:00 2010 (r214048) @@ -36,6 +36,10 @@ #ifndef _NFSCLIENT_NFSMOUNT_H_ #define _NFSCLIENT_NFSMOUNT_H_ +#include + +#include + #include #include #include @@ -47,10 +51,7 @@ * Holds NFS specific information for mount. */ struct nfsmount { - struct mtx nm_mtx; - int nm_flag; /* Flags for soft/hard... */ - int nm_state; /* Internal state flags */ - struct mount *nm_mountp; /* Vfs structure for this filesystem */ + struct nfsmount_common nm_com; /* Common fields for nlm */ int nm_numgrps; /* Max. size of groupslist */ u_char nm_fh[NFSX_V4FH]; /* File handle of root dir */ int nm_fhsize; /* Size of root file handle */ @@ -58,8 +59,6 @@ struct nfsmount { int nm_soproto; /* and protocol */ int nm_soflags; /* pr_flags for socket protocol */ struct sockaddr *nm_nam; /* Addr of server */ - int nm_timeo; /* Init timer for NFSMNT_DUMBTIMR */ - int nm_retry; /* Max retries */ int nm_deadthresh; /* Threshold of timeouts-->dead server*/ int nm_rsize; /* Max size of read rpc */ int nm_wsize; /* Max size of write rpc */ @@ -79,7 +78,6 @@ struct nfsmount { struct nfs_rpcops *nm_rpcops; int nm_tprintf_initial_delay; /* initial delay */ int nm_tprintf_delay; /* interval for messages */ - char nm_hostname[MNAMELEN]; /* server's name */ int nm_secflavor; /* auth flavor to use for rpc */ struct __rpc_client *nm_client; struct rpc_timers nm_timers[NFS_MAX_TIMER]; /* RTT Timers for rpcs */ @@ -94,6 +92,15 @@ struct nfsmount { time_t nm_last_renewal; }; +#define nm_mtx nm_com.nmcom_mtx +#define nm_flag nm_com.nmcom_flag +#define nm_state nm_com.nmcom_state +#define nm_mountp nm_com.nmcom_mountp +#define nm_timeo nm_com.nmcom_timeo +#define nm_retry nm_com.nmcom_retry +#define nm_hostname nm_com.nmcom_hostname +#define nm_getinfo nm_com.nmcom_getinfo + #if defined(_KERNEL) /* * Convert mount ptr to nfsmount ptr. Modified: head/sys/nfsclient/nfsnode.h ============================================================================== --- head/sys/nfsclient/nfsnode.h Tue Oct 19 00:01:53 2010 (r214047) +++ head/sys/nfsclient/nfsnode.h Tue Oct 19 00:20:00 2010 (r214048) @@ -187,9 +187,6 @@ extern struct vop_vector nfs_fifoops; extern struct vop_vector nfs_vnodeops; extern struct buf_ops buf_ops_nfs; -extern vop_advlock_t *nfs_advlock_p; -extern vop_reclaim_t *nfs_reclaim_p; - /* * Prototypes for NFS vnode operations */ Modified: head/sys/nlm/nlm_advlock.c ============================================================================== --- head/sys/nlm/nlm_advlock.c Tue Oct 19 00:01:53 2010 (r214047) +++ head/sys/nlm/nlm_advlock.c Tue Oct 19 00:20:00 2010 (r214048) @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -47,7 +48,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include @@ -196,7 +196,6 @@ nlm_advlock_internal(struct vnode *vp, v { struct thread *td = curthread; struct nfsmount *nmp; - struct nfsnode *np; off_t size; size_t fhlen; union nfsfh fh; @@ -214,6 +213,7 @@ nlm_advlock_internal(struct vnode *vp, v struct nlm_file_svid *ns; int svid; int error; + int is_v3; ASSERT_VOP_LOCKED(vp, "nlm_advlock_1"); @@ -225,18 +225,13 @@ nlm_advlock_internal(struct vnode *vp, v if (op == F_SETLK || op == F_UNLCK) nfs_vinvalbuf(vp, V_SAVE, td, 1); - np = VTONFS(vp); nmp = VFSTONFS(vp->v_mount); - size = np->n_size; - sa = nmp->nm_nam; - memcpy(&ss, sa, sa->sa_len); - sa = (struct sockaddr *) &ss; strcpy(servername, nmp->nm_hostname); - fhlen = np->n_fhsize; - memcpy(&fh.fh_bytes, np->n_fhp, fhlen); + nmp->nm_getinfo(vp, fh.fh_bytes, &fhlen, &ss, &is_v3, &size); + sa = (struct sockaddr *) &ss; timo.tv_sec = nmp->nm_timeo / NFS_HZ; timo.tv_usec = (nmp->nm_timeo % NFS_HZ) * (1000000 / NFS_HZ); - if (NFS_ISV3(vp)) + if (is_v3 != 0) vers = NLM_VERS4; else vers = NLM_VERS; Modified: head/sys/nlm/nlm_prot_impl.c ============================================================================== --- head/sys/nlm/nlm_prot_impl.c Tue Oct 19 00:01:53 2010 (r214047) +++ head/sys/nlm/nlm_prot_impl.c Tue Oct 19 00:20:00 2010 (r214048) @@ -55,8 +55,7 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include +#include #include #include @@ -2432,4 +2431,5 @@ DECLARE_MODULE(nfslockd, nfslockd_mod, S /* So that loader and kldload(2) can find us, wherever we are.. */ MODULE_DEPEND(nfslockd, krpc, 1, 1, 1); MODULE_DEPEND(nfslockd, nfs, 1, 1, 1); +MODULE_DEPEND(nfslockd, nfslock, 1, 1, 1); MODULE_VERSION(nfslockd, 1); From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 02:52:39 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CC4CD106564A; Tue, 19 Oct 2010 02:52:39 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail01.syd.optusnet.com.au (mail01.syd.optusnet.com.au [211.29.132.182]) by mx1.freebsd.org (Postfix) with ESMTP id 469E68FC0A; Tue, 19 Oct 2010 02:52:38 +0000 (UTC) Received: from c122-106-146-165.carlnfd1.nsw.optusnet.com.au (c122-106-146-165.carlnfd1.nsw.optusnet.com.au [122.106.146.165]) by mail01.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id o9J2qT0h031901 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 19 Oct 2010 13:52:30 +1100 Date: Tue, 19 Oct 2010 13:52:29 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Alexander Motin In-Reply-To: <4CBCBF25.8010902@FreeBSD.org> Message-ID: <20101019122827.T1195@besplex.bde.org> References: <201010171646.o9HGks2U038501@svn.freebsd.org> <4CBCADDD.5070109@FreeBSD.org> <20101018205224.GO1416@alchemy.franken.de> <201010181705.24879.jhb@freebsd.org> <20101018213055.GP1416@alchemy.franken.de> <4CBCBF25.8010902@FreeBSD.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, John Baldwin , Marius Strobl Subject: Re: svn commit: r213985 - head/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 02:52:39 -0000 On Tue, 19 Oct 2010, Alexander Motin wrote: > Marius Strobl wrote: >> On Mon, Oct 18, 2010 at 05:05:24PM -0400, John Baldwin wrote: >>> On Monday, October 18, 2010 4:52:24 pm Marius Strobl wrote: >>>> AFAICT this is not true; intr_event_handle() in sys/kern/kern_intr.c >>>> is what enters a critical section and f.e. on amd64 I don't see where >>>> anywhere in the path from ISR_VEC() to intr_execute_handlers() >>>> calling intr_event_handle() a critical section would be entered, >>>> which also means that in intr_execute_handlers() td_intr_nesting_level >>>> is incremented outside of a critical section. >>> Not all of the clock interrupts use intr_event_handle(). The local APIC >>> timer uses its own interrupt entry point on x86 for example and uses an >>> explicit critical section as a result. I suspect the sparc64 tick interrupt >>> is closer to the local APIC timer case and doesn't use intr_event_handle(). >> >> Correct; but still you can't say that the MD interrupt code enters a >> critical section in general, neither is incrementing td_intr_nesting_level >> in intr_execute_handlers() protected by a critical section. >> >>> The fact that some clock interrupts do use intr_event_handle() (e.g. the >>> atrtc driver on x86 now) does indicate that the low-level interrupt code >>> probably does not belong in the time events code but in the caller. >> >> Well, I agree that entering a critical section in the time events >> code would mean entering a nested critical section unnecessarily in >> case the clock driver uses a regular "fast" interrupt handler and >> that should be avoided. Still I don't think the event time front-end >> actually should need to worry about wrapping the callback in a >> critical section. I think it belongs in the caller, and the front end shouldn't do any more than assert it. > Interrupt frame, required for hard-/stat-/profclock() operation is > stored in curthread. So critical section is effectively mandatory there > now. Correct td_intr_nesting_level value is also important for proper > interrupt threads scheduling - one more reason to have critical section > there. It is indeed strange that td_intr_nesting_level in > intr_event_handle() is not covered by critical section, but probably it > should. td_intr_nesting_level is garbage, as is the style of the use of it in sched_ule.c (non-boolean used in boolean context). I introduced it (as a global named intr_nesting_level) to count interrupt nesting with spls. It was an i386 implemention detail for limiting interrupt nesting to about 4, but a few places abused it to detect things like M_WAITOK malloc()s in interrupt context. There was 1 non-abusive MI reference to it, via the MD CLKF_INTR(framep) macro, and the most of the abuses wouldn't have been abuses if there had been a MD macro for them. See RELENG_4 for all this. (spls allow interrupt nesting to either the number of bits in the mask or the number of high-level spls, but the kernel stack is not large enough for this, so there was an even more arbitary limit of about 4.) Now with ithreads for interrupts, interrupts can't nest (an interrupt can interrupt an ithread, but that is no more nesting than an interrupt interrupting a user thread). td_intr_nesting_level is 0 in ithreads, so it is almost useless for its original abuse for detecting things like M_WAITOK malloc()s in interrupt context, but it is still abused for that :-(. td_intr_nesting level is != 0 mainly in low-level interrupt handling code and fast interrupt handlers, and neither of these should be so broken as to call malloc(), so the check in malloc() is useless; the correct check (for TDP_ITHREAD) is missing. Similar checks in uipc_mbuf.c were just removed, and similar but more-bogus checks in vinum went away with vinum. This leaves 3 possibly-useful uses of td_intr_nesting_level in -current: - {amd64,i386}/trap.c: td_intr_nesting_level is checked to be zero to makes certain traps more fatal when it is nonzero. Other arches don't bother with such a test. amd64 and i386 don't bother with testing the more likely error of a trap that should be fatal in an ithread. This can be handled in the same way as in malloc() -- don't bother testing for the very unlikely case, especially if you don't bother testing for the unlikely case. - kern_clock.c: this tests for td_intr_nesting_level >= 2. That is almost exactly the test that used to be hidden in the MD CLKF_INTR(). I used to maintain patches with an assertion that this never happens with ithreads. It never happens unless there is a bug in the low-level interrupt handling code or in the management of td_intr_nesting_level. On entry to an interrupt, td_intr_nesting level is incremented to 1, and another thread should be switched to without allowing any interrupt that will increment it again; then on switch back, interrupts should remain masked so that it is not incremented from 1 to 2 just before it is decremented to 0. I would have removed td_intr_nesting_level from my version, except my version actually needs it, for this use in hardclock() only :-(. In my version, the low-level interrupt masking is partially in software, so clock interrupts can interrupt the low-level interrupt handling. I just remembered that sparce64 also has or had some interrupt masking in software; perhaps it needs a similar treatment. - sched_ule.c: releatively recently, this scheduler started using td_intr_nesting_level. More recently td_intr_nesting_level was incremented in clock code to keep this scheduler happy, so something is clearly needed. But sched_4bsd.c doesn't need it, and the increment being outside of the critical section in intr_execute_handlers() shows how uncritical this variable is. Perhaps sched_ule.c can use td_critnest instead. You have to be carefully with not calling critical_enter() too much, so that the scheduler cannot tell the real level. Levels near mi_switch() have to have levels of precisely 0, 1 or 2, so that the level drops to precisely 0 when the switch is complete, and this is related to deciding whether to schedule. and 2 other nonsense abuses: - dev/sound/isa/sb16.c: abuses td_intr_nesting_level to avoid doing a diagnostic interrupt if (td_intr_nesting_level != 0). I think this has no effect, as for malloc() except it is easier to inspect the code to see that it cannot be reached in fast interrupt handler context, so the check is null. - vm_page.c: exactly the same as in malloc(), with a check for unlikely fast interrupt handler context but none for ordinary ithread context. Most arch-specific code that manages td_intr_nesting_level does it in a critical section. powerpc also uses atomic ops. I only grepped for td_intr_nesting_level, and would have missed any different spelling of it in asm code where most of the original i386 code for it was. Bruce From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 08:55:32 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1B5DA1065672; Tue, 19 Oct 2010 08:55:32 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E35CE8FC18; Tue, 19 Oct 2010 08:55:31 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9J8tVsE006256; Tue, 19 Oct 2010 08:55:31 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9J8tVjI006254; Tue, 19 Oct 2010 08:55:31 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201010190855.o9J8tVjI006254@svn.freebsd.org> From: Konstantin Belousov Date: Tue, 19 Oct 2010 08:55:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214049 - head/sys/nfsserver X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 08:55:32 -0000 Author: kib Date: Tue Oct 19 08:55:31 2010 New Revision: 214049 URL: http://svn.freebsd.org/changeset/base/214049 Log: When readdirplus() is handled on the exported filesystem that does not support VFS_VGET, like msdosfs, do not call VOP_LOOKUP() for dotdot on the root directory. Our filesystems expect that VFS handles dotdot lookups on root on its own. Reported and tested by: kevlo MFC after: 2 weeks Modified: head/sys/nfsserver/nfs_serv.c Modified: head/sys/nfsserver/nfs_serv.c ============================================================================== --- head/sys/nfsserver/nfs_serv.c Tue Oct 19 00:20:00 2010 (r214048) +++ head/sys/nfsserver/nfs_serv.c Tue Oct 19 08:55:31 2010 (r214049) @@ -3036,7 +3036,7 @@ nfsrv_readdirplus(struct nfsrv_descript struct iovec iv; struct vattr va, at, *vap = &va; struct nfs_fattr *fp; - int len, nlen, rem, xfer, tsiz, i, error = 0, getret = 1; + int len, nlen, rem, xfer, tsiz, i, error = 0, error1, getret = 1; int siz, cnt, fullsiz, eofflag, rdonly, dirlen, ncookies; u_quad_t off, toff, verf; u_long *cookies = NULL, *cookiep; /* needs to be int64_t or off_t */ @@ -3240,24 +3240,25 @@ again: } if (!VOP_ISLOCKED(vp)) vn_lock(vp, LK_SHARED | LK_RETRY); - if (VOP_LOOKUP(vp, &nvp, &cn) != 0) + if ((vp->v_vflag & VV_ROOT) != 0 && + (cn.cn_flags & ISDOTDOT) != 0) { + vref(vp); + nvp = vp; + } else if (VOP_LOOKUP(vp, &nvp, &cn) != 0) goto invalid; } bzero((caddr_t)nfhp, NFSX_V3FH); nfhp->fh_fsid = nvp->v_mount->mnt_stat.f_fsid; - if (VOP_VPTOFH(nvp, &nfhp->fh_fid)) { + if ((error1 = VOP_VPTOFH(nvp, &nfhp->fh_fid)) == 0) + error1 = VOP_GETATTR(nvp, vap, cred); + if (vp == nvp) + vunref(nvp); + else vput(nvp); - nvp = NULL; - goto invalid; - } - if (VOP_GETATTR(nvp, vap, cred)) { - vput(nvp); - nvp = NULL; - goto invalid; - } - vput(nvp); nvp = NULL; + if (error1 != 0) + goto invalid; /* * If either the dircount or maxcount will be From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 09:25:58 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BAB8310656A8; Tue, 19 Oct 2010 09:25:58 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A76088FC20; Tue, 19 Oct 2010 09:25:58 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9J9Pwl5007152; Tue, 19 Oct 2010 09:25:58 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9J9PwWB007150; Tue, 19 Oct 2010 09:25:58 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201010190925.o9J9PwWB007150@svn.freebsd.org> From: Konstantin Belousov Date: Tue, 19 Oct 2010 09:25:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214050 - stable/8/sys/compat/linprocfs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 09:25:58 -0000 Author: kib Date: Tue Oct 19 09:25:58 2010 New Revision: 214050 URL: http://svn.freebsd.org/changeset/base/214050 Log: MFC r212723 (by des): Implement proc/$$/environment. MFC r213246: Rework linprocfs_doprocenviron() and linprocfs_doproccmdline(). Modified: stable/8/sys/compat/linprocfs/linprocfs.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/compat/linprocfs/linprocfs.c ============================================================================== --- stable/8/sys/compat/linprocfs/linprocfs.c Tue Oct 19 08:55:31 2010 (r214049) +++ stable/8/sys/compat/linprocfs/linprocfs.c Tue Oct 19 09:25:58 2010 (r214050) @@ -61,6 +61,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -96,6 +97,10 @@ __FBSDID("$FreeBSD$"); #include #endif /* __i386__ || __amd64__ */ +#ifdef COMPAT_FREEBSD32 +#include +#endif + #ifdef COMPAT_LINUX32 /* XXX */ #include #else @@ -880,57 +885,172 @@ linprocfs_doprocroot(PFS_FILL_ARGS) return (0); } +#define MAX_ARGV_STR 512 /* Max number of argv-like strings */ +#define UIO_CHUNK_SZ 256 /* Max chunk size (bytes) for uiomove */ + +static int +linprocfs_doargv(struct thread *td, struct proc *p, struct sbuf *sb, + void (*resolver)(const struct ps_strings, u_long *, int *)) +{ + struct iovec iov; + struct uio tmp_uio; + struct ps_strings pss; + int ret, i, n_elements, elm_len; + u_long addr, pbegin; + char **env_vector, *envp; + char env_string[UIO_CHUNK_SZ]; +#ifdef COMPAT_FREEBSD32 + struct freebsd32_ps_strings pss32; + uint32_t *env_vector32; +#endif + +#define UIO_HELPER(uio, iov, base, len, cnt, offset, sz, flg, rw, td) \ +do { \ + iov.iov_base = (caddr_t)(base); \ + iov.iov_len = (len); \ + uio.uio_iov = &(iov); \ + uio.uio_iovcnt = (cnt); \ + uio.uio_offset = (off_t)(offset); \ + uio.uio_resid = (sz); \ + uio.uio_segflg = (flg); \ + uio.uio_rw = (rw); \ + uio.uio_td = (td); \ +} while (0) + + env_vector = malloc(sizeof(char *) * MAX_ARGV_STR, M_TEMP, M_WAITOK); + +#ifdef COMPAT_FREEBSD32 + env_vector32 = NULL; + if ((p->p_sysent->sv_flags & SV_ILP32) != 0) { + env_vector32 = malloc(sizeof(*env_vector32) * MAX_ARGV_STR, + M_TEMP, M_WAITOK); + elm_len = sizeof(int32_t); + envp = (char *)env_vector32; + + UIO_HELPER(tmp_uio, iov, &pss32, sizeof(pss32), 1, + (off_t)(p->p_sysent->sv_psstrings), + sizeof(pss32), UIO_SYSSPACE, UIO_READ, td); + ret = proc_rwmem(p, &tmp_uio); + if (ret != 0) + goto done; + pss.ps_argvstr = PTRIN(pss32.ps_argvstr); + pss.ps_nargvstr = pss32.ps_nargvstr; + pss.ps_envstr = PTRIN(pss32.ps_envstr); + pss.ps_nenvstr = pss32.ps_nenvstr; + } else { +#endif + elm_len = sizeof(char *); + envp = (char *)env_vector; + + UIO_HELPER(tmp_uio, iov, &pss, sizeof(pss), 1, + (off_t)(p->p_sysent->sv_psstrings), + sizeof(pss), UIO_SYSSPACE, UIO_READ, td); + ret = proc_rwmem(p, &tmp_uio); + if (ret != 0) + goto done; +#ifdef COMPAT_FREEBSD32 + } +#endif + + /* Get the array address and the number of elements */ + resolver(pss, &addr, &n_elements); + + /* Consistent with lib/libkvm/kvm_proc.c */ + if (n_elements > MAX_ARGV_STR) { + ret = E2BIG; + goto done; + } + + UIO_HELPER(tmp_uio, iov, envp, n_elements * elm_len, 1, + (vm_offset_t)(addr), iov.iov_len, UIO_SYSSPACE, UIO_READ, td); + ret = proc_rwmem(p, &tmp_uio); + if (ret != 0) + goto done; +#ifdef COMPAT_FREEBSD32 + if (env_vector32 != NULL) { + for (i = 0; i < n_elements; i++) + env_vector[i] = PTRIN(env_vector32[i]); + } +#endif + + /* Now we can iterate through the list of strings */ + for (i = 0; i < n_elements; i++) { + pbegin = (vm_offset_t)env_vector[i]; + for (;;) { + UIO_HELPER(tmp_uio, iov, env_string, sizeof(env_string), + 1, pbegin, iov.iov_len, UIO_SYSSPACE, UIO_READ, td); + ret = proc_rwmem(p, &tmp_uio); + if (ret != 0) + goto done; + + if (!strvalid(env_string, UIO_CHUNK_SZ)) { + /* + * We didn't find the end of the string. + * Add the string to the buffer and move + * the pointer. But do not allow strings + * of unlimited length. + */ + sbuf_bcat(sb, env_string, UIO_CHUNK_SZ); + if (sbuf_len(sb) >= ARG_MAX) { + ret = E2BIG; + goto done; + } + pbegin += UIO_CHUNK_SZ; + } else { + sbuf_cat(sb, env_string); + break; + } + } + sbuf_bcat(sb, "", 1); + } +#undef UIO_HELPER + +done: + free(env_vector, M_TEMP); +#ifdef COMPAT_FREEBSD32 + free(env_vector32, M_TEMP); +#endif + return (ret); +} + +static void +ps_string_argv(const struct ps_strings ps, u_long *addr, int *n) +{ + + *addr = (u_long) ps.ps_argvstr; + *n = ps.ps_nargvstr; +} + +static void +ps_string_env(const struct ps_strings ps, u_long *addr, int *n) +{ + + *addr = (u_long) ps.ps_envstr; + *n = ps.ps_nenvstr; +} + /* * Filler function for proc/pid/cmdline */ static int linprocfs_doproccmdline(PFS_FILL_ARGS) { - struct ps_strings pstr; - char **ps_argvstr; - int error, i; - - /* - * If we are using the ps/cmdline caching, use that. Otherwise - * revert back to the old way which only implements full cmdline - * for the currept process and just p->p_comm for all other - * processes. - * Note that if the argv is no longer available, we deliberately - * don't fall back on p->p_comm or return an error: the authentic - * Linux behaviour is to return zero-length in this case. - */ + int ret; PROC_LOCK(p); - if (p->p_args && p_cansee(td, p) == 0) { - sbuf_bcpy(sb, p->p_args->ar_args, p->p_args->ar_length); - PROC_UNLOCK(p); - } else if (p != td->td_proc) { + if ((ret = p_cansee(td, p)) != 0) { PROC_UNLOCK(p); - sbuf_printf(sb, "%.*s", MAXCOMLEN, p->p_comm); - } else { + return (ret); + } + if (p->p_args != NULL) { + sbuf_bcpy(sb, p->p_args->ar_args, p->p_args->ar_length); PROC_UNLOCK(p); - error = copyin((void *)p->p_sysent->sv_psstrings, &pstr, - sizeof(pstr)); - if (error) - return (error); - if (pstr.ps_nargvstr > ARG_MAX) - return (E2BIG); - ps_argvstr = malloc(pstr.ps_nargvstr * sizeof(char *), - M_TEMP, M_WAITOK); - error = copyin((void *)pstr.ps_argvstr, ps_argvstr, - pstr.ps_nargvstr * sizeof(char *)); - if (error) { - free(ps_argvstr, M_TEMP); - return (error); - } - for (i = 0; i < pstr.ps_nargvstr; i++) { - sbuf_copyin(sb, ps_argvstr[i], 0); - sbuf_printf(sb, "%c", '\0'); - } - free(ps_argvstr, M_TEMP); + return (0); } + PROC_UNLOCK(p); - return (0); + ret = linprocfs_doargv(td, p, sb, ps_string_argv); + return (ret); } /* @@ -939,9 +1059,17 @@ linprocfs_doproccmdline(PFS_FILL_ARGS) static int linprocfs_doprocenviron(PFS_FILL_ARGS) { + int ret; - sbuf_printf(sb, "doprocenviron\n%c", '\0'); - return (0); + PROC_LOCK(p); + if ((ret = p_cansee(td, p)) != 0) { + PROC_UNLOCK(p); + return (ret); + } + PROC_UNLOCK(p); + + ret = linprocfs_doargv(td, p, sb, ps_string_env); + return (ret); } /* From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 10:10:32 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1D8911065672; Tue, 19 Oct 2010 10:10:32 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mail.zoral.com.ua (mx0.zoral.com.ua [91.193.166.200]) by mx1.freebsd.org (Postfix) with ESMTP id A04038FC18; Tue, 19 Oct 2010 10:10:31 +0000 (UTC) Received: from deviant.kiev.zoral.com.ua (root@deviant.kiev.zoral.com.ua [10.1.1.148]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id o9JAARhV055192 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 19 Oct 2010 13:10:27 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1]) by deviant.kiev.zoral.com.ua (8.14.4/8.14.4) with ESMTP id o9JAARCr040910; Tue, 19 Oct 2010 13:10:27 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by deviant.kiev.zoral.com.ua (8.14.4/8.14.4/Submit) id o9JAARXw040909; Tue, 19 Oct 2010 13:10:27 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 19 Oct 2010 13:10:26 +0300 From: Kostik Belousov To: Rick Macklem Message-ID: <20101019101026.GZ2392@deviant.kiev.zoral.com.ua> References: <201010190020.o9J0K1g9091654@svn.freebsd.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="fLv/lpE57INsRhka" Content-Disposition: inline In-Reply-To: <201010190020.o9J0K1g9091654@svn.freebsd.org> User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: clamav-milter 0.95.2 at skuns.kiev.zoral.com.ua X-Virus-Status: Clean X-Spam-Status: No, score=-3.4 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00, DNS_FROM_OPENWHOIS autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on skuns.kiev.zoral.com.ua Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r214048 - in head/sys: fs/nfsclient nfs nfsclient nlm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 10:10:32 -0000 --fLv/lpE57INsRhka Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Oct 19, 2010 at 12:20:01AM +0000, Rick Macklem wrote: > Author: rmacklem > Date: Tue Oct 19 00:20:00 2010 > New Revision: 214048 > URL: http://svn.freebsd.org/changeset/base/214048 >=20 > Log: > Modify the NFS clients and the NLM so that the NLM can be used > by both clients. Since the NLM uses various fields of the > nfsmount structure, those fields were extracted and put in a > separate nfs_mountcommon structure stored in sys/nfs/nfs_mountcommon.h. > This structure also has a function pointer for a function that > extracts the required information from the mount point and nfs vnode > for that particular client, for information stored differently by the > clients. > =20 > Reviewed by: jhb > MFC after: 2 weeks I believe the following is needed for 64bit platforms. diff --git a/sys/fs/nfsclient/nfs_clvfsops.c b/sys/fs/nfsclient/nfs_clvfsop= s.c index 816d288..0c27b9d 100644 --- a/sys/fs/nfsclient/nfs_clvfsops.c +++ b/sys/fs/nfsclient/nfs_clvfsops.c @@ -101,7 +101,7 @@ static void nfs_decode_args(struct mount *mp, struct nf= smount *nmp, static int mountnfs(struct nfs_args *, struct mount *, struct sockaddr *, char *, u_char *, u_char *, u_char *, struct vnode **, struct ucred *, struct thread *, int); -static void nfs_getnlminfo(struct vnode *, uint8_t *, int *, +static void nfs_getnlminfo(struct vnode *, uint8_t *, size_t *, struct sockaddr_storage *, int *, off_t *); static vfs_mount_t nfs_mount; static vfs_cmount_t nfs_cmount; @@ -1464,7 +1464,7 @@ nfs_sysctl(struct mount *mp, fsctlop_t op, struct sys= ctl_req *req) * Extract the information needed by the nlm from the nfs vnode. */ static void -nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, int *fhlenp, +nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, size_t *fhlenp, struct sockaddr_storage *sp, int *is_v3p, off_t *sizep) { struct nfsmount *nmp; diff --git a/sys/nfs/nfs_mountcommon.h b/sys/nfs/nfs_mountcommon.h index fa2547e..c004b9c 100644 --- a/sys/nfs/nfs_mountcommon.h +++ b/sys/nfs/nfs_mountcommon.h @@ -34,7 +34,7 @@ * used by the nlm. It includes a function pointer that provides * a mechanism for getting the client specific info for an nfs vnode. */ -typedef void nfs_getinfofromvp_ftype(struct vnode *, uint8_t *, int *, +typedef void nfs_getinfofromvp_ftype(struct vnode *, uint8_t *, size_t *, struct sockaddr_storage *, int *, off_t *); =20 struct nfsmount_common { diff --git a/sys/nfsclient/nfs_vfsops.c b/sys/nfsclient/nfs_vfsops.c index 3175e0f..45459e5 100644 --- a/sys/nfsclient/nfs_vfsops.c +++ b/sys/nfsclient/nfs_vfsops.c @@ -115,7 +115,7 @@ static void nfs_decode_args(struct mount *mp, struct nf= smount *nmp, static int mountnfs(struct nfs_args *, struct mount *, struct sockaddr *, char *, struct vnode **, struct ucred *cred, int); -static void nfs_getnlminfo(struct vnode *, uint8_t *, int *, +static void nfs_getnlminfo(struct vnode *, uint8_t *, size_t *, struct sockaddr_storage *, int *, off_t *); static vfs_mount_t nfs_mount; static vfs_cmount_t nfs_cmount; @@ -1498,7 +1498,7 @@ nfs_sysctl(struct mount *mp, fsctlop_t op, struct sys= ctl_req *req) * Extract the information needed by the nlm from the nfs vnode. */ static void -nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, int *fhlenp, +nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, size_t *fhlenp, struct sockaddr_storage *sp, int *is_v3p, off_t *sizep) { struct nfsmount *nmp; --fLv/lpE57INsRhka Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) iEYEARECAAYFAky9bpIACgkQC3+MBN1Mb4hK7gCgpFMZy32LMePWZMYTzNN5zZWb xsIAoObMxtOMPr193adm8t13u5Lu9P+5 =PNJz -----END PGP SIGNATURE----- --fLv/lpE57INsRhka-- From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 10:51:18 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 845311065674; Tue, 19 Oct 2010 10:51:18 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 572768FC27; Tue, 19 Oct 2010 10:51:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JApI58012245; Tue, 19 Oct 2010 10:51:18 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JApINS012243; Tue, 19 Oct 2010 10:51:18 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201010191051.o9JApINS012243@svn.freebsd.org> From: Sergey Kandaurov Date: Tue, 19 Oct 2010 10:51:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214051 - stable/8/share/man/man4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 10:51:18 -0000 Author: pluknet Date: Tue Oct 19 10:51:18 2010 New Revision: 214051 URL: http://svn.freebsd.org/changeset/base/214051 Log: MFC r213514: Wrap lines for SiS and Promise entries to 80 columns. PR: docs/146195 Approved by: avg (mentor) Modified: stable/8/share/man/man4/ata.4 Directory Properties: stable/8/share/man/man4/ (props changed) Modified: stable/8/share/man/man4/ata.4 ============================================================================== --- stable/8/share/man/man4/ata.4 Tue Oct 19 09:25:58 2010 (r214050) +++ stable/8/share/man/man4/ata.4 Tue Oct 19 10:51:18 2010 (r214051) @@ -167,13 +167,19 @@ NC3000, NC5000. nForce, nForce2, nForce2 MCP, nForce3, nForce3 MCP, nForce3 Pro, nForce4, MCP51, MCP55, MCP61, MCP65, MCP67, MCP73, MCP77, MCP79, MCP89. .It Promise: -PDC20246, PDC20262, PDC20263, PDC20265, PDC20267, PDC20268, PDC20269, PDC20270, PDC20271, PDC20275, PDC20276, PDC20277, PDC20318, PDC20319, PDC20371, PDC20375, PDC20376, PDC20377, PDC20378, PDC20379, PDC20571, PDC20575, PDC20579, PDC20580, PDC20617, PDC20618, PDC20619, PDC20620, PDC20621, PDC20622, PDC40518, PDC40519, PDC40718, PDC40719. +PDC20246, PDC20262, PDC20263, PDC20265, PDC20267, PDC20268, PDC20269, PDC20270, +PDC20271, PDC20275, PDC20276, PDC20277, PDC20318, PDC20319, PDC20371, PDC20375, +PDC20376, PDC20377, PDC20378, PDC20379, PDC20571, PDC20575, PDC20579, PDC20580, +PDC20617, PDC20618, PDC20619, PDC20620, PDC20621, PDC20622, PDC40518, PDC40519, +PDC40718, PDC40719. .It ServerWorks: HT1000, ROSB4, CSB5, CSB6, K2, Frodo4, Frodo8. .It Silicon Image: SiI0680, SiI3112, SiI3114, SiI3124, SiI3132, SiI3512. .It SiS: -SIS180, SIS181, SIS182, SIS5513, SIS530, SIS540, SIS550, SIS620, SIS630, SIS630S, SIS633, SIS635, SIS730, SIS733, SIS735, SIS745, SIS961, SIS962, SIS963, SIS964, SIS965. +SIS180, SIS181, SIS182, SIS5513, SIS530, SIS540, SIS550, SIS620, SIS630, +SIS630S, SIS633, SIS635, SIS730, SIS733, SIS735, SIS745, SIS961, SIS962, +SIS963, SIS964, SIS965. .It VIA: VT6410, VT6420, VT6421, VT82C586, VT82C586B, VT82C596, VT82C596B, VT82C686, VT82C686A, VT82C686B, VT8231, VT8233, VT8233A, VT8233C, VT8235, VT8237, From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 10:56:57 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 07821106567A; Tue, 19 Oct 2010 10:56:57 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CE9A18FC23; Tue, 19 Oct 2010 10:56:56 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JAuuBH012434; Tue, 19 Oct 2010 10:56:56 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JAuu2n012432; Tue, 19 Oct 2010 10:56:56 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201010191056.o9JAuu2n012432@svn.freebsd.org> From: Sergey Kandaurov Date: Tue, 19 Oct 2010 10:56:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214052 - stable/7/share/man/man4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 10:56:57 -0000 Author: pluknet Date: Tue Oct 19 10:56:56 2010 New Revision: 214052 URL: http://svn.freebsd.org/changeset/base/214052 Log: MFC r213514: Wrap lines for SiS and Promise entries to 80 columns. PR: docs/146195 Approved by: avg (mentor) Modified: stable/7/share/man/man4/ata.4 Directory Properties: stable/7/share/man/man4/ (props changed) Modified: stable/7/share/man/man4/ata.4 ============================================================================== --- stable/7/share/man/man4/ata.4 Tue Oct 19 10:51:18 2010 (r214051) +++ stable/7/share/man/man4/ata.4 Tue Oct 19 10:56:56 2010 (r214052) @@ -135,13 +135,19 @@ NC3000, NC5000. .It nVidia: nForce, nForce2, nForce2 MCP, nForce3, nForce3 MCP, nForce3 Pro, nForce4. .It Promise: -PDC20246, PDC20262, PDC20263, PDC20265, PDC20267, PDC20268, PDC20269, PDC20270, PDC20271, PDC20275, PDC20276, PDC20277, PDC20318, PDC20319, PDC20371, PDC20375, PDC20376, PDC20377, PDC20378, PDC20379, PDC20571, PDC20575, PDC20579, PDC20580, PDC20617, PDC20618, PDC20619, PDC20620, PDC20621, PDC20622, PDC40518, PDC40519, PDC40718, PDC40719. +PDC20246, PDC20262, PDC20263, PDC20265, PDC20267, PDC20268, PDC20269, PDC20270, +PDC20271, PDC20275, PDC20276, PDC20277, PDC20318, PDC20319, PDC20371, PDC20375, +PDC20376, PDC20377, PDC20378, PDC20379, PDC20571, PDC20575, PDC20579, PDC20580, +PDC20617, PDC20618, PDC20619, PDC20620, PDC20621, PDC20622, PDC40518, PDC40519, +PDC40718, PDC40719. .It ServerWorks: HT1000, ROSB4, CSB5, CSB6, K2, Frodo4, Frodo8. .It Silicon Image: SiI0680, SiI3112, SiI3114, SiI3124, SiI3132, SiI3512. .It SiS: -SIS180, SIS181, SIS182, SIS5513, SIS530, SIS540, SIS550, SIS620, SIS630, SIS630S, SIS633, SIS635, SIS730, SIS733, SIS735, SIS745, SIS961, SIS962, SIS963, SIS964, SIS965. +SIS180, SIS181, SIS182, SIS5513, SIS530, SIS540, SIS550, SIS620, SIS630, +SIS630S, SIS633, SIS635, SIS730, SIS733, SIS735, SIS745, SIS961, SIS962, +SIS963, SIS964, SIS965. .It VIA: VT6410, VT6420, VT6421, VT82C586, VT82C586B, VT82C596, VT82C596B, VT82C686, VT82C686A, VT82C686B, VT8231, VT8233, VT8233A, VT8233C, VT8235, VT8237, VT8237A, VT8237S, VT8251. .El From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 11:55:58 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6C1AB1065674; Tue, 19 Oct 2010 11:55:58 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 59AFD8FC25; Tue, 19 Oct 2010 11:55:58 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JBtwIF013774; Tue, 19 Oct 2010 11:55:58 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JBtw6I013770; Tue, 19 Oct 2010 11:55:58 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201010191155.o9JBtw6I013770@svn.freebsd.org> From: Rick Macklem Date: Tue, 19 Oct 2010 11:55:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214053 - in head/sys: fs/nfsclient nfs nfsclient X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 11:55:58 -0000 Author: rmacklem Date: Tue Oct 19 11:55:58 2010 New Revision: 214053 URL: http://svn.freebsd.org/changeset/base/214053 Log: Fix the type of the 3rd argument for nm_getinfo so that it works for architectures like sparc64. Suggested by: kib MFC after: 2 weeks Modified: head/sys/fs/nfsclient/nfs_clvfsops.c head/sys/nfs/nfs_mountcommon.h head/sys/nfsclient/nfs_vfsops.c Modified: head/sys/fs/nfsclient/nfs_clvfsops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clvfsops.c Tue Oct 19 10:56:56 2010 (r214052) +++ head/sys/fs/nfsclient/nfs_clvfsops.c Tue Oct 19 11:55:58 2010 (r214053) @@ -101,7 +101,7 @@ static void nfs_decode_args(struct mount static int mountnfs(struct nfs_args *, struct mount *, struct sockaddr *, char *, u_char *, u_char *, u_char *, struct vnode **, struct ucred *, struct thread *, int); -static void nfs_getnlminfo(struct vnode *, uint8_t *, int *, +static void nfs_getnlminfo(struct vnode *, uint8_t *, size_t *, struct sockaddr_storage *, int *, off_t *); static vfs_mount_t nfs_mount; static vfs_cmount_t nfs_cmount; @@ -1464,7 +1464,7 @@ nfs_sysctl(struct mount *mp, fsctlop_t o * Extract the information needed by the nlm from the nfs vnode. */ static void -nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, int *fhlenp, +nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, size_t *fhlenp, struct sockaddr_storage *sp, int *is_v3p, off_t *sizep) { struct nfsmount *nmp; @@ -1472,7 +1472,7 @@ nfs_getnlminfo(struct vnode *vp, uint8_t nmp = VFSTONFS(vp->v_mount); if (fhlenp != NULL) - *fhlenp = np->n_fhp->nfh_len; + *fhlenp = (size_t)np->n_fhp->nfh_len; if (fhp != NULL) bcopy(np->n_fhp->nfh_fh, fhp, np->n_fhp->nfh_len); if (sp != NULL) Modified: head/sys/nfs/nfs_mountcommon.h ============================================================================== --- head/sys/nfs/nfs_mountcommon.h Tue Oct 19 10:56:56 2010 (r214052) +++ head/sys/nfs/nfs_mountcommon.h Tue Oct 19 11:55:58 2010 (r214053) @@ -34,7 +34,7 @@ * used by the nlm. It includes a function pointer that provides * a mechanism for getting the client specific info for an nfs vnode. */ -typedef void nfs_getinfofromvp_ftype(struct vnode *, uint8_t *, int *, +typedef void nfs_getinfofromvp_ftype(struct vnode *, uint8_t *, size_t *, struct sockaddr_storage *, int *, off_t *); struct nfsmount_common { Modified: head/sys/nfsclient/nfs_vfsops.c ============================================================================== --- head/sys/nfsclient/nfs_vfsops.c Tue Oct 19 10:56:56 2010 (r214052) +++ head/sys/nfsclient/nfs_vfsops.c Tue Oct 19 11:55:58 2010 (r214053) @@ -115,7 +115,7 @@ static void nfs_decode_args(struct mount static int mountnfs(struct nfs_args *, struct mount *, struct sockaddr *, char *, struct vnode **, struct ucred *cred, int); -static void nfs_getnlminfo(struct vnode *, uint8_t *, int *, +static void nfs_getnlminfo(struct vnode *, uint8_t *, size_t *, struct sockaddr_storage *, int *, off_t *); static vfs_mount_t nfs_mount; static vfs_cmount_t nfs_cmount; @@ -1498,7 +1498,7 @@ nfs_sysctl(struct mount *mp, fsctlop_t o * Extract the information needed by the nlm from the nfs vnode. */ static void -nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, int *fhlenp, +nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, size_t *fhlenp, struct sockaddr_storage *sp, int *is_v3p, off_t *sizep) { struct nfsmount *nmp; @@ -1506,7 +1506,7 @@ nfs_getnlminfo(struct vnode *vp, uint8_t nmp = VFSTONFS(vp->v_mount); if (fhlenp != NULL) - *fhlenp = np->n_fhsize; + *fhlenp = (size_t)np->n_fhsize; if (fhp != NULL) bcopy(np->n_fhp, fhp, np->n_fhsize); if (sp != NULL) From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 12:32:04 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B4194106564A; Tue, 19 Oct 2010 12:32:04 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from esa-jnhn.mail.uoguelph.ca (esa-jnhn.mail.uoguelph.ca [131.104.91.44]) by mx1.freebsd.org (Postfix) with ESMTP id 3F6BE8FC20; Tue, 19 Oct 2010 12:32:04 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApwEAFslvUyDaFvO/2dsb2JhbACDH586qi+SMoEigzR0BIpL X-IronPort-AV: E=Sophos;i="4.57,350,1283745600"; d="scan'208";a="97709519" Received: from erie.cs.uoguelph.ca (HELO zcs3.mail.uoguelph.ca) ([131.104.91.206]) by esa-jnhn-pri.mail.uoguelph.ca with ESMTP; 19 Oct 2010 08:02:50 -0400 Received: from zcs3.mail.uoguelph.ca (localhost.localdomain [127.0.0.1]) by zcs3.mail.uoguelph.ca (Postfix) with ESMTP id 28447B3F36; Tue, 19 Oct 2010 08:02:50 -0400 (EDT) Date: Tue, 19 Oct 2010 08:02:50 -0400 (EDT) From: Rick Macklem To: Kostik Belousov Message-ID: <82448027.240470.1287489770103.JavaMail.root@erie.cs.uoguelph.ca> In-Reply-To: <20101019101026.GZ2392@deviant.kiev.zoral.com.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [99.225.56.115] X-Mailer: Zimbra 6.0.7_GA_2476.RHEL4 (ZimbraWebClient - SAF3 (Mac)/6.0.7_GA_2473.RHEL4_64) Cc: svn-src-head@freebsd.org, Rick Macklem , svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r214048 - in head/sys: fs/nfsclient nfs nfsclient nlm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 12:32:04 -0000 > On Tue, Oct 19, 2010 at 12:20:01AM +0000, Rick Macklem wrote: > > Author: rmacklem > > Date: Tue Oct 19 00:20:00 2010 > > New Revision: 214048 > > URL: http://svn.freebsd.org/changeset/base/214048 > > > > Log: > > Modify the NFS clients and the NLM so that the NLM can be used > > by both clients. Since the NLM uses various fields of the > > nfsmount structure, those fields were extracted and put in a > > separate nfs_mountcommon structure stored in > > sys/nfs/nfs_mountcommon.h. > > This structure also has a function pointer for a function that > > extracts the required information from the mount point and nfs > > vnode > > for that particular client, for information stored differently by > > the > > clients. > > > > Reviewed by: jhb > > MFC after: 2 weeks > I believe the following is needed for 64bit platforms. > > diff --git a/sys/fs/nfsclient/nfs_clvfsops.c > b/sys/fs/nfsclient/nfs_clvfsops.c > index 816d288..0c27b9d 100644 > --- a/sys/fs/nfsclient/nfs_clvfsops.c > +++ b/sys/fs/nfsclient/nfs_clvfsops.c > @@ -101,7 +101,7 @@ static void nfs_decode_args(struct mount *mp, > struct nfsmount *nmp, > static int mountnfs(struct nfs_args *, struct mount *, > struct sockaddr *, char *, u_char *, u_char *, u_char *, > struct vnode **, struct ucred *, struct thread *, int); > -static void nfs_getnlminfo(struct vnode *, uint8_t *, int *, > +static void nfs_getnlminfo(struct vnode *, uint8_t *, size_t *, > struct sockaddr_storage *, int *, off_t *); > static vfs_mount_t nfs_mount; > static vfs_cmount_t nfs_cmount; > @@ -1464,7 +1464,7 @@ nfs_sysctl(struct mount *mp, fsctlop_t op, > struct sysctl_req *req) > * Extract the information needed by the nlm from the nfs vnode. > */ > static void > -nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, int *fhlenp, > +nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, size_t *fhlenp, > struct sockaddr_storage *sp, int *is_v3p, off_t *sizep) > { > struct nfsmount *nmp; > diff --git a/sys/nfs/nfs_mountcommon.h b/sys/nfs/nfs_mountcommon.h > index fa2547e..c004b9c 100644 > --- a/sys/nfs/nfs_mountcommon.h > +++ b/sys/nfs/nfs_mountcommon.h > @@ -34,7 +34,7 @@ > * used by the nlm. It includes a function pointer that provides > * a mechanism for getting the client specific info for an nfs vnode. > */ > -typedef void nfs_getinfofromvp_ftype(struct vnode *, uint8_t *, int > *, > +typedef void nfs_getinfofromvp_ftype(struct vnode *, uint8_t *, > size_t *, > struct sockaddr_storage *, int *, off_t *); > > struct nfsmount_common { > diff --git a/sys/nfsclient/nfs_vfsops.c b/sys/nfsclient/nfs_vfsops.c > index 3175e0f..45459e5 100644 > --- a/sys/nfsclient/nfs_vfsops.c > +++ b/sys/nfsclient/nfs_vfsops.c > @@ -115,7 +115,7 @@ static void nfs_decode_args(struct mount *mp, > struct nfsmount *nmp, > static int mountnfs(struct nfs_args *, struct mount *, > struct sockaddr *, char *, struct vnode **, > struct ucred *cred, int); > -static void nfs_getnlminfo(struct vnode *, uint8_t *, int *, > +static void nfs_getnlminfo(struct vnode *, uint8_t *, size_t *, > struct sockaddr_storage *, int *, off_t *); > static vfs_mount_t nfs_mount; > static vfs_cmount_t nfs_cmount; > @@ -1498,7 +1498,7 @@ nfs_sysctl(struct mount *mp, fsctlop_t op, > struct sysctl_req *req) > * Extract the information needed by the nlm from the nfs vnode. > */ > static void > -nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, int *fhlenp, > +nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, size_t *fhlenp, > struct sockaddr_storage *sp, int *is_v3p, off_t *sizep) > { > struct nfsmount *nmp; Oops, sorry. I should have done the "make universe". rick ps: I think r214053 fixes it. I will be away from a computer until tomorrow evening, but will look then to check that it's ok now. From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 12:35:41 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5396B106564A; Tue, 19 Oct 2010 12:35:41 +0000 (UTC) (envelope-from uqs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3E6918FC0A; Tue, 19 Oct 2010 12:35:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JCZfKH014715; Tue, 19 Oct 2010 12:35:41 GMT (envelope-from uqs@svn.freebsd.org) Received: (from uqs@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JCZeTg014701; Tue, 19 Oct 2010 12:35:40 GMT (envelope-from uqs@svn.freebsd.org) Message-Id: <201010191235.o9JCZeTg014701@svn.freebsd.org> From: Ulrich Spoerlein Date: Tue, 19 Oct 2010 12:35:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214054 - in head: contrib/bsnmp/lib libexec/bootpd sbin/routed sbin/setkey sbin/sunlabel share/man/man4/man4.arm share/man/man4/man4.i386 share/man/man4/man4.powerpc share/man/man5 sys... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 12:35:41 -0000 Author: uqs Date: Tue Oct 19 12:35:40 2010 New Revision: 214054 URL: http://svn.freebsd.org/changeset/base/214054 Log: mdoc: drop even more redundant .Pp calls No change in rendered output, less mandoc lint warnings. Tool provided by: Nobuyuki Koganemaru n-kogane at syd.odn.ne.jp Modified: head/contrib/bsnmp/lib/bsnmplib.3 head/libexec/bootpd/bootptab.5 head/sbin/routed/routed.8 head/sbin/setkey/setkey.8 head/sbin/sunlabel/sunlabel.8 head/share/man/man4/man4.arm/mge.4 head/share/man/man4/man4.i386/ep.4 head/share/man/man4/man4.i386/mse.4 head/share/man/man4/man4.powerpc/tsec.4 head/share/man/man5/freebsd-update.conf.5 head/sys/netinet/libalias/libalias.3 head/usr.sbin/apmd/apmd.8 head/usr.sbin/gpioctl/gpioctl.8 Modified: head/contrib/bsnmp/lib/bsnmplib.3 ============================================================================== --- head/contrib/bsnmp/lib/bsnmplib.3 Tue Oct 19 11:55:58 2010 (r214053) +++ head/contrib/bsnmp/lib/bsnmplib.3 Tue Oct 19 12:35:40 2010 (r214054) @@ -134,7 +134,6 @@ is not zero, .Fa v.octetstring.octets points to a string allocated by .Xr malloc 3 . -.Pp .Bd -literal -offset indent #define SNMP_COMMUNITY_MAXLEN 128 #define SNMP_MAX_BINDINGS 100 Modified: head/libexec/bootpd/bootptab.5 ============================================================================== --- head/libexec/bootpd/bootptab.5 Tue Oct 19 11:55:58 2010 (r214053) +++ head/libexec/bootpd/bootptab.5 Tue Oct 19 12:35:40 2010 (r214054) @@ -388,7 +388,6 @@ hardware address. An example .Pa /etc/bootptab file follows: -.Pp .Bd -literal -offset indent # Sample bootptab file (domain=andrew.cmu.edu) Modified: head/sbin/routed/routed.8 ============================================================================== --- head/sbin/routed/routed.8 Tue Oct 19 11:55:58 2010 (r214053) +++ head/sbin/routed/routed.8 Tue Oct 19 12:35:40 2010 (r214054) @@ -440,7 +440,6 @@ The file is comprised of a series of lines, each in one of the following two formats or consist of parameters described later. Blank lines and lines starting with '#' are comments. -.Pp .Bd -ragged .Cm net .Ar Nname[/mask] Modified: head/sbin/setkey/setkey.8 ============================================================================== --- head/sbin/setkey/setkey.8 Tue Oct 19 11:55:58 2010 (r214053) +++ head/sbin/setkey/setkey.8 Tue Oct 19 12:35:40 2010 (r214054) @@ -565,7 +565,6 @@ There are small, but important, differen See .Xr ipsec_set_policy 3 for details. -.Pp .El .Pp .\" @@ -583,7 +582,6 @@ in the of the .Ar protocol parameter: -.Pp .Bd -literal -offset indent algorithm keylen (bits) comment hmac-md5 128 ah: rfc2403 @@ -616,7 +614,6 @@ in the of the .Ar protocol parameter: -.Pp .Bd -literal -offset indent algorithm keylen (bits) comment des-cbc 64 esp-old: rfc1829, esp: rfc2405 @@ -643,7 +640,6 @@ in the of the .Ar protocol parameter: -.Pp .Bd -literal -offset indent algorithm comment deflate rfc2394 Modified: head/sbin/sunlabel/sunlabel.8 ============================================================================== --- head/sbin/sunlabel/sunlabel.8 Tue Oct 19 11:55:58 2010 (r214053) +++ head/sbin/sunlabel/sunlabel.8 Tue Oct 19 12:35:40 2010 (r214054) @@ -120,7 +120,6 @@ Options are listed in alphabetical order Note that only those option combinations listed under .Sx SYNOPSIS are allowable. -.Pp .Bl -tag -width ".Fl b Ar bootpath" .It Fl b Ar bootpath Specify that Modified: head/share/man/man4/man4.arm/mge.4 ============================================================================== --- head/share/man/man4/man4.arm/mge.4 Tue Oct 19 11:55:58 2010 (r214053) +++ head/share/man/man4/man4.arm/mge.4 Tue Oct 19 12:35:40 2010 (r214054) @@ -47,7 +47,6 @@ system-on-chip devices. The .Nm driver supports the following media types: -.Pp .Bl -tag -width xxxxxxxxxxxxxxxxxxxx .It autoselect Enable autoselection of the media type and options @@ -62,7 +61,6 @@ Set 1000baseT operation The .Nm driver supports the following media options: -.Pp .Bl -tag -width xxxxxxxxxxxxxxxxxxxx .It full-duplex Set full duplex operation Modified: head/share/man/man4/man4.i386/ep.4 ============================================================================== --- head/share/man/man4/man4.i386/ep.4 Tue Oct 19 11:55:58 2010 (r214053) +++ head/share/man/man4/man4.i386/ep.4 Tue Oct 19 12:35:40 2010 (r214054) @@ -57,7 +57,6 @@ Parallel Tasking chipset. .Pp Various models of these cards come with a different assortment of connectors: -.Pp .Bl -tag -width xxxxxxxxxxxxxxxxxxxx .It AUI/DIX Standard 15 pin connector, also known as 10base5 (thick-net) @@ -74,7 +73,6 @@ To override this, use the following medi or in your .Pa /etc/rc.conf file. -.Pp .Bl -tag -width xxxxxxxxxxxxxxxxxxxx .It 10base5/AUI Use the AUI port. Modified: head/share/man/man4/man4.i386/mse.4 ============================================================================== --- head/share/man/man4/man4.i386/mse.4 Tue Oct 19 11:55:58 2010 (r214053) +++ head/share/man/man4/man4.i386/mse.4 Tue Oct 19 12:35:40 2010 (r214054) @@ -147,7 +147,6 @@ or in the User Configuration Menu at the boot time (see .Xr boot 8 ) . -.Pp .Bl -tag -width MOUSE .It bit 4..7 ACCELERATION This flag controls the amount of acceleration effect. Modified: head/share/man/man4/man4.powerpc/tsec.4 ============================================================================== --- head/share/man/man4/man4.powerpc/tsec.4 Tue Oct 19 11:55:58 2010 (r214053) +++ head/share/man/man4/man4.powerpc/tsec.4 Tue Oct 19 12:35:40 2010 (r214054) @@ -47,7 +47,6 @@ some of the Freescale system-on-chip dev The .Nm driver supports the following media types: -.Pp .Bl -tag -width xxxxxxxxxxxxxxxxxxxx .It autoselect Enable autoselection of the media type and options @@ -62,7 +61,6 @@ Set 1000baseT operation The .Nm driver supports the following media options: -.Pp .Bl -tag -width xxxxxxxxxxxxxxxxxxxx .It full-duplex Set full duplex operation Modified: head/share/man/man5/freebsd-update.conf.5 ============================================================================== --- head/share/man/man5/freebsd-update.conf.5 Tue Oct 19 11:55:58 2010 (r214053) +++ head/share/man/man5/freebsd-update.conf.5 Tue Oct 19 12:35:40 2010 (r214054) @@ -47,7 +47,6 @@ Unless stated otherwise, specifying an o error. .Pp The possible options and their meanings are as follows: -.Pp .Bl -tag -width ".Cm BackupKernelSymbolFiles" .It Cm KeyPrint The single parameter following this keyword is the SHA256 hash Modified: head/sys/netinet/libalias/libalias.3 ============================================================================== --- head/sys/netinet/libalias/libalias.3 Tue Oct 19 11:55:58 2010 (r214053) +++ head/sys/netinet/libalias/libalias.3 Tue Oct 19 12:35:40 2010 (r214054) @@ -899,7 +899,6 @@ protocols (except for IP, TCP and UDP) t .Sh ACKNOWLEDGMENTS Listed below, in approximate chronological order, are individuals who have provided valuable comments and/or debugging assistance. -.Pp .Bd -ragged -offset indent .An -split .An Gary Roberts Modified: head/usr.sbin/apmd/apmd.8 ============================================================================== --- head/usr.sbin/apmd/apmd.8 Tue Oct 19 11:55:58 2010 (r214053) +++ head/usr.sbin/apmd/apmd.8 Tue Oct 19 12:35:40 2010 (r214054) @@ -143,7 +143,6 @@ The structure of the .Nm configuration file is quite simple. For example: -.Pp .Bd -literal apm_event SUSPENDREQ { exec "sync && sync && sync"; @@ -161,7 +160,6 @@ to receive the APM event command 3 times and wait for a while, then execute .Nm zzz ( Ns Nm apm Fl z ) to put the system in the suspend state. -.Pp .Bl -bullet .It The apm_event keyword Modified: head/usr.sbin/gpioctl/gpioctl.8 ============================================================================== --- head/usr.sbin/gpioctl/gpioctl.8 Tue Oct 19 11:55:58 2010 (r214053) +++ head/usr.sbin/gpioctl/gpioctl.8 Tue Oct 19 12:35:40 2010 (r214054) @@ -95,7 +95,6 @@ toggle value of provided pin number be verbose: for each listed pin print current configuration .El .Sh EXAMPLES -.Pp .Bl -bullet .It List pins available on GPIO controller defined by device /dev/gpioctl0 From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 13:06:26 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7FD021065670; Tue, 19 Oct 2010 13:06:26 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6DA148FC15; Tue, 19 Oct 2010 13:06:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JD6QVY015527; Tue, 19 Oct 2010 13:06:26 GMT (envelope-from emaste@svn.freebsd.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JD6Q5O015525; Tue, 19 Oct 2010 13:06:26 GMT (envelope-from emaste@svn.freebsd.org) Message-Id: <201010191306.o9JD6Q5O015525@svn.freebsd.org> From: Ed Maste Date: Tue, 19 Oct 2010 13:06:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214055 - stable/8/lib/libgeom X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 13:06:26 -0000 Author: emaste Date: Tue Oct 19 13:06:26 2010 New Revision: 214055 URL: http://svn.freebsd.org/changeset/base/214055 Log: MFC r213451: Handle null return from XML_ParserCreate and fix a few memory leaks on error conditions. Modified: stable/8/lib/libgeom/geom_xml2tree.c Directory Properties: stable/8/lib/libgeom/ (props changed) Modified: stable/8/lib/libgeom/geom_xml2tree.c ============================================================================== --- stable/8/lib/libgeom/geom_xml2tree.c Tue Oct 19 12:35:40 2010 (r214054) +++ stable/8/lib/libgeom/geom_xml2tree.c Tue Oct 19 13:06:26 2010 (r214055) @@ -339,21 +339,27 @@ geom_xml2tree(struct gmesh *gmp, char *p memset(gmp, 0, sizeof *gmp); LIST_INIT(&gmp->lg_class); parser = XML_ParserCreate(NULL); + if (parser == NULL) + return (ENOMEM); mt = calloc(1, sizeof *mt); - if (mt == NULL) + if (mt == NULL) { + XML_ParserFree(parser); return (ENOMEM); + } mt->mesh = gmp; XML_SetUserData(parser, mt); XML_SetElementHandler(parser, StartElement, EndElement); XML_SetCharacterDataHandler(parser, CharData); i = XML_Parse(parser, p, strlen(p), 1); - if (i != 1) - return (-1); XML_ParserFree(parser); + if (i != 1) { + free(mt); + return (-1); + } gmp->lg_ident = calloc(sizeof *gmp->lg_ident, mt->nident + 1); + free(mt); if (gmp->lg_ident == NULL) return (ENOMEM); - free(mt); i = 0; /* Collect all identifiers */ LIST_FOREACH(cl, &gmp->lg_class, lg_class) { From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 13:16:08 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6376A106567A; Tue, 19 Oct 2010 13:16:08 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 1AFBC8FC15; Tue, 19 Oct 2010 13:16:08 +0000 (UTC) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id 863D646B7F; Tue, 19 Oct 2010 09:16:07 -0400 (EDT) Received: from jhbbsd.localnet (smtp.hudson-trading.com [209.249.190.9]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 0BE368A01D; Tue, 19 Oct 2010 09:16:06 -0400 (EDT) From: John Baldwin To: Alexander Motin Date: Tue, 19 Oct 2010 08:36:37 -0400 User-Agent: KMail/1.13.5 (FreeBSD/7.3-CBSD-20100819; KDE/4.4.5; amd64; ; ) References: <201010171646.o9HGks2U038501@svn.freebsd.org> <20101018213055.GP1416@alchemy.franken.de> <4CBCBF25.8010902@FreeBSD.org> In-Reply-To: <4CBCBF25.8010902@FreeBSD.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201010190836.37272.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6 (bigwig.baldwin.cx); Tue, 19 Oct 2010 09:16:06 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.96.3 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-1.9 required=4.2 tests=BAYES_00 autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on bigwig.baldwin.cx Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Marius Strobl Subject: Re: svn commit: r213985 - head/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 13:16:08 -0000 On Monday, October 18, 2010 5:41:57 pm Alexander Motin wrote: > Marius Strobl wrote: > > On Mon, Oct 18, 2010 at 05:05:24PM -0400, John Baldwin wrote: > >> On Monday, October 18, 2010 4:52:24 pm Marius Strobl wrote: > >>> AFAICT this is not true; intr_event_handle() in sys/kern/kern_intr.c > >>> is what enters a critical section and f.e. on amd64 I don't see where > >>> anywhere in the path from ISR_VEC() to intr_execute_handlers() > >>> calling intr_event_handle() a critical section would be entered, > >>> which also means that in intr_execute_handlers() td_intr_nesting_level > >>> is incremented outside of a critical section. > >> Not all of the clock interrupts use intr_event_handle(). The local APIC > >> timer uses its own interrupt entry point on x86 for example and uses an > >> explicit critical section as a result. I suspect the sparc64 tick interrupt > >> is closer to the local APIC timer case and doesn't use intr_event_handle(). > > > > Correct; but still you can't say that the MD interrupt code enters a > > critical section in general, neither is incrementing td_intr_nesting_level > > in intr_execute_handlers() protected by a critical section. > > > >> The fact that some clock interrupts do use intr_event_handle() (e.g. the > >> atrtc driver on x86 now) does indicate that the low-level interrupt code > >> probably does not belong in the time events code but in the caller. > > > > Well, I agree that entering a critical section in the time events > > code would mean entering a nested critical section unnecessarily in > > case the clock driver uses a regular "fast" interrupt handler and > > that should be avoided. Still I don't think the event time front-end > > actually should need to worry about wrapping the callback in a > > critical section. > > Interrupt frame, required for hard-/stat-/profclock() operation is > stored in curthread. So critical section is effectively mandatory there > now. Correct td_intr_nesting_level value is also important for proper > interrupt threads scheduling - one more reason to have critical section > there. It is indeed strange that td_intr_nesting_level in > intr_event_handle() is not covered by critical section, but probably it > should. I don't see why the interrupt frame logic requires bumping td_intr_nesting_level. I agree with bde@ that in general td_intr_nesting_level is useless (it is always 0 for most code and always 1 for filters and the ithread code that schedules an ithread). It does not need any protection for interrupts since the CPU has already disabled nesting interrupts. The critical_enter()'s sole purpose is to avoid a kind of priority inversion to ensure that the very high priority interrupt code (filters, etc.) is not preempted by an ithread. As far as the interrupt frame logic, the logic should have no need of td_intr_nesting_level. An interrupt should just save the current value of td_intr_frame before setting it and restore the saved value afterwards. No need for dealing with td_intr_nesting_level at all. -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 13:31:43 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9B5B8106564A; Tue, 19 Oct 2010 13:31:43 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 89C958FC0A; Tue, 19 Oct 2010 13:31:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JDVhfg016117; Tue, 19 Oct 2010 13:31:43 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JDVh2R016115; Tue, 19 Oct 2010 13:31:43 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <201010191331.o9JDVh2R016115@svn.freebsd.org> From: Rui Paulo Date: Tue, 19 Oct 2010 13:31:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214056 - head/sys/modules/wlan X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 13:31:43 -0000 Author: rpaulo Date: Tue Oct 19 13:31:43 2010 New Revision: 214056 URL: http://svn.freebsd.org/changeset/base/214056 Log: Revert r206418 Modified: head/sys/modules/wlan/Makefile Modified: head/sys/modules/wlan/Makefile ============================================================================== --- head/sys/modules/wlan/Makefile Tue Oct 19 13:06:26 2010 (r214055) +++ head/sys/modules/wlan/Makefile Tue Oct 19 13:31:43 2010 (r214056) @@ -3,13 +3,13 @@ .PATH: ${.CURDIR}/../../net80211 KMOD= wlan -SRCS= ieee80211.c ieee80211_action.c ieee80211_ageq.c ieee80211_amrr.c \ +SRCS= ieee80211.c ieee80211_action.c ieee80211_ageq.c \ ieee80211_crypto.c ieee80211_crypto_none.c ieee80211_dfs.c \ ieee80211_freebsd.c ieee80211_input.c ieee80211_ioctl.c \ ieee80211_mesh.c ieee80211_node.c ieee80211_output.c ieee80211_phy.c \ ieee80211_power.c ieee80211_proto.c ieee80211_scan.c \ ieee80211_scan_sta.c ieee80211_radiotap.c ieee80211_ratectl.c \ - ieee80211_regdomain.c ieee80211_rssadapt.c \ + ieee80211_regdomain.c \ ieee80211_ht.c ieee80211_hwmp.c ieee80211_adhoc.c ieee80211_hostap.c \ ieee80211_monitor.c ieee80211_sta.c ieee80211_wds.c ieee80211_ddb.c SRCS+= bus_if.h device_if.h opt_inet.h opt_inet6.h opt_ipx.h opt_wlan.h \ From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 13:37:25 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A53C01065679; Tue, 19 Oct 2010 13:37:25 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-bw0-f54.google.com (mail-bw0-f54.google.com [209.85.214.54]) by mx1.freebsd.org (Postfix) with ESMTP id 9AE278FC12; Tue, 19 Oct 2010 13:37:24 +0000 (UTC) Received: by bwz15 with SMTP id 15so228482bwz.13 for ; Tue, 19 Oct 2010 06:37:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :x-enigmail-version:content-type:content-transfer-encoding; bh=Y+A0uN4tQc7LYBs1Wm9MWmo9oKofIGsLaeWo3+xofsY=; b=H2kltqWN6Ooj93hp/udvrfgkgk39TlLTP6O3/zqNXoe0K3Q6lqs3HEFeiZxuW4nlts KajdA0NlEbmF5uFm/RByFCXN5OUFmvE3HbfgHicCgdUpbppAHOStK7GsGgI4pt0LC0ou rNvUxaxc7ioTAZDhQ5FWgYc6RohcAa7uUJOrs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=XzKGBEN0qro2p3UYc7Puw6sk/8E+RklOalwSmQ9rdGXIeg9SlQJG1UPHkmTa/tPxsV 9j3dxduWF186fNBc+WygDQ8wHHLYm5SwDdff9n3JUg096FqGhFa6XTnpFCSlr+M3In3/ XdduQFBQHUGFY9du8Txri6Ik5II1WVWgPlMIg= Received: by 10.204.42.4 with SMTP id q4mr2587542bke.47.1287495442996; Tue, 19 Oct 2010 06:37:22 -0700 (PDT) Received: from mavbook2.mavhome.dp.ua (pc.mavhome.dp.ua [212.86.226.226]) by mx.google.com with ESMTPS id g8sm13153303bkg.11.2010.10.19.06.37.19 (version=SSLv3 cipher=RC4-MD5); Tue, 19 Oct 2010 06:37:20 -0700 (PDT) Sender: Alexander Motin Message-ID: <4CBD9F0B.80701@FreeBSD.org> Date: Tue, 19 Oct 2010 16:37:15 +0300 From: Alexander Motin User-Agent: Thunderbird 2.0.0.23 (X11/20091212) MIME-Version: 1.0 To: John Baldwin References: <201010171646.o9HGks2U038501@svn.freebsd.org> <20101018213055.GP1416@alchemy.franken.de> <4CBCBF25.8010902@FreeBSD.org> <201010190836.37272.jhb@freebsd.org> In-Reply-To: <201010190836.37272.jhb@freebsd.org> X-Enigmail-Version: 0.96.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Marius Strobl Subject: Re: svn commit: r213985 - head/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 13:37:25 -0000 John Baldwin wrote: > On Monday, October 18, 2010 5:41:57 pm Alexander Motin wrote: >> Marius Strobl wrote: >>> On Mon, Oct 18, 2010 at 05:05:24PM -0400, John Baldwin wrote: >>>> On Monday, October 18, 2010 4:52:24 pm Marius Strobl wrote: >>>>> AFAICT this is not true; intr_event_handle() in sys/kern/kern_intr.c >>>>> is what enters a critical section and f.e. on amd64 I don't see where >>>>> anywhere in the path from ISR_VEC() to intr_execute_handlers() >>>>> calling intr_event_handle() a critical section would be entered, >>>>> which also means that in intr_execute_handlers() td_intr_nesting_level >>>>> is incremented outside of a critical section. >>>> Not all of the clock interrupts use intr_event_handle(). The local APIC >>>> timer uses its own interrupt entry point on x86 for example and uses an >>>> explicit critical section as a result. I suspect the sparc64 tick interrupt >>>> is closer to the local APIC timer case and doesn't use intr_event_handle(). >>> Correct; but still you can't say that the MD interrupt code enters a >>> critical section in general, neither is incrementing td_intr_nesting_level >>> in intr_execute_handlers() protected by a critical section. >>> >>>> The fact that some clock interrupts do use intr_event_handle() (e.g. the >>>> atrtc driver on x86 now) does indicate that the low-level interrupt code >>>> probably does not belong in the time events code but in the caller. >>> Well, I agree that entering a critical section in the time events >>> code would mean entering a nested critical section unnecessarily in >>> case the clock driver uses a regular "fast" interrupt handler and >>> that should be avoided. Still I don't think the event time front-end >>> actually should need to worry about wrapping the callback in a >>> critical section. >> Interrupt frame, required for hard-/stat-/profclock() operation is >> stored in curthread. So critical section is effectively mandatory there >> now. Correct td_intr_nesting_level value is also important for proper >> interrupt threads scheduling - one more reason to have critical section >> there. It is indeed strange that td_intr_nesting_level in >> intr_event_handle() is not covered by critical section, but probably it >> should. > > I don't see why the interrupt frame logic requires bumping > td_intr_nesting_level. It doesn't. It was two different sentences. I've just noticed that td_intr_nesting_level used by SCHED_ULE to bind interrupt threads on their CPUs. I agree that it may be not a very good idea, but it is what we have now. -- Alexander Motin From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 14:09:18 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4D9FD106566B; Tue, 19 Oct 2010 14:09:18 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 302D48FC14; Tue, 19 Oct 2010 14:09:17 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JE9HgV016980; Tue, 19 Oct 2010 14:09:17 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JE9HBI016977; Tue, 19 Oct 2010 14:09:17 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201010191409.o9JE9HBI016977@svn.freebsd.org> From: Sergey Kandaurov Date: Tue, 19 Oct 2010 14:09:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214057 - in stable/8/tools/tools/netrate: juggle tcpconnect X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 14:09:18 -0000 Author: pluknet Date: Tue Oct 19 14:09:17 2010 New Revision: 214057 URL: http://svn.freebsd.org/changeset/base/214057 Log: MFC r213574: - tcpconnect incorrectly uses err() in usage() with errx() semantics [1] - 64-bit aware fixes in printf() usage [2] o netrate/juggle: time_t has arch-dependent size o netrate/tcpconnect: don't assume %ll has always 64bit. PR: 146088 [1], 146086 [2] (modified) Approved by: kib (mentor) Modified: stable/8/tools/tools/netrate/juggle/juggle.c stable/8/tools/tools/netrate/tcpconnect/tcpconnect.c Directory Properties: stable/8/tools/tools/netrate/ (props changed) stable/8/tools/tools/netrate/tcpp/ (props changed) Modified: stable/8/tools/tools/netrate/juggle/juggle.c ============================================================================== --- stable/8/tools/tools/netrate/juggle/juggle.c Tue Oct 19 13:31:43 2010 (r214056) +++ stable/8/tools/tools/netrate/juggle/juggle.c Tue Oct 19 14:09:17 2010 (r214057) @@ -28,6 +28,7 @@ #include #include +#include #include #include #include @@ -557,7 +558,8 @@ main(int argc, char *argv[]) if (j != 0) printf(", "); scale_timespec(&juggle_results[j], p); - printf("%u.%09lu", juggle_results[j].tv_sec, + printf("%jd.%09lu", + (intmax_t)juggle_results[j].tv_sec, juggle_results[j].tv_nsec); } printf("\n"); @@ -567,7 +569,8 @@ main(int argc, char *argv[]) if (j != 0) printf(", "); scale_timespec(&process_results[j], p); - printf("%u.%09lu", process_results[j].tv_sec, + printf("%jd.%09lu", + (intmax_t)process_results[j].tv_sec, process_results[j].tv_nsec); } printf("\n"); @@ -577,7 +580,8 @@ main(int argc, char *argv[]) if (j != 0) printf(", "); scale_timespec(&thread_results[j], p); - printf("%u.%09lu", thread_results[j].tv_sec, + printf("%jd.%09lu", + (intmax_t)thread_results[j].tv_sec, thread_results[j].tv_nsec); } printf("\n"); Modified: stable/8/tools/tools/netrate/tcpconnect/tcpconnect.c ============================================================================== --- stable/8/tools/tools/netrate/tcpconnect/tcpconnect.c Tue Oct 19 13:31:43 2010 (r214056) +++ stable/8/tools/tools/netrate/tcpconnect/tcpconnect.c Tue Oct 19 14:09:17 2010 (r214057) @@ -31,6 +31,7 @@ #include #include #include +#include #include @@ -110,7 +111,7 @@ main(int argc, char *argv[]) u_int64_t counter; if (argc != 2) - err(-1, "usage: tcpconnect [ip]"); + errx(-1, "usage: tcpconnect [ip]"); bzero(&sin, sizeof(sin)); sin.sin_family = AF_INET; @@ -128,8 +129,8 @@ main(int argc, char *argv[]) if (try_connect(&sin) == 0) counter++; } - printf("%llu count\n", counter); - printf("%llu connections/second\n", counter / SECONDS); + printf("%ju count\n", (uintmax_t)counter); + printf("%ju connections/second\n", (uintmax_t)(counter / SECONDS)); return (0); } From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 14:11:51 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 09105106566B; Tue, 19 Oct 2010 14:11:51 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E05A98FC22; Tue, 19 Oct 2010 14:11:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JEBouL017082; Tue, 19 Oct 2010 14:11:50 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JEBo8N017079; Tue, 19 Oct 2010 14:11:50 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201010191411.o9JEBo8N017079@svn.freebsd.org> From: Sergey Kandaurov Date: Tue, 19 Oct 2010 14:11:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214058 - in stable/7/tools/tools/netrate: juggle tcpconnect X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 14:11:51 -0000 Author: pluknet Date: Tue Oct 19 14:11:50 2010 New Revision: 214058 URL: http://svn.freebsd.org/changeset/base/214058 Log: MFC r213574: - tcpconnect incorrectly uses err() in usage() with errx() semantics [1] - 64-bit aware fixes in printf() usage [2] o netrate/juggle: time_t has arch-dependent size o netrate/tcpconnect: don't assume %ll has always 64bit. PR: 146088 [1], 146086 [2] (modified) Approved by: kib (mentor) Modified: stable/7/tools/tools/netrate/juggle/juggle.c stable/7/tools/tools/netrate/tcpconnect/tcpconnect.c Directory Properties: stable/7/tools/tools/netrate/ (props changed) Modified: stable/7/tools/tools/netrate/juggle/juggle.c ============================================================================== --- stable/7/tools/tools/netrate/juggle/juggle.c Tue Oct 19 14:09:17 2010 (r214057) +++ stable/7/tools/tools/netrate/juggle/juggle.c Tue Oct 19 14:11:50 2010 (r214058) @@ -28,6 +28,7 @@ #include #include +#include #include #include #include @@ -557,7 +558,8 @@ main(int argc, char *argv[]) if (j != 0) printf(", "); scale_timespec(&juggle_results[j], p); - printf("%u.%09lu", juggle_results[j].tv_sec, + printf("%jd.%09lu", + (intmax_t)juggle_results[j].tv_sec, juggle_results[j].tv_nsec); } printf("\n"); @@ -567,7 +569,8 @@ main(int argc, char *argv[]) if (j != 0) printf(", "); scale_timespec(&process_results[j], p); - printf("%u.%09lu", process_results[j].tv_sec, + printf("%jd.%09lu", + (intmax_t)process_results[j].tv_sec, process_results[j].tv_nsec); } printf("\n"); @@ -577,7 +580,8 @@ main(int argc, char *argv[]) if (j != 0) printf(", "); scale_timespec(&thread_results[j], p); - printf("%u.%09lu", thread_results[j].tv_sec, + printf("%jd.%09lu", + (intmax_t)thread_results[j].tv_sec, thread_results[j].tv_nsec); } printf("\n"); Modified: stable/7/tools/tools/netrate/tcpconnect/tcpconnect.c ============================================================================== --- stable/7/tools/tools/netrate/tcpconnect/tcpconnect.c Tue Oct 19 14:09:17 2010 (r214057) +++ stable/7/tools/tools/netrate/tcpconnect/tcpconnect.c Tue Oct 19 14:11:50 2010 (r214058) @@ -31,6 +31,7 @@ #include #include #include +#include #include @@ -110,7 +111,7 @@ main(int argc, char *argv[]) u_int64_t counter; if (argc != 2) - err(-1, "usage: tcpconnect [ip]"); + errx(-1, "usage: tcpconnect [ip]"); bzero(&sin, sizeof(sin)); sin.sin_family = AF_INET; @@ -128,8 +129,8 @@ main(int argc, char *argv[]) if (try_connect(&sin) == 0) counter++; } - printf("%llu count\n", counter); - printf("%llu connections/second\n", counter / SECONDS); + printf("%ju count\n", (uintmax_t)counter); + printf("%ju connections/second\n", (uintmax_t)(counter / SECONDS)); return (0); } From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 14:12:31 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 920631065675; Tue, 19 Oct 2010 14:12:31 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 4EFA08FC18; Tue, 19 Oct 2010 14:12:31 +0000 (UTC) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id DA13746B86; Tue, 19 Oct 2010 10:12:30 -0400 (EDT) Received: from jhbbsd.localnet (smtp.hudson-trading.com [209.249.190.9]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id D7C9D8A009; Tue, 19 Oct 2010 10:12:29 -0400 (EDT) From: John Baldwin To: Alexander Motin Date: Tue, 19 Oct 2010 09:46:56 -0400 User-Agent: KMail/1.13.5 (FreeBSD/7.3-CBSD-20100819; KDE/4.4.5; amd64; ; ) References: <201010171646.o9HGks2U038501@svn.freebsd.org> <201010190836.37272.jhb@freebsd.org> <4CBD9F0B.80701@FreeBSD.org> In-Reply-To: <4CBD9F0B.80701@FreeBSD.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201010190946.56535.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6 (bigwig.baldwin.cx); Tue, 19 Oct 2010 10:12:29 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.96.3 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-1.9 required=4.2 tests=BAYES_00 autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on bigwig.baldwin.cx Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Marius Strobl Subject: Re: svn commit: r213985 - head/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 14:12:31 -0000 On Tuesday, October 19, 2010 9:37:15 am Alexander Motin wrote: > John Baldwin wrote: > > On Monday, October 18, 2010 5:41:57 pm Alexander Motin wrote: > >> Marius Strobl wrote: > >>> On Mon, Oct 18, 2010 at 05:05:24PM -0400, John Baldwin wrote: > >>>> On Monday, October 18, 2010 4:52:24 pm Marius Strobl wrote: > >>>>> AFAICT this is not true; intr_event_handle() in sys/kern/kern_intr.c > >>>>> is what enters a critical section and f.e. on amd64 I don't see where > >>>>> anywhere in the path from ISR_VEC() to intr_execute_handlers() > >>>>> calling intr_event_handle() a critical section would be entered, > >>>>> which also means that in intr_execute_handlers() td_intr_nesting_level > >>>>> is incremented outside of a critical section. > >>>> Not all of the clock interrupts use intr_event_handle(). The local APIC > >>>> timer uses its own interrupt entry point on x86 for example and uses an > >>>> explicit critical section as a result. I suspect the sparc64 tick interrupt > >>>> is closer to the local APIC timer case and doesn't use intr_event_handle(). > >>> Correct; but still you can't say that the MD interrupt code enters a > >>> critical section in general, neither is incrementing td_intr_nesting_level > >>> in intr_execute_handlers() protected by a critical section. > >>> > >>>> The fact that some clock interrupts do use intr_event_handle() (e.g. the > >>>> atrtc driver on x86 now) does indicate that the low-level interrupt code > >>>> probably does not belong in the time events code but in the caller. > >>> Well, I agree that entering a critical section in the time events > >>> code would mean entering a nested critical section unnecessarily in > >>> case the clock driver uses a regular "fast" interrupt handler and > >>> that should be avoided. Still I don't think the event time front-end > >>> actually should need to worry about wrapping the callback in a > >>> critical section. > >> Interrupt frame, required for hard-/stat-/profclock() operation is > >> stored in curthread. So critical section is effectively mandatory there > >> now. Correct td_intr_nesting_level value is also important for proper > >> interrupt threads scheduling - one more reason to have critical section > >> there. It is indeed strange that td_intr_nesting_level in > >> intr_event_handle() is not covered by critical section, but probably it > >> should. > > > > I don't see why the interrupt frame logic requires bumping > > td_intr_nesting_level. > > It doesn't. It was two different sentences. I've just noticed that > td_intr_nesting_level used by SCHED_ULE to bind interrupt threads on > their CPUs. I agree that it may be not a very good idea, but it is what > we have now. FWIW, my new interrupt thread code makes that binding explicit in the interrupt code and not in the scheduler. -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 15:12:17 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 41622106564A; Tue, 19 Oct 2010 15:12:17 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2F57D8FC17; Tue, 19 Oct 2010 15:12:17 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JFCHCa018662; Tue, 19 Oct 2010 15:12:17 GMT (envelope-from emaste@svn.freebsd.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JFCHR4018660; Tue, 19 Oct 2010 15:12:17 GMT (envelope-from emaste@svn.freebsd.org) Message-Id: <201010191512.o9JFCHR4018660@svn.freebsd.org> From: Ed Maste Date: Tue, 19 Oct 2010 15:12:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214059 - head/usr.sbin/pc-sysinstall/backend-query X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 15:12:17 -0000 Author: emaste Date: Tue Oct 19 15:12:16 2010 New Revision: 214059 URL: http://svn.freebsd.org/changeset/base/214059 Log: Minor cleanup, including sysctl -n instead of sed to remove the sysctl name. Reviewed by: imp Modified: head/usr.sbin/pc-sysinstall/backend-query/sys-mem.sh Modified: head/usr.sbin/pc-sysinstall/backend-query/sys-mem.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend-query/sys-mem.sh Tue Oct 19 14:11:50 2010 (r214058) +++ head/usr.sbin/pc-sysinstall/backend-query/sys-mem.sh Tue Oct 19 15:12:16 2010 (r214059) @@ -25,7 +25,4 @@ # # $FreeBSD$ -MEM=`sysctl hw.realmem | sed "s|hw.realmem: ||g"` -MEM=`expr $MEM / 1024` -MEM=`expr $MEM / 1024` -echo $MEM +expr $(sysctl -n hw.realmem) / 1048576 From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 15:18:40 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AA975106564A; Tue, 19 Oct 2010 15:18:40 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 989068FC12; Tue, 19 Oct 2010 15:18:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JFIeu9018818; Tue, 19 Oct 2010 15:18:40 GMT (envelope-from emaste@svn.freebsd.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JFIeAh018816; Tue, 19 Oct 2010 15:18:40 GMT (envelope-from emaste@svn.freebsd.org) Message-Id: <201010191518.o9JFIeAh018816@svn.freebsd.org> From: Ed Maste Date: Tue, 19 Oct 2010 15:18:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214060 - head/usr.sbin/pc-sysinstall/backend-query X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 15:18:40 -0000 Author: emaste Date: Tue Oct 19 15:18:40 2010 New Revision: 214060 URL: http://svn.freebsd.org/changeset/base/214060 Log: Simplify and significantly speed up the timezone listing backend script. Reviewed by: imp Modified: head/usr.sbin/pc-sysinstall/backend-query/list-tzones.sh Modified: head/usr.sbin/pc-sysinstall/backend-query/list-tzones.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend-query/list-tzones.sh Tue Oct 19 15:12:16 2010 (r214059) +++ head/usr.sbin/pc-sysinstall/backend-query/list-tzones.sh Tue Oct 19 15:18:40 2010 (r214060) @@ -25,19 +25,10 @@ # # $FreeBSD$ -rm ${TMPDIR}/.tzonetmp >/dev/null 2>/dev/null - # Backend script which lists all the available timezones for front-ends to display -while read line -do - echo "$line" | grep "^#" >/dev/null 2>/dev/null - if [ "$?" != "0" ] - then - echo "$line" | tr -s "\t" ":" | cut -d ":" -f 3-4 >>${TMPDIR}/.tzonetmp - fi -done < /usr/share/zoneinfo/zone.tab - -sort ${TMPDIR}/.tzonetmp -rm -f ${TMPDIR}/.tzonetmp >/dev/null 2>/dev/null +egrep -v '^#' /usr/share/zoneinfo/zone.tab |\ + tr -s "\t" ":" |\ + cut -d ":" -f 3-4 |\ + sort exit 0 From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 15:26:08 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6CF33106564A; Tue, 19 Oct 2010 15:26:08 +0000 (UTC) (envelope-from uqs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5B7368FC1F; Tue, 19 Oct 2010 15:26:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JFQ8E6019027; Tue, 19 Oct 2010 15:26:08 GMT (envelope-from uqs@svn.freebsd.org) Received: (from uqs@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JFQ8Ua019025; Tue, 19 Oct 2010 15:26:08 GMT (envelope-from uqs@svn.freebsd.org) Message-Id: <201010191526.o9JFQ8Ua019025@svn.freebsd.org> From: Ulrich Spoerlein Date: Tue, 19 Oct 2010 15:26:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214061 - head/share/man/man9 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 15:26:08 -0000 Author: uqs Date: Tue Oct 19 15:26:08 2010 New Revision: 214061 URL: http://svn.freebsd.org/changeset/base/214061 Log: mdoc: fix markup typo MFC after: 1 week (together with r213983) Modified: head/share/man/man9/vrele.9 Modified: head/share/man/man9/vrele.9 ============================================================================== --- head/share/man/man9/vrele.9 Tue Oct 19 15:18:40 2010 (r214060) +++ head/share/man/man9/vrele.9 Tue Oct 19 15:26:08 2010 (r214061) @@ -59,7 +59,7 @@ The .Fn vrele function takes an unlocked vnode and returns with the vnode unlocked. .Pp -.The +The .Fn vput function should be given a locked vnode as argument, the vnode is unlocked after the function returned. From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 16:06:01 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 092DA106564A; Tue, 19 Oct 2010 16:06:01 +0000 (UTC) (envelope-from mdf@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EB7AB8FC19; Tue, 19 Oct 2010 16:06:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JG604p019822; Tue, 19 Oct 2010 16:06:00 GMT (envelope-from mdf@svn.freebsd.org) Received: (from mdf@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JG60DC019819; Tue, 19 Oct 2010 16:06:00 GMT (envelope-from mdf@svn.freebsd.org) Message-Id: <201010191606.o9JG60DC019819@svn.freebsd.org> From: Matthew D Fleming Date: Tue, 19 Oct 2010 16:06:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214062 - in head: share/man/man9 sys/vm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 16:06:01 -0000 Author: mdf Date: Tue Oct 19 16:06:00 2010 New Revision: 214062 URL: http://svn.freebsd.org/changeset/base/214062 Log: uma_zfree(zone, NULL) should do nothing, to match free(9). Noticed by: Ron Steinke MFC after: 3 days Modified: head/share/man/man9/zone.9 head/sys/vm/uma_core.c Modified: head/share/man/man9/zone.9 ============================================================================== --- head/share/man/man9/zone.9 Tue Oct 19 15:26:08 2010 (r214061) +++ head/share/man/man9/zone.9 Tue Oct 19 16:06:00 2010 (r214062) @@ -153,6 +153,13 @@ Items are released back to the zone from calling .Fn uma_zfree with a pointer to the zone and a pointer to the item. +If +.Fa item +is +.Dv NULL , +then +.Fn uma_zfree +does nothing. .Pp The variations .Fn uma_zalloc_arg Modified: head/sys/vm/uma_core.c ============================================================================== --- head/sys/vm/uma_core.c Tue Oct 19 15:26:08 2010 (r214061) +++ head/sys/vm/uma_core.c Tue Oct 19 16:06:00 2010 (r214062) @@ -2517,6 +2517,10 @@ uma_zfree_arg(uma_zone_t zone, void *ite CTR2(KTR_UMA, "uma_zfree_arg thread %x zone %s", curthread, zone->uz_name); + /* uma_zfree(..., NULL) does nothing, to match free(9). */ + if (item == NULL) + return; + if (zone->uz_dtor) zone->uz_dtor(item, zone->uz_size, udata); From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 16:48:50 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 32BB9106566C; Tue, 19 Oct 2010 16:48:50 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 216958FC13; Tue, 19 Oct 2010 16:48:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JGmobA020737; Tue, 19 Oct 2010 16:48:50 GMT (envelope-from jh@svn.freebsd.org) Received: (from jh@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JGmoUZ020735; Tue, 19 Oct 2010 16:48:50 GMT (envelope-from jh@svn.freebsd.org) Message-Id: <201010191648.o9JGmoUZ020735@svn.freebsd.org> From: Jaakko Heinonen Date: Tue, 19 Oct 2010 16:48:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214063 - head/sys/geom X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 16:48:50 -0000 Author: jh Date: Tue Oct 19 16:48:49 2010 New Revision: 214063 URL: http://svn.freebsd.org/changeset/base/214063 Log: Use make_dev_p(9) with the MAKEDEV_CHECKNAME flag instead of make_dev(9) and print a diagnostic if the call fails. This avoids a panic when a device with an invalid name is attempted to be registered. For example the label class gets device names from untrusted input. Reviewed by: freebsd-geom Modified: head/sys/geom/geom_dev.c Modified: head/sys/geom/geom_dev.c ============================================================================== --- head/sys/geom/geom_dev.c Tue Oct 19 16:06:00 2010 (r214062) +++ head/sys/geom/geom_dev.c Tue Oct 19 16:48:49 2010 (r214063) @@ -126,8 +126,16 @@ g_dev_taste(struct g_class *mp, struct g error = g_attach(cp, pp); KASSERT(error == 0, ("g_dev_taste(%s) failed to g_attach, err=%d", pp->name, error)); - dev = make_dev(&g_dev_cdevsw, 0, - UID_ROOT, GID_OPERATOR, 0640, "%s", gp->name); + error = make_dev_p(MAKEDEV_CHECKNAME | MAKEDEV_WAITOK, &dev, + &g_dev_cdevsw, NULL, UID_ROOT, GID_OPERATOR, 0640, "%s", gp->name); + if (error != 0) { + printf("%s: make_dev_p() failed (gp->name=%s, error=%d)\n", + __func__, gp->name, error); + g_detach(cp); + g_destroy_consumer(cp); + g_destroy_geom(gp); + return (NULL); + } if (pp->flags & G_PF_CANDELETE) dev->si_flags |= SI_CANDELETE; dev->si_iosize_max = MAXPHYS; From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 17:05:51 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C150F106566C; Tue, 19 Oct 2010 17:05:51 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AED0A8FC0A; Tue, 19 Oct 2010 17:05:51 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JH5ppD021163; Tue, 19 Oct 2010 17:05:51 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JH5pdS021161; Tue, 19 Oct 2010 17:05:51 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201010191705.o9JH5pdS021161@svn.freebsd.org> From: Jung-uk Kim Date: Tue, 19 Oct 2010 17:05:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214064 - head/sys/dev/pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 17:05:51 -0000 Author: jkim Date: Tue Oct 19 17:05:51 2010 New Revision: 214064 URL: http://svn.freebsd.org/changeset/base/214064 Log: Do not apply do_power_resume for suspending case. When do_powerstate was splitted into do_power_resume and do_power_nodriver, it became stale. Modified: head/sys/dev/pci/pci.c Modified: head/sys/dev/pci/pci.c ============================================================================== --- head/sys/dev/pci/pci.c Tue Oct 19 16:48:49 2010 (r214063) +++ head/sys/dev/pci/pci.c Tue Oct 19 17:05:51 2010 (r214064) @@ -2911,9 +2911,6 @@ pci_set_power_children(device_t dev, dev struct pci_devinfo *dinfo; int dstate, i; - if (!pci_do_power_resume) - return; - /* * Set the device to the given state. If the firmware suggests * a different power state, use it instead. If power management @@ -2976,7 +2973,9 @@ pci_resume(device_t dev) */ if ((error = device_get_children(dev, &devlist, &numdevs)) != 0) return (error); - pci_set_power_children(dev, devlist, numdevs, PCI_POWERSTATE_D0); + if (pci_do_power_resume) + pci_set_power_children(dev, devlist, numdevs, + PCI_POWERSTATE_D0); /* Now the device is powered up, restore its config space. */ for (i = 0; i < numdevs; i++) { From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 17:15:22 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 624E61065693; Tue, 19 Oct 2010 17:15:22 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 511178FC28; Tue, 19 Oct 2010 17:15:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JHFMi8021420; Tue, 19 Oct 2010 17:15:22 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JHFMYV021418; Tue, 19 Oct 2010 17:15:22 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201010191715.o9JHFMYV021418@svn.freebsd.org> From: Jung-uk Kim Date: Tue, 19 Oct 2010 17:15:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214065 - head/sys/dev/pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 17:15:22 -0000 Author: jkim Date: Tue Oct 19 17:15:22 2010 New Revision: 214065 URL: http://svn.freebsd.org/changeset/base/214065 Log: Remove PCI header type 0 restriction from power state changes. PCI config. registers for bridges are saved and restored since r200341. OK'ed by: imp, jhb Modified: head/sys/dev/pci/pci.c Modified: head/sys/dev/pci/pci.c ============================================================================== --- head/sys/dev/pci/pci.c Tue Oct 19 17:05:51 2010 (r214064) +++ head/sys/dev/pci/pci.c Tue Oct 19 17:15:22 2010 (r214065) @@ -2916,7 +2916,7 @@ pci_set_power_children(device_t dev, dev * a different power state, use it instead. If power management * is not present, the firmware is responsible for managing * device power. Skip children who aren't attached since they - * are handled separately. Only manage type 0 devices for now. + * are handled separately. */ pcib = device_get_parent(dev); for (i = 0; i < numdevs; i++) { @@ -2924,8 +2924,6 @@ pci_set_power_children(device_t dev, dev dinfo = device_get_ivars(child); dstate = state; if (device_is_attached(child) && - (dinfo->cfg.hdrtype & PCIM_HDRTYPE) == - PCIM_HDRTYPE_NORMAL && PCIB_POWER_FOR_SLEEP(pcib, dev, &dstate) == 0) pci_set_powerstate(child, dstate); } From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 17:49:55 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E92B0106564A; Tue, 19 Oct 2010 17:49:55 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D7D9D8FC19; Tue, 19 Oct 2010 17:49:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JHntM2022205; Tue, 19 Oct 2010 17:49:55 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JHntjH022203; Tue, 19 Oct 2010 17:49:55 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201010191749.o9JHntjH022203@svn.freebsd.org> From: Xin LI Date: Tue, 19 Oct 2010 17:49:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214066 - head/share/man/man4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 17:49:56 -0000 Author: delphij Date: Tue Oct 19 17:49:55 2010 New Revision: 214066 URL: http://svn.freebsd.org/changeset/base/214066 Log: Clarify that lagg(4) sends/receives on active port, not the master port. Note that this still seems to be a little bit confusing as the concept of "master" is different from what people would expect on a networking equipment. Modified: head/share/man/man4/lagg.4 Modified: head/share/man/man4/lagg.4 ============================================================================== --- head/share/man/man4/lagg.4 Tue Oct 19 17:15:22 2010 (r214065) +++ head/share/man/man4/lagg.4 Tue Oct 19 17:49:55 2010 (r214066) @@ -16,7 +16,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 8, 2010 +.Dd October 18, 2010 .Dt LAGG 4 .Os .Sh NAME @@ -73,14 +73,14 @@ The interface link state is used to vali not. .Bl -tag -width loadbalance .It Ic failover -Sends traffic only through the master port. +Sends traffic only through the active port. If the master port becomes unavailable, the next active port is used. The first interface added is the master port; any interfaces added after that are used as failover devices. .Pp By default, received traffic is only accepted when they are received -through the master port. +through the active port. This constraint can be relaxed by setting the .Va net.link.lagg.failover_rx_all .Xr sysctl 8 From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 18:32:01 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 984F0106566B; Tue, 19 Oct 2010 18:32:01 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 872DF8FC13; Tue, 19 Oct 2010 18:32:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JIW1lw023312; Tue, 19 Oct 2010 18:32:01 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JIW121023310; Tue, 19 Oct 2010 18:32:01 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201010191832.o9JIW121023310@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Tue, 19 Oct 2010 18:32:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214067 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 18:32:01 -0000 Author: ae Date: Tue Oct 19 18:32:01 2010 New Revision: 214067 URL: http://svn.freebsd.org/changeset/base/214067 Log: ZFS pool name is not a real device in devfs. Do not wait for device appear when mounting root from ZFS. Reviewed by: marcel Approved by: mav (mentor) Modified: head/sys/kern/vfs_mountroot.c Modified: head/sys/kern/vfs_mountroot.c ============================================================================== --- head/sys/kern/vfs_mountroot.c Tue Oct 19 17:49:55 2010 (r214066) +++ head/sys/kern/vfs_mountroot.c Tue Oct 19 18:32:01 2010 (r214067) @@ -713,7 +713,8 @@ parse_mount(char **conf) goto out; } - if (dev[0] != '\0' && !parse_mount_dev_present(dev)) { + if (strcmp(fs, "zfs") != 0 && dev[0] != '\0' && + !parse_mount_dev_present(dev)) { printf("mountroot: waiting for device %s ...\n", dev); delay = hz / 10; timeout = root_mount_timeout * hz; From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 18:43:11 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5B531106564A; Tue, 19 Oct 2010 18:43:11 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4A1AB8FC16; Tue, 19 Oct 2010 18:43:11 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JIhBPY023573; Tue, 19 Oct 2010 18:43:11 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JIhBwK023571; Tue, 19 Oct 2010 18:43:11 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201010191843.o9JIhBwK023571@svn.freebsd.org> From: Jung-uk Kim Date: Tue, 19 Oct 2010 18:43:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214068 - head/sys/dev/acpica X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 18:43:11 -0000 Author: jkim Date: Tue Oct 19 18:43:11 2010 New Revision: 214068 URL: http://svn.freebsd.org/changeset/base/214068 Log: Make any PCI devices enumerated in ACPI tree honor do_power_resume as well. Modified: head/sys/dev/acpica/acpi_pci.c Modified: head/sys/dev/acpica/acpi_pci.c ============================================================================== --- head/sys/dev/acpica/acpi_pci.c Tue Oct 19 18:32:01 2010 (r214067) +++ head/sys/dev/acpica/acpi_pci.c Tue Oct 19 18:43:11 2010 (r214068) @@ -190,7 +190,7 @@ acpi_pci_set_powerstate_method(device_t device_printf(dev, "Failed to set ACPI power state D%d on %s: %s\n", state, acpi_name(h), AcpiFormatException(status)); - if (old_state > state) + if (old_state > state && pci_do_power_resume) error = pci_set_powerstate_method(dev, child, state); out: From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 18:49:26 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A1BB5106566B; Tue, 19 Oct 2010 18:49:26 +0000 (UTC) (envelope-from bschmidt@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8EDE98FC1B; Tue, 19 Oct 2010 18:49:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JInQAH023737; Tue, 19 Oct 2010 18:49:26 GMT (envelope-from bschmidt@svn.freebsd.org) Received: (from bschmidt@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JInQwX023731; Tue, 19 Oct 2010 18:49:26 GMT (envelope-from bschmidt@svn.freebsd.org) Message-Id: <201010191849.o9JInQwX023731@svn.freebsd.org> From: Bernhard Schmidt Date: Tue, 19 Oct 2010 18:49:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214069 - in head/sys: conf modules/wlan net80211 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 18:49:26 -0000 Author: bschmidt Date: Tue Oct 19 18:49:26 2010 New Revision: 214069 URL: http://svn.freebsd.org/changeset/base/214069 Log: Fix an undefined behaviour if the desired ratectl algo is not available. This can happen if the algos are built as modules but are not loaded. If the selected ratectl algo is not available, try to load it (The load module functions does nothing currently). Add a dummy ratectl algo which always selects the first available rate. Use that one if the desired algo is not available. MFC after: 1 week Added: head/sys/net80211/ieee80211_ratectl_none.c (contents, props changed) Modified: head/sys/conf/files head/sys/modules/wlan/Makefile head/sys/net80211/ieee80211_ratectl.c head/sys/net80211/ieee80211_ratectl.h Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Tue Oct 19 18:43:11 2010 (r214068) +++ head/sys/conf/files Tue Oct 19 18:49:26 2010 (r214069) @@ -2453,6 +2453,7 @@ net80211/ieee80211_power.c optional wlan net80211/ieee80211_proto.c optional wlan net80211/ieee80211_radiotap.c optional wlan net80211/ieee80211_ratectl.c optional wlan +net80211/ieee80211_ratectl_none.c optional wlan net80211/ieee80211_regdomain.c optional wlan net80211/ieee80211_rssadapt.c optional wlan wlan_rssadapt net80211/ieee80211_scan.c optional wlan Modified: head/sys/modules/wlan/Makefile ============================================================================== --- head/sys/modules/wlan/Makefile Tue Oct 19 18:43:11 2010 (r214068) +++ head/sys/modules/wlan/Makefile Tue Oct 19 18:49:26 2010 (r214069) @@ -9,7 +9,7 @@ SRCS= ieee80211.c ieee80211_action.c iee ieee80211_mesh.c ieee80211_node.c ieee80211_output.c ieee80211_phy.c \ ieee80211_power.c ieee80211_proto.c ieee80211_scan.c \ ieee80211_scan_sta.c ieee80211_radiotap.c ieee80211_ratectl.c \ - ieee80211_regdomain.c \ + ieee80211_ratectl_none.c ieee80211_regdomain.c \ ieee80211_ht.c ieee80211_hwmp.c ieee80211_adhoc.c ieee80211_hostap.c \ ieee80211_monitor.c ieee80211_sta.c ieee80211_wds.c ieee80211_ddb.c SRCS+= bus_if.h device_if.h opt_inet.h opt_inet6.h opt_ipx.h opt_wlan.h \ Modified: head/sys/net80211/ieee80211_ratectl.c ============================================================================== --- head/sys/net80211/ieee80211_ratectl.c Tue Oct 19 18:43:11 2010 (r214068) +++ head/sys/net80211/ieee80211_ratectl.c Tue Oct 19 18:49:26 2010 (r214069) @@ -39,6 +39,14 @@ __FBSDID("$FreeBSD$"); static const struct ieee80211_ratectl *ratectls[IEEE80211_RATECTL_MAX]; +static const char *ratectl_modnames[IEEE80211_RATECTL_MAX] = { + [IEEE80211_RATECTL_AMRR] = "wlan_amrr", + [IEEE80211_RATECTL_RSSADAPT] = "wlan_rssadapt", + [IEEE80211_RATECTL_ONOE] = "wlan_onoe", + [IEEE80211_RATECTL_SAMPLE] = "wlan_sample", + [IEEE80211_RATECTL_NONE] = "wlan_none", +}; + MALLOC_DEFINE(M_80211_RATECTL, "80211ratectl", "802.11 rate control"); void @@ -62,5 +70,15 @@ ieee80211_ratectl_set(struct ieee80211va { if (type >= IEEE80211_RATECTL_MAX) return; + if (ratectls[type] == NULL) { + ieee80211_load_module(ratectl_modnames[type]); + if (ratectls[type] == NULL) { + IEEE80211_DPRINTF(vap, IEEE80211_MSG_RATECTL, + "%s: unable to load algo %u, module %s\n", + __func__, type, ratectl_modnames[type]); + vap->iv_rate = ratectls[IEEE80211_RATECTL_NONE]; + return; + } + } vap->iv_rate = ratectls[type]; } Modified: head/sys/net80211/ieee80211_ratectl.h ============================================================================== --- head/sys/net80211/ieee80211_ratectl.h Tue Oct 19 18:43:11 2010 (r214068) +++ head/sys/net80211/ieee80211_ratectl.h Tue Oct 19 18:49:26 2010 (r214069) @@ -26,10 +26,11 @@ */ enum ieee80211_ratealgs { - IEEE80211_RATECTL_AMRR = 0, + IEEE80211_RATECTL_AMRR = 0, IEEE80211_RATECTL_RSSADAPT = 1, IEEE80211_RATECTL_ONOE = 2, IEEE80211_RATECTL_SAMPLE = 3, + IEEE80211_RATECTL_NONE = 4, IEEE80211_RATECTL_MAX }; Added: head/sys/net80211/ieee80211_ratectl_none.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/net80211/ieee80211_ratectl_none.c Tue Oct 19 18:49:26 2010 (r214069) @@ -0,0 +1,113 @@ +/*- + * Copyright (c) 2010 Bernhard Schmidt + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include "opt_wlan.h" + +#include +#include +#include +#include +#include + +#include +#include + +#ifdef INET +#include +#include +#endif + +#include +#include + +static void +none_init(struct ieee80211vap *vap) +{ +} + +static void +none_deinit(struct ieee80211vap *vap) +{ + free(vap->iv_rs, M_80211_RATECTL); +} + +static void +none_node_init(struct ieee80211_node *ni) +{ +} + +static void +none_node_deinit(struct ieee80211_node *ni) +{ +} + +static int +none_rate(struct ieee80211_node *ni, void *arg __unused, uint32_t iarg __unused) +{ + int rix = 0; + + ni->ni_txrate = ni->ni_rates.rs_rates[rix] & IEEE80211_RATE_VAL; + return rix; +} + +static void +none_tx_complete(const struct ieee80211vap *vap, + const struct ieee80211_node *ni, int ok, + void *arg1, void *arg2 __unused) +{ +} + +static void +none_tx_update(const struct ieee80211vap *vap, const struct ieee80211_node *ni, + void *arg1, void *arg2, void *arg3) +{ +} + +static void +none_setinterval(const struct ieee80211vap *vap, int msecs) +{ +} + +/* number of references from net80211 layer */ +static int nrefs = 0; + +static const struct ieee80211_ratectl none = { + .ir_name = "none", + .ir_attach = NULL, + .ir_detach = NULL, + .ir_init = none_init, + .ir_deinit = none_deinit, + .ir_node_init = none_node_init, + .ir_node_deinit = none_node_deinit, + .ir_rate = none_rate, + .ir_tx_complete = none_tx_complete, + .ir_tx_update = none_tx_update, + .ir_setinterval = none_setinterval, +}; +IEEE80211_RATECTL_MODULE(ratectl_none, 1); +IEEE80211_RATECTL_ALG(none, IEEE80211_RATECTL_NONE, none); From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 19:11:36 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CFA79106566B; Tue, 19 Oct 2010 19:11:36 +0000 (UTC) (envelope-from bschmidt@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BE7E58FC18; Tue, 19 Oct 2010 19:11:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JJBabV024212; Tue, 19 Oct 2010 19:11:36 GMT (envelope-from bschmidt@svn.freebsd.org) Received: (from bschmidt@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JJBaQe024210; Tue, 19 Oct 2010 19:11:36 GMT (envelope-from bschmidt@svn.freebsd.org) Message-Id: <201010191911.o9JJBaQe024210@svn.freebsd.org> From: Bernhard Schmidt Date: Tue, 19 Oct 2010 19:11:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214070 - head/sys/dev/if_ndis X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 19:11:36 -0000 Author: bschmidt Date: Tue Oct 19 19:11:36 2010 New Revision: 214070 URL: http://svn.freebsd.org/changeset/base/214070 Log: There is no reason to call rt_ifmsg(), remove it. Submitted by: Paul B Mahol MFC after: 1 week Modified: head/sys/dev/if_ndis/if_ndis.c Modified: head/sys/dev/if_ndis/if_ndis.c ============================================================================== --- head/sys/dev/if_ndis/if_ndis.c Tue Oct 19 18:49:26 2010 (r214069) +++ head/sys/dev/if_ndis/if_ndis.c Tue Oct 19 19:11:36 2010 (r214070) @@ -1644,10 +1644,6 @@ ndis_linksts_done(adapter) default: break; } - - /* Notify possible listners of interface change. */ - - rt_ifmsg(ifp); } static void From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 19:44:06 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 058FD1065679; Tue, 19 Oct 2010 19:44:06 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E74BB8FC1F; Tue, 19 Oct 2010 19:44:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JJi56u024973; Tue, 19 Oct 2010 19:44:05 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JJi5jM024969; Tue, 19 Oct 2010 19:44:05 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201010191944.o9JJi5jM024969@svn.freebsd.org> From: Marius Strobl Date: Tue, 19 Oct 2010 19:44:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214071 - in head/sys/sparc64: include sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 19:44:06 -0000 Author: marius Date: Tue Oct 19 19:44:05 2010 New Revision: 214071 URL: http://svn.freebsd.org/changeset/base/214071 Log: - Wrap exchanging td_intr_frame and calling the event timer callback in a critical section as apparently required by both. I don't think either belongs in the event timer front-ends but the callback should handle this as necessary instead just like for example intr_event_handle() does but this is how the other architectures currently handle it, either explicitly or implicitly. - Further rename and reword references to hardclock as this front-end no longer has a notion of actually calling it. Modified: head/sys/sparc64/include/tick.h head/sys/sparc64/sparc64/mp_machdep.c head/sys/sparc64/sparc64/tick.c Modified: head/sys/sparc64/include/tick.h ============================================================================== --- head/sys/sparc64/include/tick.h Tue Oct 19 19:11:36 2010 (r214070) +++ head/sys/sparc64/include/tick.h Tue Oct 19 19:44:05 2010 (r214071) @@ -29,7 +29,7 @@ #ifndef _MACHINE_TICK_H_ #define _MACHINE_TICK_H_ -extern u_int hardclock_use_stick; +extern u_int tick_et_use_stick; void tick_clear(u_int cpu_impl); void tick_stop(u_int cpu_impl); Modified: head/sys/sparc64/sparc64/mp_machdep.c ============================================================================== --- head/sys/sparc64/sparc64/mp_machdep.c Tue Oct 19 19:11:36 2010 (r214070) +++ head/sys/sparc64/sparc64/mp_machdep.c Tue Oct 19 19:44:05 2010 (r214071) @@ -318,7 +318,7 @@ ap_start(phandle_t node, u_int mid, u_in if (OF_getprop(node, "clock-frequency", &clock, sizeof(clock)) <= 0) panic("%s: couldn't determine CPU frequency", __func__); if (clock != PCPU_GET(clock)) - hardclock_use_stick = 1; + tick_et_use_stick = 1; csa = &cpu_start_args; csa->csa_state = 0; Modified: head/sys/sparc64/sparc64/tick.c ============================================================================== --- head/sys/sparc64/sparc64/tick.c Tue Oct 19 19:11:36 2010 (r214070) +++ head/sys/sparc64/sparc64/tick.c Tue Oct 19 19:44:05 2010 (r214071) @@ -74,9 +74,9 @@ static int adjust_ticks = 0; SYSCTL_INT(_machdep_tick, OID_AUTO, adjust_ticks, CTLFLAG_RD, &adjust_ticks, 0, "total number of tick interrupts with adjustment"); -u_int hardclock_use_stick = 0; -SYSCTL_INT(_machdep_tick, OID_AUTO, hardclock_use_stick, CTLFLAG_RD, - &hardclock_use_stick, 0, "hardclock uses STICK instead of TICK timer"); +u_int tick_et_use_stick = 0; +SYSCTL_INT(_machdep_tick, OID_AUTO, tick_et_use_stick, CTLFLAG_RD, + &tick_et_use_stick, 0, "tick event timer uses STICK instead of TICK"); static struct timecounter stick_tc; static struct timecounter tick_tc; @@ -96,9 +96,9 @@ static int tick_et_start(struct eventtim static int tick_et_stop(struct eventtimer *et); static void tick_intr(struct trapframe *tf); static void tick_intr_bbwar(struct trapframe *tf); -static inline void tick_hardclock_periodic(struct trapframe *tf, u_long tick, - u_long tick_increment, u_long adj); static inline void tick_process(struct trapframe *tf); +static inline void tick_process_periodic(struct trapframe *tf, u_long tick, + u_long tick_increment, u_long adj); static void stick_intr(struct trapframe *tf); static uint64_t @@ -127,7 +127,7 @@ cpu_initclocks(void) * Given that the STICK timers typically are driven at rather low * frequencies they shouldn't be used except when really necessary. */ - if (hardclock_use_stick != 0) { + if (tick_et_use_stick != 0) { intr_setup(PIL_TICK, stick_intr, -1, NULL, NULL); /* * We don't provide a CPU ticker as long as the frequency @@ -180,11 +180,11 @@ cpu_initclocks(void) #endif tc_init(&stick_tc); } - tick_et.et_name = hardclock_use_stick ? "stick" : "tick"; + tick_et.et_name = tick_et_use_stick ? "stick" : "tick"; tick_et.et_flags = ET_FLAGS_PERIODIC | ET_FLAGS_ONESHOT | ET_FLAGS_PERCPU; tick_et.et_quality = 1000; - tick_et.et_frequency = hardclock_use_stick ? sclock : clock; + tick_et.et_frequency = tick_et_use_stick ? sclock : clock; tick_et.et_min_period.sec = 0; tick_et.et_min_period.frac = 0x00010000LLU << 32; /* To be safe. */ tick_et.et_max_period.sec = 3600 * 24; /* No practical limit. */ @@ -203,6 +203,7 @@ tick_process(struct trapframe *tf) struct trapframe *oldframe; struct thread *td; + critical_enter(); if (tick_et.et_active) { td = curthread; oldframe = td->td_intr_frame; @@ -210,13 +211,14 @@ tick_process(struct trapframe *tf) tick_et.et_event_cb(&tick_et, tick_et.et_arg); td->td_intr_frame = oldframe; } + critical_exit(); } /* * NB: the sequence of reading the (S)TICK register, calculating the value * of the next tick and writing it to the (S)TICK_COMPARE register must not * be interrupted, not even by an IPI, otherwise a value that is in the past - * could be written in the worst case, causing hardclock to stop. + * could be written in the worst case, causing the periodic timer to stop. */ static void @@ -232,7 +234,7 @@ tick_intr(struct trapframe *tf) tick = rd(tick); wr(tick_cmpr, tick + tick_increment - adj, 0); intr_restore(s); - tick_hardclock_periodic(tf, tick, tick_increment, adj); + tick_process_periodic(tf, tick, tick_increment, adj); } else { intr_restore(s); tick_process(tf); @@ -252,7 +254,7 @@ tick_intr_bbwar(struct trapframe *tf) tick = rd(tick); wrtickcmpr(tick + tick_increment - adj, 0); intr_restore(s); - tick_hardclock_periodic(tf, tick, tick_increment, adj); + tick_process_periodic(tf, tick, tick_increment, adj); } else { intr_restore(s); tick_process(tf); @@ -272,7 +274,7 @@ stick_intr(struct trapframe *tf) stick = rdstick(); wrstickcmpr(stick + tick_increment - adj, 0); intr_restore(s); - tick_hardclock_periodic(tf, stick, tick_increment, adj); + tick_process_periodic(tf, stick, tick_increment, adj); } else { intr_restore(s); tick_process(tf); @@ -280,7 +282,7 @@ stick_intr(struct trapframe *tf) } static inline void -tick_hardclock_periodic(struct trapframe *tf, u_long tick, +tick_process_periodic(struct trapframe *tf, u_long tick, u_long tick_increment, u_long adj) { u_long ref; @@ -385,7 +387,7 @@ tick_et_start(struct eventtimer *et, str * out one tick to make sure that it is not missed. */ s = intr_disable(); - if (hardclock_use_stick != 0) + if (tick_et_use_stick != 0) base = rdstick(); else base = rd(tick); @@ -394,7 +396,7 @@ tick_et_start(struct eventtimer *et, str base = roundup(base, div); } PCPU_SET(tickref, base); - if (hardclock_use_stick != 0) + if (tick_et_use_stick != 0) wrstickcmpr(base + fdiv, 0); else wrtickcmpr(base + fdiv, 0); From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 19:53:07 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 056D51065670; Tue, 19 Oct 2010 19:53:07 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E6F7A8FC0C; Tue, 19 Oct 2010 19:53:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JJr6DQ025167; Tue, 19 Oct 2010 19:53:06 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JJr6Fr025163; Tue, 19 Oct 2010 19:53:06 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201010191953.o9JJr6Fr025163@svn.freebsd.org> From: Jung-uk Kim Date: Tue, 19 Oct 2010 19:53:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214072 - head/sys/dev/acpica X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 19:53:07 -0000 Author: jkim Date: Tue Oct 19 19:53:06 2010 New Revision: 214072 URL: http://svn.freebsd.org/changeset/base/214072 Log: Remove PCI_SET_POWERSTATE method from acpi.c and eradicate all PCI-specific knowledges from the file. All PCI devices enumerated in ACPI tree must use correct one from acpi_pci.c any way. Reduce duplicate codes as we did for pci.c in r213905. Do not return ESRCH from PCIB_POWER_FOR_SLEEP method. When the method is not found, just return zero without modifying the given default value as it is completely optional. As a side effect, the return state must not be NULL. Note there is actually no functional change by removing ESRCH because acpi_pcib_power_for_sleep() always returns zero. Adjust debugging messages and add new ones under bootverbose to help debugging device power state related issues. Reviewed by: jhb, imp (earlier versions) Modified: head/sys/dev/acpica/acpi.c head/sys/dev/acpica/acpi_if.m head/sys/dev/acpica/acpi_pci.c Modified: head/sys/dev/acpica/acpi.c ============================================================================== --- head/sys/dev/acpica/acpi.c Tue Oct 19 19:44:05 2010 (r214071) +++ head/sys/dev/acpica/acpi.c Tue Oct 19 19:53:06 2010 (r214072) @@ -66,10 +66,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include "pci_if.h" -#include -#include - #include MALLOC_DEFINE(M_ACPIDEV, "acpidev", "ACPI devices"); @@ -133,8 +129,7 @@ static ACPI_STATUS acpi_device_scan_cb(A void *context, void **retval); static ACPI_STATUS acpi_device_scan_children(device_t bus, device_t dev, int max_depth, acpi_scan_cb_t user_fn, void *arg); -static int acpi_set_powerstate_method(device_t bus, device_t child, - int state); +static int acpi_set_powerstate(device_t child, int state); static int acpi_isa_pnp_probe(device_t bus, device_t child, struct isa_pnp_id *ids); static void acpi_probe_children(device_t bus); @@ -205,9 +200,6 @@ static device_method_t acpi_methods[] = DEVMETHOD(acpi_pwr_for_sleep, acpi_device_pwr_for_sleep), DEVMETHOD(acpi_scan_children, acpi_device_scan_children), - /* PCI emulation */ - DEVMETHOD(pci_set_powerstate, acpi_set_powerstate_method), - /* ISA emulation */ DEVMETHOD(isa_pnp_probe, acpi_isa_pnp_probe), @@ -668,45 +660,46 @@ acpi_attach(device_t dev) return_VALUE (error); } +static void +acpi_set_power_children(device_t dev, int state) +{ + device_t child, parent; + device_t *devlist; + struct pci_devinfo *dinfo; + int dstate, i, numdevs; + + if (!acpi_do_powerstate) + return; + + if (device_get_children(dev, &devlist, &numdevs) != 0) + return; + + /* + * Retrieve and set D-state for the sleep state if _SxD is present. + * Skip children who aren't attached since they are handled separately. + */ + parent = device_get_parent(dev); + for (i = 0; i < numdevs; i++) { + child = devlist[i]; + dinfo = device_get_ivars(child); + dstate = state; + if (device_is_attached(child) && + acpi_device_pwr_for_sleep(parent, dev, &dstate) == 0) + acpi_set_powerstate(child, dstate); + } + free(devlist, M_TEMP); +} + static int acpi_suspend(device_t dev) { - device_t child, *devlist; - int error, i, numdevs, pstate; + int error; GIANT_REQUIRED; - /* First give child devices a chance to suspend. */ error = bus_generic_suspend(dev); - if (error) - return (error); - - /* - * Now, set them into the appropriate power state, usually D3. If the - * device has an _SxD method for the next sleep state, use that power - * state instead. - */ - error = device_get_children(dev, &devlist, &numdevs); - if (error) - return (error); - for (i = 0; i < numdevs; i++) { - /* If the device is not attached, we've powered it down elsewhere. */ - child = devlist[i]; - if (!device_is_attached(child)) - continue; - - /* - * Default to D3 for all sleep states. The _SxD method is optional - * so set the powerstate even if it's absent. - */ - pstate = PCI_POWERSTATE_D3; - error = acpi_device_pwr_for_sleep(device_get_parent(child), - child, &pstate); - if ((error == 0 || error == ESRCH) && acpi_do_powerstate) - pci_set_powerstate(child, pstate); - } - free(devlist, M_TEMP); - error = 0; + if (error == 0) + acpi_set_power_children(dev, ACPI_STATE_D3); return (error); } @@ -714,28 +707,10 @@ acpi_suspend(device_t dev) static int acpi_resume(device_t dev) { - ACPI_HANDLE handle; - int i, numdevs, error; - device_t child, *devlist; GIANT_REQUIRED; - /* - * Put all devices in D0 before resuming them. Call _S0D on each one - * since some systems expect this. - */ - error = device_get_children(dev, &devlist, &numdevs); - if (error) - return (error); - for (i = 0; i < numdevs; i++) { - child = devlist[i]; - handle = acpi_get_handle(child); - if (handle) - AcpiEvaluateObject(handle, "_S0D", NULL, NULL); - if (device_is_attached(child) && acpi_do_powerstate) - pci_set_powerstate(child, PCI_POWERSTATE_D0); - } - free(devlist, M_TEMP); + acpi_set_power_children(dev, ACPI_STATE_D0); return (bus_generic_resume(dev)); } @@ -811,7 +786,7 @@ static void acpi_probe_nomatch(device_t bus, device_t child) { #ifdef ACPI_ENABLE_POWERDOWN_NODRIVER - pci_set_powerstate(child, PCI_POWERSTATE_D3); + acpi_set_powerstate(child, ACPI_STATE_D3); #endif } @@ -833,9 +808,9 @@ acpi_driver_added(device_t dev, driver_t child = devlist[i]; if (device_get_state(child) == DS_NOTPRESENT) { #ifdef ACPI_ENABLE_POWERDOWN_NODRIVER - pci_set_powerstate(child, PCI_POWERSTATE_D0); + acpi_set_powerstate(child, ACPI_STATE_D0); if (device_probe_and_attach(child) != 0) - pci_set_powerstate(child, PCI_POWERSTATE_D3); + acpi_set_powerstate(child, ACPI_STATE_D3); #else device_probe_and_attach(child); #endif @@ -1401,9 +1376,7 @@ acpi_device_pwr_for_sleep(device_t bus, ACPI_HANDLE handle; ACPI_STATUS status; char sxd[8]; - int error; - sc = device_get_softc(bus); handle = acpi_get_handle(dev); /* @@ -1412,7 +1385,7 @@ acpi_device_pwr_for_sleep(device_t bus, * set to D3 and it appears that such legacy devices may * need special handling in their drivers. */ - if (handle == NULL || + if (dstate == NULL || handle == NULL || acpi_MatchHid(handle, "PNP0500") || acpi_MatchHid(handle, "PNP0501") || acpi_MatchHid(handle, "PNP0502") || @@ -1421,28 +1394,19 @@ acpi_device_pwr_for_sleep(device_t bus, return (ENXIO); /* - * Override next state with the value from _SxD, if present. If no - * dstate argument was provided, don't fetch the return value. + * Override next state with the value from _SxD, if present. + * Note illegal _S0D is evaluated because some systems expect this. */ + sc = device_get_softc(bus); snprintf(sxd, sizeof(sxd), "_S%dD", sc->acpi_sstate); - if (dstate) - status = acpi_GetInteger(handle, sxd, dstate); - else - status = AcpiEvaluateObject(handle, sxd, NULL, NULL); - - switch (status) { - case AE_OK: - error = 0; - break; - case AE_NOT_FOUND: - error = ESRCH; - break; - default: - error = ENXIO; - break; + status = acpi_GetInteger(handle, sxd, dstate); + if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) { + device_printf(dev, "failed to get %s on %s: %s\n", sxd, + acpi_name(handle), AcpiFormatException(status)); + return (ENXIO); } - return (error); + return (0); } /* Callback arg for our implementation of walking the namespace. */ @@ -1524,13 +1488,14 @@ acpi_device_scan_children(device_t bus, * device power states since it's close enough to ACPI. */ static int -acpi_set_powerstate_method(device_t bus, device_t child, int state) +acpi_set_powerstate(device_t child, int state) { ACPI_HANDLE h; ACPI_STATUS status; - int error; - error = 0; + if (!acpi_do_powerstate) + return (0); + h = acpi_get_handle(child); if (state < ACPI_STATE_D0 || state > ACPI_D_STATES_MAX) return (EINVAL); @@ -1539,12 +1504,16 @@ acpi_set_powerstate_method(device_t bus, /* Ignore errors if the power methods aren't present. */ status = acpi_pwr_switch_consumer(h, state); - if (ACPI_FAILURE(status) && status != AE_NOT_FOUND - && status != AE_BAD_PARAMETER) - device_printf(bus, "failed to set ACPI power state D%d on %s: %s\n", - state, acpi_name(h), AcpiFormatException(status)); + if (ACPI_SUCCESS(status)) { + if (bootverbose) + device_printf(child, "set ACPI power state D%d on %s\n", + state, acpi_name(h)); + } else if (status != AE_NOT_FOUND) + device_printf(child, + "failed to set ACPI power state D%d on %s: %s\n", state, + acpi_name(h), AcpiFormatException(status)); - return (error); + return (0); } static int Modified: head/sys/dev/acpica/acpi_if.m ============================================================================== --- head/sys/dev/acpica/acpi_if.m Tue Oct 19 19:44:05 2010 (r214071) +++ head/sys/dev/acpica/acpi_if.m Tue Oct 19 19:53:06 2010 (r214072) @@ -123,8 +123,7 @@ METHOD ACPI_STATUS evaluate_object { # # int *dstate: if successful, contains the highest valid sleep state # -# Returns: 0 on success, ESRCH if device has no special state, or -# some other error value. +# Returns: 0 on success or some other error value. # METHOD int pwr_for_sleep { device_t bus; Modified: head/sys/dev/acpica/acpi_pci.c ============================================================================== --- head/sys/dev/acpica/acpi_pci.c Tue Oct 19 19:44:05 2010 (r214071) +++ head/sys/dev/acpica/acpi_pci.c Tue Oct 19 19:53:06 2010 (r214072) @@ -186,9 +186,13 @@ acpi_pci_set_powerstate_method(device_t } h = acpi_get_handle(child); status = acpi_pwr_switch_consumer(h, state); - if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) + if (ACPI_SUCCESS(status)) { + if (bootverbose) + device_printf(dev, "set ACPI power state D%d on %s\n", + state, acpi_name(h)); + } else if (status != AE_NOT_FOUND) device_printf(dev, - "Failed to set ACPI power state D%d on %s: %s\n", + "failed to set ACPI power state D%d on %s: %s\n", state, acpi_name(h), AcpiFormatException(status)); if (old_state > state && pci_do_power_resume) error = pci_set_powerstate_method(dev, child, state); From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 20:05:25 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9ADA31065670; Tue, 19 Oct 2010 20:05:25 +0000 (UTC) (envelope-from brucec@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 899BA8FC25; Tue, 19 Oct 2010 20:05:25 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JK5P5x025469; Tue, 19 Oct 2010 20:05:25 GMT (envelope-from brucec@svn.freebsd.org) Received: (from brucec@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JK5PET025466; Tue, 19 Oct 2010 20:05:25 GMT (envelope-from brucec@svn.freebsd.org) Message-Id: <201010192005.o9JK5PET025466@svn.freebsd.org> From: Bruce Cran Date: Tue, 19 Oct 2010 20:05:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214073 - head/sbin/camcontrol X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 20:05:25 -0000 Author: brucec Date: Tue Oct 19 20:05:25 2010 New Revision: 214073 URL: http://svn.freebsd.org/changeset/base/214073 Log: Stop disallowing device nodes to be passed to camcontrol(8) since libcam already allows both device names and nodes to be specified. Reviewed by: avg Modified: head/sbin/camcontrol/camcontrol.8 head/sbin/camcontrol/camcontrol.c Modified: head/sbin/camcontrol/camcontrol.8 ============================================================================== --- head/sbin/camcontrol/camcontrol.8 Tue Oct 19 19:53:06 2010 (r214072) +++ head/sbin/camcontrol/camcontrol.8 Tue Oct 19 20:05:25 2010 (r214073) @@ -207,9 +207,6 @@ A device identifier can take one of thre .Bl -tag -width 14n .It deviceUNIT Specify a device name and unit number combination, like "da5" or "cd3". -Note that character device node names (e.g.\& /dev/da0) are -.Em not -allowed here. .It bus:target Specify a bus number and target id. The bus number can be determined from Modified: head/sbin/camcontrol/camcontrol.c ============================================================================== --- head/sbin/camcontrol/camcontrol.c Tue Oct 19 19:53:06 2010 (r214072) +++ head/sbin/camcontrol/camcontrol.c Tue Oct 19 20:05:25 2010 (r214073) @@ -4605,15 +4605,7 @@ main(int argc, char **argv) char name[30]; int rv; - /* - * First catch people who try to do things like: - * camcontrol tur /dev/da0 - * camcontrol doesn't take device nodes as arguments. - */ - if (argv[2][0] == '/') { - warnx("%s is not a valid device identifier", argv[2]); - errx(1, "please read the camcontrol(8) man page"); - } else if (isdigit(argv[2][0])) { + if (isdigit(argv[2][0])) { /* device specified as bus:target[:lun] */ rv = parse_btl(argv[2], &bus, &target, &lun, &arglist); if (rv < 2) From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 20:38:21 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9E8A81065673; Tue, 19 Oct 2010 20:38:21 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8D5CC8FC16; Tue, 19 Oct 2010 20:38:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JKcLMI026295; Tue, 19 Oct 2010 20:38:21 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JKcLah026293; Tue, 19 Oct 2010 20:38:21 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201010192038.o9JKcLah026293@svn.freebsd.org> From: Jung-uk Kim Date: Tue, 19 Oct 2010 20:38:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214076 - head/sys/dev/acpica X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 20:38:21 -0000 Author: jkim Date: Tue Oct 19 20:38:21 2010 New Revision: 214076 URL: http://svn.freebsd.org/changeset/base/214076 Log: Remove undocumented and stale debug.acpi.do_powerstate tunable. It was added with hw.pci.do_powerstate but the PCI version was splitted into two separate tunables later and now this is completely stale. To make it worse, PCI devices enumerated in ACPI tree ignore this tunable as it is handled by a function in acpi_pci.c instead. Modified: head/sys/dev/acpica/acpi.c Modified: head/sys/dev/acpica/acpi.c ============================================================================== --- head/sys/dev/acpica/acpi.c Tue Oct 19 20:17:17 2010 (r214075) +++ head/sys/dev/acpica/acpi.c Tue Oct 19 20:38:21 2010 (r214076) @@ -254,12 +254,6 @@ TUNABLE_INT("debug.acpi.interpreter_slac SYSCTL_INT(_debug_acpi, OID_AUTO, interpreter_slack, CTLFLAG_RDTUN, &acpi_interpreter_slack, 1, "Turn on interpreter slack mode."); -/* Power devices off and on in suspend and resume. XXX Remove once tested. */ -static int acpi_do_powerstate = 1; -TUNABLE_INT("debug.acpi.do_powerstate", &acpi_do_powerstate); -SYSCTL_INT(_debug_acpi, OID_AUTO, do_powerstate, CTLFLAG_RW, - &acpi_do_powerstate, 1, "Turn off devices when suspending."); - /* Reset system clock while resuming. XXX Remove once tested. */ static int acpi_reset_clock = 1; TUNABLE_INT("debug.acpi.reset_clock", &acpi_reset_clock); @@ -668,9 +662,6 @@ acpi_set_power_children(device_t dev, in struct pci_devinfo *dinfo; int dstate, i, numdevs; - if (!acpi_do_powerstate) - return; - if (device_get_children(dev, &devlist, &numdevs) != 0) return; @@ -1493,9 +1484,6 @@ acpi_set_powerstate(device_t child, int ACPI_HANDLE h; ACPI_STATUS status; - if (!acpi_do_powerstate) - return (0); - h = acpi_get_handle(child); if (state < ACPI_STATE_D0 || state > ACPI_D_STATES_MAX) return (EINVAL); From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 20:53:31 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 403FB10656BD; Tue, 19 Oct 2010 20:53:31 +0000 (UTC) (envelope-from gibbs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2A9BD8FC08; Tue, 19 Oct 2010 20:53:31 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JKrVgw026734; Tue, 19 Oct 2010 20:53:31 GMT (envelope-from gibbs@svn.freebsd.org) Received: (from gibbs@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JKrV0u026729; Tue, 19 Oct 2010 20:53:31 GMT (envelope-from gibbs@svn.freebsd.org) Message-Id: <201010192053.o9JKrV0u026729@svn.freebsd.org> From: "Justin T. Gibbs" Date: Tue, 19 Oct 2010 20:53:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214077 - in head/sys: conf dev/xen/balloon dev/xen/blkback dev/xen/blkfront dev/xen/control dev/xen/netfront dev/xen/xenpci i386/xen xen xen/evtchn xen/interface xen/interface/hvm xen/... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 20:53:31 -0000 Author: gibbs Date: Tue Oct 19 20:53:30 2010 New Revision: 214077 URL: http://svn.freebsd.org/changeset/base/214077 Log: Improve the Xen para-virtualized device infrastructure of FreeBSD: o Add support for backend devices (e.g. blkback) o Implement extensions to the Xen para-virtualized block API to allow for larger and more outstanding I/Os. o Import a completely rewritten block back driver with support for fronting I/O to both raw devices and files. o General cleanup and documentation of the XenBus and XenStore support code. o Robustness and performance updates for the block front driver. o Fixes to the netfront driver. Sponsored by: Spectra Logic Corporation sys/xen/xenbus/init.txt: Deleted: This file explains the Linux method for XenBus device enumeration and thus does not apply to FreeBSD's NewBus approach. sys/xen/xenbus/xenbus_probe_backend.c: Deleted: Linux version of backend XenBus service routines. It was never ported to FreeBSD. See xenbusb.c, xenbusb_if.m, xenbusb_front.c xenbusb_back.c for details of FreeBSD's XenBus support. sys/xen/xenbus/xenbusvar.h: sys/xen/xenbus/xenbus_xs.c: sys/xen/xenbus/xenbus_comms.c: sys/xen/xenbus/xenbus_comms.h: sys/xen/xenstore/xenstorevar.h: sys/xen/xenstore/xenstore.c: Split XenStore into its own tree. XenBus is a software layer built on top of XenStore. The old arrangement and the naming of some structures and functions blurred these lines making it difficult to discern what services are provided by which layer and at what times these services are available (e.g. during system startup and shutdown). sys/xen/xenbus/xenbus_client.c: sys/xen/xenbus/xenbus.c: sys/xen/xenbus/xenbus_probe.c: sys/xen/xenbus/xenbusb.c: sys/xen/xenbus/xenbusb.h: Split up XenBus code into methods available for use by client drivers (xenbus.c) and code used by the XenBus "bus code" to enumerate, attach, detach, and service bus drivers. sys/xen/reboot.c: sys/dev/xen/control/control.c: Add a XenBus front driver for handling shutdown, reboot, suspend, and resume events published in the XenStore. Move all PV suspend/reboot support from reboot.c into this driver. sys/xen/blkif.h: New file from Xen vendor with macros and structures used by a block back driver to service requests from a VM running a different ABI (e.g. amd64 back with i386 front). sys/conf/files: Adjust kernel build spec for new XenBus/XenStore layout and added Xen functionality. sys/dev/xen/balloon/balloon.c: sys/dev/xen/netfront/netfront.c: sys/dev/xen/blkfront/blkfront.c: sys/xen/xenbus/... sys/xen/xenstore/... o Rename XenStore APIs and structures from xenbus_* to xs_*. o Adjust to use of M_XENBUS and M_XENSTORE malloc types for allocation of objects returned by these APIs. o Adjust for changes in the bus interface for Xen drivers. sys/xen/xenbus/... sys/xen/xenstore/... Add Doxygen comments for these interfaces and the code that implements them. sys/dev/xen/blkback/blkback.c: o Rewrite the Block Back driver to attach properly via newbus, operate correctly in both PV and HVM mode regardless of domain (e.g. can be in a DOM other than 0), and to deal with the latest metadata available in XenStore for block devices. o Allow users to specify a file as a backend to blkback, in addition to character devices. Use the namei lookup of the backend path to automatically configure, based on file type, the appropriate backend method. The current implementation is limited to a single outstanding I/O at a time to file backed storage. sys/dev/xen/blkback/blkback.c: sys/xen/interface/io/blkif.h: sys/xen/blkif.h: sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/blkfront/block.h: Extend the Xen blkif API: Negotiable request size and number of requests. This change extends the information recorded in the XenStore allowing block front/back devices to negotiate for optimal I/O parameters. This has been achieved without sacrificing backward compatibility with drivers that are unaware of these protocol enhancements. The extensions center around the connection protocol which now includes these additions: o The back-end device publishes its maximum supported values for, request I/O size, the number of page segments that can be associated with a request, the maximum number of requests that can be concurrently active, and the maximum number of pages that can be in the shared request ring. These values are published before the back-end enters the XenbusStateInitWait state. o The front-end waits for the back-end to enter either the InitWait or Initialize state. At this point, the front end limits it's own capabilities to the lesser of the values it finds published by the backend, it's own maximums, or, should any back-end data be missing in the store, the values supported by the original protocol. It then initializes it's internal data structures including allocation of the shared ring, publishes its maximum capabilities to the XenStore and transitions to the Initialized state. o The back-end waits for the front-end to enter the Initalized state. At this point, the back end limits it's own capabilities to the lesser of the values it finds published by the frontend, it's own maximums, or, should any front-end data be missing in the store, the values supported by the original protocol. It then initializes it's internal data structures, attaches to the shared ring and transitions to the Connected state. o The front-end waits for the back-end to enter the Connnected state, transitions itself to the connected state, and can commence I/O. Although an updated front-end driver must be aware of the back-end's InitWait state, the back-end has been coded such that it can tolerate a front-end that skips this step and transitions directly to the Initialized state without waiting for the back-end. sys/xen/interface/io/blkif.h: o Increase BLKIF_MAX_SEGMENTS_PER_REQUEST to 255. This is the maximum number possible without changing the blkif request header structure (nr_segs is a uint8_t). o Add two new constants: BLKIF_MAX_SEGMENTS_PER_HEADER_BLOCK, and BLKIF_MAX_SEGMENTS_PER_SEGMENT_BLOCK. These respectively indicate the number of segments that can fit in the first ring-buffer entry of a request, and for each subsequent (sg element only) ring-buffer entry associated with the "header" ring-buffer entry of the request. o Add the blkif_request_segment_t typedef for segment elements. o Add the BLKRING_GET_SG_REQUEST() macro which wraps the RING_GET_REQUEST() macro and returns a properly cast pointer to an array of blkif_request_segment_ts. o Add the BLKIF_SEGS_TO_BLOCKS() macro which calculates the number of ring entries that will be consumed by a blkif request with the given number of segments. sys/xen/blkif.h: o Update for changes in interface/io/blkif.h macros. o Update the BLKIF_MAX_RING_REQUESTS() macro to take the ring size as an argument to allow this calculation on multi-page rings. o Add a companion macro to BLKIF_MAX_RING_REQUESTS(), BLKIF_RING_PAGES(). This macro determines the number of ring pages required in order to support a ring with the supplied number of request blocks. sys/dev/xen/blkback/blkback.c: sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/blkfront/block.h: o Negotiate with the other-end with the following limits: Reqeust Size: MAXPHYS Max Segments: (MAXPHYS/PAGE_SIZE) + 1 Max Requests: 256 Max Ring Pages: Sufficient to support Max Requests with Max Segments. o Dynamically allocate request pools and segemnts-per-request. o Update ring allocation/attachment code to support a multi-page shared ring. o Update routines that access the shared ring to handle multi-block requests. sys/dev/xen/blkfront/blkfront.c: o Track blkfront allocations in a blkfront driver specific malloc pool. o Strip out XenStore transaction retry logic in the connection code. Transactions only need to be used when the update to multiple XenStore nodes must be atomic. That is not the case here. o Fully disable blkif_resume() until it can be fixed properly (it didn't work before this change). o Destroy bus-dma objects during device instance tear-down. o Properly handle backend devices with powef-of-2 sector sizes larger than 512b. sys/dev/xen/blkback/blkback.c: Advertise support for and implement the BLKIF_OP_WRITE_BARRIER and BLKIF_OP_FLUSH_DISKCACHE blkif opcodes using BIO_FLUSH and the BIO_ORDERED attribute of bios. sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/blkfront/block.h: Fix various bugs in blkfront. o gnttab_alloc_grant_references() returns 0 for success and non-zero for failure. The check for < 0 is a leftover Linuxism. o When we negotiate with blkback and have to reduce some of our capabilities, print out the original and reduced capability before changing the local capability. So the user now gets the correct information. o Fix blkif_restart_queue_callback() formatting. Make sure we hold the mutex in that function before calling xb_startio(). o Fix a couple of KASSERT()s. o Fix a check in the xb_remove_* macro to be a little more specific. sys/xen/gnttab.h: sys/xen/gnttab.c: Define GNTTAB_LIST_END publicly as GRANT_REF_INVALID. sys/dev/xen/netfront/netfront.c: Use GRANT_REF_INVALID instead of driver private definitions of the same constant. sys/xen/gnttab.h: sys/xen/gnttab.c: Add the gnttab_end_foreign_access_references() API. This API allows a client to batch the release of an array of grant references, instead of coding a private for loop. The implementation takes advantage of this batching to reduce lock overhead to one acquisition and release per-batch instead of per-freed grant reference. While here, reduce the duration the gnttab_list_lock is held during gnttab_free_grant_references() operations. The search to find the tail of the incoming free list does not rely on global state and so can be performed without holding the lock. sys/dev/xen/xenpci/evtchn.c: sys/dev/xen/evtchn/evtchn.c: sys/xen/xen_intr.h: o Implement the bind_interdomain_evtchn_to_irqhandler API for HVM mode. This allows an HVM domain to serve back end devices to other domains. This API is already implemented for PV mode. o Synchronize the API between HVM and PV. sys/dev/xen/xenpci/xenpci.c: o Scan the full region of CPUID space in which the Xen VMM interface may be implemented. On systems using SuSE as a Dom0 where the Viridian API is also exported, the VMM interface is above the region we used to search. o Pass through bus_alloc_resource() calls so that XenBus drivers attaching on an HVM system can allocate unused physical address space from the nexus. The block back driver makes use of this facility. sys/i386/xen/xen_machdep.c: Use the correct type for accessing the statically mapped xenstore metadata. sys/xen/interface/hvm/params.h: sys/xen/xenstore/xenstore.c: Move hvm_get_parameter() to the correct global header file instead of as a private method to the XenStore. sys/xen/interface/io/protocols.h: Sync with vendor. sys/xeninterface/io/ring.h: Add macro for calculating the number of ring pages needed for an N deep ring. To avoid duplication within the macros, create and use the new __RING_HEADER_SIZE() macro. This macro calculates the size of the ring book keeping struct (producer/consumer indexes, etc.) that resides at the head of the ring. Add the __RING_PAGES() macro which calculates the number of shared ring pages required to support a ring with the given number of requests. These APIs are used to support the multi-page ring version of the Xen block API. sys/xeninterface/io/xenbus.h: Add Comments. sys/xen/xenbus/... o Refactor the FreeBSD XenBus support code to allow for both front and backend device attachments. o Make use of new config_intr_hook capabilities to allow front and back devices to be probed/attached in parallel. o Fix bugs in probe/attach state machine that could cause the system to hang when confronted with a failure either in the local domain or in a remote domain to which one of our driver instances is attaching. o Publish all required state to the XenStore on device detach and failure. The majority of the missing functionality was for serving as a back end since the typical "hot-plug" scripts in Dom0 don't handle the case of cleaning up for a "service domain" that is not itself. o Add dynamic sysctl nodes exposing the generic ivars of XenBus devices. o Add doxygen style comments to the majority of the code. o Cleanup types, formatting, etc. sys/xen/xenbus/xenbusb.c: Common code used by both front and back XenBus busses. sys/xen/xenbus/xenbusb_if.m: Method definitions for a XenBus bus. sys/xen/xenbus/xenbusb_front.c: sys/xen/xenbus/xenbusb_back.c: XenBus bus specialization for front and back devices. MFC after: 1 month Added: head/sys/dev/xen/control/ head/sys/dev/xen/control/control.c (contents, props changed) head/sys/xen/blkif.h (contents, props changed) head/sys/xen/xenbus/xenbus.c - copied, changed from r212768, head/sys/xen/xenbus/xenbus_client.c head/sys/xen/xenbus/xenbusb.c - copied, changed from r212768, head/sys/xen/xenbus/xenbus_probe.c head/sys/xen/xenbus/xenbusb.h - copied, changed from r212768, head/sys/xen/xenbus/xenbus_probe.c head/sys/xen/xenbus/xenbusb_back.c (contents, props changed) head/sys/xen/xenbus/xenbusb_front.c (contents, props changed) head/sys/xen/xenbus/xenbusb_if.m (contents, props changed) head/sys/xen/xenstore/ head/sys/xen/xenstore/xenstore.c - copied, changed from r212768, head/sys/xen/xenbus/xenbus_xs.c head/sys/xen/xenstore/xenstore_dev.c - copied, changed from r212768, head/sys/xen/xenbus/xenbus_dev.c head/sys/xen/xenstore/xenstore_internal.h (contents, props changed) head/sys/xen/xenstore/xenstorevar.h - copied, changed from r212768, head/sys/xen/xenbus/xenbusvar.h Deleted: head/sys/xen/reboot.c head/sys/xen/xenbus/init.txt head/sys/xen/xenbus/xenbus_client.c head/sys/xen/xenbus/xenbus_comms.c head/sys/xen/xenbus/xenbus_comms.h head/sys/xen/xenbus/xenbus_dev.c head/sys/xen/xenbus/xenbus_probe.c head/sys/xen/xenbus/xenbus_probe_backend.c head/sys/xen/xenbus/xenbus_xs.c Modified: head/sys/conf/files head/sys/dev/xen/balloon/balloon.c head/sys/dev/xen/blkback/blkback.c head/sys/dev/xen/blkfront/blkfront.c head/sys/dev/xen/blkfront/block.h head/sys/dev/xen/netfront/netfront.c head/sys/dev/xen/xenpci/evtchn.c head/sys/dev/xen/xenpci/xenpci.c head/sys/i386/xen/xen_machdep.c head/sys/xen/evtchn/evtchn.c head/sys/xen/gnttab.c head/sys/xen/gnttab.h head/sys/xen/interface/grant_table.h head/sys/xen/interface/hvm/params.h head/sys/xen/interface/io/blkif.h head/sys/xen/interface/io/protocols.h head/sys/xen/interface/io/ring.h head/sys/xen/interface/io/xenbus.h head/sys/xen/xen_intr.h head/sys/xen/xenbus/xenbus_if.m head/sys/xen/xenbus/xenbusvar.h Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Tue Oct 19 20:38:21 2010 (r214076) +++ head/sys/conf/files Tue Oct 19 20:53:30 2010 (r214077) @@ -3008,19 +3008,20 @@ xen/gnttab.c optional xen | xenhvm xen/features.c optional xen | xenhvm xen/evtchn/evtchn.c optional xen xen/evtchn/evtchn_dev.c optional xen | xenhvm -xen/reboot.c optional xen -xen/xenbus/xenbus_client.c optional xen | xenhvm -xen/xenbus/xenbus_comms.c optional xen | xenhvm -xen/xenbus/xenbus_dev.c optional xen | xenhvm xen/xenbus/xenbus_if.m optional xen | xenhvm -xen/xenbus/xenbus_probe.c optional xen | xenhvm -#xen/xenbus/xenbus_probe_backend.c optional xen -xen/xenbus/xenbus_xs.c optional xen | xenhvm +xen/xenbus/xenbus.c optional xen | xenhvm +xen/xenbus/xenbusb_if.m optional xen | xenhvm +xen/xenbus/xenbusb.c optional xen | xenhvm +xen/xenbus/xenbusb_front.c optional xen | xenhvm +xen/xenbus/xenbusb_back.c optional xen | xenhvm +xen/xenstore/xenstore.c optional xen | xenhvm +xen/xenstore/xenstore_dev.c optional xen | xenhvm dev/xen/balloon/balloon.c optional xen | xenhvm +dev/xen/blkfront/blkfront.c optional xen | xenhvm +dev/xen/blkback/blkback.c optional xen | xenhvm dev/xen/console/console.c optional xen dev/xen/console/xencons_ring.c optional xen -dev/xen/blkfront/blkfront.c optional xen | xenhvm +dev/xen/control/control.c optional xen | xenhvm dev/xen/netfront/netfront.c optional xen | xenhvm dev/xen/xenpci/xenpci.c optional xenpci dev/xen/xenpci/evtchn.c optional xenpci -dev/xen/xenpci/machine_reboot.c optional xenpci Modified: head/sys/dev/xen/balloon/balloon.c ============================================================================== --- head/sys/dev/xen/balloon/balloon.c Tue Oct 19 20:38:21 2010 (r214076) +++ head/sys/dev/xen/balloon/balloon.c Tue Oct 19 20:53:30 2010 (r214077) @@ -44,7 +44,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include +#include #include #include @@ -406,20 +406,20 @@ set_new_target(unsigned long target) wakeup(balloon_process); } -static struct xenbus_watch target_watch = +static struct xs_watch target_watch = { .node = "memory/target" }; /* React to a change in the target key */ static void -watch_target(struct xenbus_watch *watch, +watch_target(struct xs_watch *watch, const char **vec, unsigned int len) { unsigned long long new_target; int err; - err = xenbus_scanf(XBT_NIL, "memory", "target", NULL, + err = xs_scanf(XST_NIL, "memory", "target", NULL, "%llu", &new_target); if (err) { /* This is ok (for domain0 at least) - so just return */ @@ -438,7 +438,7 @@ balloon_init_watcher(void *arg) { int err; - err = register_xenbus_watch(&target_watch); + err = xs_register_watch(&target_watch); if (err) printf("Failed to set balloon watcher\n"); Modified: head/sys/dev/xen/blkback/blkback.c ============================================================================== --- head/sys/dev/xen/blkback/blkback.c Tue Oct 19 20:38:21 2010 (r214076) +++ head/sys/dev/xen/blkback/blkback.c Tue Oct 19 20:53:30 2010 (r214077) @@ -1,1055 +1,1919 @@ -/* - * Copyright (c) 2006, Cisco Systems, Inc. +/*- + * Copyright (c) 2009-2010 Spectra Logic Corporation * All rights reserved. * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions, and the following disclaimer, + * without modification. + * 2. Redistributions in binary form must reproduce at minimum a disclaimer + * substantially similar to the "NO WARRANTY" disclaimer below + * ("Disclaimer") and any redistribution must be conditioned upon + * including a substantially similar Disclaimer requirement for further + * binary redistribution. * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Cisco Systems, Inc. nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. + * NO WARRANTY + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGES. + * + * Authors: Justin T. Gibbs (Spectra Logic Corporation) + * Ken Merry (Spectra Logic Corporation) */ - #include __FBSDID("$FreeBSD$"); +/** + * \file blkback.c + * + * \brief Device driver supporting the vending of block storage from + * a FreeBSD domain to other domains. + */ + #include #include -#include -#include #include -#include -#include -#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include -#include +#include +#include +#include #include -#include -#include -#include - -#include -#include -#include +#include #include +#include +#include + +#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include + +#include +#include + +#include + +/*--------------------------- Compile-time Tunables --------------------------*/ +/** + * The maximum number of outstanding request blocks (request headers plus + * additional segment blocks) we will allow in a negotiated block-front/back + * communication channel. + */ +#define XBB_MAX_REQUESTS 256 + +/** + * \brief Define to force all I/O to be performed on memory owned by the + * backend device, with a copy-in/out to the remote domain's memory. + * + * \note This option is currently required when this driver's domain is + * operating in HVM mode on a system using an IOMMU. + * + * This driver uses Xen's grant table API to gain access to the memory of + * the remote domains it serves. When our domain is operating in PV mode, + * the grant table mechanism directly updates our domain's page table entries + * to point to the physical pages of the remote domain. This scheme guarantees + * that blkback and the backing devices it uses can safely perform DMA + * operations to satisfy requests. In HVM mode, Xen may use a HW IOMMU to + * insure that our domain cannot DMA to pages owned by another domain. As + * of Xen 4.0, IOMMU mappings for HVM guests are not updated via the grant + * table API. For this reason, in HVM mode, we must bounce all requests into + * memory that is mapped into our domain at domain startup and thus has + * valid IOMMU mappings. + */ +#define XBB_USE_BOUNCE_BUFFERS + +/** + * \brief Define to enable rudimentary request logging to the console. + */ +#undef XBB_DEBUG +/*---------------------------------- Macros ----------------------------------*/ +/** + * Custom malloc type for all driver allocations. + */ +MALLOC_DEFINE(M_XENBLOCKBACK, "xbbd", "Xen Block Back Driver Data"); -#if XEN_BLKBACK_DEBUG +#ifdef XBB_DEBUG #define DPRINTF(fmt, args...) \ - printf("blkback (%s:%d): " fmt, __FUNCTION__, __LINE__, ##args) + printf("xbb(%s:%d): " fmt, __FUNCTION__, __LINE__, ##args) #else -#define DPRINTF(fmt, args...) ((void)0) +#define DPRINTF(fmt, args...) do {} while(0) #endif -#define WPRINTF(fmt, args...) \ - printf("blkback (%s:%d): " fmt, __FUNCTION__, __LINE__, ##args) +/** + * The maximum mapped region size per request we will allow in a negotiated + * block-front/back communication channel. + */ +#define XBB_MAX_REQUEST_SIZE \ + MIN(MAXPHYS, BLKIF_MAX_SEGMENTS_PER_REQUEST * PAGE_SIZE) -#define BLKBACK_INVALID_HANDLE (~0) +/** + * The maximum number of segments (within a request header and accompanying + * segment blocks) per request we will allow in a negotiated block-front/back + * communication channel. + */ +#define XBB_MAX_SEGMENTS_PER_REQUEST \ + (MIN(UIO_MAXIOV, \ + MIN(BLKIF_MAX_SEGMENTS_PER_REQUEST, \ + (XBB_MAX_REQUEST_SIZE / PAGE_SIZE) + 1))) + +/** + * The maximum number of shared memory ring pages we will allow in a + * negotiated block-front/back communication channel. Allow enough + * ring space for all requests to be XBB_MAX_REQUEST_SIZE'd. + */ +#define XBB_MAX_RING_PAGES \ + BLKIF_RING_PAGES(BLKIF_SEGS_TO_BLOCKS(XBB_MAX_SEGMENTS_PER_REQUEST) \ + * XBB_MAX_REQUESTS) + +/*--------------------------- Forward Declarations ---------------------------*/ +struct xbb_softc; + +static void xbb_attach_failed(struct xbb_softc *xbb, int err, const char *fmt, + ...) __attribute__((format(printf, 3, 4))); +static int xbb_shutdown(struct xbb_softc *xbb); +static int xbb_detach(device_t dev); + +/*------------------------------ Data Structures -----------------------------*/ +/** + * \brief Object tracking an in-flight I/O from a Xen VBD consumer. + */ +struct xbb_xen_req { + /** + * Linked list links used to aggregate idle request in the + * request free pool (xbb->request_free_slist). + */ + SLIST_ENTRY(xbb_xen_req) links; + + /** + * Back reference to the parent block back instance for this + * request. Used during bio_done handling. + */ + struct xbb_softc *xbb; + + /** + * The remote domain's identifier for this I/O request. + */ + uint64_t id; + + /** + * Kernel virtual address space reserved for this request + * structure and used to map the remote domain's pages for + * this I/O, into our domain's address space. + */ + uint8_t *kva; + +#ifdef XBB_USE_BOUNCE_BUFFERS + /** + * Pre-allocated domain local memory used to proxy remote + * domain memory during I/O operations. + */ + uint8_t *bounce; +#endif -struct ring_ref { - vm_offset_t va; - grant_handle_t handle; - uint64_t bus_addr; + /** + * Base, psuedo-physical address, corresponding to the start + * of this request's kva region. + */ + uint64_t gnt_base; + + /** + * The number of pages currently mapped for this request. + */ + int nr_pages; + + /** + * The number of 512 byte sectors comprising this requests. + */ + int nr_512b_sectors; + + /** + * The number of struct bio requests still outstanding for this + * request on the backend device. This field is only used for + * device (rather than file) backed I/O. + */ + int pendcnt; + + /** + * BLKIF_OP code for this request. + */ + int operation; + + /** + * BLKIF_RSP status code for this request. + * + * This field allows an error status to be recorded even if the + * delivery of this status must be deferred. Deferred reporting + * is necessary, for example, when an error is detected during + * completion processing of one bio when other bios for this + * request are still outstanding. + */ + int status; + + /** + * Device statistics request ordering type (ordered or simple). + */ + devstat_tag_type ds_tag_type; + + /** + * Device statistics request type (read, write, no_data). + */ + devstat_trans_flags ds_trans_type; + + /** + * The start time for this request. + */ + struct bintime ds_t0; + + /** + * Array of grant handles (one per page) used to map this request. + */ + grant_handle_t *gnt_handles; }; +SLIST_HEAD(xbb_xen_req_slist, xbb_xen_req); -typedef struct blkback_info { - - /* Schedule lists */ - STAILQ_ENTRY(blkback_info) next_req; - int on_req_sched_list; - - struct xenbus_device *xdev; - XenbusState frontend_state; - - domid_t domid; - - int state; - int ring_connected; - struct ring_ref rr; - blkif_back_ring_t ring; - evtchn_port_t evtchn; - int irq; - void *irq_cookie; - - int ref_cnt; - - int handle; - char *mode; - char *type; - char *dev_name; - - struct vnode *vn; - struct cdev *cdev; - struct cdevsw *csw; - u_int sector_size; - int sector_size_shift; - off_t media_size; - u_int media_num_sectors; - int major; - int minor; - int read_only; - - struct mtx blk_ring_lock; - - device_t ndev; - - /* Stats */ - int st_rd_req; - int st_wr_req; - int st_oo_req; - int st_err_req; -} blkif_t; - -/* - * These are rather arbitrary. They are fairly large because adjacent requests - * pulled from a communication ring are quite likely to end up being part of - * the same scatter/gather request at the disc. - * - * ** TRY INCREASING 'blkif_reqs' IF WRITE SPEEDS SEEM TOO LOW ** - * - * This will increase the chances of being able to write whole tracks. - * 64 should be enough to keep us competitive with Linux. +/** + * \brief Configuration data for the shared memory request ring + * used to communicate with the front-end client of this + * this driver. */ -static int blkif_reqs = 64; -TUNABLE_INT("xen.vbd.blkif_reqs", &blkif_reqs); +struct xbb_ring_config { + /** KVA address where ring memory is mapped. */ + vm_offset_t va; + + /** The pseudo-physical address where ring memory is mapped.*/ + uint64_t gnt_addr; + + /** + * Grant table handles, one per-ring page, returned by the + * hyperpervisor upon mapping of the ring and required to + * unmap it when a connection is torn down. + */ + grant_handle_t handle[XBB_MAX_RING_PAGES]; + + /** + * The device bus address returned by the hypervisor when + * mapping the ring and required to unmap it when a connection + * is torn down. + */ + uint64_t bus_addr[XBB_MAX_RING_PAGES]; + + /** The number of ring pages mapped for the current connection. */ + u_int ring_pages; + + /** + * The grant references, one per-ring page, supplied by the + * front-end, allowing us to reference the ring pages in the + * front-end's domain and to map these pages into our own domain. + */ + grant_ref_t ring_ref[XBB_MAX_RING_PAGES]; -static int mmap_pages; + /** The interrupt driven even channel used to signal ring events. */ + evtchn_port_t evtchn; +}; -/* - * Each outstanding request that we've passed to the lower device layers has a - * 'pending_req' allocated to it. Each buffer_head that completes decrements - * the pendcnt towards zero. When it hits zero, the specified domain has a - * response queued for it, with the saved 'id' passed back. +/** + * Per-instance connection state flags. */ -typedef struct pending_req { - blkif_t *blkif; - uint64_t id; - int nr_pages; - int pendcnt; - unsigned short operation; - int status; - STAILQ_ENTRY(pending_req) free_list; -} pending_req_t; - -static pending_req_t *pending_reqs; -static STAILQ_HEAD(pending_reqs_list, pending_req) pending_free = - STAILQ_HEAD_INITIALIZER(pending_free); -static struct mtx pending_free_lock; - -static STAILQ_HEAD(blkback_req_sched_list, blkback_info) req_sched_list = - STAILQ_HEAD_INITIALIZER(req_sched_list); -static struct mtx req_sched_list_lock; - -static unsigned long mmap_vstart; -static unsigned long *pending_vaddrs; -static grant_handle_t *pending_grant_handles; - -static struct task blk_req_task; - -/* Protos */ -static void disconnect_ring(blkif_t *blkif); -static int vbd_add_dev(struct xenbus_device *xdev); - -static inline int vaddr_pagenr(pending_req_t *req, int seg) +typedef enum { - return (req - pending_reqs) * BLKIF_MAX_SEGMENTS_PER_REQUEST + seg; -} + /** + * The front-end requested a read-only mount of the + * back-end device/file. + */ + XBBF_READ_ONLY = 0x01, + + /** Communication with the front-end has been established. */ + XBBF_RING_CONNECTED = 0x02, + + /** + * Front-end requests exist in the ring and are waiting for + * xbb_xen_req objects to free up. + */ + XBBF_RESOURCE_SHORTAGE = 0x04, + + /** Connection teardown in progress. */ + XBBF_SHUTDOWN = 0x08 +} xbb_flag_t; + +/** Backend device type. */ +typedef enum { + /** Backend type unknown. */ + XBB_TYPE_NONE = 0x00, + + /** + * Backend type disk (access via cdev switch + * strategy routine). + */ + XBB_TYPE_DISK = 0x01, + + /** Backend type file (access vnode operations.). */ + XBB_TYPE_FILE = 0x02 +} xbb_type; + +/** + * \brief Structure used to memoize information about a per-request + * scatter-gather list. + * + * The chief benefit of using this data structure is it avoids having + * to reparse the possibly discontiguous S/G list in the original + * request. Due to the way that the mapping of the memory backing an + * I/O transaction is handled by Xen, a second pass is unavoidable. + * At least this way the second walk is a simple array traversal. + * + * \note A single Scatter/Gather element in the block interface covers + * at most 1 machine page. In this context a sector (blkif + * nomenclature, not what I'd choose) is a 512b aligned unit + * of mapping within the machine page referenced by an S/G + * element. + */ +struct xbb_sg { + /** The number of 512b data chunks mapped in this S/G element. */ + int16_t nsect; + + /** + * The index (0 based) of the first 512b data chunk mapped + * in this S/G element. + */ + uint8_t first_sect; + + /** + * The index (0 based) of the last 512b data chunk mapped + * in this S/G element. + */ + uint8_t last_sect; +}; -static inline unsigned long vaddr(pending_req_t *req, int seg) -{ - return pending_vaddrs[vaddr_pagenr(req, seg)]; -} +/** + * Character device backend specific configuration data. + */ +struct xbb_dev_data { + /** Cdev used for device backend access. */ + struct cdev *cdev; -#define pending_handle(_req, _seg) \ - (pending_grant_handles[vaddr_pagenr(_req, _seg)]) + /** Cdev switch used for device backend access. */ + struct cdevsw *csw; -static unsigned long -alloc_empty_page_range(unsigned long nr_pages) -{ - void *pages; - int i = 0, j = 0; - multicall_entry_t mcl[17]; - unsigned long mfn_list[16]; - struct xen_memory_reservation reservation = { - .extent_start = mfn_list, - .nr_extents = 0, - .address_bits = 0, - .extent_order = 0, - .domid = DOMID_SELF - }; + /** Used to hold a reference on opened cdev backend devices. */ + int dev_ref; +}; - pages = malloc(nr_pages*PAGE_SIZE, M_DEVBUF, M_NOWAIT); - if (pages == NULL) - return 0; +/** + * File backend specific configuration data. + */ +struct xbb_file_data { + /** Credentials to use for vnode backed (file based) I/O. */ + struct ucred *cred; + + /** + * \brief Array of io vectors used to process file based I/O. + * + * Only a single file based request is outstanding per-xbb instance, + * so we only need one of these. + */ + struct iovec xiovecs[XBB_MAX_SEGMENTS_PER_REQUEST]; +#ifdef XBB_USE_BOUNCE_BUFFERS + + /** + * \brief Array of io vectors used to handle bouncing of file reads. + * + * Vnode operations are free to modify uio data during their + * exectuion. In the case of a read with bounce buffering active, + * we need some of the data from the original uio in order to + * bounce-out the read data. This array serves as the temporary + * storage for this saved data. + */ + struct iovec saved_xiovecs[XBB_MAX_SEGMENTS_PER_REQUEST]; + + /** + * \brief Array of memoized bounce buffer kva offsets used + * in the file based backend. + * + * Due to the way that the mapping of the memory backing an + * I/O transaction is handled by Xen, a second pass through + * the request sg elements is unavoidable. We memoize the computed + * bounce address here to reduce the cost of the second walk. + */ + void *xiovecs_vaddr[XBB_MAX_SEGMENTS_PER_REQUEST]; +#endif /* XBB_USE_BOUNCE_BUFFERS */ +}; - memset(mcl, 0, sizeof(mcl)); +/** + * Collection of backend type specific data. + */ +union xbb_backend_data { + struct xbb_dev_data dev; + struct xbb_file_data file; +}; - while (i < nr_pages) { - unsigned long va = (unsigned long)pages + (i++ * PAGE_SIZE); +/** + * Function signature of backend specific I/O handlers. + */ +typedef int (*xbb_dispatch_t)(struct xbb_softc *xbb, blkif_request_t *ring_req, + struct xbb_xen_req *req, int nseg, + int operation, int flags); - mcl[j].op = __HYPERVISOR_update_va_mapping; - mcl[j].args[0] = va; +/** + * Per-instance configuration data. + */ +struct xbb_softc { - mfn_list[j++] = vtomach(va) >> PAGE_SHIFT; + /** + * Task-queue used to process I/O requests. + */ + struct taskqueue *io_taskqueue; + + /** + * Single "run the request queue" task enqueued + * on io_taskqueue. + */ + struct task io_task; + + /** Device type for this instance. */ + xbb_type device_type; + + /** NewBus device corresponding to this instance. */ + device_t dev; + + /** Backend specific dispatch routine for this instance. */ + xbb_dispatch_t dispatch_io; + + /** The number of requests outstanding on the backend device/file. */ + u_int active_request_count; + + /** Free pool of request tracking structures. */ + struct xbb_xen_req_slist request_free_slist; + + /** Array, sized at connection time, of request tracking structures. */ + struct xbb_xen_req *requests; + + /** + * Global pool of kva used for mapping remote domain ring + * and I/O transaction data. + */ + vm_offset_t kva; + + /** Psuedo-physical address corresponding to kva. */ + uint64_t gnt_base_addr; + + /** The size of the global kva pool. */ + int kva_size; + + /** + * \brief Cached value of the front-end's domain id. + * + * This value is used at once for each mapped page in + * a transaction. We cache it to avoid incuring the + * cost of an ivar access every time this is needed. + */ + domid_t otherend_id; + + /** + * \brief The blkif protocol abi in effect. + * + * There are situations where the back and front ends can + * have a different, native abi (e.g. intel x86_64 and + * 32bit x86 domains on the same machine). The back-end + * always accomodates the front-end's native abi. That + * value is pulled from the XenStore and recorded here. + */ + int abi; + + /** + * \brief The maximum number of requests allowed to be in + * flight at a time. + * + * This value is negotiated via the XenStore. + */ + uint32_t max_requests; + + /** + * \brief The maximum number of segments (1 page per segment) + * that can be mapped by a request. + * + * This value is negotiated via the XenStore. + */ + uint32_t max_request_segments; + + /** + * The maximum size of any request to this back-end + * device. + * + * This value is negotiated via the XenStore. + */ + uint32_t max_request_size; + + /** Various configuration and state bit flags. */ + xbb_flag_t flags; + + /** Ring mapping and interrupt configuration data. */ + struct xbb_ring_config ring_config; + + /** Runtime, cross-abi safe, structures for ring access. */ + blkif_back_rings_t rings; + + /** IRQ mapping for the communication ring event channel. */ + int irq; + + /** + * \brief Backend access mode flags (e.g. write, or read-only). + * + * This value is passed to us by the front-end via the XenStore. + */ + char *dev_mode; + + /** + * \brief Backend device type (e.g. "disk", "cdrom", "floppy"). + * + * This value is passed to us by the front-end via the XenStore. + * Currently unused. + */ + char *dev_type; + + /** + * \brief Backend device/file identifier. + * + * This value is passed to us by the front-end via the XenStore. + * We expect this to be a POSIX path indicating the file or + * device to open. + */ + char *dev_name; + + /** + * Vnode corresponding to the backend device node or file + * we are acessing. + */ + struct vnode *vn; + + union xbb_backend_data backend; + /** The native sector size of the backend. */ + u_int sector_size; + + /** log2 of sector_size. */ + u_int sector_size_shift; + + /** Size in bytes of the backend device or file. */ + off_t media_size; + + /** + * \brief media_size expressed in terms of the backend native + * sector size. + * + * (e.g. xbb->media_size >> xbb->sector_size_shift). + */ + uint64_t media_num_sectors; + + /** + * \brief Array of memoized scatter gather data computed during the + * conversion of blkif ring requests to internal xbb_xen_req + * structures. + * + * Ring processing is serialized so we only need one of these. + */ + struct xbb_sg xbb_sgs[XBB_MAX_SEGMENTS_PER_REQUEST]; + + /** Mutex protecting per-instance data. */ + struct mtx lock; + +#ifdef XENHVM + /** + * Resource representing allocated physical address space + * associated with our per-instance kva region. + */ + struct resource *pseudo_phys_res; - xen_phys_machine[(vtophys(va) >> PAGE_SHIFT)] = INVALID_P2M_ENTRY; + /** Resource id for allocated physical address space. */ + int pseudo_phys_res_id; +#endif - if (j == 16 || i == nr_pages) { - mcl[j-1].args[MULTI_UVMFLAGS_INDEX] = UVMF_TLB_FLUSH|UVMF_LOCAL; + /** I/O statistics. */ + struct devstat *xbb_stats; +}; - reservation.nr_extents = j; +/*---------------------------- Request Processing ----------------------------*/ +/** + * Allocate an internal transaction tracking structure from the free pool. + * + * \param xbb Per-instance xbb configuration structure. + * + * \return On success, a pointer to the allocated xbb_xen_req structure. + * Otherwise NULL. + */ +static inline struct xbb_xen_req * +xbb_get_req(struct xbb_softc *xbb) +{ + struct xbb_xen_req *req; - mcl[j].op = __HYPERVISOR_memory_op; - mcl[j].args[0] = XENMEM_decrease_reservation; - mcl[j].args[1] = (unsigned long)&reservation; - - (void)HYPERVISOR_multicall(mcl, j+1); + req = NULL; + mtx_lock(&xbb->lock); - mcl[j-1].args[MULTI_UVMFLAGS_INDEX] = 0; - j = 0; + /* + * Do not allow new requests to be allocated while we + * are shutting down. + */ + if ((xbb->flags & XBBF_SHUTDOWN) == 0) { + if ((req = SLIST_FIRST(&xbb->request_free_slist)) != NULL) { + SLIST_REMOVE_HEAD(&xbb->request_free_slist, links); + xbb->active_request_count++; + } else { + xbb->flags |= XBBF_RESOURCE_SHORTAGE; } } - - return (unsigned long)pages; -} - -static pending_req_t * -alloc_req(void) -{ - pending_req_t *req; - mtx_lock(&pending_free_lock); - if ((req = STAILQ_FIRST(&pending_free))) { - STAILQ_REMOVE(&pending_free, req, pending_req, free_list); - STAILQ_NEXT(req, free_list) = NULL; - } - mtx_unlock(&pending_free_lock); - return req; + mtx_unlock(&xbb->lock); + return (req); } -static void -free_req(pending_req_t *req) +/** + * Return an allocated transaction tracking structure to the free pool. + * + * \param xbb Per-instance xbb configuration structure. + * \param req The request structure to free. + */ +static inline void +xbb_release_req(struct xbb_softc *xbb, struct xbb_xen_req *req) { - int was_empty; - - mtx_lock(&pending_free_lock); - was_empty = STAILQ_EMPTY(&pending_free); - STAILQ_INSERT_TAIL(&pending_free, req, free_list); - mtx_unlock(&pending_free_lock); - if (was_empty) - taskqueue_enqueue(taskqueue_swi, &blk_req_task); -} + int wake_thread; -static void -fast_flush_area(pending_req_t *req) -{ - struct gnttab_unmap_grant_ref unmap[BLKIF_MAX_SEGMENTS_PER_REQUEST]; - unsigned int i, invcount = 0; - grant_handle_t handle; - int ret; + mtx_lock(&xbb->lock); + wake_thread = xbb->flags & XBBF_RESOURCE_SHORTAGE; + xbb->flags &= ~XBBF_RESOURCE_SHORTAGE; + SLIST_INSERT_HEAD(&xbb->request_free_slist, req, links); + xbb->active_request_count--; - for (i = 0; i < req->nr_pages; i++) { - handle = pending_handle(req, i); - if (handle == BLKBACK_INVALID_HANDLE) - continue; - unmap[invcount].host_addr = vaddr(req, i); - unmap[invcount].dev_bus_addr = 0; - unmap[invcount].handle = handle; - pending_handle(req, i) = BLKBACK_INVALID_HANDLE; - invcount++; + if ((xbb->flags & XBBF_SHUTDOWN) != 0) { + /* + * Shutdown is in progress. See if we can + * progress further now that one more request + * has completed and been returned to the + * free pool. + */ + xbb_shutdown(xbb); } + mtx_unlock(&xbb->lock); - ret = HYPERVISOR_grant_table_op( - GNTTABOP_unmap_grant_ref, unmap, invcount); - PANIC_IF(ret); + if (wake_thread != 0) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 21:04:45 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A81B8106566B; Tue, 19 Oct 2010 21:04:45 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9645C8FC08; Tue, 19 Oct 2010 21:04:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JL4j2P027128; Tue, 19 Oct 2010 21:04:45 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JL4j5w027126; Tue, 19 Oct 2010 21:04:45 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201010192104.o9JL4j5w027126@svn.freebsd.org> From: Edwin Groothuis Date: Tue, 19 Oct 2010 21:04:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214079 - stable/8/lib/libc/stdtime X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 21:04:45 -0000 Author: edwin Date: Tue Oct 19 21:04:45 2010 New Revision: 214079 URL: http://svn.freebsd.org/changeset/base/214079 Log: MFC of r207830 strptime(3) confused July with June with the fr_FR locale. When parsing the month "juillet" (abbr "jul"), %B recognized it as "juin" (abbr "jui") because the full name of the month names is checked at the same time as the abbrevation. The new behaviour checks the full names first before checking the abbrevation names. PR: kern/141939 Submitted by: Denis Chatelain Modified: stable/8/lib/libc/stdtime/strptime.c Directory Properties: stable/8/lib/libc/ (props changed) stable/8/lib/libc/locale/ (props changed) stable/8/lib/libc/stdtime/ (props changed) stable/8/lib/libc/sys/ (props changed) Modified: stable/8/lib/libc/stdtime/strptime.c ============================================================================== --- stable/8/lib/libc/stdtime/strptime.c Tue Oct 19 21:02:05 2010 (r214078) +++ stable/8/lib/libc/stdtime/strptime.c Tue Oct 19 21:04:45 2010 (r214079) @@ -408,6 +408,14 @@ label: if (strncasecmp(buf, tptr->month[i], len) == 0) break; + } + } + /* + * Try the abbreviated month name if the full name + * wasn't found and Oalternative was not requested. + */ + if (i == asizeof(tptr->month) && !Oalternative) { + for (i = 0; i < asizeof(tptr->month); i++) { len = strlen(tptr->mon[i]); if (strncasecmp(buf, tptr->mon[i], len) == 0) From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 21:05:23 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2E9481065672; Tue, 19 Oct 2010 21:05:23 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1CCB98FC1B; Tue, 19 Oct 2010 21:05:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JL5NU4027191; Tue, 19 Oct 2010 21:05:23 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JL5Nep027189; Tue, 19 Oct 2010 21:05:23 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201010192105.o9JL5Nep027189@svn.freebsd.org> From: Edwin Groothuis Date: Tue, 19 Oct 2010 21:05:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214080 - stable/7/lib/libc/stdtime X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 21:05:23 -0000 Author: edwin Date: Tue Oct 19 21:05:22 2010 New Revision: 214080 URL: http://svn.freebsd.org/changeset/base/214080 Log: MFC of r207830 strptime(3) confused July with June with the fr_FR locale. When parsing the month "juillet" (abbr "jul"), %B recognized it as "juin" (abbr "jui") because the full name of the month names is checked at the same time as the abbrevation. The new behaviour checks the full names first before checking the abbrevation names. PR: kern/141939 Submitted by: Denis Chatelain Modified: stable/7/lib/libc/stdtime/strptime.c Directory Properties: stable/7/lib/libc/ (props changed) stable/7/lib/libc/stdtime/ (props changed) Modified: stable/7/lib/libc/stdtime/strptime.c ============================================================================== --- stable/7/lib/libc/stdtime/strptime.c Tue Oct 19 21:04:45 2010 (r214079) +++ stable/7/lib/libc/stdtime/strptime.c Tue Oct 19 21:05:22 2010 (r214080) @@ -408,6 +408,14 @@ label: if (strncasecmp(buf, tptr->month[i], len) == 0) break; + } + } + /* + * Try the abbreviated month name if the full name + * wasn't found and Oalternative was not requested. + */ + if (i == asizeof(tptr->month) && !Oalternative) { + for (i = 0; i < asizeof(tptr->month); i++) { len = strlen(tptr->mon[i]); if (strncasecmp(buf, tptr->mon[i], len) == 0) From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 21:07:35 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6E12E106566B; Tue, 19 Oct 2010 21:07:35 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 42DD08FC15; Tue, 19 Oct 2010 21:07:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JL7Z9M027293; Tue, 19 Oct 2010 21:07:35 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JL7ZfR027291; Tue, 19 Oct 2010 21:07:35 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201010192107.o9JL7ZfR027291@svn.freebsd.org> From: Dimitry Andric Date: Tue, 19 Oct 2010 21:07:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org X-SVN-Group: svnadmin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214081 - svnadmin/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 21:07:35 -0000 Author: dim Date: Tue Oct 19 21:07:34 2010 New Revision: 214081 URL: http://svn.freebsd.org/changeset/base/214081 Log: Temporarily raise my limit, so I can import another binutils snapshot. Modified: svnadmin/conf/sizelimit.conf Modified: svnadmin/conf/sizelimit.conf ============================================================================== --- svnadmin/conf/sizelimit.conf Tue Oct 19 21:05:22 2010 (r214080) +++ svnadmin/conf/sizelimit.conf Tue Oct 19 21:07:34 2010 (r214081) @@ -32,3 +32,4 @@ gonzo kmacy jb jeff +dim From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 21:13:29 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B103E1065695; Tue, 19 Oct 2010 21:13:29 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9A31E8FC13; Tue, 19 Oct 2010 21:13:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JLDT7X027514; Tue, 19 Oct 2010 21:13:29 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JLDTNh027507; Tue, 19 Oct 2010 21:13:29 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201010192113.o9JLDTNh027507@svn.freebsd.org> From: Dimitry Andric Date: Tue, 19 Oct 2010 21:13:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214082 - in vendor/binutils/dist: . bfd bfd/doc bfd/hosts bfd/po binutils binutils/doc binutils/po binutils/testsuite binutils/testsuite/binutils-all binutils/testsuite/binutils-all/hp... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 21:13:29 -0000 Author: dim Date: Tue Oct 19 21:13:25 2010 New Revision: 214082 URL: http://svn.freebsd.org/changeset/base/214082 Log: Import the binutils-2_17-branch from the sourceware CVS repository, exactly as it was on Tue, 7 Aug 2007 00:00:13 +0000. Corresponds to git commit b458c361f01f7a257f897d0961d0a379ee999aaa. This is currently (and most likely forever :) the last commit on this branch. Added: vendor/binutils/dist/bfd/ChangeLog-2004 vendor/binutils/dist/bfd/ChangeLog-2005 vendor/binutils/dist/bfd/bfd.m4 vendor/binutils/dist/bfd/coff-maxq.c vendor/binutils/dist/bfd/coff-z80.c vendor/binutils/dist/bfd/cpu-bfin.c vendor/binutils/dist/bfd/cpu-cr16c.c vendor/binutils/dist/bfd/cpu-crx.c vendor/binutils/dist/bfd/cpu-m32c.c vendor/binutils/dist/bfd/cpu-maxq.c vendor/binutils/dist/bfd/cpu-mt.c vendor/binutils/dist/bfd/cpu-xc16x.c vendor/binutils/dist/bfd/cpu-z80.c vendor/binutils/dist/bfd/elf-vxworks.c vendor/binutils/dist/bfd/elf-vxworks.h vendor/binutils/dist/bfd/elf32-arm.c vendor/binutils/dist/bfd/elf32-bfin.c vendor/binutils/dist/bfd/elf32-cr16c.c vendor/binutils/dist/bfd/elf32-crx.c vendor/binutils/dist/bfd/elf32-m32c.c vendor/binutils/dist/bfd/elf32-mt.c vendor/binutils/dist/bfd/elf32-sh-symbian.c vendor/binutils/dist/bfd/elf32-xc16x.c vendor/binutils/dist/bfd/elfxx-sparc.c vendor/binutils/dist/bfd/elfxx-sparc.h vendor/binutils/dist/bfd/hosts/vaxlinux.h vendor/binutils/dist/bfd/m88kopenbsd.c vendor/binutils/dist/bfd/po/rw.gmo (contents, props changed) vendor/binutils/dist/bfd/po/rw.po vendor/binutils/dist/bfd/po/vi.gmo (contents, props changed) vendor/binutils/dist/bfd/po/vi.po vendor/binutils/dist/bfd/warning.m4 vendor/binutils/dist/binutils/BRANCHES vendor/binutils/dist/binutils/ChangeLog-2004 vendor/binutils/dist/binutils/ChangeLog-2005 vendor/binutils/dist/binutils/doc/config.texi vendor/binutils/dist/binutils/dwarf.c vendor/binutils/dist/binutils/dwarf.h vendor/binutils/dist/binutils/po/fi.gmo (contents, props changed) vendor/binutils/dist/binutils/po/fi.po vendor/binutils/dist/binutils/po/ro.gmo (contents, props changed) vendor/binutils/dist/binutils/po/ro.po vendor/binutils/dist/binutils/po/rw.gmo (contents, props changed) vendor/binutils/dist/binutils/po/rw.po vendor/binutils/dist/binutils/po/vi.gmo (contents, props changed) vendor/binutils/dist/binutils/po/vi.po vendor/binutils/dist/binutils/po/zh_TW.gmo (contents, props changed) vendor/binutils/dist/binutils/po/zh_TW.po vendor/binutils/dist/binutils/testsuite/binutils-all/alias.def vendor/binutils/dist/binutils/testsuite/binutils-all/group.s vendor/binutils/dist/binutils/testsuite/binutils-all/link-order.s vendor/binutils/dist/binutils/testsuite/binutils-all/m68k/ vendor/binutils/dist/binutils/testsuite/binutils-all/m68k/movem.s vendor/binutils/dist/binutils/testsuite/binutils-all/m68k/objdump.exp vendor/binutils/dist/binutils/testsuite/binutils-all/unknown.s vendor/binutils/dist/binutils/testsuite/binutils-all/vax/ vendor/binutils/dist/binutils/testsuite/binutils-all/vax/entrymask.s vendor/binutils/dist/binutils/testsuite/binutils-all/vax/objdump.exp vendor/binutils/dist/binutils/testsuite/binutils-all/windres/escapex-2.rc (contents, props changed) vendor/binutils/dist/binutils/testsuite/binutils-all/windres/escapex-2.rsd vendor/binutils/dist/config/codeset.m4 vendor/binutils/dist/config/depstand.m4 vendor/binutils/dist/config/enable.m4 vendor/binutils/dist/config/gettext-sister.m4 vendor/binutils/dist/config/glibc21.m4 vendor/binutils/dist/config/gxx-include-dir.m4 vendor/binutils/dist/config/iconv.m4 vendor/binutils/dist/config/intdiv0.m4 vendor/binutils/dist/config/inttypes-pri.m4 vendor/binutils/dist/config/inttypes.m4 vendor/binutils/dist/config/inttypes_h.m4 vendor/binutils/dist/config/lcmessage.m4 vendor/binutils/dist/config/lead-dot.m4 vendor/binutils/dist/config/lib-ld.m4 vendor/binutils/dist/config/lib-link.m4 vendor/binutils/dist/config/lib-prefix.m4 vendor/binutils/dist/config/mh-ppc-aix vendor/binutils/dist/config/mh-ppc-darwin vendor/binutils/dist/config/mh-x86omitfp vendor/binutils/dist/config/mt-gnu vendor/binutils/dist/config/nls.m4 vendor/binutils/dist/config/po.m4 vendor/binutils/dist/config/stdint.m4 vendor/binutils/dist/config/stdint_h.m4 vendor/binutils/dist/config/tls.m4 vendor/binutils/dist/config/uintmax_t.m4 vendor/binutils/dist/config/ulonglong.m4 vendor/binutils/dist/config/warnings.m4 vendor/binutils/dist/cpu/cris.cpu vendor/binutils/dist/cpu/m32c.cpu vendor/binutils/dist/cpu/m32c.opc vendor/binutils/dist/cpu/m32r.cpu vendor/binutils/dist/cpu/m32r.opc vendor/binutils/dist/cpu/mt.cpu vendor/binutils/dist/cpu/mt.opc vendor/binutils/dist/cpu/sh.cpu vendor/binutils/dist/cpu/sh.opc vendor/binutils/dist/cpu/sh64-compact.cpu vendor/binutils/dist/cpu/sh64-media.cpu vendor/binutils/dist/cpu/xc16x.cpu vendor/binutils/dist/cpu/xc16x.opc vendor/binutils/dist/depcomp (contents, props changed) vendor/binutils/dist/gas/ChangeLog-2004 vendor/binutils/dist/gas/ChangeLog-2005 vendor/binutils/dist/gas/bfin-lex.c vendor/binutils/dist/gas/bfin-parse.c vendor/binutils/dist/gas/bfin-parse.h vendor/binutils/dist/gas/config/bfin-aux.h (contents, props changed) vendor/binutils/dist/gas/config/bfin-defs.h vendor/binutils/dist/gas/config/bfin-lex.l vendor/binutils/dist/gas/config/bfin-parse.y vendor/binutils/dist/gas/config/tc-bfin.c vendor/binutils/dist/gas/config/tc-bfin.h vendor/binutils/dist/gas/config/tc-crx.c vendor/binutils/dist/gas/config/tc-crx.h vendor/binutils/dist/gas/config/tc-m32c.c vendor/binutils/dist/gas/config/tc-m32c.h vendor/binutils/dist/gas/config/tc-maxq.c vendor/binutils/dist/gas/config/tc-maxq.h vendor/binutils/dist/gas/config/tc-mt.c vendor/binutils/dist/gas/config/tc-mt.h vendor/binutils/dist/gas/config/tc-xc16x.c vendor/binutils/dist/gas/config/tc-xc16x.h vendor/binutils/dist/gas/config/tc-z80.c vendor/binutils/dist/gas/config/tc-z80.h vendor/binutils/dist/gas/config/te-armeabi.h vendor/binutils/dist/gas/config/te-armlinuxeabi.h vendor/binutils/dist/gas/config/te-gnu.h vendor/binutils/dist/gas/config/te-netware.h vendor/binutils/dist/gas/config/te-symbian.h vendor/binutils/dist/gas/config/te-vxworks.h vendor/binutils/dist/gas/configure.tgt vendor/binutils/dist/gas/doc/as.info (contents, props changed) vendor/binutils/dist/gas/doc/asconfig.texi vendor/binutils/dist/gas/doc/c-bfin.texi vendor/binutils/dist/gas/doc/c-m32c.texi vendor/binutils/dist/gas/doc/c-mt.texi vendor/binutils/dist/gas/doc/c-xc16x.texi vendor/binutils/dist/gas/doc/c-z80.texi vendor/binutils/dist/gas/itbl-lex.h vendor/binutils/dist/gas/po/rw.gmo (contents, props changed) vendor/binutils/dist/gas/po/rw.po vendor/binutils/dist/gas/testsuite/ChangeLog-2004 vendor/binutils/dist/gas/testsuite/ChangeLog-2005 vendor/binutils/dist/gas/testsuite/gas/all/altmac2.d vendor/binutils/dist/gas/testsuite/gas/all/altmac2.s vendor/binutils/dist/gas/testsuite/gas/all/altmacro.d vendor/binutils/dist/gas/testsuite/gas/all/altmacro.s vendor/binutils/dist/gas/testsuite/gas/all/assign-bad.s vendor/binutils/dist/gas/testsuite/gas/all/assign-ok.s vendor/binutils/dist/gas/testsuite/gas/all/assign.d vendor/binutils/dist/gas/testsuite/gas/all/assign.s vendor/binutils/dist/gas/testsuite/gas/all/cond.l vendor/binutils/dist/gas/testsuite/gas/all/equ-bad.s vendor/binutils/dist/gas/testsuite/gas/all/equ-ok.s vendor/binutils/dist/gas/testsuite/gas/all/equiv1.s vendor/binutils/dist/gas/testsuite/gas/all/equiv2.s vendor/binutils/dist/gas/testsuite/gas/all/eqv-bad.s vendor/binutils/dist/gas/testsuite/gas/all/eqv-ok.s vendor/binutils/dist/gas/testsuite/gas/all/err-1.s vendor/binutils/dist/gas/testsuite/gas/all/eval.d vendor/binutils/dist/gas/testsuite/gas/all/eval.s vendor/binutils/dist/gas/testsuite/gas/all/excl.s vendor/binutils/dist/gas/testsuite/gas/all/forward.d vendor/binutils/dist/gas/testsuite/gas/all/forward.s vendor/binutils/dist/gas/testsuite/gas/all/quad.d vendor/binutils/dist/gas/testsuite/gas/all/quad.s vendor/binutils/dist/gas/testsuite/gas/all/redef.d vendor/binutils/dist/gas/testsuite/gas/all/redef.s vendor/binutils/dist/gas/testsuite/gas/all/redef2.d vendor/binutils/dist/gas/testsuite/gas/all/redef2.s vendor/binutils/dist/gas/testsuite/gas/all/redef3.d vendor/binutils/dist/gas/testsuite/gas/all/redef3.s vendor/binutils/dist/gas/testsuite/gas/all/redef4.s vendor/binutils/dist/gas/testsuite/gas/all/redef5.s vendor/binutils/dist/gas/testsuite/gas/all/sleb128.d vendor/binutils/dist/gas/testsuite/gas/all/sleb128.s vendor/binutils/dist/gas/testsuite/gas/all/warn-1.s vendor/binutils/dist/gas/testsuite/gas/all/weakref1.d vendor/binutils/dist/gas/testsuite/gas/all/weakref1.s vendor/binutils/dist/gas/testsuite/gas/all/weakref1g.d vendor/binutils/dist/gas/testsuite/gas/all/weakref1l.d vendor/binutils/dist/gas/testsuite/gas/all/weakref1u.d vendor/binutils/dist/gas/testsuite/gas/all/weakref1w.d vendor/binutils/dist/gas/testsuite/gas/all/weakref2.s vendor/binutils/dist/gas/testsuite/gas/all/weakref3.s vendor/binutils/dist/gas/testsuite/gas/all/weakref4.s vendor/binutils/dist/gas/testsuite/gas/arc/extensions.d vendor/binutils/dist/gas/testsuite/gas/arc/extensions.s vendor/binutils/dist/gas/testsuite/gas/arm/abs12.d vendor/binutils/dist/gas/testsuite/gas/arm/abs12.s vendor/binutils/dist/gas/testsuite/gas/arm/arch4t.d vendor/binutils/dist/gas/testsuite/gas/arm/arch6zk.d vendor/binutils/dist/gas/testsuite/gas/arm/arch6zk.s vendor/binutils/dist/gas/testsuite/gas/arm/arch7.d vendor/binutils/dist/gas/testsuite/gas/arm/arch7.s vendor/binutils/dist/gas/testsuite/gas/arm/arch7m-bad.d vendor/binutils/dist/gas/testsuite/gas/arm/arch7m-bad.l vendor/binutils/dist/gas/testsuite/gas/arm/arch7m-bad.s vendor/binutils/dist/gas/testsuite/gas/arm/archv6t2-bad.d vendor/binutils/dist/gas/testsuite/gas/arm/archv6t2-bad.l vendor/binutils/dist/gas/testsuite/gas/arm/archv6t2-bad.s vendor/binutils/dist/gas/testsuite/gas/arm/archv6t2.d vendor/binutils/dist/gas/testsuite/gas/arm/archv6t2.s vendor/binutils/dist/gas/testsuite/gas/arm/arm3-bad.d vendor/binutils/dist/gas/testsuite/gas/arm/arm3-bad.l vendor/binutils/dist/gas/testsuite/gas/arm/arm3-bad.s vendor/binutils/dist/gas/testsuite/gas/arm/arm3.d vendor/binutils/dist/gas/testsuite/gas/arm/arm6.d vendor/binutils/dist/gas/testsuite/gas/arm/arm7dm.d vendor/binutils/dist/gas/testsuite/gas/arm/armv1-bad.d vendor/binutils/dist/gas/testsuite/gas/arm/bignum1.d vendor/binutils/dist/gas/testsuite/gas/arm/bignum1.s vendor/binutils/dist/gas/testsuite/gas/arm/blx-local.d vendor/binutils/dist/gas/testsuite/gas/arm/blx-local.s vendor/binutils/dist/gas/testsuite/gas/arm/eabi_attr_1.d vendor/binutils/dist/gas/testsuite/gas/arm/eabi_attr_1.s vendor/binutils/dist/gas/testsuite/gas/arm/float.d vendor/binutils/dist/gas/testsuite/gas/arm/immed.d vendor/binutils/dist/gas/testsuite/gas/arm/iwmmxt-bad.d vendor/binutils/dist/gas/testsuite/gas/arm/iwmmxt-bad2.d vendor/binutils/dist/gas/testsuite/gas/arm/iwmmxt-bad2.l vendor/binutils/dist/gas/testsuite/gas/arm/iwmmxt-bad2.s vendor/binutils/dist/gas/testsuite/gas/arm/macro1.d vendor/binutils/dist/gas/testsuite/gas/arm/macro1.s vendor/binutils/dist/gas/testsuite/gas/arm/nomapping.d vendor/binutils/dist/gas/testsuite/gas/arm/nomapping.s vendor/binutils/dist/gas/testsuite/gas/arm/offset.d vendor/binutils/dist/gas/testsuite/gas/arm/pic_vxworks.d vendor/binutils/dist/gas/testsuite/gas/arm/r15-bad.d vendor/binutils/dist/gas/testsuite/gas/arm/reg-alias.d vendor/binutils/dist/gas/testsuite/gas/arm/reg-alias.s vendor/binutils/dist/gas/testsuite/gas/arm/req.d vendor/binutils/dist/gas/testsuite/gas/arm/svc.d vendor/binutils/dist/gas/testsuite/gas/arm/svc.s vendor/binutils/dist/gas/testsuite/gas/arm/t16-bad.d vendor/binutils/dist/gas/testsuite/gas/arm/t16-bad.l vendor/binutils/dist/gas/testsuite/gas/arm/t16-bad.s vendor/binutils/dist/gas/testsuite/gas/arm/tcompat.d vendor/binutils/dist/gas/testsuite/gas/arm/tcompat.s vendor/binutils/dist/gas/testsuite/gas/arm/tcompat2.d vendor/binutils/dist/gas/testsuite/gas/arm/tcompat2.s vendor/binutils/dist/gas/testsuite/gas/arm/thumb.d vendor/binutils/dist/gas/testsuite/gas/arm/thumb2_bcond.d vendor/binutils/dist/gas/testsuite/gas/arm/thumb2_bcond.s vendor/binutils/dist/gas/testsuite/gas/arm/thumb2_invert.d vendor/binutils/dist/gas/testsuite/gas/arm/thumb2_invert.s vendor/binutils/dist/gas/testsuite/gas/arm/thumb2_it.d vendor/binutils/dist/gas/testsuite/gas/arm/thumb2_it.s vendor/binutils/dist/gas/testsuite/gas/arm/thumb2_it_bad.d vendor/binutils/dist/gas/testsuite/gas/arm/thumb2_it_bad.l vendor/binutils/dist/gas/testsuite/gas/arm/thumb2_it_bad.s vendor/binutils/dist/gas/testsuite/gas/arm/thumb2_pool.d vendor/binutils/dist/gas/testsuite/gas/arm/thumb2_pool.s vendor/binutils/dist/gas/testsuite/gas/arm/thumb2_relax.d vendor/binutils/dist/gas/testsuite/gas/arm/thumb2_relax.s vendor/binutils/dist/gas/testsuite/gas/arm/thumb32.d vendor/binutils/dist/gas/testsuite/gas/arm/thumb32.s vendor/binutils/dist/gas/testsuite/gas/arm/thumbv6k.d vendor/binutils/dist/gas/testsuite/gas/arm/thumbv6k.s vendor/binutils/dist/gas/testsuite/gas/arm/tls.d vendor/binutils/dist/gas/testsuite/gas/arm/tls.s vendor/binutils/dist/gas/testsuite/gas/arm/tls_vxworks.d vendor/binutils/dist/gas/testsuite/gas/arm/undefined.d vendor/binutils/dist/gas/testsuite/gas/arm/undefined_coff.d vendor/binutils/dist/gas/testsuite/gas/arm/undefined_coff.l vendor/binutils/dist/gas/testsuite/gas/arm/undefined_coff.s vendor/binutils/dist/gas/testsuite/gas/arm/unwind.d vendor/binutils/dist/gas/testsuite/gas/arm/unwind.s vendor/binutils/dist/gas/testsuite/gas/arm/unwind_vxworks.d vendor/binutils/dist/gas/testsuite/gas/arm/vfp-bad.d vendor/binutils/dist/gas/testsuite/gas/arm/vfp-bad_t2.d vendor/binutils/dist/gas/testsuite/gas/arm/vfp-bad_t2.l vendor/binutils/dist/gas/testsuite/gas/arm/vfp-bad_t2.s vendor/binutils/dist/gas/testsuite/gas/arm/vfp1_t2.d vendor/binutils/dist/gas/testsuite/gas/arm/vfp1_t2.s vendor/binutils/dist/gas/testsuite/gas/arm/vfp1xD_t2.d vendor/binutils/dist/gas/testsuite/gas/arm/vfp1xD_t2.s vendor/binutils/dist/gas/testsuite/gas/arm/vfp2_t2.d vendor/binutils/dist/gas/testsuite/gas/arm/vfp2_t2.s vendor/binutils/dist/gas/testsuite/gas/bfin/ vendor/binutils/dist/gas/testsuite/gas/bfin/arithmetic.d vendor/binutils/dist/gas/testsuite/gas/bfin/arithmetic.s vendor/binutils/dist/gas/testsuite/gas/bfin/bfin.exp vendor/binutils/dist/gas/testsuite/gas/bfin/bit.d vendor/binutils/dist/gas/testsuite/gas/bfin/bit.s vendor/binutils/dist/gas/testsuite/gas/bfin/bit2.d vendor/binutils/dist/gas/testsuite/gas/bfin/bit2.s (contents, props changed) vendor/binutils/dist/gas/testsuite/gas/bfin/cache.d vendor/binutils/dist/gas/testsuite/gas/bfin/cache.s vendor/binutils/dist/gas/testsuite/gas/bfin/cache2.d vendor/binutils/dist/gas/testsuite/gas/bfin/cache2.s (contents, props changed) vendor/binutils/dist/gas/testsuite/gas/bfin/control_code.d vendor/binutils/dist/gas/testsuite/gas/bfin/control_code.s vendor/binutils/dist/gas/testsuite/gas/bfin/control_code2.d vendor/binutils/dist/gas/testsuite/gas/bfin/control_code2.s (contents, props changed) vendor/binutils/dist/gas/testsuite/gas/bfin/event.d vendor/binutils/dist/gas/testsuite/gas/bfin/event.s vendor/binutils/dist/gas/testsuite/gas/bfin/event2.d vendor/binutils/dist/gas/testsuite/gas/bfin/event2.s (contents, props changed) vendor/binutils/dist/gas/testsuite/gas/bfin/expected_errors.l vendor/binutils/dist/gas/testsuite/gas/bfin/expected_errors.s vendor/binutils/dist/gas/testsuite/gas/bfin/expected_move_errors.l vendor/binutils/dist/gas/testsuite/gas/bfin/expected_move_errors.s vendor/binutils/dist/gas/testsuite/gas/bfin/flow.d vendor/binutils/dist/gas/testsuite/gas/bfin/flow.s vendor/binutils/dist/gas/testsuite/gas/bfin/flow2.d vendor/binutils/dist/gas/testsuite/gas/bfin/flow2.s (contents, props changed) vendor/binutils/dist/gas/testsuite/gas/bfin/load.d vendor/binutils/dist/gas/testsuite/gas/bfin/load.s vendor/binutils/dist/gas/testsuite/gas/bfin/logical.d vendor/binutils/dist/gas/testsuite/gas/bfin/logical.s vendor/binutils/dist/gas/testsuite/gas/bfin/logical2.d vendor/binutils/dist/gas/testsuite/gas/bfin/logical2.s (contents, props changed) vendor/binutils/dist/gas/testsuite/gas/bfin/move.d vendor/binutils/dist/gas/testsuite/gas/bfin/move.s vendor/binutils/dist/gas/testsuite/gas/bfin/move2.d vendor/binutils/dist/gas/testsuite/gas/bfin/move2.s (contents, props changed) vendor/binutils/dist/gas/testsuite/gas/bfin/parallel.d vendor/binutils/dist/gas/testsuite/gas/bfin/parallel.s vendor/binutils/dist/gas/testsuite/gas/bfin/parallel2.d vendor/binutils/dist/gas/testsuite/gas/bfin/parallel2.s vendor/binutils/dist/gas/testsuite/gas/bfin/parallel3.d vendor/binutils/dist/gas/testsuite/gas/bfin/parallel3.s vendor/binutils/dist/gas/testsuite/gas/bfin/parallel4.d vendor/binutils/dist/gas/testsuite/gas/bfin/parallel4.s vendor/binutils/dist/gas/testsuite/gas/bfin/reloc.d vendor/binutils/dist/gas/testsuite/gas/bfin/reloc.s vendor/binutils/dist/gas/testsuite/gas/bfin/shift.d vendor/binutils/dist/gas/testsuite/gas/bfin/shift.s vendor/binutils/dist/gas/testsuite/gas/bfin/shift2.d vendor/binutils/dist/gas/testsuite/gas/bfin/shift2.s (contents, props changed) vendor/binutils/dist/gas/testsuite/gas/bfin/stack.d vendor/binutils/dist/gas/testsuite/gas/bfin/stack.s vendor/binutils/dist/gas/testsuite/gas/bfin/stack2.d vendor/binutils/dist/gas/testsuite/gas/bfin/stack2.s (contents, props changed) vendor/binutils/dist/gas/testsuite/gas/bfin/store.d vendor/binutils/dist/gas/testsuite/gas/bfin/store.s vendor/binutils/dist/gas/testsuite/gas/bfin/vector.d vendor/binutils/dist/gas/testsuite/gas/bfin/vector.s vendor/binutils/dist/gas/testsuite/gas/bfin/vector2.d vendor/binutils/dist/gas/testsuite/gas/bfin/vector2.s (contents, props changed) vendor/binutils/dist/gas/testsuite/gas/bfin/video.d vendor/binutils/dist/gas/testsuite/gas/bfin/video.s vendor/binutils/dist/gas/testsuite/gas/bfin/video2.d vendor/binutils/dist/gas/testsuite/gas/bfin/video2.s (contents, props changed) vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-arm-1.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-arm-1.s vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-common-4.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-common-4.s vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-mips-1.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-mips-1.s vendor/binutils/dist/gas/testsuite/gas/cris/abs32-1.s vendor/binutils/dist/gas/testsuite/gas/cris/arch-err-1.s vendor/binutils/dist/gas/testsuite/gas/cris/arch-err-2.s vendor/binutils/dist/gas/testsuite/gas/cris/arch-err-3.s vendor/binutils/dist/gas/testsuite/gas/cris/arch-err-4.s vendor/binutils/dist/gas/testsuite/gas/cris/arch-err-5.s vendor/binutils/dist/gas/testsuite/gas/cris/bound-err-1.s vendor/binutils/dist/gas/testsuite/gas/cris/brokw-3b.s vendor/binutils/dist/gas/testsuite/gas/cris/march-err-1.s vendor/binutils/dist/gas/testsuite/gas/cris/march-err-2.s vendor/binutils/dist/gas/testsuite/gas/cris/push-err-1.s vendor/binutils/dist/gas/testsuite/gas/cris/push-err-2.s vendor/binutils/dist/gas/testsuite/gas/cris/pushpopv32.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-abs32-1.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-abs32-2.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-arch-1.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-arch-2.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-arch-3.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-bcnst-pic.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-bkw1b.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-bkw2b.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-bkw3b.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-bound1.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-bound1.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-bound2.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-bound3.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-bound4.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-branch-pic.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-break32.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-brokw-pic-1.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-brokw-pic-2.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-brokw-pic-3.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-fragtest-pic.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-pcplus.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-pcplus.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-pic-2.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-pic-2.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-ppv1032.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-ppv32.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-spr-1.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-spr-1.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-usp-1.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-usp-1b.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-v10_32o-1.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-v10_32o-2.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-v10_32o-2.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32-b1.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32-b1.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32-b2.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32-b2.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32-b3.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32-b3.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32-f1.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32-f1.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32-i1.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32-i1.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32-l1.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32-l1.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32-l3.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32-l3.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32-l4.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32-l4.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32o-1.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32s-1.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32s-2.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32s-2.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32s-3.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32s-3.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32s-4.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-v32s-4.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-vao-1.d vendor/binutils/dist/gas/testsuite/gas/cris/v32-err-1.s vendor/binutils/dist/gas/testsuite/gas/cris/v32-err-10.s vendor/binutils/dist/gas/testsuite/gas/cris/v32-err-11.s vendor/binutils/dist/gas/testsuite/gas/cris/v32-err-2.s vendor/binutils/dist/gas/testsuite/gas/cris/v32-err-3.s vendor/binutils/dist/gas/testsuite/gas/cris/v32-err-4.s vendor/binutils/dist/gas/testsuite/gas/cris/v32-err-5.s vendor/binutils/dist/gas/testsuite/gas/cris/v32-err-6.s vendor/binutils/dist/gas/testsuite/gas/cris/v32-err-7.s vendor/binutils/dist/gas/testsuite/gas/cris/v32-err-8.s vendor/binutils/dist/gas/testsuite/gas/cris/v32-err-9.s vendor/binutils/dist/gas/testsuite/gas/crx/ vendor/binutils/dist/gas/testsuite/gas/crx/allinsn.exp vendor/binutils/dist/gas/testsuite/gas/crx/arith_insn.d vendor/binutils/dist/gas/testsuite/gas/crx/arith_insn.s vendor/binutils/dist/gas/testsuite/gas/crx/beq_insn.d vendor/binutils/dist/gas/testsuite/gas/crx/beq_insn.s vendor/binutils/dist/gas/testsuite/gas/crx/bit_insn.d vendor/binutils/dist/gas/testsuite/gas/crx/bit_insn.s vendor/binutils/dist/gas/testsuite/gas/crx/br_insn.d vendor/binutils/dist/gas/testsuite/gas/crx/br_insn.s vendor/binutils/dist/gas/testsuite/gas/crx/cmov_insn.d vendor/binutils/dist/gas/testsuite/gas/crx/cmov_insn.s vendor/binutils/dist/gas/testsuite/gas/crx/cmpbr_insn.d vendor/binutils/dist/gas/testsuite/gas/crx/cmpbr_insn.s vendor/binutils/dist/gas/testsuite/gas/crx/cop_insn.d vendor/binutils/dist/gas/testsuite/gas/crx/cop_insn.s vendor/binutils/dist/gas/testsuite/gas/crx/gas-segfault.d vendor/binutils/dist/gas/testsuite/gas/crx/gas-segfault.s vendor/binutils/dist/gas/testsuite/gas/crx/jscond_insn.d vendor/binutils/dist/gas/testsuite/gas/crx/jscond_insn.s vendor/binutils/dist/gas/testsuite/gas/crx/list_insn.d vendor/binutils/dist/gas/testsuite/gas/crx/list_insn.s vendor/binutils/dist/gas/testsuite/gas/crx/load_stor_insn.d vendor/binutils/dist/gas/testsuite/gas/crx/load_stor_insn.s vendor/binutils/dist/gas/testsuite/gas/crx/misc_insn.d vendor/binutils/dist/gas/testsuite/gas/crx/misc_insn.s vendor/binutils/dist/gas/testsuite/gas/crx/no_op_insn.d vendor/binutils/dist/gas/testsuite/gas/crx/no_op_insn.s vendor/binutils/dist/gas/testsuite/gas/crx/shift_insn.d vendor/binutils/dist/gas/testsuite/gas/crx/shift_insn.s vendor/binutils/dist/gas/testsuite/gas/elf/group0.s vendor/binutils/dist/gas/testsuite/gas/elf/group0a.d vendor/binutils/dist/gas/testsuite/gas/elf/group0b.d vendor/binutils/dist/gas/testsuite/gas/elf/group1.s vendor/binutils/dist/gas/testsuite/gas/elf/group1a.d vendor/binutils/dist/gas/testsuite/gas/elf/group1b.d vendor/binutils/dist/gas/testsuite/gas/elf/redef.d vendor/binutils/dist/gas/testsuite/gas/elf/redef.s vendor/binutils/dist/gas/testsuite/gas/elf/section2.e-armeabi vendor/binutils/dist/gas/testsuite/gas/elf/section4.d vendor/binutils/dist/gas/testsuite/gas/elf/section4.s vendor/binutils/dist/gas/testsuite/gas/elf/section5.e vendor/binutils/dist/gas/testsuite/gas/elf/section5.l vendor/binutils/dist/gas/testsuite/gas/elf/section5.s vendor/binutils/dist/gas/testsuite/gas/elf/struct.d vendor/binutils/dist/gas/testsuite/gas/elf/struct.s vendor/binutils/dist/gas/testsuite/gas/frv/fr405-insn.d vendor/binutils/dist/gas/testsuite/gas/frv/fr405-insn.l vendor/binutils/dist/gas/testsuite/gas/frv/fr405-insn.s vendor/binutils/dist/gas/testsuite/gas/frv/fr450-insn.d vendor/binutils/dist/gas/testsuite/gas/frv/fr450-insn.l vendor/binutils/dist/gas/testsuite/gas/frv/fr450-insn.s vendor/binutils/dist/gas/testsuite/gas/frv/fr450-media-issue.l vendor/binutils/dist/gas/testsuite/gas/frv/fr450-media-issue.s vendor/binutils/dist/gas/testsuite/gas/frv/fr450-spr.d vendor/binutils/dist/gas/testsuite/gas/frv/fr450-spr.s vendor/binutils/dist/gas/testsuite/gas/frv/fr550-pack1.d vendor/binutils/dist/gas/testsuite/gas/frv/fr550-pack1.s vendor/binutils/dist/gas/testsuite/gas/h8300/addsubrxcheck.s vendor/binutils/dist/gas/testsuite/gas/h8300/symaddgen.s vendor/binutils/dist/gas/testsuite/gas/i386/bss.d vendor/binutils/dist/gas/testsuite/gas/i386/bss.s vendor/binutils/dist/gas/testsuite/gas/i386/cr-err.l vendor/binutils/dist/gas/testsuite/gas/i386/cr-err.s vendor/binutils/dist/gas/testsuite/gas/i386/crx.d vendor/binutils/dist/gas/testsuite/gas/i386/crx.s vendor/binutils/dist/gas/testsuite/gas/i386/equ.d vendor/binutils/dist/gas/testsuite/gas/i386/equ.e vendor/binutils/dist/gas/testsuite/gas/i386/equ.s vendor/binutils/dist/gas/testsuite/gas/i386/immed32.d vendor/binutils/dist/gas/testsuite/gas/i386/immed32.s vendor/binutils/dist/gas/testsuite/gas/i386/immed64.d vendor/binutils/dist/gas/testsuite/gas/i386/immed64.s vendor/binutils/dist/gas/testsuite/gas/i386/intel.e vendor/binutils/dist/gas/testsuite/gas/i386/intel16.e vendor/binutils/dist/gas/testsuite/gas/i386/intelbad.l vendor/binutils/dist/gas/testsuite/gas/i386/intelbad.s vendor/binutils/dist/gas/testsuite/gas/i386/intelok.d vendor/binutils/dist/gas/testsuite/gas/i386/intelok.e vendor/binutils/dist/gas/testsuite/gas/i386/intelok.s vendor/binutils/dist/gas/testsuite/gas/i386/inval-seg.l vendor/binutils/dist/gas/testsuite/gas/i386/inval-seg.s vendor/binutils/dist/gas/testsuite/gas/i386/merom.d vendor/binutils/dist/gas/testsuite/gas/i386/merom.s vendor/binutils/dist/gas/testsuite/gas/i386/mixed-mode-reloc.s vendor/binutils/dist/gas/testsuite/gas/i386/mixed-mode-reloc32.d vendor/binutils/dist/gas/testsuite/gas/i386/mixed-mode-reloc64.d vendor/binutils/dist/gas/testsuite/gas/i386/reloc32.d vendor/binutils/dist/gas/testsuite/gas/i386/reloc32.l vendor/binutils/dist/gas/testsuite/gas/i386/reloc32.s vendor/binutils/dist/gas/testsuite/gas/i386/reloc64.d vendor/binutils/dist/gas/testsuite/gas/i386/reloc64.l vendor/binutils/dist/gas/testsuite/gas/i386/reloc64.s vendor/binutils/dist/gas/testsuite/gas/i386/rep-suffix.d vendor/binutils/dist/gas/testsuite/gas/i386/rep-suffix.s vendor/binutils/dist/gas/testsuite/gas/i386/rep.d vendor/binutils/dist/gas/testsuite/gas/i386/rep.s vendor/binutils/dist/gas/testsuite/gas/i386/rex.d vendor/binutils/dist/gas/testsuite/gas/i386/rex.s vendor/binutils/dist/gas/testsuite/gas/i386/secrel.d vendor/binutils/dist/gas/testsuite/gas/i386/secrel.s vendor/binutils/dist/gas/testsuite/gas/i386/segment.l vendor/binutils/dist/gas/testsuite/gas/i386/segment.s vendor/binutils/dist/gas/testsuite/gas/i386/sib.d vendor/binutils/dist/gas/testsuite/gas/i386/sib.s vendor/binutils/dist/gas/testsuite/gas/i386/suffix.d vendor/binutils/dist/gas/testsuite/gas/i386/suffix.s vendor/binutils/dist/gas/testsuite/gas/i386/svme.d vendor/binutils/dist/gas/testsuite/gas/i386/svme.s vendor/binutils/dist/gas/testsuite/gas/i386/svme64.d vendor/binutils/dist/gas/testsuite/gas/i386/vmx.d vendor/binutils/dist/gas/testsuite/gas/i386/vmx.s vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-addr32.d vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-addr32.s vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-branch.d vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-branch.s vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-crx-suffix.d vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-crx.d vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-crx.s vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-drx-suffix.d vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-drx.d vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-drx.s vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-inval-seg.l vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-inval-seg.s vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-merom.d vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-merom.s vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-pcrel.d vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-pcrel.s vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-prescott.d vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-prescott.s vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-rep-suffix.d vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-rep-suffix.s vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-rep.d vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-rep.s vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-rip.d vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-rip.s vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-segment.l vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-segment.s vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-stack-intel.d vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-stack-suffix.d vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-stack.d vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-stack.s vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-unwind.d vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-unwind.s vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-vmx.d vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-vmx.s vendor/binutils/dist/gas/testsuite/gas/i386/x86_64.e vendor/binutils/dist/gas/testsuite/gas/ia64/alloc.l vendor/binutils/dist/gas/testsuite/gas/ia64/alloc.s vendor/binutils/dist/gas/testsuite/gas/ia64/bundling.d vendor/binutils/dist/gas/testsuite/gas/ia64/bundling.s vendor/binutils/dist/gas/testsuite/gas/ia64/forward.d vendor/binutils/dist/gas/testsuite/gas/ia64/forward.s vendor/binutils/dist/gas/testsuite/gas/ia64/group-1.d vendor/binutils/dist/gas/testsuite/gas/ia64/group-1.s vendor/binutils/dist/gas/testsuite/gas/ia64/group-2.d vendor/binutils/dist/gas/testsuite/gas/ia64/group-2.s vendor/binutils/dist/gas/testsuite/gas/ia64/hint.b-err.l vendor/binutils/dist/gas/testsuite/gas/ia64/hint.b-err.s vendor/binutils/dist/gas/testsuite/gas/ia64/hint.b-warn.l vendor/binutils/dist/gas/testsuite/gas/ia64/hint.b-warn.s vendor/binutils/dist/gas/testsuite/gas/ia64/index.l vendor/binutils/dist/gas/testsuite/gas/ia64/index.s vendor/binutils/dist/gas/testsuite/gas/ia64/invalid-ar.l vendor/binutils/dist/gas/testsuite/gas/ia64/invalid-ar.s vendor/binutils/dist/gas/testsuite/gas/ia64/label.l vendor/binutils/dist/gas/testsuite/gas/ia64/label.s vendor/binutils/dist/gas/testsuite/gas/ia64/last.l vendor/binutils/dist/gas/testsuite/gas/ia64/last.s vendor/binutils/dist/gas/testsuite/gas/ia64/ltoff22x-2.d vendor/binutils/dist/gas/testsuite/gas/ia64/ltoff22x-2.s vendor/binutils/dist/gas/testsuite/gas/ia64/ltoff22x-3.d vendor/binutils/dist/gas/testsuite/gas/ia64/ltoff22x-3.s vendor/binutils/dist/gas/testsuite/gas/ia64/ltoff22x-4.d vendor/binutils/dist/gas/testsuite/gas/ia64/ltoff22x-4.s vendor/binutils/dist/gas/testsuite/gas/ia64/ltoff22x-5.d vendor/binutils/dist/gas/testsuite/gas/ia64/ltoff22x-5.s vendor/binutils/dist/gas/testsuite/gas/ia64/mov-ar.d vendor/binutils/dist/gas/testsuite/gas/ia64/mov-ar.s vendor/binutils/dist/gas/testsuite/gas/ia64/no-fit.l vendor/binutils/dist/gas/testsuite/gas/ia64/no-fit.s vendor/binutils/dist/gas/testsuite/gas/ia64/nop_x.d vendor/binutils/dist/gas/testsuite/gas/ia64/nop_x.s vendor/binutils/dist/gas/testsuite/gas/ia64/nostkreg.d vendor/binutils/dist/gas/testsuite/gas/ia64/nostkreg.s vendor/binutils/dist/gas/testsuite/gas/ia64/operand-or.d vendor/binutils/dist/gas/testsuite/gas/ia64/operand-or.s vendor/binutils/dist/gas/testsuite/gas/ia64/operands.l vendor/binutils/dist/gas/testsuite/gas/ia64/operands.s vendor/binutils/dist/gas/testsuite/gas/ia64/pcrel.d vendor/binutils/dist/gas/testsuite/gas/ia64/pcrel.s vendor/binutils/dist/gas/testsuite/gas/ia64/pound.l vendor/binutils/dist/gas/testsuite/gas/ia64/pound.s vendor/binutils/dist/gas/testsuite/gas/ia64/pred-rel.s vendor/binutils/dist/gas/testsuite/gas/ia64/proc.l vendor/binutils/dist/gas/testsuite/gas/ia64/proc.s vendor/binutils/dist/gas/testsuite/gas/ia64/pseudo.d vendor/binutils/dist/gas/testsuite/gas/ia64/pseudo.s vendor/binutils/dist/gas/testsuite/gas/ia64/radix.l vendor/binutils/dist/gas/testsuite/gas/ia64/radix.s vendor/binutils/dist/gas/testsuite/gas/ia64/reg-err.l vendor/binutils/dist/gas/testsuite/gas/ia64/reg-err.s vendor/binutils/dist/gas/testsuite/gas/ia64/regval.l vendor/binutils/dist/gas/testsuite/gas/ia64/regval.s vendor/binutils/dist/gas/testsuite/gas/ia64/reloc-bad.l vendor/binutils/dist/gas/testsuite/gas/ia64/reloc-bad.s vendor/binutils/dist/gas/testsuite/gas/ia64/reloc-uw-ilp32.d vendor/binutils/dist/gas/testsuite/gas/ia64/reloc-uw.d vendor/binutils/dist/gas/testsuite/gas/ia64/reloc-uw.s vendor/binutils/dist/gas/testsuite/gas/ia64/reloc.d vendor/binutils/dist/gas/testsuite/gas/ia64/reloc.s vendor/binutils/dist/gas/testsuite/gas/ia64/rotX.l vendor/binutils/dist/gas/testsuite/gas/ia64/rotX.s vendor/binutils/dist/gas/testsuite/gas/ia64/slot2.l vendor/binutils/dist/gas/testsuite/gas/ia64/slot2.s vendor/binutils/dist/gas/testsuite/gas/ia64/strange.d vendor/binutils/dist/gas/testsuite/gas/ia64/strange.s vendor/binutils/dist/gas/testsuite/gas/ia64/unwind-bad.l vendor/binutils/dist/gas/testsuite/gas/ia64/unwind-bad.s vendor/binutils/dist/gas/testsuite/gas/ia64/unwind-err.l vendor/binutils/dist/gas/testsuite/gas/ia64/unwind-err.s vendor/binutils/dist/gas/testsuite/gas/ia64/unwind-ok.d vendor/binutils/dist/gas/testsuite/gas/ia64/unwind-ok.s vendor/binutils/dist/gas/testsuite/gas/ia64/xdata-ilp32.d vendor/binutils/dist/gas/testsuite/gas/ia64/xdata.d vendor/binutils/dist/gas/testsuite/gas/ia64/xdata.s vendor/binutils/dist/gas/testsuite/gas/lns/ vendor/binutils/dist/gas/testsuite/gas/lns/lns-common-1.d vendor/binutils/dist/gas/testsuite/gas/lns/lns-common-1.s vendor/binutils/dist/gas/testsuite/gas/lns/lns-diag-1.l vendor/binutils/dist/gas/testsuite/gas/lns/lns-diag-1.s vendor/binutils/dist/gas/testsuite/gas/lns/lns.exp vendor/binutils/dist/gas/testsuite/gas/m32r/parallel-2.d vendor/binutils/dist/gas/testsuite/gas/m32r/parallel-2.s vendor/binutils/dist/gas/testsuite/gas/m32r/pic2.d vendor/binutils/dist/gas/testsuite/gas/m32r/pic2.s vendor/binutils/dist/gas/testsuite/gas/m32r/rel32-err.s vendor/binutils/dist/gas/testsuite/gas/m32r/rel32-pic.d vendor/binutils/dist/gas/testsuite/gas/m32r/rel32-pic.s vendor/binutils/dist/gas/testsuite/gas/m32r/rel32.d vendor/binutils/dist/gas/testsuite/gas/m32r/rel32.exp vendor/binutils/dist/gas/testsuite/gas/m32r/rel32.s vendor/binutils/dist/gas/testsuite/gas/m32r/rela-1.d vendor/binutils/dist/gas/testsuite/gas/m32r/rela-1.s vendor/binutils/dist/gas/testsuite/gas/m32r/seth.d vendor/binutils/dist/gas/testsuite/gas/m32r/seth.s vendor/binutils/dist/gas/testsuite/gas/m68k/arch-cpu-1.d vendor/binutils/dist/gas/testsuite/gas/m68k/arch-cpu-1.s vendor/binutils/dist/gas/testsuite/gas/m68k/mcf-emac.d vendor/binutils/dist/gas/testsuite/gas/m68k/mcf-emac.s vendor/binutils/dist/gas/testsuite/gas/m68k/mcf-fpu.d vendor/binutils/dist/gas/testsuite/gas/m68k/mcf-fpu.s vendor/binutils/dist/gas/testsuite/gas/m68k/mcf-mac.d vendor/binutils/dist/gas/testsuite/gas/m68k/mcf-mac.s vendor/binutils/dist/gas/testsuite/gas/m68k/mode5.d vendor/binutils/dist/gas/testsuite/gas/m68k/mode5.s vendor/binutils/dist/gas/testsuite/gas/macros/badarg.l vendor/binutils/dist/gas/testsuite/gas/macros/badarg.s vendor/binutils/dist/gas/testsuite/gas/macros/dot.l vendor/binutils/dist/gas/testsuite/gas/macros/dot.s vendor/binutils/dist/gas/testsuite/gas/macros/end.l vendor/binutils/dist/gas/testsuite/gas/macros/end.s vendor/binutils/dist/gas/testsuite/gas/macros/paren.d vendor/binutils/dist/gas/testsuite/gas/macros/paren.s vendor/binutils/dist/gas/testsuite/gas/macros/purge.l vendor/binutils/dist/gas/testsuite/gas/macros/purge.s vendor/binutils/dist/gas/testsuite/gas/macros/redef.l vendor/binutils/dist/gas/testsuite/gas/macros/redef.s vendor/binutils/dist/gas/testsuite/gas/macros/repeat.d vendor/binutils/dist/gas/testsuite/gas/macros/repeat.s vendor/binutils/dist/gas/testsuite/gas/macros/vararg.d vendor/binutils/dist/gas/testsuite/gas/macros/vararg.s vendor/binutils/dist/gas/testsuite/gas/maxq10/ vendor/binutils/dist/gas/testsuite/gas/maxq10/bits.d vendor/binutils/dist/gas/testsuite/gas/maxq10/bits.s vendor/binutils/dist/gas/testsuite/gas/maxq10/call.d vendor/binutils/dist/gas/testsuite/gas/maxq10/call.s vendor/binutils/dist/gas/testsuite/gas/maxq10/data.s vendor/binutils/dist/gas/testsuite/gas/maxq10/data2.d vendor/binutils/dist/gas/testsuite/gas/maxq10/data2.s vendor/binutils/dist/gas/testsuite/gas/maxq10/data3.d vendor/binutils/dist/gas/testsuite/gas/maxq10/data3.s vendor/binutils/dist/gas/testsuite/gas/maxq10/err.s vendor/binutils/dist/gas/testsuite/gas/maxq10/jump.d vendor/binutils/dist/gas/testsuite/gas/maxq10/jump.s vendor/binutils/dist/gas/testsuite/gas/maxq10/logical.d vendor/binutils/dist/gas/testsuite/gas/maxq10/logical.s vendor/binutils/dist/gas/testsuite/gas/maxq10/math.d vendor/binutils/dist/gas/testsuite/gas/maxq10/math.s vendor/binutils/dist/gas/testsuite/gas/maxq10/maxq10.exp vendor/binutils/dist/gas/testsuite/gas/maxq10/pmtest.d vendor/binutils/dist/gas/testsuite/gas/maxq10/pmtest.s vendor/binutils/dist/gas/testsuite/gas/maxq10/range.d vendor/binutils/dist/gas/testsuite/gas/maxq10/range.s vendor/binutils/dist/gas/testsuite/gas/maxq20/ vendor/binutils/dist/gas/testsuite/gas/maxq20/bits.d vendor/binutils/dist/gas/testsuite/gas/maxq20/bits.s vendor/binutils/dist/gas/testsuite/gas/maxq20/call.d vendor/binutils/dist/gas/testsuite/gas/maxq20/call.s vendor/binutils/dist/gas/testsuite/gas/maxq20/data1.d vendor/binutils/dist/gas/testsuite/gas/maxq20/data1.s vendor/binutils/dist/gas/testsuite/gas/maxq20/data2.d vendor/binutils/dist/gas/testsuite/gas/maxq20/data2.s vendor/binutils/dist/gas/testsuite/gas/maxq20/data3.d vendor/binutils/dist/gas/testsuite/gas/maxq20/data3.s vendor/binutils/dist/gas/testsuite/gas/maxq20/jump.d vendor/binutils/dist/gas/testsuite/gas/maxq20/jump.s vendor/binutils/dist/gas/testsuite/gas/maxq20/jzimm.d vendor/binutils/dist/gas/testsuite/gas/maxq20/jzimm.s vendor/binutils/dist/gas/testsuite/gas/maxq20/logical.d vendor/binutils/dist/gas/testsuite/gas/maxq20/logical.s vendor/binutils/dist/gas/testsuite/gas/maxq20/math.d vendor/binutils/dist/gas/testsuite/gas/maxq20/math.s vendor/binutils/dist/gas/testsuite/gas/maxq20/maxq20.exp vendor/binutils/dist/gas/testsuite/gas/maxq20/pfx2.s vendor/binutils/dist/gas/testsuite/gas/maxq20/pmtest.d vendor/binutils/dist/gas/testsuite/gas/maxq20/pmtest.s vendor/binutils/dist/gas/testsuite/gas/maxq20/pxf0.s vendor/binutils/dist/gas/testsuite/gas/maxq20/range.d vendor/binutils/dist/gas/testsuite/gas/maxq20/range.s vendor/binutils/dist/gas/testsuite/gas/mips/branch-misc-2-64.d vendor/binutils/dist/gas/testsuite/gas/mips/branch-misc-2.d vendor/binutils/dist/gas/testsuite/gas/mips/branch-misc-2pic-64.d vendor/binutils/dist/gas/testsuite/gas/mips/branch-misc-2pic.d vendor/binutils/dist/gas/testsuite/gas/mips/branch-misc-3.d vendor/binutils/dist/gas/testsuite/gas/mips/branch-misc-3.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel20.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel20.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel21.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel21.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel22.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel22.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel23.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel23.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel23a.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel23b.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel24.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel24.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel25.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel25.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel25a.d vendor/binutils/dist/gas/testsuite/gas/mips/lb-svr4pic-ilocks.d vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-32-1.l vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-32-1.s vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-32-mips3-1.l vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-32-mips3-1.s vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-32-mips3-shared.d vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-32-mips3.d vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-32-mips3.s vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-eabi64.d vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-n64-sym32.d vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-sym32.s vendor/binutils/dist/gas/testsuite/gas/mips/mips16-dwarf2-n32.d vendor/binutils/dist/gas/testsuite/gas/mips/mips16-dwarf2.d vendor/binutils/dist/gas/testsuite/gas/mips/mips16-dwarf2.s vendor/binutils/dist/gas/testsuite/gas/mips/mips16-hilo-n32.d vendor/binutils/dist/gas/testsuite/gas/mips/mips16-hilo.d vendor/binutils/dist/gas/testsuite/gas/mips/mips16-hilo.s vendor/binutils/dist/gas/testsuite/gas/mips/mips16e-jrc.d vendor/binutils/dist/gas/testsuite/gas/mips/mips16e-jrc.s vendor/binutils/dist/gas/testsuite/gas/mips/mips16e-save.d vendor/binutils/dist/gas/testsuite/gas/mips/mips16e-save.s vendor/binutils/dist/gas/testsuite/gas/mips/mips32-dsp.d vendor/binutils/dist/gas/testsuite/gas/mips/mips32-dsp.l vendor/binutils/dist/gas/testsuite/gas/mips/mips32-dsp.s vendor/binutils/dist/gas/testsuite/gas/mips/mips32-mt.d vendor/binutils/dist/gas/testsuite/gas/mips/mips32-mt.l vendor/binutils/dist/gas/testsuite/gas/mips/mips32-mt.s vendor/binutils/dist/gas/testsuite/gas/mips/noat-1.d vendor/binutils/dist/gas/testsuite/gas/mips/noat-1.s vendor/binutils/dist/gas/testsuite/gas/mips/noat-2.l vendor/binutils/dist/gas/testsuite/gas/mips/noat-2.s vendor/binutils/dist/gas/testsuite/gas/mips/noat-3.l vendor/binutils/dist/gas/testsuite/gas/mips/noat-3.s vendor/binutils/dist/gas/testsuite/gas/mips/noat-4.l vendor/binutils/dist/gas/testsuite/gas/mips/noat-4.s vendor/binutils/dist/gas/testsuite/gas/mips/noat-5.l vendor/binutils/dist/gas/testsuite/gas/mips/noat-5.s vendor/binutils/dist/gas/testsuite/gas/mips/noat-6.l vendor/binutils/dist/gas/testsuite/gas/mips/noat-6.s vendor/binutils/dist/gas/testsuite/gas/mips/noat-7.l vendor/binutils/dist/gas/testsuite/gas/mips/noat-7.s vendor/binutils/dist/gas/testsuite/gas/mips/tls-ill.l vendor/binutils/dist/gas/testsuite/gas/mips/tls-ill.s vendor/binutils/dist/gas/testsuite/gas/mips/tls-o32.d vendor/binutils/dist/gas/testsuite/gas/mips/tls-o32.s vendor/binutils/dist/gas/testsuite/gas/mips/vr4120-2.d vendor/binutils/dist/gas/testsuite/gas/mips/vr4120-2.s vendor/binutils/dist/gas/testsuite/gas/mips/vr4130.d vendor/binutils/dist/gas/testsuite/gas/mips/vr4130.s vendor/binutils/dist/gas/testsuite/gas/mips/vxworks1-el.d vendor/binutils/dist/gas/testsuite/gas/mips/vxworks1-xgot-el.d vendor/binutils/dist/gas/testsuite/gas/mips/vxworks1-xgot.d vendor/binutils/dist/gas/testsuite/gas/mips/vxworks1.d vendor/binutils/dist/gas/testsuite/gas/mips/vxworks1.s vendor/binutils/dist/gas/testsuite/gas/mmix/hex2.d vendor/binutils/dist/gas/testsuite/gas/mmix/hex2.s vendor/binutils/dist/gas/testsuite/gas/mn10300/relax.d vendor/binutils/dist/gas/testsuite/gas/mn10300/relax.s vendor/binutils/dist/gas/testsuite/gas/mt/ vendor/binutils/dist/gas/testsuite/gas/mt/allinsn.d vendor/binutils/dist/gas/testsuite/gas/mt/allinsn.s vendor/binutils/dist/gas/testsuite/gas/mt/badinsn.s vendor/binutils/dist/gas/testsuite/gas/mt/badinsn1.s vendor/binutils/dist/gas/testsuite/gas/mt/badoffsethigh.s vendor/binutils/dist/gas/testsuite/gas/mt/badoffsetlow.s vendor/binutils/dist/gas/testsuite/gas/mt/badorder.s vendor/binutils/dist/gas/testsuite/gas/mt/badreg.s vendor/binutils/dist/gas/testsuite/gas/mt/badsignedimmhigh.s vendor/binutils/dist/gas/testsuite/gas/mt/badsignedimmlow.s vendor/binutils/dist/gas/testsuite/gas/mt/badsyntax.s vendor/binutils/dist/gas/testsuite/gas/mt/badsyntax1.s vendor/binutils/dist/gas/testsuite/gas/mt/badunsignedimmhigh.s vendor/binutils/dist/gas/testsuite/gas/mt/badunsignedimmlow.s vendor/binutils/dist/gas/testsuite/gas/mt/errors.exp vendor/binutils/dist/gas/testsuite/gas/mt/ldst.s vendor/binutils/dist/gas/testsuite/gas/mt/misc.d vendor/binutils/dist/gas/testsuite/gas/mt/misc.s vendor/binutils/dist/gas/testsuite/gas/mt/ms1-16-003.d vendor/binutils/dist/gas/testsuite/gas/mt/ms1-16-003.s vendor/binutils/dist/gas/testsuite/gas/mt/ms2.d vendor/binutils/dist/gas/testsuite/gas/mt/ms2.s vendor/binutils/dist/gas/testsuite/gas/mt/msys.d vendor/binutils/dist/gas/testsuite/gas/mt/msys.s vendor/binutils/dist/gas/testsuite/gas/mt/mt.exp vendor/binutils/dist/gas/testsuite/gas/mt/relocs.d vendor/binutils/dist/gas/testsuite/gas/mt/relocs.exp vendor/binutils/dist/gas/testsuite/gas/mt/relocs1.s vendor/binutils/dist/gas/testsuite/gas/mt/relocs2.s vendor/binutils/dist/gas/testsuite/gas/s390/esa-g5.d vendor/binutils/dist/gas/testsuite/gas/s390/esa-g5.s vendor/binutils/dist/gas/testsuite/gas/s390/esa-operands.d vendor/binutils/dist/gas/testsuite/gas/s390/esa-operands.s vendor/binutils/dist/gas/testsuite/gas/s390/esa-reloc.d vendor/binutils/dist/gas/testsuite/gas/s390/esa-reloc.s vendor/binutils/dist/gas/testsuite/gas/s390/esa-z9-109.d vendor/binutils/dist/gas/testsuite/gas/s390/esa-z9-109.s vendor/binutils/dist/gas/testsuite/gas/s390/esa-z900.d vendor/binutils/dist/gas/testsuite/gas/s390/esa-z900.s vendor/binutils/dist/gas/testsuite/gas/s390/esa-z990.d vendor/binutils/dist/gas/testsuite/gas/s390/esa-z990.s vendor/binutils/dist/gas/testsuite/gas/s390/zarch-operands.d vendor/binutils/dist/gas/testsuite/gas/s390/zarch-operands.s vendor/binutils/dist/gas/testsuite/gas/s390/zarch-reloc.d vendor/binutils/dist/gas/testsuite/gas/s390/zarch-reloc.s vendor/binutils/dist/gas/testsuite/gas/s390/zarch-z9-109.d vendor/binutils/dist/gas/testsuite/gas/s390/zarch-z9-109.s vendor/binutils/dist/gas/testsuite/gas/s390/zarch-z900.d vendor/binutils/dist/gas/testsuite/gas/s390/zarch-z900.s vendor/binutils/dist/gas/testsuite/gas/s390/zarch-z990.d vendor/binutils/dist/gas/testsuite/gas/s390/zarch-z990.s vendor/binutils/dist/gas/testsuite/gas/sh/arch/ vendor/binutils/dist/gas/testsuite/gas/sh/arch/arch.exp vendor/binutils/dist/gas/testsuite/gas/sh/arch/arch_expected.txt vendor/binutils/dist/gas/testsuite/gas/sh/arch/sh-dsp.s vendor/binutils/dist/gas/testsuite/gas/sh/arch/sh.s vendor/binutils/dist/gas/testsuite/gas/sh/arch/sh2.s vendor/binutils/dist/gas/testsuite/gas/sh/arch/sh2a-nofpu-or-sh3-nommu.s vendor/binutils/dist/gas/testsuite/gas/sh/arch/sh2a-nofpu-or-sh4-nommu-nofpu.s vendor/binutils/dist/gas/testsuite/gas/sh/arch/sh2a-nofpu.s vendor/binutils/dist/gas/testsuite/gas/sh/arch/sh2a-or-sh3e.s vendor/binutils/dist/gas/testsuite/gas/sh/arch/sh2a-or-sh4.s vendor/binutils/dist/gas/testsuite/gas/sh/arch/sh2a.s vendor/binutils/dist/gas/testsuite/gas/sh/arch/sh2e.s vendor/binutils/dist/gas/testsuite/gas/sh/arch/sh3-dsp.s vendor/binutils/dist/gas/testsuite/gas/sh/arch/sh3-nommu.s vendor/binutils/dist/gas/testsuite/gas/sh/arch/sh3.s vendor/binutils/dist/gas/testsuite/gas/sh/arch/sh3e.s vendor/binutils/dist/gas/testsuite/gas/sh/arch/sh4-nofpu.s vendor/binutils/dist/gas/testsuite/gas/sh/arch/sh4-nommu-nofpu.s vendor/binutils/dist/gas/testsuite/gas/sh/arch/sh4.s vendor/binutils/dist/gas/testsuite/gas/sh/arch/sh4a-nofpu.s vendor/binutils/dist/gas/testsuite/gas/sh/arch/sh4a.s vendor/binutils/dist/gas/testsuite/gas/sh/arch/sh4al-dsp.s vendor/binutils/dist/gas/testsuite/gas/sh/pcrel-hms.d vendor/binutils/dist/gas/testsuite/gas/sh/reg-prefix.d vendor/binutils/dist/gas/testsuite/gas/sh/reg-prefix.s vendor/binutils/dist/gas/testsuite/gas/sh/sh2a.d vendor/binutils/dist/gas/testsuite/gas/sh/sh2a.s vendor/binutils/dist/gas/testsuite/gas/sparc/rdhpr.d vendor/binutils/dist/gas/testsuite/gas/sparc/rdhpr.s vendor/binutils/dist/gas/testsuite/gas/sparc/vxworks-pic.d vendor/binutils/dist/gas/testsuite/gas/sparc/vxworks-pic.s vendor/binutils/dist/gas/testsuite/gas/sparc/window.d vendor/binutils/dist/gas/testsuite/gas/sparc/window.s vendor/binutils/dist/gas/testsuite/gas/sparc/wrhpr.d vendor/binutils/dist/gas/testsuite/gas/sparc/wrhpr.s vendor/binutils/dist/gas/testsuite/gas/v850/split-lo16.d vendor/binutils/dist/gas/testsuite/gas/v850/split-lo16.s vendor/binutils/dist/gas/testsuite/gas/vax/flonum.d vendor/binutils/dist/gas/testsuite/gas/vax/flonum.s vendor/binutils/dist/gas/testsuite/gas/xc16x/ vendor/binutils/dist/gas/testsuite/gas/xc16x/add.s vendor/binutils/dist/gas/testsuite/gas/xc16x/add_test.s vendor/binutils/dist/gas/testsuite/gas/xc16x/addb.s vendor/binutils/dist/gas/testsuite/gas/xc16x/addc.s vendor/binutils/dist/gas/testsuite/gas/xc16x/addcb.s vendor/binutils/dist/gas/testsuite/gas/xc16x/and.s vendor/binutils/dist/gas/testsuite/gas/xc16x/andb.s vendor/binutils/dist/gas/testsuite/gas/xc16x/bfldl.s vendor/binutils/dist/gas/testsuite/gas/xc16x/bit.s vendor/binutils/dist/gas/testsuite/gas/xc16x/calla.s vendor/binutils/dist/gas/testsuite/gas/xc16x/calli.s vendor/binutils/dist/gas/testsuite/gas/xc16x/cmp.s vendor/binutils/dist/gas/testsuite/gas/xc16x/cmp_test.s vendor/binutils/dist/gas/testsuite/gas/xc16x/cmpb.s vendor/binutils/dist/gas/testsuite/gas/xc16x/cmpi.s vendor/binutils/dist/gas/testsuite/gas/xc16x/cpl.s vendor/binutils/dist/gas/testsuite/gas/xc16x/div.s vendor/binutils/dist/gas/testsuite/gas/xc16x/jmpa.s vendor/binutils/dist/gas/testsuite/gas/xc16x/jmpi.s vendor/binutils/dist/gas/testsuite/gas/xc16x/jmpr.s vendor/binutils/dist/gas/testsuite/gas/xc16x/mov.s vendor/binutils/dist/gas/testsuite/gas/xc16x/mov_test.s vendor/binutils/dist/gas/testsuite/gas/xc16x/movb.s vendor/binutils/dist/gas/testsuite/gas/xc16x/movbs.s vendor/binutils/dist/gas/testsuite/gas/xc16x/movbz.s vendor/binutils/dist/gas/testsuite/gas/xc16x/mul.s vendor/binutils/dist/gas/testsuite/gas/xc16x/neg.s vendor/binutils/dist/gas/testsuite/gas/xc16x/nop.s vendor/binutils/dist/gas/testsuite/gas/xc16x/or.s vendor/binutils/dist/gas/testsuite/gas/xc16x/orb.s vendor/binutils/dist/gas/testsuite/gas/xc16x/prior.s vendor/binutils/dist/gas/testsuite/gas/xc16x/pushpop.s vendor/binutils/dist/gas/testsuite/gas/xc16x/ret.s vendor/binutils/dist/gas/testsuite/gas/xc16x/scxt.s vendor/binutils/dist/gas/testsuite/gas/xc16x/shlrol.s vendor/binutils/dist/gas/testsuite/gas/xc16x/sub.s vendor/binutils/dist/gas/testsuite/gas/xc16x/sub_test.s vendor/binutils/dist/gas/testsuite/gas/xc16x/subb.s vendor/binutils/dist/gas/testsuite/gas/xc16x/subc.s vendor/binutils/dist/gas/testsuite/gas/xc16x/subcb.s vendor/binutils/dist/gas/testsuite/gas/xc16x/syscontrol1.s vendor/binutils/dist/gas/testsuite/gas/xc16x/syscontrol2.s vendor/binutils/dist/gas/testsuite/gas/xc16x/trap.s vendor/binutils/dist/gas/testsuite/gas/xc16x/xc16x.exp vendor/binutils/dist/gas/testsuite/gas/xc16x/xor.s vendor/binutils/dist/gas/testsuite/gas/xc16x/xorb.s vendor/binutils/dist/gas/testsuite/gas/xtensa/short_branch_offset.d vendor/binutils/dist/gas/testsuite/gas/xtensa/short_branch_offset.s vendor/binutils/dist/gas/testsuite/gas/z80/ vendor/binutils/dist/gas/testsuite/gas/z80/offset.d vendor/binutils/dist/gas/testsuite/gas/z80/offset.s vendor/binutils/dist/gas/testsuite/gas/z80/quotes.d vendor/binutils/dist/gas/testsuite/gas/z80/quotes.s vendor/binutils/dist/gas/testsuite/gas/z80/redef.d vendor/binutils/dist/gas/testsuite/gas/z80/redef.s vendor/binutils/dist/gas/testsuite/gas/z80/suffix.d vendor/binutils/dist/gas/testsuite/gas/z80/suffix.s vendor/binutils/dist/gas/testsuite/gas/z80/z80.exp vendor/binutils/dist/gprof/ChangeLog-2004 vendor/binutils/dist/gprof/ChangeLog-2005 vendor/binutils/dist/gprof/config.texi vendor/binutils/dist/gprof/po/ga.gmo (contents, props changed) vendor/binutils/dist/gprof/po/ga.po vendor/binutils/dist/gprof/po/rw.gmo (contents, props changed) vendor/binutils/dist/gprof/po/rw.po vendor/binutils/dist/gprof/po/vi.gmo (contents, props changed) vendor/binutils/dist/gprof/po/vi.po vendor/binutils/dist/include/coff/maxq.h vendor/binutils/dist/include/coff/z80.h vendor/binutils/dist/include/elf/bfin.h vendor/binutils/dist/include/elf/cr16c.h vendor/binutils/dist/include/elf/crx.h vendor/binutils/dist/include/elf/m32c.h vendor/binutils/dist/include/elf/mt.h vendor/binutils/dist/include/elf/xc16x.h vendor/binutils/dist/include/gdb/sim-m32c.h vendor/binutils/dist/include/gdb/sim-ppc.h vendor/binutils/dist/include/opcode/bfin.h (contents, props changed) vendor/binutils/dist/include/opcode/cgen-bitset.h vendor/binutils/dist/include/opcode/crx.h vendor/binutils/dist/include/opcode/maxq.h vendor/binutils/dist/ld/ChangeLog-2004 vendor/binutils/dist/ld/ChangeLog-2005 vendor/binutils/dist/ld/configdoc.texi vendor/binutils/dist/ld/elf-hints-local.h vendor/binutils/dist/ld/emulparams/armelf_linux_eabi.sh vendor/binutils/dist/ld/emulparams/armelf_vxworks.sh vendor/binutils/dist/ld/emulparams/armelfb_linux_eabi.sh vendor/binutils/dist/ld/emulparams/armsymbian.sh vendor/binutils/dist/ld/emulparams/bfin.sh (contents, props changed) vendor/binutils/dist/ld/emulparams/elf32_sparc_vxworks.sh vendor/binutils/dist/ld/emulparams/elf32bfinfd.sh vendor/binutils/dist/ld/emulparams/elf32cr16c.sh vendor/binutils/dist/ld/emulparams/elf32crx.sh vendor/binutils/dist/ld/emulparams/elf32ebmipvxworks.sh vendor/binutils/dist/ld/emulparams/elf32elmipvxworks.sh vendor/binutils/dist/ld/emulparams/elf32m32c.sh vendor/binutils/dist/ld/emulparams/elf32mt.sh vendor/binutils/dist/ld/emulparams/elf32ppccommon.sh vendor/binutils/dist/ld/emulparams/elf32ppcvxworks.sh vendor/binutils/dist/ld/emulparams/elf32xc16x.sh vendor/binutils/dist/ld/emulparams/elf32xc16xl.sh vendor/binutils/dist/ld/emulparams/elf32xc16xs.sh vendor/binutils/dist/ld/emulparams/elf_i386_vxworks.sh vendor/binutils/dist/ld/emulparams/maxqcoff.sh vendor/binutils/dist/ld/emulparams/ppclynx.sh vendor/binutils/dist/ld/emulparams/shlsymbian.sh vendor/binutils/dist/ld/emulparams/vxworks.sh vendor/binutils/dist/ld/emulparams/z80.sh vendor/binutils/dist/ld/emultempl/crxelf.em vendor/binutils/dist/ld/emultempl/vxworks.em vendor/binutils/dist/ld/emultempl/z80.em vendor/binutils/dist/ld/po/vi.gmo (contents, props changed) vendor/binutils/dist/ld/po/vi.po vendor/binutils/dist/ld/po/zh_CN.gmo (contents, props changed) vendor/binutils/dist/ld/po/zh_CN.po vendor/binutils/dist/ld/scripttempl/armbpabi.sc vendor/binutils/dist/ld/scripttempl/elf32cr16c.sc vendor/binutils/dist/ld/scripttempl/elf32crx.sc vendor/binutils/dist/ld/scripttempl/elf32sh-symbian.sc vendor/binutils/dist/ld/scripttempl/elf32xc16x.sc vendor/binutils/dist/ld/scripttempl/elf32xc16xl.sc vendor/binutils/dist/ld/scripttempl/elf32xc16xs.sc vendor/binutils/dist/ld/scripttempl/maxqcoff.sc vendor/binutils/dist/ld/scripttempl/z80.sc vendor/binutils/dist/ld/testsuite/ChangeLog-2004 vendor/binutils/dist/ld/testsuite/ChangeLog-2005 vendor/binutils/dist/ld/testsuite/ld-arm/arm-call.d vendor/binutils/dist/ld/testsuite/ld-arm/arm-call1.s vendor/binutils/dist/ld/testsuite/ld-arm/arm-call2.s vendor/binutils/dist/ld/testsuite/ld-arm/arm-dyn.ld vendor/binutils/dist/ld/testsuite/ld-arm/arm-lib.ld vendor/binutils/dist/ld/testsuite/ld-arm/arm-rel31.d vendor/binutils/dist/ld/testsuite/ld-arm/arm-rel31.s vendor/binutils/dist/ld/testsuite/ld-arm/arm-target1-abs.d vendor/binutils/dist/ld/testsuite/ld-arm/arm-target1-rel.d vendor/binutils/dist/ld/testsuite/ld-arm/arm-target1.s vendor/binutils/dist/ld/testsuite/ld-arm/arm-target2-abs.d vendor/binutils/dist/ld/testsuite/ld-arm/arm-target2-got-rel.d vendor/binutils/dist/ld/testsuite/ld-arm/arm-target2-rel.d vendor/binutils/dist/ld/testsuite/ld-arm/arm-target2.s vendor/binutils/dist/ld/testsuite/ld-arm/arm.ld vendor/binutils/dist/ld/testsuite/ld-arm/mixed-app-v5.d vendor/binutils/dist/ld/testsuite/ld-arm/mixed-app.d vendor/binutils/dist/ld/testsuite/ld-arm/mixed-app.r vendor/binutils/dist/ld/testsuite/ld-arm/mixed-app.s vendor/binutils/dist/ld/testsuite/ld-arm/mixed-app.sym vendor/binutils/dist/ld/testsuite/ld-arm/mixed-lib.d vendor/binutils/dist/ld/testsuite/ld-arm/mixed-lib.r vendor/binutils/dist/ld/testsuite/ld-arm/mixed-lib.s vendor/binutils/dist/ld/testsuite/ld-arm/mixed-lib.sym vendor/binutils/dist/ld/testsuite/ld-arm/thumb-entry.d vendor/binutils/dist/ld/testsuite/ld-arm/thumb-entry.s vendor/binutils/dist/ld/testsuite/ld-arm/thumb-rel32.d vendor/binutils/dist/ld/testsuite/ld-arm/thumb-rel32.s vendor/binutils/dist/ld/testsuite/ld-arm/tls-app.d vendor/binutils/dist/ld/testsuite/ld-arm/tls-app.r vendor/binutils/dist/ld/testsuite/ld-arm/tls-app.s vendor/binutils/dist/ld/testsuite/ld-arm/tls-lib.d vendor/binutils/dist/ld/testsuite/ld-arm/tls-lib.r vendor/binutils/dist/ld/testsuite/ld-arm/tls-lib.s vendor/binutils/dist/ld/testsuite/ld-arm/vxworks1-lib.dd vendor/binutils/dist/ld/testsuite/ld-arm/vxworks1-lib.nd vendor/binutils/dist/ld/testsuite/ld-arm/vxworks1-lib.rd vendor/binutils/dist/ld/testsuite/ld-arm/vxworks1-lib.s vendor/binutils/dist/ld/testsuite/ld-arm/vxworks1-static.d vendor/binutils/dist/ld/testsuite/ld-arm/vxworks1.dd vendor/binutils/dist/ld/testsuite/ld-arm/vxworks1.ld vendor/binutils/dist/ld/testsuite/ld-arm/vxworks1.rd vendor/binutils/dist/ld/testsuite/ld-arm/vxworks1.s vendor/binutils/dist/ld/testsuite/ld-arm/vxworks2-static.sd vendor/binutils/dist/ld/testsuite/ld-arm/vxworks2.s vendor/binutils/dist/ld/testsuite/ld-arm/vxworks2.sd vendor/binutils/dist/ld/testsuite/ld-cris/def2.d vendor/binutils/dist/ld/testsuite/ld-cris/def3.d vendor/binutils/dist/ld/testsuite/ld-cris/dsov32-1.s vendor/binutils/dist/ld/testsuite/ld-cris/dsov32-2.s vendor/binutils/dist/ld/testsuite/ld-cris/dsov32-3.s vendor/binutils/dist/ld/testsuite/ld-cris/dsov32-4.s vendor/binutils/dist/ld/testsuite/ld-cris/globsym1ref.s vendor/binutils/dist/ld/testsuite/ld-cris/globsymw1.s vendor/binutils/dist/ld/testsuite/ld-cris/globsymw2.s vendor/binutils/dist/ld/testsuite/ld-cris/hiddef1.d vendor/binutils/dist/ld/testsuite/ld-cris/hiddef1.s vendor/binutils/dist/ld/testsuite/ld-cris/hidrefgotplt1.s vendor/binutils/dist/ld/testsuite/ld-cris/libdso-10.d vendor/binutils/dist/ld/testsuite/ld-cris/libdso-11.d vendor/binutils/dist/ld/testsuite/ld-cris/libdso-12.d vendor/binutils/dist/ld/testsuite/ld-cris/libdso-13.d vendor/binutils/dist/ld/testsuite/ld-cris/libdso-14.d vendor/binutils/dist/ld/testsuite/ld-cris/move-1.s vendor/binutils/dist/ld/testsuite/ld-cris/noov.d vendor/binutils/dist/ld/testsuite/ld-cris/noov.s vendor/binutils/dist/ld/testsuite/ld-cris/pv32-1.d vendor/binutils/dist/ld/testsuite/ld-cris/pv32.s vendor/binutils/dist/ld/testsuite/ld-cris/stabs1.s vendor/binutils/dist/ld/testsuite/ld-cris/start1.s vendor/binutils/dist/ld/testsuite/ld-cris/undef2.d vendor/binutils/dist/ld/testsuite/ld-cris/undef3.d vendor/binutils/dist/ld/testsuite/ld-cris/v10-v32.d vendor/binutils/dist/ld/testsuite/ld-cris/v10-va.d vendor/binutils/dist/ld/testsuite/ld-cris/v32-ba-1.d vendor/binutils/dist/ld/testsuite/ld-cris/v32-ba-1.s vendor/binutils/dist/ld/testsuite/ld-cris/v32-bin-1.d vendor/binutils/dist/ld/testsuite/ld-cris/v32-bin-1.s vendor/binutils/dist/ld/testsuite/ld-cris/v32-v10.d vendor/binutils/dist/ld/testsuite/ld-cris/v32-va.d vendor/binutils/dist/ld/testsuite/ld-cris/va-v10.d vendor/binutils/dist/ld/testsuite/ld-cris/va-v32.d vendor/binutils/dist/ld/testsuite/ld-cris/warn1.d vendor/binutils/dist/ld/testsuite/ld-cris/warn2.d vendor/binutils/dist/ld/testsuite/ld-cris/warn3.d vendor/binutils/dist/ld/testsuite/ld-cris/warn4.d vendor/binutils/dist/ld/testsuite/ld-crx/ vendor/binutils/dist/ld/testsuite/ld-crx/crx.exp vendor/binutils/dist/ld/testsuite/ld-crx/crx.ld vendor/binutils/dist/ld/testsuite/ld-crx/reloc-abs32.d vendor/binutils/dist/ld/testsuite/ld-crx/reloc-abs32.s vendor/binutils/dist/ld/testsuite/ld-crx/reloc-imm16.d vendor/binutils/dist/ld/testsuite/ld-crx/reloc-imm16.s vendor/binutils/dist/ld/testsuite/ld-crx/reloc-imm32.d vendor/binutils/dist/ld/testsuite/ld-crx/reloc-imm32.s vendor/binutils/dist/ld/testsuite/ld-crx/reloc-num16.d vendor/binutils/dist/ld/testsuite/ld-crx/reloc-num16.s vendor/binutils/dist/ld/testsuite/ld-crx/reloc-num32.d vendor/binutils/dist/ld/testsuite/ld-crx/reloc-num32.s vendor/binutils/dist/ld/testsuite/ld-crx/reloc-num8.d vendor/binutils/dist/ld/testsuite/ld-crx/reloc-num8.s vendor/binutils/dist/ld/testsuite/ld-crx/reloc-regrel12.d vendor/binutils/dist/ld/testsuite/ld-crx/reloc-regrel12.s vendor/binutils/dist/ld/testsuite/ld-crx/reloc-regrel22.d vendor/binutils/dist/ld/testsuite/ld-crx/reloc-regrel22.s vendor/binutils/dist/ld/testsuite/ld-crx/reloc-regrel28.d vendor/binutils/dist/ld/testsuite/ld-crx/reloc-regrel28.s vendor/binutils/dist/ld/testsuite/ld-crx/reloc-regrel32.d vendor/binutils/dist/ld/testsuite/ld-crx/reloc-regrel32.s vendor/binutils/dist/ld/testsuite/ld-crx/reloc-rel16.d vendor/binutils/dist/ld/testsuite/ld-crx/reloc-rel16.s vendor/binutils/dist/ld/testsuite/ld-crx/reloc-rel24.d vendor/binutils/dist/ld/testsuite/ld-crx/reloc-rel24.s vendor/binutils/dist/ld/testsuite/ld-crx/reloc-rel32.d vendor/binutils/dist/ld/testsuite/ld-crx/reloc-rel32.s vendor/binutils/dist/ld/testsuite/ld-crx/reloc-rel4.d vendor/binutils/dist/ld/testsuite/ld-crx/reloc-rel4.s vendor/binutils/dist/ld/testsuite/ld-crx/reloc-rel8-cmp.d vendor/binutils/dist/ld/testsuite/ld-crx/reloc-rel8-cmp.s vendor/binutils/dist/ld/testsuite/ld-crx/reloc-rel8.d vendor/binutils/dist/ld/testsuite/ld-crx/reloc-rel8.s vendor/binutils/dist/ld/testsuite/ld-elf/eh1.d vendor/binutils/dist/ld/testsuite/ld-elf/eh1.s vendor/binutils/dist/ld/testsuite/ld-elf/eh1a.s vendor/binutils/dist/ld/testsuite/ld-elf/eh2.d vendor/binutils/dist/ld/testsuite/ld-elf/eh2a.s vendor/binutils/dist/ld/testsuite/ld-elf/eh3.d vendor/binutils/dist/ld/testsuite/ld-elf/eh3.s vendor/binutils/dist/ld/testsuite/ld-elf/eh3a.s vendor/binutils/dist/ld/testsuite/ld-elf/empty.d vendor/binutils/dist/ld/testsuite/ld-elf/empty.s vendor/binutils/dist/ld/testsuite/ld-elf/empty2.d vendor/binutils/dist/ld/testsuite/ld-elf/empty2.s vendor/binutils/dist/ld/testsuite/ld-elf/exclude.exp vendor/binutils/dist/ld/testsuite/ld-elf/exclude1.s vendor/binutils/dist/ld/testsuite/ld-elf/exclude2.s vendor/binutils/dist/ld/testsuite/ld-elf/fini.c vendor/binutils/dist/ld/testsuite/ld-elf/fini.out vendor/binutils/dist/ld/testsuite/ld-elf/frame.exp vendor/binutils/dist/ld/testsuite/ld-elf/frame.s vendor/binutils/dist/ld/testsuite/ld-elf/group.ld vendor/binutils/dist/ld/testsuite/ld-elf/group1.d vendor/binutils/dist/ld/testsuite/ld-elf/group1a.s vendor/binutils/dist/ld/testsuite/ld-elf/group1b.s vendor/binutils/dist/ld/testsuite/ld-elf/group2.d vendor/binutils/dist/ld/testsuite/ld-elf/init.c vendor/binutils/dist/ld/testsuite/ld-elf/init.out vendor/binutils/dist/ld/testsuite/ld-elf/orphan.d vendor/binutils/dist/ld/testsuite/ld-elf/orphan.ld vendor/binutils/dist/ld/testsuite/ld-elf/orphan.s vendor/binutils/dist/ld/testsuite/ld-elf/orphan2.d vendor/binutils/dist/ld/testsuite/ld-elf/orphan2.s vendor/binutils/dist/ld/testsuite/ld-elf/preinit.c vendor/binutils/dist/ld/testsuite/ld-elf/preinit.out vendor/binutils/dist/ld/testsuite/ld-elf/start.s vendor/binutils/dist/ld/testsuite/ld-elf/symbol1ref.s vendor/binutils/dist/ld/testsuite/ld-elf/symbol1w.s vendor/binutils/dist/ld/testsuite/ld-elf/table.s vendor/binutils/dist/ld/testsuite/ld-elf/tbss.s vendor/binutils/dist/ld/testsuite/ld-elf/unknown.d vendor/binutils/dist/ld/testsuite/ld-elf/unknown2.d vendor/binutils/dist/ld/testsuite/ld-elf/unknown2.s vendor/binutils/dist/ld/testsuite/ld-elf/warn1.d vendor/binutils/dist/ld/testsuite/ld-elfvers/vers29.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers29.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers29.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers30.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers30.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers30.map vendor/binutils/dist/ld/testsuite/ld-elfvers/vers30.ver vendor/binutils/dist/ld/testsuite/ld-elfvers/vers31.c vendor/binutils/dist/ld/testsuite/ld-elfvers/vers31.dsym vendor/binutils/dist/ld/testsuite/ld-elfvers/vers31.map vendor/binutils/dist/ld/testsuite/ld-elfvers/vers31.ver vendor/binutils/dist/ld/testsuite/ld-elfvsb/hidden2.d vendor/binutils/dist/ld/testsuite/ld-elfvsb/hidden2.ld vendor/binutils/dist/ld/testsuite/ld-elfvsb/hidden2.s vendor/binutils/dist/ld/testsuite/ld-elfweak/size.dat vendor/binutils/dist/ld/testsuite/ld-elfweak/size2.d vendor/binutils/dist/ld/testsuite/ld-elfweak/size2a.s vendor/binutils/dist/ld/testsuite/ld-elfweak/size2b.s vendor/binutils/dist/ld/testsuite/ld-elfweak/size_bar.c vendor/binutils/dist/ld/testsuite/ld-elfweak/size_foo.c vendor/binutils/dist/ld/testsuite/ld-elfweak/size_main.c vendor/binutils/dist/ld/testsuite/ld-frv/fr450-link.d vendor/binutils/dist/ld/testsuite/ld-frv/fr450-linka.s vendor/binutils/dist/ld/testsuite/ld-frv/fr450-linkb.s vendor/binutils/dist/ld/testsuite/ld-frv/fr450-linkc.s vendor/binutils/dist/ld/testsuite/ld-frv/frv-elf.exp vendor/binutils/dist/ld/testsuite/ld-frv/tls-1-dep.s vendor/binutils/dist/ld/testsuite/ld-frv/tls-1-shared.lds vendor/binutils/dist/ld/testsuite/ld-frv/tls-1.s vendor/binutils/dist/ld/testsuite/ld-frv/tls-2.s vendor/binutils/dist/ld/testsuite/ld-frv/tls-3.s vendor/binutils/dist/ld/testsuite/ld-frv/tls-dynamic-1.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-dynamic-2.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-dynamic-3.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-initial-shared-2.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-pie-1.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-pie-3.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-relax-dynamic-1.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-relax-dynamic-2.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-relax-dynamic-3.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-relax-initial-shared-2.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-relax-pie-1.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-relax-pie-3.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-relax-shared-1.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-relax-shared-2.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-relax-shared-3.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-relax-static-1.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-relax-static-3.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-shared-1-fail.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-shared-1.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-shared-2.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-shared-3.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-static-1.d vendor/binutils/dist/ld/testsuite/ld-frv/tls-static-3.d vendor/binutils/dist/ld/testsuite/ld-frv/tls.exp vendor/binutils/dist/ld/testsuite/ld-h8300/gcsection.d vendor/binutils/dist/ld/testsuite/ld-h8300/gcsection.s vendor/binutils/dist/ld/testsuite/ld-h8300/relax-6-coff.d vendor/binutils/dist/ld/testsuite/ld-h8300/relax-6.d vendor/binutils/dist/ld/testsuite/ld-h8300/relax-6.s vendor/binutils/dist/ld/testsuite/ld-i386/abs.d vendor/binutils/dist/ld/testsuite/ld-i386/abs.s vendor/binutils/dist/ld/testsuite/ld-i386/emit-relocs.d vendor/binutils/dist/ld/testsuite/ld-i386/emit-relocs.s vendor/binutils/dist/ld/testsuite/ld-i386/pcrel16.d vendor/binutils/dist/ld/testsuite/ld-i386/pcrel16.s vendor/binutils/dist/ld/testsuite/ld-i386/pcrel8.d vendor/binutils/dist/ld/testsuite/ld-i386/pcrel8.s vendor/binutils/dist/ld/testsuite/ld-i386/tlsbindesc.dd vendor/binutils/dist/ld/testsuite/ld-i386/tlsbindesc.rd vendor/binutils/dist/ld/testsuite/ld-i386/tlsbindesc.s vendor/binutils/dist/ld/testsuite/ld-i386/tlsbindesc.sd vendor/binutils/dist/ld/testsuite/ld-i386/tlsbindesc.td vendor/binutils/dist/ld/testsuite/ld-i386/tlsdesc.dd vendor/binutils/dist/ld/testsuite/ld-i386/tlsdesc.rd vendor/binutils/dist/ld/testsuite/ld-i386/tlsdesc.s vendor/binutils/dist/ld/testsuite/ld-i386/tlsdesc.sd vendor/binutils/dist/ld/testsuite/ld-i386/tlsdesc.td vendor/binutils/dist/ld/testsuite/ld-i386/tlsgdesc.dd vendor/binutils/dist/ld/testsuite/ld-i386/tlsgdesc.rd vendor/binutils/dist/ld/testsuite/ld-i386/tlsgdesc.s vendor/binutils/dist/ld/testsuite/ld-i386/vxworks1-lib.dd vendor/binutils/dist/ld/testsuite/ld-i386/vxworks1-lib.nd vendor/binutils/dist/ld/testsuite/ld-i386/vxworks1-lib.rd vendor/binutils/dist/ld/testsuite/ld-i386/vxworks1-lib.s vendor/binutils/dist/ld/testsuite/ld-i386/vxworks1-static.d vendor/binutils/dist/ld/testsuite/ld-i386/vxworks1.dd vendor/binutils/dist/ld/testsuite/ld-i386/vxworks1.ld vendor/binutils/dist/ld/testsuite/ld-i386/vxworks1.rd vendor/binutils/dist/ld/testsuite/ld-i386/vxworks1.s vendor/binutils/dist/ld/testsuite/ld-i386/vxworks2-static.sd vendor/binutils/dist/ld/testsuite/ld-i386/vxworks2.s vendor/binutils/dist/ld/testsuite/ld-i386/vxworks2.sd vendor/binutils/dist/ld/testsuite/ld-i386/zero.s vendor/binutils/dist/ld/testsuite/ld-ia64/link-order.d vendor/binutils/dist/ld/testsuite/ld-m68k/ vendor/binutils/dist/ld/testsuite/ld-m68k/isaa-mac.d vendor/binutils/dist/ld/testsuite/ld-m68k/isaa-mac.s vendor/binutils/dist/ld/testsuite/ld-m68k/isaa-nodiv.s vendor/binutils/dist/ld/testsuite/ld-m68k/isaa.d vendor/binutils/dist/ld/testsuite/ld-m68k/isaa.s vendor/binutils/dist/ld/testsuite/ld-m68k/isaaplus.d vendor/binutils/dist/ld/testsuite/ld-m68k/isaaplus.s vendor/binutils/dist/ld/testsuite/ld-m68k/isab-float.d vendor/binutils/dist/ld/testsuite/ld-m68k/isab-float.s vendor/binutils/dist/ld/testsuite/ld-m68k/isab-nousp.s vendor/binutils/dist/ld/testsuite/ld-m68k/isab.d vendor/binutils/dist/ld/testsuite/ld-m68k/isab.s vendor/binutils/dist/ld/testsuite/ld-m68k/m68k.exp vendor/binutils/dist/ld/testsuite/ld-m68k/merge-error-1a.d vendor/binutils/dist/ld/testsuite/ld-m68k/merge-error-1a.s vendor/binutils/dist/ld/testsuite/ld-m68k/merge-error-1b.d vendor/binutils/dist/ld/testsuite/ld-m68k/merge-error-1b.s vendor/binutils/dist/ld/testsuite/ld-m68k/merge-error-1c.d vendor/binutils/dist/ld/testsuite/ld-m68k/merge-error-1d.d vendor/binutils/dist/ld/testsuite/ld-m68k/merge-error-1e.d vendor/binutils/dist/ld/testsuite/ld-m68k/merge-ok-1a.d vendor/binutils/dist/ld/testsuite/ld-m68k/merge-ok-1b.d vendor/binutils/dist/ld/testsuite/ld-m68k/merge-ok-1c.d vendor/binutils/dist/ld/testsuite/ld-m68k/merge.ld vendor/binutils/dist/ld/testsuite/ld-maxq/ vendor/binutils/dist/ld/testsuite/ld-maxq/addend.dd vendor/binutils/dist/ld/testsuite/ld-maxq/addend.s vendor/binutils/dist/ld/testsuite/ld-maxq/maxq.exp vendor/binutils/dist/ld/testsuite/ld-maxq/paddr.dd vendor/binutils/dist/ld/testsuite/ld-maxq/paddr.s vendor/binutils/dist/ld/testsuite/ld-maxq/paddr1.dd vendor/binutils/dist/ld/testsuite/ld-maxq/paddr1.s vendor/binutils/dist/ld/testsuite/ld-maxq/r32-1.s vendor/binutils/dist/ld/testsuite/ld-maxq/r32-2.s vendor/binutils/dist/ld/testsuite/ld-maxq/r32.dd vendor/binutils/dist/ld/testsuite/ld-mips-elf/eh-frame1-n32.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/eh-frame1-n64.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/eh-frame1.ld vendor/binutils/dist/ld/testsuite/ld-mips-elf/eh-frame1.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/eh-frame2-n32.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/eh-frame2-n64.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/eh-frame3.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/eh-frame4.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/emit-relocs-1.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/emit-relocs-1.ld vendor/binutils/dist/ld/testsuite/ld-mips-elf/emit-relocs-1a.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/emit-relocs-1b.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/jalbal.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/jalbal.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/jaloverflow-2.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/jaloverflow-2.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/jaloverflow.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/jaloverflow.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/mips-dyn.ld vendor/binutils/dist/ld/testsuite/ld-mips-elf/mips-lib.ld vendor/binutils/dist/ld/testsuite/ld-mips-elf/mips16-hilo-n32.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/mips16-hilo.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/mips16-hilo.ld vendor/binutils/dist/ld/testsuite/ld-mips-elf/mips16-hilo.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/multi-got-no-shared-1.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/multi-got-no-shared-2.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/multi-got-no-shared.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-merge-lo16.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-merge-lo16.ld vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-merge-lo16.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/stub-dynsym-1-10000.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/stub-dynsym-1-2fe80.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/stub-dynsym-1-7fff.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/stub-dynsym-1-8000.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/stub-dynsym-1-fff0.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/stub-dynsym-1.ld vendor/binutils/dist/ld/testsuite/ld-mips-elf/stub-dynsym-1.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/textrel-1.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/textrel-1.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/tls-hidden2-got.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/tls-hidden2.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/tls-hidden2a.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/tls-hidden2b.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/tls-hidden3.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/tls-hidden3.got vendor/binutils/dist/ld/testsuite/ld-mips-elf/tls-hidden3.ld vendor/binutils/dist/ld/testsuite/ld-mips-elf/tls-hidden3.r vendor/binutils/dist/ld/testsuite/ld-mips-elf/tls-hidden3a.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/tls-hidden3b.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/tls-hidden4.got vendor/binutils/dist/ld/testsuite/ld-mips-elf/tls-hidden4.r vendor/binutils/dist/ld/testsuite/ld-mips-elf/tls-hidden4a.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/tls-hidden4b.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/tls-multi-got-1-1.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/tls-multi-got-1-2.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/tls-multi-got-1.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/tls-multi-got-1.got vendor/binutils/dist/ld/testsuite/ld-mips-elf/tls-multi-got-1.r vendor/binutils/dist/ld/testsuite/ld-mips-elf/tlsbin-o32.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/tlsbin-o32.got vendor/binutils/dist/ld/testsuite/ld-mips-elf/tlsbin-o32.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got vendor/binutils/dist/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got vendor/binutils/dist/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got vendor/binutils/dist/ld/testsuite/ld-mips-elf/tlsdyn-o32.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/tlsdyn-o32.got vendor/binutils/dist/ld/testsuite/ld-mips-elf/tlsdyn-o32.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/tlslib-hidden.ver vendor/binutils/dist/ld/testsuite/ld-mips-elf/tlslib-o32-hidden.got vendor/binutils/dist/ld/testsuite/ld-mips-elf/tlslib-o32-ver.got vendor/binutils/dist/ld/testsuite/ld-mips-elf/tlslib-o32.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/tlslib-o32.got vendor/binutils/dist/ld/testsuite/ld-mips-elf/tlslib-o32.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/tlslib.ver vendor/binutils/dist/ld/testsuite/ld-mips-elf/vxworks1-lib.dd vendor/binutils/dist/ld/testsuite/ld-mips-elf/vxworks1-lib.nd vendor/binutils/dist/ld/testsuite/ld-mips-elf/vxworks1-lib.rd vendor/binutils/dist/ld/testsuite/ld-mips-elf/vxworks1-lib.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/vxworks1-static.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/vxworks1.dd vendor/binutils/dist/ld/testsuite/ld-mips-elf/vxworks1.ld vendor/binutils/dist/ld/testsuite/ld-mips-elf/vxworks1.rd vendor/binutils/dist/ld/testsuite/ld-mips-elf/vxworks1.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/vxworks2-static.sd vendor/binutils/dist/ld/testsuite/ld-mips-elf/vxworks2.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/vxworks2.sd vendor/binutils/dist/ld/testsuite/ld-mmix/b-offloc.s vendor/binutils/dist/ld/testsuite/ld-mmix/sec-9.d vendor/binutils/dist/ld/testsuite/ld-pe/ vendor/binutils/dist/ld/testsuite/ld-pe/pe.exp vendor/binutils/dist/ld/testsuite/ld-pe/secrel.d vendor/binutils/dist/ld/testsuite/ld-pe/secrel1.s vendor/binutils/dist/ld/testsuite/ld-pe/secrel2.s vendor/binutils/dist/ld/testsuite/ld-pie/ vendor/binutils/dist/ld/testsuite/ld-pie/pie.c vendor/binutils/dist/ld/testsuite/ld-pie/pie.exp vendor/binutils/dist/ld/testsuite/ld-pie/weakundef-data.c vendor/binutils/dist/ld/testsuite/ld-pie/weakundef.c vendor/binutils/dist/ld/testsuite/ld-pie/weakundef.out vendor/binutils/dist/ld/testsuite/ld-powerpc/sdadyn.d vendor/binutils/dist/ld/testsuite/ld-powerpc/sdadyn.s vendor/binutils/dist/ld/testsuite/ld-powerpc/sdalib.s vendor/binutils/dist/ld/testsuite/ld-powerpc/symtocbase-1.s vendor/binutils/dist/ld/testsuite/ld-powerpc/symtocbase-2.s vendor/binutils/dist/ld/testsuite/ld-powerpc/symtocbase.d vendor/binutils/dist/ld/testsuite/ld-powerpc/vxworks1-lib.dd vendor/binutils/dist/ld/testsuite/ld-powerpc/vxworks1-lib.nd vendor/binutils/dist/ld/testsuite/ld-powerpc/vxworks1-lib.rd vendor/binutils/dist/ld/testsuite/ld-powerpc/vxworks1-lib.s vendor/binutils/dist/ld/testsuite/ld-powerpc/vxworks1-lib.sd vendor/binutils/dist/ld/testsuite/ld-powerpc/vxworks1-static.d vendor/binutils/dist/ld/testsuite/ld-powerpc/vxworks1.dd vendor/binutils/dist/ld/testsuite/ld-powerpc/vxworks1.ld vendor/binutils/dist/ld/testsuite/ld-powerpc/vxworks1.rd vendor/binutils/dist/ld/testsuite/ld-powerpc/vxworks1.s vendor/binutils/dist/ld/testsuite/ld-powerpc/vxworks2-static.sd vendor/binutils/dist/ld/testsuite/ld-powerpc/vxworks2.s vendor/binutils/dist/ld/testsuite/ld-powerpc/vxworks2.sd vendor/binutils/dist/ld/testsuite/ld-scripts/align2.t vendor/binutils/dist/ld/testsuite/ld-scripts/align2a.d vendor/binutils/dist/ld/testsuite/ld-scripts/align2a.s vendor/binutils/dist/ld/testsuite/ld-scripts/align2b.d vendor/binutils/dist/ld/testsuite/ld-scripts/align2b.s vendor/binutils/dist/ld/testsuite/ld-scripts/align2c.d vendor/binutils/dist/ld/testsuite/ld-scripts/align2c.s vendor/binutils/dist/ld/testsuite/ld-scripts/cross3.t vendor/binutils/dist/ld/testsuite/ld-scripts/cross4.c vendor/binutils/dist/ld/testsuite/ld-scripts/empty-aligned.d vendor/binutils/dist/ld/testsuite/ld-scripts/empty-aligned.exp vendor/binutils/dist/ld/testsuite/ld-scripts/empty-aligned.s vendor/binutils/dist/ld/testsuite/ld-scripts/empty-aligned.t vendor/binutils/dist/ld/testsuite/ld-scripts/empty-orphan.d vendor/binutils/dist/ld/testsuite/ld-scripts/empty-orphan.exp vendor/binutils/dist/ld/testsuite/ld-scripts/empty-orphan.s vendor/binutils/dist/ld/testsuite/ld-scripts/empty-orphan.t vendor/binutils/dist/ld/testsuite/ld-scripts/memory.t vendor/binutils/dist/ld/testsuite/ld-scripts/sort.exp vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_a.d vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_a.s vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_a.t vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_a_a-1.d vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_a_a-2.d vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_a_a-3.d vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_a_a.t vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_a_n-1.d vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_a_n-2.d vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_a_n-3.d vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_a_n.t vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_n.d vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_n.s vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_n.t vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_n_a-1.d vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_n_a-2.d vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_n_a-3.d vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_n_a.t vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_n_n-1.d vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_n_n-2.d vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_n_n-3.d vendor/binutils/dist/ld/testsuite/ld-scripts/sort_b_n_n.t vendor/binutils/dist/ld/testsuite/ld-scripts/sort_n_a-a.s vendor/binutils/dist/ld/testsuite/ld-scripts/sort_n_a-b.s vendor/binutils/dist/ld/testsuite/ld-scripts/sort_no-1.d vendor/binutils/dist/ld/testsuite/ld-scripts/sort_no-2.d vendor/binutils/dist/ld/testsuite/ld-scripts/sort_no.t vendor/binutils/dist/ld/testsuite/ld-sh/arch/ vendor/binutils/dist/ld/testsuite/ld-sh/arch/arch.exp vendor/binutils/dist/ld/testsuite/ld-sh/arch/arch_expected.txt vendor/binutils/dist/ld/testsuite/ld-sh/arch/sh-dsp.s vendor/binutils/dist/ld/testsuite/ld-sh/arch/sh.s vendor/binutils/dist/ld/testsuite/ld-sh/arch/sh2.s vendor/binutils/dist/ld/testsuite/ld-sh/arch/sh2a-nofpu-or-sh3-nommu.s vendor/binutils/dist/ld/testsuite/ld-sh/arch/sh2a-nofpu-or-sh4-nommu-nofpu.s vendor/binutils/dist/ld/testsuite/ld-sh/arch/sh2a-nofpu.s vendor/binutils/dist/ld/testsuite/ld-sh/arch/sh2a-or-sh3e.s vendor/binutils/dist/ld/testsuite/ld-sh/arch/sh2a-or-sh4.s vendor/binutils/dist/ld/testsuite/ld-sh/arch/sh2a.s vendor/binutils/dist/ld/testsuite/ld-sh/arch/sh2e.s vendor/binutils/dist/ld/testsuite/ld-sh/arch/sh3-dsp.s vendor/binutils/dist/ld/testsuite/ld-sh/arch/sh3-nommu.s vendor/binutils/dist/ld/testsuite/ld-sh/arch/sh3.s vendor/binutils/dist/ld/testsuite/ld-sh/arch/sh3e.s vendor/binutils/dist/ld/testsuite/ld-sh/arch/sh4-nofpu.s vendor/binutils/dist/ld/testsuite/ld-sh/arch/sh4-nommu-nofpu.s vendor/binutils/dist/ld/testsuite/ld-sh/arch/sh4.s vendor/binutils/dist/ld/testsuite/ld-sh/arch/sh4a-nofpu.s vendor/binutils/dist/ld/testsuite/ld-sh/arch/sh4a.s vendor/binutils/dist/ld/testsuite/ld-sh/arch/sh4al-dsp.s vendor/binutils/dist/ld/testsuite/ld-sparc/vxworks1-lib.dd vendor/binutils/dist/ld/testsuite/ld-sparc/vxworks1-lib.nd vendor/binutils/dist/ld/testsuite/ld-sparc/vxworks1-lib.rd vendor/binutils/dist/ld/testsuite/ld-sparc/vxworks1-lib.s vendor/binutils/dist/ld/testsuite/ld-sparc/vxworks1-static.d vendor/binutils/dist/ld/testsuite/ld-sparc/vxworks1.dd vendor/binutils/dist/ld/testsuite/ld-sparc/vxworks1.ld vendor/binutils/dist/ld/testsuite/ld-sparc/vxworks1.rd vendor/binutils/dist/ld/testsuite/ld-sparc/vxworks1.s vendor/binutils/dist/ld/testsuite/ld-sparc/vxworks2-static.sd vendor/binutils/dist/ld/testsuite/ld-sparc/vxworks2.s vendor/binutils/dist/ld/testsuite/ld-sparc/vxworks2.sd vendor/binutils/dist/ld/testsuite/ld-v850/ vendor/binutils/dist/ld/testsuite/ld-v850/split-lo16.d vendor/binutils/dist/ld/testsuite/ld-v850/split-lo16.ld vendor/binutils/dist/ld/testsuite/ld-v850/split-lo16.s vendor/binutils/dist/ld/testsuite/ld-v850/v850.exp vendor/binutils/dist/ld/testsuite/ld-x86-64/abs.d vendor/binutils/dist/ld/testsuite/ld-x86-64/pcrel16.d vendor/binutils/dist/ld/testsuite/ld-x86-64/pcrel8.d vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsbindesc.dd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsbindesc.rd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsbindesc.s vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsbindesc.sd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsbindesc.td vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsdesc.dd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsdesc.pd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsdesc.rd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsdesc.s vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsdesc.sd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsdesc.td vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsgdesc.dd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsgdesc.rd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsgdesc.s vendor/binutils/dist/ld/testsuite/ld-xc16x/ vendor/binutils/dist/ld/testsuite/ld-xc16x/absrel.d vendor/binutils/dist/ld/testsuite/ld-xc16x/absrel.s vendor/binutils/dist/ld/testsuite/ld-xc16x/offset.d vendor/binutils/dist/ld/testsuite/ld-xc16x/offset.s vendor/binutils/dist/ld/testsuite/ld-xc16x/pcreloc.d vendor/binutils/dist/ld/testsuite/ld-xc16x/pcreloc.s vendor/binutils/dist/ld/testsuite/ld-xc16x/pcrelocl.d vendor/binutils/dist/ld/testsuite/ld-xc16x/xc16x.exp vendor/binutils/dist/libiberty/at-file.texi vendor/binutils/dist/libiberty/fopen_unlocked.c vendor/binutils/dist/libiberty/gettimeofday.c vendor/binutils/dist/libiberty/pex-common.c vendor/binutils/dist/libiberty/pex-one.c vendor/binutils/dist/libiberty/pexecute.c vendor/binutils/dist/libiberty/strndup.c vendor/binutils/dist/libiberty/strverscmp.c vendor/binutils/dist/libiberty/testsuite/test-expandargv.c vendor/binutils/dist/libiberty/testsuite/test-pexecute.c vendor/binutils/dist/libiberty/unlink-if-ordinary.c vendor/binutils/dist/libiberty/xstrndup.c vendor/binutils/dist/opcodes/ChangeLog-2004 vendor/binutils/dist/opcodes/ChangeLog-2005 vendor/binutils/dist/opcodes/bfin-dis.c vendor/binutils/dist/opcodes/cgen-bitset.c vendor/binutils/dist/opcodes/cgen-ops.h vendor/binutils/dist/opcodes/cgen-types.h vendor/binutils/dist/opcodes/crx-dis.c vendor/binutils/dist/opcodes/crx-opc.c vendor/binutils/dist/opcodes/m32c-asm.c vendor/binutils/dist/opcodes/m32c-desc.c vendor/binutils/dist/opcodes/m32c-desc.h vendor/binutils/dist/opcodes/m32c-dis.c vendor/binutils/dist/opcodes/m32c-ibld.c vendor/binutils/dist/opcodes/m32c-opc.c vendor/binutils/dist/opcodes/m32c-opc.h vendor/binutils/dist/opcodes/maxq-dis.c vendor/binutils/dist/opcodes/mt-asm.c vendor/binutils/dist/opcodes/mt-desc.c vendor/binutils/dist/opcodes/mt-desc.h vendor/binutils/dist/opcodes/mt-dis.c vendor/binutils/dist/opcodes/mt-ibld.c vendor/binutils/dist/opcodes/mt-opc.c vendor/binutils/dist/opcodes/mt-opc.h vendor/binutils/dist/opcodes/po/fi.gmo (contents, props changed) vendor/binutils/dist/opcodes/po/fi.po vendor/binutils/dist/opcodes/po/ga.gmo (contents, props changed) vendor/binutils/dist/opcodes/po/ga.po vendor/binutils/dist/opcodes/po/vi.gmo (contents, props changed) vendor/binutils/dist/opcodes/po/vi.po vendor/binutils/dist/opcodes/po/zh_CN.gmo (contents, props changed) vendor/binutils/dist/opcodes/po/zh_CN.po vendor/binutils/dist/opcodes/xc16x-asm.c vendor/binutils/dist/opcodes/xc16x-desc.c vendor/binutils/dist/opcodes/xc16x-desc.h vendor/binutils/dist/opcodes/xc16x-dis.c vendor/binutils/dist/opcodes/xc16x-ibld.c vendor/binutils/dist/opcodes/xc16x-opc.c vendor/binutils/dist/opcodes/xc16x-opc.h vendor/binutils/dist/opcodes/z80-dis.c Deleted: vendor/binutils/dist/bfd/aout-encap.c vendor/binutils/dist/bfd/cf-m68klynx.c vendor/binutils/dist/bfd/coff-a29k.c vendor/binutils/dist/bfd/cpu-a29k.c vendor/binutils/dist/bfd/doc/bfd.info-1 vendor/binutils/dist/bfd/doc/bfd.info-2 vendor/binutils/dist/bfd/elf32-arm.h vendor/binutils/dist/bfd/elfarm-nabi.c vendor/binutils/dist/bfd/elfarm-oabi.c vendor/binutils/dist/bfd/m68klynx.c vendor/binutils/dist/bfd/mpw-config.in vendor/binutils/dist/bfd/mpw-make.sed vendor/binutils/dist/binutils/mac-binutils.r vendor/binutils/dist/binutils/mpw-config.in vendor/binutils/dist/binutils/mpw-make.sed vendor/binutils/dist/config.if vendor/binutils/dist/config/accross.m4 vendor/binutils/dist/config/mh-mingw32 vendor/binutils/dist/config/mt-linux vendor/binutils/dist/contrib/ vendor/binutils/dist/gas/README-vms vendor/binutils/dist/gas/bignum-copy.c vendor/binutils/dist/gas/config-gas.com vendor/binutils/dist/gas/config/atof-tahoe.c vendor/binutils/dist/gas/config/m88k-opcode.h vendor/binutils/dist/gas/config/obj-bout.c vendor/binutils/dist/gas/config/obj-bout.h vendor/binutils/dist/gas/config/obj-hp300.c vendor/binutils/dist/gas/config/obj-hp300.h vendor/binutils/dist/gas/config/obj-vms.c vendor/binutils/dist/gas/config/obj-vms.h vendor/binutils/dist/gas/config/tc-a29k.c vendor/binutils/dist/gas/config/tc-a29k.h vendor/binutils/dist/gas/config/tc-h8500.c vendor/binutils/dist/gas/config/tc-h8500.h vendor/binutils/dist/gas/config/tc-m88k.c vendor/binutils/dist/gas/config/tc-m88k.h vendor/binutils/dist/gas/config/tc-tahoe.c vendor/binutils/dist/gas/config/tc-tahoe.h vendor/binutils/dist/gas/config/tc-tic80.c vendor/binutils/dist/gas/config/tc-tic80.h vendor/binutils/dist/gas/config/tc-w65.c vendor/binutils/dist/gas/config/tc-w65.h vendor/binutils/dist/gas/config/te-aux.h vendor/binutils/dist/gas/config/te-delt88.h vendor/binutils/dist/gas/config/te-delta.h vendor/binutils/dist/gas/config/te-dpx2.h vendor/binutils/dist/gas/config/te-hp300.h vendor/binutils/dist/gas/config/te-ic960.h vendor/binutils/dist/gas/config/te-ppcnw.h vendor/binutils/dist/gas/config/te-sysv32.h vendor/binutils/dist/gas/config/vms-a-conf.h vendor/binutils/dist/gas/config/vms-conf.h vendor/binutils/dist/gas/doc/c-a29k.texi vendor/binutils/dist/gas/doc/c-h8500.texi vendor/binutils/dist/gas/doc/c-m88k.texi vendor/binutils/dist/gas/link.cmd vendor/binutils/dist/gas/mac-as.r vendor/binutils/dist/gas/make-gas.com vendor/binutils/dist/gas/makefile.vms vendor/binutils/dist/gas/mpw-config.in vendor/binutils/dist/gas/mpw-make.sed vendor/binutils/dist/gas/testsuite/gas/all/cond.d vendor/binutils/dist/gas/testsuite/gas/arm/wince_arm7t.d vendor/binutils/dist/gas/testsuite/gas/arm/wince_copro.d vendor/binutils/dist/gas/testsuite/gas/arm/wince_ldconst.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10allinsn.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10allinsn.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10hazard3.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10hazard4.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10hazard5.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10load-hazards.exp vendor/binutils/dist/gas/testsuite/gas/iq2000/q10nohazard.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10noyield.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test0.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test0.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test1.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test1.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test10.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test10.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test11.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test11.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test12.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test12.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test2.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test2.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test3.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test3.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test4.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test4.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test5.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test5.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test6.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test6.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test7.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test7.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test8.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test8.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test9.d vendor/binutils/dist/gas/testsuite/gas/iq2000/q10test9.s vendor/binutils/dist/gas/testsuite/gas/iq2000/q10yield.exp vendor/binutils/dist/gas/testsuite/gas/iq2000/test.exp vendor/binutils/dist/gas/testsuite/gas/m88k/ vendor/binutils/dist/gas/testsuite/gas/mips/branch-misc-2.l vendor/binutils/dist/gas/testsuite/gas/mips/branch-misc-2pic.l vendor/binutils/dist/gas/testsuite/gas/mips/branch-misc-2pic.s vendor/binutils/dist/gas/testsuite/gas/mips/elempic.d vendor/binutils/dist/gas/testsuite/gas/mips/empic.d vendor/binutils/dist/gas/testsuite/gas/mips/empic.l vendor/binutils/dist/gas/testsuite/gas/mips/empic.s vendor/binutils/dist/gas/testsuite/gas/mips/empic2.d vendor/binutils/dist/gas/testsuite/gas/mips/empic2.s vendor/binutils/dist/gas/testsuite/gas/mips/empic3_e.d vendor/binutils/dist/gas/testsuite/gas/mips/empic3_e.s vendor/binutils/dist/gas/testsuite/gas/mips/empic3_g1.d vendor/binutils/dist/gas/testsuite/gas/mips/empic3_g1.s vendor/binutils/dist/gas/testsuite/gas/mips/empic3_g2.d vendor/binutils/dist/gas/testsuite/gas/mips/empic3_g2.s vendor/binutils/dist/gas/testsuite/gas/mips/jal-empic-elf-2.d vendor/binutils/dist/gas/testsuite/gas/mips/jal-empic-elf-2.s vendor/binutils/dist/gas/testsuite/gas/mips/jal-empic-elf-3.d vendor/binutils/dist/gas/testsuite/gas/mips/jal-empic-elf-3.s vendor/binutils/dist/gas/testsuite/gas/mips/jal-empic-elf.d vendor/binutils/dist/gas/testsuite/gas/mips/jal-empic.d vendor/binutils/dist/gas/testsuite/gas/mips/la-empic.d vendor/binutils/dist/gas/testsuite/gas/mips/la-empic.s vendor/binutils/dist/gas/testsuite/gas/mips/lb-empic.d vendor/binutils/dist/gas/testsuite/gas/mips/ld-empic.d vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-n32-shared.d vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-n32.d vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-n32.s vendor/binutils/dist/gas/testsuite/gas/mips/lif-empic.d vendor/binutils/dist/gas/testsuite/gas/mips/rol-hw.l vendor/binutils/dist/gas/testsuite/gas/mips/rol.l vendor/binutils/dist/gas/testsuite/gas/mips/rol64-hw.l vendor/binutils/dist/gas/testsuite/gas/mips/rol64.l vendor/binutils/dist/gas/testsuite/gas/mips/telempic.d vendor/binutils/dist/gas/testsuite/gas/mips/tempic.d vendor/binutils/dist/gas/testsuite/gas/mips/uld2.l vendor/binutils/dist/gas/testsuite/gas/mips/ulh-empic.d vendor/binutils/dist/gas/testsuite/gas/mips/ulh2.l vendor/binutils/dist/gas/testsuite/gas/mips/ulw2.l vendor/binutils/dist/gas/testsuite/gas/mips/vr4122.d vendor/binutils/dist/gas/testsuite/gas/mips/vr4122.s vendor/binutils/dist/gas/testsuite/gas/s390/opcode.d vendor/binutils/dist/gas/testsuite/gas/s390/opcode.s vendor/binutils/dist/gas/testsuite/gas/s390/opcode64.d vendor/binutils/dist/gas/testsuite/gas/s390/opcode64.s vendor/binutils/dist/gas/testsuite/gas/s390/reloc.d vendor/binutils/dist/gas/testsuite/gas/s390/reloc.s vendor/binutils/dist/gas/testsuite/gas/s390/reloc64.d vendor/binutils/dist/gas/testsuite/gas/s390/reloc64.s vendor/binutils/dist/gas/testsuite/gas/tic80/ vendor/binutils/dist/gas/testsuite/gas/vtable/ vendor/binutils/dist/gas/vmsconf.sh vendor/binutils/dist/include/coff/a29k.h vendor/binutils/dist/include/mpw/ vendor/binutils/dist/include/opcode/a29k.h vendor/binutils/dist/ld/emulparams/a29k.sh vendor/binutils/dist/ld/emulparams/armelf_oabi.sh vendor/binutils/dist/ld/emulparams/ebmon29k.sh vendor/binutils/dist/ld/emulparams/m68klynx.sh vendor/binutils/dist/ld/emulparams/sa29200.sh vendor/binutils/dist/ld/emulparams/sparclynx.sh vendor/binutils/dist/ld/emultempl/armelf_oabi.em vendor/binutils/dist/ld/emultempl/mipself.em vendor/binutils/dist/ld/mac-ld.r vendor/binutils/dist/ld/mpw-config.in vendor/binutils/dist/ld/mpw-make.sed vendor/binutils/dist/ld/scripttempl/i386lynx.sc vendor/binutils/dist/ld/testsuite/ld-empic/ vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-pie-8-fail.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic1-ln.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic1-lp.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic1-mn.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic1-mp.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic1-ref.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic1-sn.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic1-sp.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic1-space.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic1-tgt.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic2-fwd-0.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic2-fwd-1.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic2-fwd-tgt.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic2-ref.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic2-rev-0.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic2-rev-1.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic2-rev-tgt.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/empic2-space.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/emrelocs-eb.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/emrelocs-el.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/emrelocs.ld vendor/binutils/dist/ld/testsuite/ld-mips-elf/emrelocs1.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/emrelocs2.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-3-r.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-3-srec.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-3.ld vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-3a.s vendor/binutils/dist/ld/testsuite/ld-mips-elf/reloc-3b.s vendor/binutils/dist/libiberty/acconfig.h vendor/binutils/dist/libiberty/config.table vendor/binutils/dist/libiberty/mpw-config.in vendor/binutils/dist/libiberty/mpw-make.sed vendor/binutils/dist/libiberty/mpw.c vendor/binutils/dist/libiberty/pex-mpw.c vendor/binutils/dist/libiberty/pex-os2.c vendor/binutils/dist/opcodes/a29k-dis.c vendor/binutils/dist/opcodes/arm-opc.h vendor/binutils/dist/opcodes/mpw-config.in vendor/binutils/dist/opcodes/mpw-make.sed Modified: vendor/binutils/dist/COPYING vendor/binutils/dist/COPYING.LIB vendor/binutils/dist/COPYING.LIBGLOSS vendor/binutils/dist/COPYING.NEWLIB vendor/binutils/dist/ChangeLog vendor/binutils/dist/MAINTAINERS vendor/binutils/dist/Makefile.def vendor/binutils/dist/Makefile.in vendor/binutils/dist/Makefile.tpl vendor/binutils/dist/bfd/COPYING vendor/binutils/dist/bfd/ChangeLog vendor/binutils/dist/bfd/Makefile.am vendor/binutils/dist/bfd/Makefile.in vendor/binutils/dist/bfd/acinclude.m4 vendor/binutils/dist/bfd/aclocal.m4 vendor/binutils/dist/bfd/aix386-core.c vendor/binutils/dist/bfd/aix5ppc-core.c vendor/binutils/dist/bfd/aout-adobe.c vendor/binutils/dist/bfd/aout-arm.c vendor/binutils/dist/bfd/aout-cris.c vendor/binutils/dist/bfd/aout-ns32k.c vendor/binutils/dist/bfd/aout-sparcle.c vendor/binutils/dist/bfd/aout-target.h vendor/binutils/dist/bfd/aout-tic30.c vendor/binutils/dist/bfd/aout0.c vendor/binutils/dist/bfd/aout32.c vendor/binutils/dist/bfd/aout64.c vendor/binutils/dist/bfd/aoutf1.h vendor/binutils/dist/bfd/aoutx.h vendor/binutils/dist/bfd/archive.c vendor/binutils/dist/bfd/archive64.c vendor/binutils/dist/bfd/archures.c vendor/binutils/dist/bfd/armnetbsd.c vendor/binutils/dist/bfd/bfd-in.h vendor/binutils/dist/bfd/bfd-in2.h vendor/binutils/dist/bfd/bfd.c vendor/binutils/dist/bfd/bfdio.c vendor/binutils/dist/bfd/bfdwin.c vendor/binutils/dist/bfd/binary.c vendor/binutils/dist/bfd/bout.c vendor/binutils/dist/bfd/cache.c vendor/binutils/dist/bfd/cf-i386lynx.c vendor/binutils/dist/bfd/cf-sparclynx.c vendor/binutils/dist/bfd/cisco-core.c vendor/binutils/dist/bfd/coff-alpha.c vendor/binutils/dist/bfd/coff-apollo.c vendor/binutils/dist/bfd/coff-arm.c vendor/binutils/dist/bfd/coff-aux.c vendor/binutils/dist/bfd/coff-go32.c vendor/binutils/dist/bfd/coff-h8300.c vendor/binutils/dist/bfd/coff-h8500.c vendor/binutils/dist/bfd/coff-i386.c vendor/binutils/dist/bfd/coff-i860.c vendor/binutils/dist/bfd/coff-i960.c vendor/binutils/dist/bfd/coff-ia64.c vendor/binutils/dist/bfd/coff-m68k.c vendor/binutils/dist/bfd/coff-m88k.c vendor/binutils/dist/bfd/coff-mcore.c vendor/binutils/dist/bfd/coff-mips.c vendor/binutils/dist/bfd/coff-or32.c vendor/binutils/dist/bfd/coff-pmac.c vendor/binutils/dist/bfd/coff-ppc.c vendor/binutils/dist/bfd/coff-rs6000.c vendor/binutils/dist/bfd/coff-sh.c vendor/binutils/dist/bfd/coff-sparc.c vendor/binutils/dist/bfd/coff-stgo32.c vendor/binutils/dist/bfd/coff-svm68k.c vendor/binutils/dist/bfd/coff-tic30.c vendor/binutils/dist/bfd/coff-tic4x.c vendor/binutils/dist/bfd/coff-tic54x.c vendor/binutils/dist/bfd/coff-tic80.c vendor/binutils/dist/bfd/coff-u68k.c vendor/binutils/dist/bfd/coff-w65.c vendor/binutils/dist/bfd/coff-we32k.c vendor/binutils/dist/bfd/coff-z8k.c vendor/binutils/dist/bfd/coff64-rs6000.c vendor/binutils/dist/bfd/coffcode.h vendor/binutils/dist/bfd/coffgen.c vendor/binutils/dist/bfd/cofflink.c vendor/binutils/dist/bfd/coffswap.h vendor/binutils/dist/bfd/config.bfd vendor/binutils/dist/bfd/config.in vendor/binutils/dist/bfd/configure vendor/binutils/dist/bfd/configure.host vendor/binutils/dist/bfd/configure.in vendor/binutils/dist/bfd/corefile.c vendor/binutils/dist/bfd/cpu-alpha.c vendor/binutils/dist/bfd/cpu-arc.c vendor/binutils/dist/bfd/cpu-arm.c vendor/binutils/dist/bfd/cpu-avr.c vendor/binutils/dist/bfd/cpu-cris.c vendor/binutils/dist/bfd/cpu-d10v.c vendor/binutils/dist/bfd/cpu-d30v.c vendor/binutils/dist/bfd/cpu-dlx.c vendor/binutils/dist/bfd/cpu-fr30.c vendor/binutils/dist/bfd/cpu-frv.c vendor/binutils/dist/bfd/cpu-h8300.c vendor/binutils/dist/bfd/cpu-h8500.c vendor/binutils/dist/bfd/cpu-hppa.c vendor/binutils/dist/bfd/cpu-i370.c vendor/binutils/dist/bfd/cpu-i386.c vendor/binutils/dist/bfd/cpu-i860.c vendor/binutils/dist/bfd/cpu-i960.c vendor/binutils/dist/bfd/cpu-ia64-opc.c vendor/binutils/dist/bfd/cpu-ia64.c vendor/binutils/dist/bfd/cpu-ip2k.c vendor/binutils/dist/bfd/cpu-iq2000.c vendor/binutils/dist/bfd/cpu-m10200.c vendor/binutils/dist/bfd/cpu-m10300.c vendor/binutils/dist/bfd/cpu-m32r.c vendor/binutils/dist/bfd/cpu-m68hc11.c vendor/binutils/dist/bfd/cpu-m68hc12.c vendor/binutils/dist/bfd/cpu-m68k.c vendor/binutils/dist/bfd/cpu-m88k.c vendor/binutils/dist/bfd/cpu-mcore.c vendor/binutils/dist/bfd/cpu-mips.c vendor/binutils/dist/bfd/cpu-mmix.c vendor/binutils/dist/bfd/cpu-msp430.c vendor/binutils/dist/bfd/cpu-ns32k.c vendor/binutils/dist/bfd/cpu-openrisc.c vendor/binutils/dist/bfd/cpu-or32.c vendor/binutils/dist/bfd/cpu-pdp11.c vendor/binutils/dist/bfd/cpu-pj.c vendor/binutils/dist/bfd/cpu-powerpc.c vendor/binutils/dist/bfd/cpu-rs6000.c vendor/binutils/dist/bfd/cpu-s390.c vendor/binutils/dist/bfd/cpu-sh.c vendor/binutils/dist/bfd/cpu-sparc.c vendor/binutils/dist/bfd/cpu-tic30.c vendor/binutils/dist/bfd/cpu-tic4x.c vendor/binutils/dist/bfd/cpu-tic54x.c vendor/binutils/dist/bfd/cpu-tic80.c vendor/binutils/dist/bfd/cpu-v850.c vendor/binutils/dist/bfd/cpu-vax.c vendor/binutils/dist/bfd/cpu-w65.c vendor/binutils/dist/bfd/cpu-we32k.c vendor/binutils/dist/bfd/cpu-xstormy16.c vendor/binutils/dist/bfd/cpu-xtensa.c vendor/binutils/dist/bfd/cpu-z8k.c vendor/binutils/dist/bfd/demo64.c vendor/binutils/dist/bfd/dep-in.sed vendor/binutils/dist/bfd/doc/ChangeLog vendor/binutils/dist/bfd/doc/Makefile.am vendor/binutils/dist/bfd/doc/Makefile.in vendor/binutils/dist/bfd/doc/aoutx.texi vendor/binutils/dist/bfd/doc/archive.texi vendor/binutils/dist/bfd/doc/archures.texi vendor/binutils/dist/bfd/doc/bfd.info (contents, props changed) vendor/binutils/dist/bfd/doc/bfd.texinfo vendor/binutils/dist/bfd/doc/bfdint.texi vendor/binutils/dist/bfd/doc/bfdio.texi vendor/binutils/dist/bfd/doc/bfdt.texi vendor/binutils/dist/bfd/doc/cache.texi vendor/binutils/dist/bfd/doc/chew.c vendor/binutils/dist/bfd/doc/coffcode.texi vendor/binutils/dist/bfd/doc/core.texi vendor/binutils/dist/bfd/doc/elf.texi vendor/binutils/dist/bfd/doc/fdl.texi vendor/binutils/dist/bfd/doc/format.texi vendor/binutils/dist/bfd/doc/hash.texi vendor/binutils/dist/bfd/doc/init.texi vendor/binutils/dist/bfd/doc/libbfd.texi vendor/binutils/dist/bfd/doc/linker.texi vendor/binutils/dist/bfd/doc/mmo.texi vendor/binutils/dist/bfd/doc/opncls.texi vendor/binutils/dist/bfd/doc/reloc.texi vendor/binutils/dist/bfd/doc/section.texi vendor/binutils/dist/bfd/doc/syms.texi vendor/binutils/dist/bfd/doc/targets.texi vendor/binutils/dist/bfd/dwarf1.c vendor/binutils/dist/bfd/dwarf2.c vendor/binutils/dist/bfd/ecoff.c vendor/binutils/dist/bfd/ecofflink.c vendor/binutils/dist/bfd/ecoffswap.h vendor/binutils/dist/bfd/efi-app-ia32.c vendor/binutils/dist/bfd/efi-app-ia64.c vendor/binutils/dist/bfd/elf-bfd.h vendor/binutils/dist/bfd/elf-eh-frame.c vendor/binutils/dist/bfd/elf-hppa.h vendor/binutils/dist/bfd/elf-m10200.c vendor/binutils/dist/bfd/elf-m10300.c vendor/binutils/dist/bfd/elf-strtab.c vendor/binutils/dist/bfd/elf.c vendor/binutils/dist/bfd/elf32-am33lin.c vendor/binutils/dist/bfd/elf32-arc.c vendor/binutils/dist/bfd/elf32-avr.c vendor/binutils/dist/bfd/elf32-cris.c vendor/binutils/dist/bfd/elf32-d10v.c vendor/binutils/dist/bfd/elf32-d30v.c vendor/binutils/dist/bfd/elf32-dlx.c vendor/binutils/dist/bfd/elf32-fr30.c vendor/binutils/dist/bfd/elf32-frv.c vendor/binutils/dist/bfd/elf32-gen.c vendor/binutils/dist/bfd/elf32-h8300.c vendor/binutils/dist/bfd/elf32-hppa.c vendor/binutils/dist/bfd/elf32-hppa.h vendor/binutils/dist/bfd/elf32-i370.c vendor/binutils/dist/bfd/elf32-i386.c vendor/binutils/dist/bfd/elf32-i860.c vendor/binutils/dist/bfd/elf32-i960.c vendor/binutils/dist/bfd/elf32-ip2k.c vendor/binutils/dist/bfd/elf32-iq2000.c vendor/binutils/dist/bfd/elf32-m32r.c vendor/binutils/dist/bfd/elf32-m68hc11.c vendor/binutils/dist/bfd/elf32-m68hc12.c vendor/binutils/dist/bfd/elf32-m68hc1x.c vendor/binutils/dist/bfd/elf32-m68hc1x.h vendor/binutils/dist/bfd/elf32-m68k.c vendor/binutils/dist/bfd/elf32-m88k.c vendor/binutils/dist/bfd/elf32-mcore.c vendor/binutils/dist/bfd/elf32-mips.c vendor/binutils/dist/bfd/elf32-msp430.c vendor/binutils/dist/bfd/elf32-openrisc.c vendor/binutils/dist/bfd/elf32-or32.c vendor/binutils/dist/bfd/elf32-pj.c vendor/binutils/dist/bfd/elf32-ppc.c vendor/binutils/dist/bfd/elf32-ppc.h vendor/binutils/dist/bfd/elf32-s390.c vendor/binutils/dist/bfd/elf32-sh.c vendor/binutils/dist/bfd/elf32-sh64-com.c vendor/binutils/dist/bfd/elf32-sh64.c vendor/binutils/dist/bfd/elf32-sh64.h vendor/binutils/dist/bfd/elf32-sparc.c vendor/binutils/dist/bfd/elf32-v850.c vendor/binutils/dist/bfd/elf32-vax.c vendor/binutils/dist/bfd/elf32-xstormy16.c vendor/binutils/dist/bfd/elf32-xtensa.c vendor/binutils/dist/bfd/elf32.c vendor/binutils/dist/bfd/elf64-alpha.c vendor/binutils/dist/bfd/elf64-gen.c vendor/binutils/dist/bfd/elf64-hppa.c vendor/binutils/dist/bfd/elf64-hppa.h vendor/binutils/dist/bfd/elf64-mips.c vendor/binutils/dist/bfd/elf64-mmix.c vendor/binutils/dist/bfd/elf64-ppc.c vendor/binutils/dist/bfd/elf64-ppc.h vendor/binutils/dist/bfd/elf64-s390.c vendor/binutils/dist/bfd/elf64-sh64.c vendor/binutils/dist/bfd/elf64-sparc.c vendor/binutils/dist/bfd/elf64-x86-64.c vendor/binutils/dist/bfd/elf64.c vendor/binutils/dist/bfd/elfcode.h vendor/binutils/dist/bfd/elfcore.h vendor/binutils/dist/bfd/elflink.c vendor/binutils/dist/bfd/elfn32-mips.c vendor/binutils/dist/bfd/elfxx-ia64.c vendor/binutils/dist/bfd/elfxx-mips.c vendor/binutils/dist/bfd/elfxx-mips.h vendor/binutils/dist/bfd/elfxx-target.h vendor/binutils/dist/bfd/epoc-pe-arm.c vendor/binutils/dist/bfd/epoc-pei-arm.c vendor/binutils/dist/bfd/format.c vendor/binutils/dist/bfd/freebsd.h vendor/binutils/dist/bfd/gen-aout.c vendor/binutils/dist/bfd/genlink.h vendor/binutils/dist/bfd/hash.c vendor/binutils/dist/bfd/host-aout.c vendor/binutils/dist/bfd/hosts/alphavms.h vendor/binutils/dist/bfd/hosts/delta68.h vendor/binutils/dist/bfd/hosts/vaxbsd.h vendor/binutils/dist/bfd/hp300bsd.c vendor/binutils/dist/bfd/hp300hpux.c vendor/binutils/dist/bfd/hppabsd-core.c vendor/binutils/dist/bfd/hpux-core.c vendor/binutils/dist/bfd/i386aout.c vendor/binutils/dist/bfd/i386bsd.c vendor/binutils/dist/bfd/i386dynix.c vendor/binutils/dist/bfd/i386freebsd.c vendor/binutils/dist/bfd/i386linux.c vendor/binutils/dist/bfd/i386lynx.c vendor/binutils/dist/bfd/i386mach3.c vendor/binutils/dist/bfd/i386msdos.c vendor/binutils/dist/bfd/i386netbsd.c vendor/binutils/dist/bfd/i386os9k.c vendor/binutils/dist/bfd/ieee.c vendor/binutils/dist/bfd/ihex.c vendor/binutils/dist/bfd/init.c vendor/binutils/dist/bfd/irix-core.c vendor/binutils/dist/bfd/libaout.h vendor/binutils/dist/bfd/libbfd-in.h vendor/binutils/dist/bfd/libbfd.c vendor/binutils/dist/bfd/libbfd.h vendor/binutils/dist/bfd/libcoff-in.h vendor/binutils/dist/bfd/libcoff.h vendor/binutils/dist/bfd/libecoff.h vendor/binutils/dist/bfd/libhppa.h vendor/binutils/dist/bfd/libieee.h vendor/binutils/dist/bfd/libnlm.h vendor/binutils/dist/bfd/liboasys.h vendor/binutils/dist/bfd/libpei.h vendor/binutils/dist/bfd/libxcoff.h vendor/binutils/dist/bfd/linker.c vendor/binutils/dist/bfd/lynx-core.c vendor/binutils/dist/bfd/m68k4knetbsd.c vendor/binutils/dist/bfd/m68klinux.c vendor/binutils/dist/bfd/m68knetbsd.c vendor/binutils/dist/bfd/m88kmach3.c vendor/binutils/dist/bfd/mach-o-target.c vendor/binutils/dist/bfd/mach-o.c vendor/binutils/dist/bfd/mach-o.h vendor/binutils/dist/bfd/merge.c vendor/binutils/dist/bfd/mipsbsd.c vendor/binutils/dist/bfd/mmo.c vendor/binutils/dist/bfd/netbsd-core.c vendor/binutils/dist/bfd/netbsd.h vendor/binutils/dist/bfd/newsos3.c vendor/binutils/dist/bfd/nlm-target.h vendor/binutils/dist/bfd/nlm.c vendor/binutils/dist/bfd/nlm32-alpha.c vendor/binutils/dist/bfd/nlm32-i386.c vendor/binutils/dist/bfd/nlm32-ppc.c vendor/binutils/dist/bfd/nlm32-sparc.c vendor/binutils/dist/bfd/nlm32.c vendor/binutils/dist/bfd/nlm64.c vendor/binutils/dist/bfd/nlmcode.h vendor/binutils/dist/bfd/nlmswap.h vendor/binutils/dist/bfd/ns32k.h vendor/binutils/dist/bfd/ns32knetbsd.c vendor/binutils/dist/bfd/oasys.c vendor/binutils/dist/bfd/opncls.c vendor/binutils/dist/bfd/osf-core.c vendor/binutils/dist/bfd/pc532-mach.c vendor/binutils/dist/bfd/pdp11.c vendor/binutils/dist/bfd/pe-arm.c vendor/binutils/dist/bfd/pe-i386.c vendor/binutils/dist/bfd/pe-mcore.c vendor/binutils/dist/bfd/pe-mips.c vendor/binutils/dist/bfd/pe-ppc.c vendor/binutils/dist/bfd/pe-sh.c vendor/binutils/dist/bfd/peXXigen.c vendor/binutils/dist/bfd/pef-traceback.h vendor/binutils/dist/bfd/pef.c vendor/binutils/dist/bfd/pef.h vendor/binutils/dist/bfd/pei-arm.c vendor/binutils/dist/bfd/pei-i386.c vendor/binutils/dist/bfd/pei-mcore.c vendor/binutils/dist/bfd/pei-mips.c vendor/binutils/dist/bfd/pei-ppc.c vendor/binutils/dist/bfd/pei-sh.c vendor/binutils/dist/bfd/peicode.h vendor/binutils/dist/bfd/po/Make-in vendor/binutils/dist/bfd/po/SRC-POTFILES.in vendor/binutils/dist/bfd/po/bfd.pot vendor/binutils/dist/bfd/po/es.gmo vendor/binutils/dist/bfd/po/es.po vendor/binutils/dist/bfd/ppcboot.c vendor/binutils/dist/bfd/ptrace-core.c vendor/binutils/dist/bfd/reloc.c vendor/binutils/dist/bfd/reloc16.c vendor/binutils/dist/bfd/riscix.c vendor/binutils/dist/bfd/rs6000-core.c vendor/binutils/dist/bfd/sco5-core.c vendor/binutils/dist/bfd/section.c vendor/binutils/dist/bfd/simple.c vendor/binutils/dist/bfd/som.c vendor/binutils/dist/bfd/som.h vendor/binutils/dist/bfd/sparclinux.c vendor/binutils/dist/bfd/sparclynx.c vendor/binutils/dist/bfd/sparcnetbsd.c vendor/binutils/dist/bfd/srec.c vendor/binutils/dist/bfd/stab-syms.c vendor/binutils/dist/bfd/stabs.c vendor/binutils/dist/bfd/sunos.c vendor/binutils/dist/bfd/syms.c vendor/binutils/dist/bfd/sysdep.h vendor/binutils/dist/bfd/targets.c vendor/binutils/dist/bfd/tekhex.c vendor/binutils/dist/bfd/ticoff.h vendor/binutils/dist/bfd/trad-core.c vendor/binutils/dist/bfd/vax1knetbsd.c vendor/binutils/dist/bfd/vaxbsd.c vendor/binutils/dist/bfd/vaxnetbsd.c vendor/binutils/dist/bfd/versados.c vendor/binutils/dist/bfd/version.h vendor/binutils/dist/bfd/vms-gsd.c vendor/binutils/dist/bfd/vms-hdr.c vendor/binutils/dist/bfd/vms-misc.c vendor/binutils/dist/bfd/vms-tir.c vendor/binutils/dist/bfd/vms.c vendor/binutils/dist/bfd/vms.h vendor/binutils/dist/bfd/xcoff-target.h vendor/binutils/dist/bfd/xcofflink.c vendor/binutils/dist/bfd/xsym.c vendor/binutils/dist/bfd/xsym.h vendor/binutils/dist/bfd/xtensa-isa.c vendor/binutils/dist/bfd/xtensa-modules.c vendor/binutils/dist/binutils/ChangeLog vendor/binutils/dist/binutils/MAINTAINERS vendor/binutils/dist/binutils/Makefile.am vendor/binutils/dist/binutils/Makefile.in vendor/binutils/dist/binutils/NEWS vendor/binutils/dist/binutils/acinclude.m4 vendor/binutils/dist/binutils/aclocal.m4 vendor/binutils/dist/binutils/addr2line.c vendor/binutils/dist/binutils/ar.c vendor/binutils/dist/binutils/arlex.c vendor/binutils/dist/binutils/arlex.l vendor/binutils/dist/binutils/arparse.c vendor/binutils/dist/binutils/arparse.h vendor/binutils/dist/binutils/arparse.y vendor/binutils/dist/binutils/arsup.c vendor/binutils/dist/binutils/arsup.h vendor/binutils/dist/binutils/binemul.c vendor/binutils/dist/binutils/binemul.h vendor/binutils/dist/binutils/bucomm.c vendor/binutils/dist/binutils/bucomm.h vendor/binutils/dist/binutils/budbg.h vendor/binutils/dist/binutils/budemang.c vendor/binutils/dist/binutils/budemang.h vendor/binutils/dist/binutils/coffdump.c vendor/binutils/dist/binutils/coffgrok.c vendor/binutils/dist/binutils/coffgrok.h vendor/binutils/dist/binutils/config.in vendor/binutils/dist/binutils/configure vendor/binutils/dist/binutils/configure.in vendor/binutils/dist/binutils/cxxfilt.c vendor/binutils/dist/binutils/debug.c vendor/binutils/dist/binutils/debug.h vendor/binutils/dist/binutils/deflex.c vendor/binutils/dist/binutils/deflex.l vendor/binutils/dist/binutils/defparse.c vendor/binutils/dist/binutils/defparse.h vendor/binutils/dist/binutils/defparse.y vendor/binutils/dist/binutils/dep-in.sed vendor/binutils/dist/binutils/dlltool.c vendor/binutils/dist/binutils/dlltool.h vendor/binutils/dist/binutils/dllwrap.c vendor/binutils/dist/binutils/doc/Makefile.am vendor/binutils/dist/binutils/doc/Makefile.in vendor/binutils/dist/binutils/doc/addr2line.1 vendor/binutils/dist/binutils/doc/ar.1 vendor/binutils/dist/binutils/doc/binutils.info (contents, props changed) vendor/binutils/dist/binutils/doc/binutils.texi vendor/binutils/dist/binutils/doc/cxxfilt.man vendor/binutils/dist/binutils/doc/dlltool.1 vendor/binutils/dist/binutils/doc/fdl.texi vendor/binutils/dist/binutils/doc/nlmconv.1 vendor/binutils/dist/binutils/doc/nm.1 vendor/binutils/dist/binutils/doc/objcopy.1 vendor/binutils/dist/binutils/doc/objdump.1 vendor/binutils/dist/binutils/doc/ranlib.1 vendor/binutils/dist/binutils/doc/readelf.1 vendor/binutils/dist/binutils/doc/size.1 vendor/binutils/dist/binutils/doc/strings.1 vendor/binutils/dist/binutils/doc/strip.1 vendor/binutils/dist/binutils/doc/windres.1 vendor/binutils/dist/binutils/emul_aix.c vendor/binutils/dist/binutils/emul_vanilla.c vendor/binutils/dist/binutils/filemode.c vendor/binutils/dist/binutils/ieee.c vendor/binutils/dist/binutils/nlmconv.c vendor/binutils/dist/binutils/nlmconv.h vendor/binutils/dist/binutils/nlmheader.c vendor/binutils/dist/binutils/nlmheader.h vendor/binutils/dist/binutils/nlmheader.y vendor/binutils/dist/binutils/nm.c vendor/binutils/dist/binutils/objcopy.c vendor/binutils/dist/binutils/objdump.c vendor/binutils/dist/binutils/po/Make-in vendor/binutils/dist/binutils/po/POTFILES.in vendor/binutils/dist/binutils/po/binutils.pot vendor/binutils/dist/binutils/po/es.gmo vendor/binutils/dist/binutils/po/es.po vendor/binutils/dist/binutils/po/fr.gmo vendor/binutils/dist/binutils/po/fr.po vendor/binutils/dist/binutils/po/ru.gmo vendor/binutils/dist/binutils/po/ru.po vendor/binutils/dist/binutils/po/tr.gmo vendor/binutils/dist/binutils/po/tr.po vendor/binutils/dist/binutils/prdbg.c vendor/binutils/dist/binutils/ranlib.sh vendor/binutils/dist/binutils/rclex.c vendor/binutils/dist/binutils/rclex.l vendor/binutils/dist/binutils/rcparse.c vendor/binutils/dist/binutils/rcparse.h vendor/binutils/dist/binutils/rcparse.y vendor/binutils/dist/binutils/rdcoff.c vendor/binutils/dist/binutils/rddbg.c vendor/binutils/dist/binutils/readelf.c vendor/binutils/dist/binutils/rename.c vendor/binutils/dist/binutils/resbin.c vendor/binutils/dist/binutils/rescoff.c vendor/binutils/dist/binutils/resrc.c vendor/binutils/dist/binutils/resres.c vendor/binutils/dist/binutils/size.c vendor/binutils/dist/binutils/srconv.c vendor/binutils/dist/binutils/stabs.c vendor/binutils/dist/binutils/strings.c vendor/binutils/dist/binutils/sysdump.c vendor/binutils/dist/binutils/sysinfo.c vendor/binutils/dist/binutils/sysinfo.h vendor/binutils/dist/binutils/sysinfo.y vendor/binutils/dist/binutils/syslex.c vendor/binutils/dist/binutils/syslex.l vendor/binutils/dist/binutils/testsuite/ChangeLog vendor/binutils/dist/binutils/testsuite/binutils-all/ar.exp vendor/binutils/dist/binutils/testsuite/binutils-all/dlltool.exp vendor/binutils/dist/binutils/testsuite/binutils-all/hppa/objdump.exp vendor/binutils/dist/binutils/testsuite/binutils-all/nm.exp vendor/binutils/dist/binutils/testsuite/binutils-all/objcopy.exp vendor/binutils/dist/binutils/testsuite/binutils-all/objdump.exp vendor/binutils/dist/binutils/testsuite/binutils-all/readelf.exp vendor/binutils/dist/binutils/testsuite/binutils-all/readelf.ss vendor/binutils/dist/binutils/testsuite/binutils-all/size.exp vendor/binutils/dist/binutils/testsuite/binutils-all/testprog.c vendor/binutils/dist/binutils/testsuite/binutils-all/windres/msupdate vendor/binutils/dist/binutils/testsuite/binutils-all/windres/windres.exp vendor/binutils/dist/binutils/testsuite/config/default.exp vendor/binutils/dist/binutils/testsuite/lib/utils-lib.exp vendor/binutils/dist/binutils/unwind-ia64.c vendor/binutils/dist/binutils/unwind-ia64.h vendor/binutils/dist/binutils/version.c vendor/binutils/dist/binutils/windres.c vendor/binutils/dist/binutils/windres.h vendor/binutils/dist/binutils/winduni.c vendor/binutils/dist/binutils/winduni.h vendor/binutils/dist/binutils/wrstabs.c vendor/binutils/dist/config-ml.in vendor/binutils/dist/config.guess vendor/binutils/dist/config.sub vendor/binutils/dist/config/ChangeLog vendor/binutils/dist/config/acx.m4 vendor/binutils/dist/config/gettext.m4 vendor/binutils/dist/config/no-executables.m4 vendor/binutils/dist/configure vendor/binutils/dist/configure.in vendor/binutils/dist/cpu/ChangeLog vendor/binutils/dist/cpu/frv.cpu vendor/binutils/dist/cpu/frv.opc vendor/binutils/dist/cpu/iq10.cpu vendor/binutils/dist/cpu/iq2000.cpu vendor/binutils/dist/cpu/iq2000.opc vendor/binutils/dist/cpu/iq2000m.cpu vendor/binutils/dist/cpu/simplify.inc vendor/binutils/dist/etc/ChangeLog vendor/binutils/dist/etc/Makefile.in vendor/binutils/dist/etc/configure vendor/binutils/dist/etc/configure.in vendor/binutils/dist/etc/configure.info vendor/binutils/dist/etc/configure.texi vendor/binutils/dist/etc/standards.info (contents, props changed) vendor/binutils/dist/etc/standards.texi vendor/binutils/dist/etc/texi2pod.pl vendor/binutils/dist/gas/COPYING vendor/binutils/dist/gas/ChangeLog vendor/binutils/dist/gas/ChangeLog-0001 vendor/binutils/dist/gas/ChangeLog-0203 vendor/binutils/dist/gas/ChangeLog-9295 vendor/binutils/dist/gas/ChangeLog-9697 vendor/binutils/dist/gas/ChangeLog-9899 vendor/binutils/dist/gas/Makefile.am vendor/binutils/dist/gas/Makefile.in vendor/binutils/dist/gas/NEWS vendor/binutils/dist/gas/README vendor/binutils/dist/gas/acinclude.m4 vendor/binutils/dist/gas/aclocal.m4 vendor/binutils/dist/gas/app.c vendor/binutils/dist/gas/as.c vendor/binutils/dist/gas/as.h vendor/binutils/dist/gas/asintl.h vendor/binutils/dist/gas/atof-generic.c vendor/binutils/dist/gas/bignum.h vendor/binutils/dist/gas/bit_fix.h vendor/binutils/dist/gas/cgen.c vendor/binutils/dist/gas/cgen.h vendor/binutils/dist/gas/cond.c vendor/binutils/dist/gas/config.in vendor/binutils/dist/gas/config/aout_gnu.h vendor/binutils/dist/gas/config/atof-ieee.c vendor/binutils/dist/gas/config/atof-vax.c vendor/binutils/dist/gas/config/itbl-mips.h vendor/binutils/dist/gas/config/m68k-parse.h vendor/binutils/dist/gas/config/m68k-parse.y vendor/binutils/dist/gas/config/obj-aout.c vendor/binutils/dist/gas/config/obj-aout.h vendor/binutils/dist/gas/config/obj-coff.c vendor/binutils/dist/gas/config/obj-coff.h vendor/binutils/dist/gas/config/obj-ecoff.c vendor/binutils/dist/gas/config/obj-ecoff.h vendor/binutils/dist/gas/config/obj-elf.c vendor/binutils/dist/gas/config/obj-elf.h vendor/binutils/dist/gas/config/obj-evax.c vendor/binutils/dist/gas/config/obj-evax.h vendor/binutils/dist/gas/config/obj-ieee.c vendor/binutils/dist/gas/config/obj-ieee.h vendor/binutils/dist/gas/config/obj-multi.h vendor/binutils/dist/gas/config/obj-som.c vendor/binutils/dist/gas/config/obj-som.h vendor/binutils/dist/gas/config/tc-alpha.c vendor/binutils/dist/gas/config/tc-alpha.h vendor/binutils/dist/gas/config/tc-arc.c vendor/binutils/dist/gas/config/tc-arc.h vendor/binutils/dist/gas/config/tc-arm.c vendor/binutils/dist/gas/config/tc-arm.h vendor/binutils/dist/gas/config/tc-avr.c vendor/binutils/dist/gas/config/tc-avr.h vendor/binutils/dist/gas/config/tc-cris.c vendor/binutils/dist/gas/config/tc-cris.h vendor/binutils/dist/gas/config/tc-d10v.c vendor/binutils/dist/gas/config/tc-d10v.h vendor/binutils/dist/gas/config/tc-d30v.c vendor/binutils/dist/gas/config/tc-d30v.h vendor/binutils/dist/gas/config/tc-dlx.c vendor/binutils/dist/gas/config/tc-dlx.h vendor/binutils/dist/gas/config/tc-fr30.c vendor/binutils/dist/gas/config/tc-fr30.h vendor/binutils/dist/gas/config/tc-frv.c vendor/binutils/dist/gas/config/tc-frv.h vendor/binutils/dist/gas/config/tc-generic.c vendor/binutils/dist/gas/config/tc-generic.h vendor/binutils/dist/gas/config/tc-h8300.c vendor/binutils/dist/gas/config/tc-h8300.h vendor/binutils/dist/gas/config/tc-hppa.c vendor/binutils/dist/gas/config/tc-hppa.h vendor/binutils/dist/gas/config/tc-i370.c vendor/binutils/dist/gas/config/tc-i370.h vendor/binutils/dist/gas/config/tc-i386.c vendor/binutils/dist/gas/config/tc-i386.h vendor/binutils/dist/gas/config/tc-i860.c vendor/binutils/dist/gas/config/tc-i860.h vendor/binutils/dist/gas/config/tc-i960.c vendor/binutils/dist/gas/config/tc-i960.h vendor/binutils/dist/gas/config/tc-ia64.c vendor/binutils/dist/gas/config/tc-ia64.h vendor/binutils/dist/gas/config/tc-ip2k.c vendor/binutils/dist/gas/config/tc-ip2k.h vendor/binutils/dist/gas/config/tc-iq2000.c vendor/binutils/dist/gas/config/tc-iq2000.h vendor/binutils/dist/gas/config/tc-m32r.c vendor/binutils/dist/gas/config/tc-m32r.h vendor/binutils/dist/gas/config/tc-m68851.h vendor/binutils/dist/gas/config/tc-m68hc11.c vendor/binutils/dist/gas/config/tc-m68hc11.h vendor/binutils/dist/gas/config/tc-m68k.c vendor/binutils/dist/gas/config/tc-m68k.h vendor/binutils/dist/gas/config/tc-mcore.c vendor/binutils/dist/gas/config/tc-mcore.h vendor/binutils/dist/gas/config/tc-mips.c vendor/binutils/dist/gas/config/tc-mips.h vendor/binutils/dist/gas/config/tc-mmix.c vendor/binutils/dist/gas/config/tc-mmix.h vendor/binutils/dist/gas/config/tc-mn10200.c vendor/binutils/dist/gas/config/tc-mn10200.h vendor/binutils/dist/gas/config/tc-mn10300.c vendor/binutils/dist/gas/config/tc-mn10300.h vendor/binutils/dist/gas/config/tc-msp430.c vendor/binutils/dist/gas/config/tc-msp430.h vendor/binutils/dist/gas/config/tc-ns32k.c vendor/binutils/dist/gas/config/tc-ns32k.h vendor/binutils/dist/gas/config/tc-openrisc.c vendor/binutils/dist/gas/config/tc-openrisc.h vendor/binutils/dist/gas/config/tc-or32.c vendor/binutils/dist/gas/config/tc-or32.h vendor/binutils/dist/gas/config/tc-pdp11.c vendor/binutils/dist/gas/config/tc-pdp11.h vendor/binutils/dist/gas/config/tc-pj.c vendor/binutils/dist/gas/config/tc-pj.h vendor/binutils/dist/gas/config/tc-ppc.c vendor/binutils/dist/gas/config/tc-ppc.h vendor/binutils/dist/gas/config/tc-s390.c vendor/binutils/dist/gas/config/tc-s390.h vendor/binutils/dist/gas/config/tc-sh.c vendor/binutils/dist/gas/config/tc-sh.h vendor/binutils/dist/gas/config/tc-sh64.c vendor/binutils/dist/gas/config/tc-sh64.h vendor/binutils/dist/gas/config/tc-sparc.c vendor/binutils/dist/gas/config/tc-sparc.h vendor/binutils/dist/gas/config/tc-tic30.c vendor/binutils/dist/gas/config/tc-tic30.h vendor/binutils/dist/gas/config/tc-tic4x.c vendor/binutils/dist/gas/config/tc-tic4x.h vendor/binutils/dist/gas/config/tc-tic54x.c vendor/binutils/dist/gas/config/tc-tic54x.h vendor/binutils/dist/gas/config/tc-v850.c vendor/binutils/dist/gas/config/tc-v850.h vendor/binutils/dist/gas/config/tc-vax.c vendor/binutils/dist/gas/config/tc-vax.h vendor/binutils/dist/gas/config/tc-xstormy16.c vendor/binutils/dist/gas/config/tc-xstormy16.h vendor/binutils/dist/gas/config/tc-xtensa.c vendor/binutils/dist/gas/config/tc-xtensa.h vendor/binutils/dist/gas/config/tc-z8k.c vendor/binutils/dist/gas/config/tc-z8k.h vendor/binutils/dist/gas/config/te-386bsd.h vendor/binutils/dist/gas/config/te-freebsd.h vendor/binutils/dist/gas/config/te-hppa.h vendor/binutils/dist/gas/config/te-irix.h vendor/binutils/dist/gas/config/te-nbsd.h vendor/binutils/dist/gas/config/te-sparcaout.h vendor/binutils/dist/gas/config/te-sun3.h vendor/binutils/dist/gas/config/te-tmips.h vendor/binutils/dist/gas/config/vax-inst.h vendor/binutils/dist/gas/config/xtensa-istack.h vendor/binutils/dist/gas/config/xtensa-relax.c vendor/binutils/dist/gas/config/xtensa-relax.h vendor/binutils/dist/gas/configure vendor/binutils/dist/gas/configure.in vendor/binutils/dist/gas/debug.c vendor/binutils/dist/gas/dep-in.sed vendor/binutils/dist/gas/depend.c vendor/binutils/dist/gas/doc/Makefile.am vendor/binutils/dist/gas/doc/Makefile.in vendor/binutils/dist/gas/doc/all.texi vendor/binutils/dist/gas/doc/as.1 vendor/binutils/dist/gas/doc/as.texinfo vendor/binutils/dist/gas/doc/c-alpha.texi vendor/binutils/dist/gas/doc/c-arc.texi vendor/binutils/dist/gas/doc/c-arm.texi vendor/binutils/dist/gas/doc/c-cris.texi vendor/binutils/dist/gas/doc/c-d10v.texi vendor/binutils/dist/gas/doc/c-h8300.texi vendor/binutils/dist/gas/doc/c-hppa.texi vendor/binutils/dist/gas/doc/c-i370.texi vendor/binutils/dist/gas/doc/c-i386.texi vendor/binutils/dist/gas/doc/c-i960.texi vendor/binutils/dist/gas/doc/c-ia64.texi vendor/binutils/dist/gas/doc/c-m32r.texi vendor/binutils/dist/gas/doc/c-m68hc11.texi vendor/binutils/dist/gas/doc/c-m68k.texi vendor/binutils/dist/gas/doc/c-mips.texi vendor/binutils/dist/gas/doc/c-mmix.texi vendor/binutils/dist/gas/doc/c-msp430.texi vendor/binutils/dist/gas/doc/c-ns32k.texi vendor/binutils/dist/gas/doc/c-pdp11.texi vendor/binutils/dist/gas/doc/c-pj.texi vendor/binutils/dist/gas/doc/c-ppc.texi vendor/binutils/dist/gas/doc/c-sh.texi vendor/binutils/dist/gas/doc/c-sh64.texi vendor/binutils/dist/gas/doc/c-sparc.texi vendor/binutils/dist/gas/doc/c-tic54x.texi vendor/binutils/dist/gas/doc/c-v850.texi vendor/binutils/dist/gas/doc/c-vax.texi vendor/binutils/dist/gas/doc/c-xtensa.texi vendor/binutils/dist/gas/doc/c-z8k.texi vendor/binutils/dist/gas/doc/fdl.texi vendor/binutils/dist/gas/doc/gasver.texi vendor/binutils/dist/gas/doc/internals.texi vendor/binutils/dist/gas/dw2gencfi.c vendor/binutils/dist/gas/dw2gencfi.h vendor/binutils/dist/gas/dwarf2dbg.c vendor/binutils/dist/gas/dwarf2dbg.h vendor/binutils/dist/gas/ecoff.c vendor/binutils/dist/gas/ecoff.h vendor/binutils/dist/gas/ehopt.c vendor/binutils/dist/gas/emul-target.h vendor/binutils/dist/gas/emul.h vendor/binutils/dist/gas/expr.c vendor/binutils/dist/gas/expr.h vendor/binutils/dist/gas/flonum-copy.c vendor/binutils/dist/gas/flonum-konst.c vendor/binutils/dist/gas/flonum-mult.c vendor/binutils/dist/gas/flonum.h vendor/binutils/dist/gas/frags.c vendor/binutils/dist/gas/frags.h vendor/binutils/dist/gas/hash.c vendor/binutils/dist/gas/hash.h vendor/binutils/dist/gas/input-file.c vendor/binutils/dist/gas/input-file.h vendor/binutils/dist/gas/input-scrub.c vendor/binutils/dist/gas/itbl-lex.c vendor/binutils/dist/gas/itbl-lex.l vendor/binutils/dist/gas/itbl-ops.c vendor/binutils/dist/gas/itbl-ops.h vendor/binutils/dist/gas/itbl-parse.c vendor/binutils/dist/gas/itbl-parse.h vendor/binutils/dist/gas/itbl-parse.y vendor/binutils/dist/gas/listing.c vendor/binutils/dist/gas/listing.h vendor/binutils/dist/gas/literal.c vendor/binutils/dist/gas/m68k-parse.c vendor/binutils/dist/gas/macro.c vendor/binutils/dist/gas/macro.h vendor/binutils/dist/gas/messages.c vendor/binutils/dist/gas/obj.h vendor/binutils/dist/gas/output-file.c vendor/binutils/dist/gas/output-file.h vendor/binutils/dist/gas/po/Make-in vendor/binutils/dist/gas/po/POTFILES.in vendor/binutils/dist/gas/po/es.gmo vendor/binutils/dist/gas/po/es.po vendor/binutils/dist/gas/po/gas.pot vendor/binutils/dist/gas/po/tr.gmo vendor/binutils/dist/gas/po/tr.po vendor/binutils/dist/gas/read.c vendor/binutils/dist/gas/read.h vendor/binutils/dist/gas/sb.c vendor/binutils/dist/gas/sb.h vendor/binutils/dist/gas/stabs.c vendor/binutils/dist/gas/struc-symbol.h vendor/binutils/dist/gas/subsegs.c vendor/binutils/dist/gas/subsegs.h vendor/binutils/dist/gas/symbols.c vendor/binutils/dist/gas/symbols.h vendor/binutils/dist/gas/tc.h vendor/binutils/dist/gas/testsuite/ChangeLog vendor/binutils/dist/gas/testsuite/gas/all/cofftag.s vendor/binutils/dist/gas/testsuite/gas/all/cond.s vendor/binutils/dist/gas/testsuite/gas/all/gas.exp vendor/binutils/dist/gas/testsuite/gas/all/itbl-test.c vendor/binutils/dist/gas/testsuite/gas/all/test-example.c vendor/binutils/dist/gas/testsuite/gas/all/test-gen.c vendor/binutils/dist/gas/testsuite/gas/alpha/elf-usepv-1.d vendor/binutils/dist/gas/testsuite/gas/arc/arc.exp vendor/binutils/dist/gas/testsuite/gas/arc/ld.d vendor/binutils/dist/gas/testsuite/gas/arc/ld.s vendor/binutils/dist/gas/testsuite/gas/arc/st.d vendor/binutils/dist/gas/testsuite/gas/arc/st.s vendor/binutils/dist/gas/testsuite/gas/arc/warn.s vendor/binutils/dist/gas/testsuite/gas/arm/arch4t.s vendor/binutils/dist/gas/testsuite/gas/arm/archv6.d vendor/binutils/dist/gas/testsuite/gas/arm/arm.exp vendor/binutils/dist/gas/testsuite/gas/arm/arm3.s vendor/binutils/dist/gas/testsuite/gas/arm/arm6.s vendor/binutils/dist/gas/testsuite/gas/arm/arm7dm.s vendor/binutils/dist/gas/testsuite/gas/arm/arm7t.d vendor/binutils/dist/gas/testsuite/gas/arm/armv1-bad.l vendor/binutils/dist/gas/testsuite/gas/arm/armv1-bad.s vendor/binutils/dist/gas/testsuite/gas/arm/armv1.d vendor/binutils/dist/gas/testsuite/gas/arm/copro.d vendor/binutils/dist/gas/testsuite/gas/arm/el_segundo.d vendor/binutils/dist/gas/testsuite/gas/arm/el_segundo.s vendor/binutils/dist/gas/testsuite/gas/arm/float.s vendor/binutils/dist/gas/testsuite/gas/arm/fpa-mem.d vendor/binutils/dist/gas/testsuite/gas/arm/fpa-mem.s vendor/binutils/dist/gas/testsuite/gas/arm/immed.s vendor/binutils/dist/gas/testsuite/gas/arm/inst.d vendor/binutils/dist/gas/testsuite/gas/arm/iwmmxt-bad.l vendor/binutils/dist/gas/testsuite/gas/arm/iwmmxt-bad.s vendor/binutils/dist/gas/testsuite/gas/arm/iwmmxt.d vendor/binutils/dist/gas/testsuite/gas/arm/iwmmxt.s vendor/binutils/dist/gas/testsuite/gas/arm/le-fpconst.d vendor/binutils/dist/gas/testsuite/gas/arm/mapping.d vendor/binutils/dist/gas/testsuite/gas/arm/maverick.c vendor/binutils/dist/gas/testsuite/gas/arm/maverick.d vendor/binutils/dist/gas/testsuite/gas/arm/maverick.s vendor/binutils/dist/gas/testsuite/gas/arm/offset.s vendor/binutils/dist/gas/testsuite/gas/arm/pic.d vendor/binutils/dist/gas/testsuite/gas/arm/pic.s vendor/binutils/dist/gas/testsuite/gas/arm/r15-bad.l vendor/binutils/dist/gas/testsuite/gas/arm/r15-bad.s vendor/binutils/dist/gas/testsuite/gas/arm/req.l vendor/binutils/dist/gas/testsuite/gas/arm/req.s vendor/binutils/dist/gas/testsuite/gas/arm/thumb.s vendor/binutils/dist/gas/testsuite/gas/arm/thumbv6.d vendor/binutils/dist/gas/testsuite/gas/arm/vfp-bad.l vendor/binutils/dist/gas/testsuite/gas/arm/vfp1xD.d vendor/binutils/dist/gas/testsuite/gas/arm/wince_inst.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-alpha-1.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-alpha-3.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-common-1.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-common-2.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-common-3.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-i386.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-m68k.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-ppc-1.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-s390-1.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-s390x-1.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-sh-1.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-sparc-1.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-sparc64-1.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi-x86_64.d vendor/binutils/dist/gas/testsuite/gas/cfi/cfi.exp vendor/binutils/dist/gas/testsuite/gas/cris/brokw-3.d vendor/binutils/dist/gas/testsuite/gas/cris/cris.exp vendor/binutils/dist/gas/testsuite/gas/cris/mulbug-err-1.s vendor/binutils/dist/gas/testsuite/gas/cris/operand-err-1.s vendor/binutils/dist/gas/testsuite/gas/cris/range-err-1.s vendor/binutils/dist/gas/testsuite/gas/cris/rd-bcnst.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-1.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-10.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-11.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-12.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-13.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-14.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-15.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-2.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-3.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-4.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-5.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-6.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-7.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-8.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-dw2-9.d vendor/binutils/dist/gas/testsuite/gas/cris/rd-pcrel2.d vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing-005.d vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing-008.d vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing-009.d vendor/binutils/dist/gas/testsuite/gas/d10v/instruction_packing-010.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-001.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-002.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-003.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-004.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-005.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-006.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-007.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-008.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-009.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-010.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-011.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-012.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-013.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-015.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-016.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-017.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-018.d vendor/binutils/dist/gas/testsuite/gas/d10v/warning-019.d vendor/binutils/dist/gas/testsuite/gas/d30v/serial.l vendor/binutils/dist/gas/testsuite/gas/d30v/serial2.l vendor/binutils/dist/gas/testsuite/gas/d30v/serial2O.l vendor/binutils/dist/gas/testsuite/gas/elf/elf.exp vendor/binutils/dist/gas/testsuite/gas/elf/section0.d vendor/binutils/dist/gas/testsuite/gas/elf/section1.d vendor/binutils/dist/gas/testsuite/gas/frv/allinsn.d vendor/binutils/dist/gas/testsuite/gas/frv/allinsn.exp vendor/binutils/dist/gas/testsuite/gas/frv/allinsn.s vendor/binutils/dist/gas/testsuite/gas/h8300/ffxx1-coff.d vendor/binutils/dist/gas/testsuite/gas/h8300/ffxx1-coff.s vendor/binutils/dist/gas/testsuite/gas/h8300/ffxx1-elf.d vendor/binutils/dist/gas/testsuite/gas/h8300/ffxx1-elf.s vendor/binutils/dist/gas/testsuite/gas/h8300/h8300.exp vendor/binutils/dist/gas/testsuite/gas/h8300/h8sx_disp2.d vendor/binutils/dist/gas/testsuite/gas/h8300/h8sx_mov_imm.d vendor/binutils/dist/gas/testsuite/gas/h8300/h8sx_rtsl.d vendor/binutils/dist/gas/testsuite/gas/h8300/t03_add.exp vendor/binutils/dist/gas/testsuite/gas/h8300/t04_sub.exp vendor/binutils/dist/gas/testsuite/gas/h8300/t05_cmp.exp vendor/binutils/dist/gas/testsuite/gas/h8300/t08_or.exp vendor/binutils/dist/gas/testsuite/gas/h8300/t09_xor.exp vendor/binutils/dist/gas/testsuite/gas/h8300/t10_and.exp vendor/binutils/dist/gas/testsuite/gas/hppa/basic/basic.exp vendor/binutils/dist/gas/testsuite/gas/hppa/basic/fp_comp.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/special.s vendor/binutils/dist/gas/testsuite/gas/hppa/basic/system.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/block1.s vendor/binutils/dist/gas/testsuite/gas/hppa/parse/parse.exp vendor/binutils/dist/gas/testsuite/gas/hppa/reloc/reloc.exp vendor/binutils/dist/gas/testsuite/gas/hppa/unsorted/unsorted.exp vendor/binutils/dist/gas/testsuite/gas/i386/divide.d vendor/binutils/dist/gas/testsuite/gas/i386/divide.s vendor/binutils/dist/gas/testsuite/gas/i386/general.l vendor/binutils/dist/gas/testsuite/gas/i386/general.s vendor/binutils/dist/gas/testsuite/gas/i386/i386.exp vendor/binutils/dist/gas/testsuite/gas/i386/intel.d vendor/binutils/dist/gas/testsuite/gas/i386/intel.s vendor/binutils/dist/gas/testsuite/gas/i386/intel16.d vendor/binutils/dist/gas/testsuite/gas/i386/intel16.s vendor/binutils/dist/gas/testsuite/gas/i386/naked.d vendor/binutils/dist/gas/testsuite/gas/i386/opcode.d vendor/binutils/dist/gas/testsuite/gas/i386/opcode.s vendor/binutils/dist/gas/testsuite/gas/i386/padlock.d vendor/binutils/dist/gas/testsuite/gas/i386/prefix.d vendor/binutils/dist/gas/testsuite/gas/i386/prescott.d vendor/binutils/dist/gas/testsuite/gas/i386/prescott.s vendor/binutils/dist/gas/testsuite/gas/i386/sub.d vendor/binutils/dist/gas/testsuite/gas/i386/tlsd.d vendor/binutils/dist/gas/testsuite/gas/i386/tlsd.s vendor/binutils/dist/gas/testsuite/gas/i386/tlspic.d vendor/binutils/dist/gas/testsuite/gas/i386/tlspic.s vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-inval.l vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-inval.s vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-opcode.d vendor/binutils/dist/gas/testsuite/gas/i386/x86-64-opcode.s vendor/binutils/dist/gas/testsuite/gas/i386/x86_64.d vendor/binutils/dist/gas/testsuite/gas/i386/x86_64.s vendor/binutils/dist/gas/testsuite/gas/i860/dir-intel03-err.l vendor/binutils/dist/gas/testsuite/gas/ia64/dv-imply.d vendor/binutils/dist/gas/testsuite/gas/ia64/dv-mutex.d vendor/binutils/dist/gas/testsuite/gas/ia64/dv-raw-err.l vendor/binutils/dist/gas/testsuite/gas/ia64/dv-raw-err.s vendor/binutils/dist/gas/testsuite/gas/ia64/dv-safe.d vendor/binutils/dist/gas/testsuite/gas/ia64/dv-srlz.d vendor/binutils/dist/gas/testsuite/gas/ia64/dv-waw-err.l vendor/binutils/dist/gas/testsuite/gas/ia64/dv-waw-err.s vendor/binutils/dist/gas/testsuite/gas/ia64/global.d vendor/binutils/dist/gas/testsuite/gas/ia64/ia64.exp vendor/binutils/dist/gas/testsuite/gas/ia64/ldxmov-1.d vendor/binutils/dist/gas/testsuite/gas/ia64/opc-a.d vendor/binutils/dist/gas/testsuite/gas/ia64/opc-b.d vendor/binutils/dist/gas/testsuite/gas/ia64/opc-b.s vendor/binutils/dist/gas/testsuite/gas/ia64/opc-f.d vendor/binutils/dist/gas/testsuite/gas/ia64/opc-i.d vendor/binutils/dist/gas/testsuite/gas/ia64/opc-i.s vendor/binutils/dist/gas/testsuite/gas/ia64/opc-m.d vendor/binutils/dist/gas/testsuite/gas/ia64/opc-x.d vendor/binutils/dist/gas/testsuite/gas/ia64/regs.d vendor/binutils/dist/gas/testsuite/gas/ia64/regs.pl vendor/binutils/dist/gas/testsuite/gas/ia64/regs.s vendor/binutils/dist/gas/testsuite/gas/ia64/tls.d vendor/binutils/dist/gas/testsuite/gas/ieee-fp/x930509a.exp vendor/binutils/dist/gas/testsuite/gas/iq2000/allinsn.exp vendor/binutils/dist/gas/testsuite/gas/m32r/error.exp vendor/binutils/dist/gas/testsuite/gas/m32r/m32r.exp vendor/binutils/dist/gas/testsuite/gas/m32r/m32r2.exp vendor/binutils/dist/gas/testsuite/gas/m32r/pic.exp vendor/binutils/dist/gas/testsuite/gas/m32r/relax-1.d vendor/binutils/dist/gas/testsuite/gas/m68hc11/m68hc11.exp vendor/binutils/dist/gas/testsuite/gas/m68k/all.exp vendor/binutils/dist/gas/testsuite/gas/m68k/mcf-mov3q.d vendor/binutils/dist/gas/testsuite/gas/macros/macros.exp vendor/binutils/dist/gas/testsuite/gas/macros/strings.d vendor/binutils/dist/gas/testsuite/gas/mips/bge.d vendor/binutils/dist/gas/testsuite/gas/mips/bge.s vendor/binutils/dist/gas/testsuite/gas/mips/bgeu.d vendor/binutils/dist/gas/testsuite/gas/mips/bgeu.s vendor/binutils/dist/gas/testsuite/gas/mips/blt.d vendor/binutils/dist/gas/testsuite/gas/mips/blt.s vendor/binutils/dist/gas/testsuite/gas/mips/bltu.d vendor/binutils/dist/gas/testsuite/gas/mips/bltu.s vendor/binutils/dist/gas/testsuite/gas/mips/branch-swap.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel10.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel10.s vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel11.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel19.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel7.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel9.d vendor/binutils/dist/gas/testsuite/gas/mips/elf-rel9.s vendor/binutils/dist/gas/testsuite/gas/mips/elfel-rel.d vendor/binutils/dist/gas/testsuite/gas/mips/jal-range.l vendor/binutils/dist/gas/testsuite/gas/mips/jal-range.s vendor/binutils/dist/gas/testsuite/gas/mips/lb-xgot-ilocks.d vendor/binutils/dist/gas/testsuite/gas/mips/ld-pic.s vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-32-shared.d vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-32.d vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-32.s vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-n64-shared.d vendor/binutils/dist/gas/testsuite/gas/mips/ldstla-n64.d vendor/binutils/dist/gas/testsuite/gas/mips/lifloat.s vendor/binutils/dist/gas/testsuite/gas/mips/mips-abi32-pic.d vendor/binutils/dist/gas/testsuite/gas/mips/mips-abi32-pic2.d vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp32-fp32-pic.d vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp32-fp64-pic.d vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp64-fp32-pic.d vendor/binutils/dist/gas/testsuite/gas/mips/mips-gp64-fp64-pic.d vendor/binutils/dist/gas/testsuite/gas/mips/mips.exp vendor/binutils/dist/gas/testsuite/gas/mips/mips32.d vendor/binutils/dist/gas/testsuite/gas/mips/mips32.s vendor/binutils/dist/gas/testsuite/gas/mips/relax-swap1-mips1.d vendor/binutils/dist/gas/testsuite/gas/mips/relax-swap1-mips2.d vendor/binutils/dist/gas/testsuite/gas/mips/rol-hw.d vendor/binutils/dist/gas/testsuite/gas/mips/rol.d vendor/binutils/dist/gas/testsuite/gas/mips/rol.s vendor/binutils/dist/gas/testsuite/gas/mips/rol64-hw.d vendor/binutils/dist/gas/testsuite/gas/mips/rol64.d vendor/binutils/dist/gas/testsuite/gas/mips/rol64.s vendor/binutils/dist/gas/testsuite/gas/mips/set-arch.d vendor/binutils/dist/gas/testsuite/gas/mips/set-arch.s vendor/binutils/dist/gas/testsuite/gas/mips/tmips16-e.d vendor/binutils/dist/gas/testsuite/gas/mips/tmips16-f.d vendor/binutils/dist/gas/testsuite/gas/mips/tmipsel16-e.d vendor/binutils/dist/gas/testsuite/gas/mips/tmipsel16-f.d vendor/binutils/dist/gas/testsuite/gas/mips/uld2-eb.d vendor/binutils/dist/gas/testsuite/gas/mips/uld2-el.d vendor/binutils/dist/gas/testsuite/gas/mips/uld2.s vendor/binutils/dist/gas/testsuite/gas/mips/ulh2-eb.d vendor/binutils/dist/gas/testsuite/gas/mips/ulh2-el.d vendor/binutils/dist/gas/testsuite/gas/mips/ulh2.s vendor/binutils/dist/gas/testsuite/gas/mips/ulw2-eb-ilocks.d vendor/binutils/dist/gas/testsuite/gas/mips/ulw2-eb.d vendor/binutils/dist/gas/testsuite/gas/mips/ulw2-el-ilocks.d vendor/binutils/dist/gas/testsuite/gas/mips/ulw2-el.d vendor/binutils/dist/gas/testsuite/gas/mips/ulw2.s vendor/binutils/dist/gas/testsuite/gas/mips/vr5400.d vendor/binutils/dist/gas/testsuite/gas/mmix/align-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/basep-10.d vendor/binutils/dist/gas/testsuite/gas/mmix/basep-11.d vendor/binutils/dist/gas/testsuite/gas/mmix/basep-7.d vendor/binutils/dist/gas/testsuite/gas/mmix/basep-8.d vendor/binutils/dist/gas/testsuite/gas/mmix/basep-9.d vendor/binutils/dist/gas/testsuite/gas/mmix/builtin1.d vendor/binutils/dist/gas/testsuite/gas/mmix/builtin2.d vendor/binutils/dist/gas/testsuite/gas/mmix/builtin3.d vendor/binutils/dist/gas/testsuite/gas/mmix/bz-c.d vendor/binutils/dist/gas/testsuite/gas/mmix/comment-2.d vendor/binutils/dist/gas/testsuite/gas/mmix/comment-3.d vendor/binutils/dist/gas/testsuite/gas/mmix/cons-2.d vendor/binutils/dist/gas/testsuite/gas/mmix/err-byte1.s vendor/binutils/dist/gas/testsuite/gas/mmix/fb-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/fb-2.d vendor/binutils/dist/gas/testsuite/gas/mmix/geta-c.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg1.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg1a.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg2.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg2a.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg3.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg4.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg5.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg6.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg7.d vendor/binutils/dist/gas/testsuite/gas/mmix/greg8.d vendor/binutils/dist/gas/testsuite/gas/mmix/is-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/jump-c.d vendor/binutils/dist/gas/testsuite/gas/mmix/local-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/locall1.d vendor/binutils/dist/gas/testsuite/gas/mmix/mmix-err.exp vendor/binutils/dist/gas/testsuite/gas/mmix/mmix-list.exp vendor/binutils/dist/gas/testsuite/gas/mmix/mmix.exp vendor/binutils/dist/gas/testsuite/gas/mmix/odd-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/op-0-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/op-0-1s.d vendor/binutils/dist/gas/testsuite/gas/mmix/op-0-2.d vendor/binutils/dist/gas/testsuite/gas/mmix/prefix1.d vendor/binutils/dist/gas/testsuite/gas/mmix/prefix2.d vendor/binutils/dist/gas/testsuite/gas/mmix/prefix3.d vendor/binutils/dist/gas/testsuite/gas/mmix/pseudo-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/pushj-c.d vendor/binutils/dist/gas/testsuite/gas/mmix/pushj-cs.d vendor/binutils/dist/gas/testsuite/gas/mmix/relax1-n.d vendor/binutils/dist/gas/testsuite/gas/mmix/relax1-rn.d vendor/binutils/dist/gas/testsuite/gas/mmix/relax2.s vendor/binutils/dist/gas/testsuite/gas/mmix/sym-1.d vendor/binutils/dist/gas/testsuite/gas/mmix/weak1-s.d vendor/binutils/dist/gas/testsuite/gas/mmix/weak1.d vendor/binutils/dist/gas/testsuite/gas/mmix/zerop-1.d vendor/binutils/dist/gas/testsuite/gas/mn10200/basic.exp vendor/binutils/dist/gas/testsuite/gas/mn10300/am33-2.c vendor/binutils/dist/gas/testsuite/gas/mn10300/basic.exp vendor/binutils/dist/gas/testsuite/gas/pdp11/opcode.d vendor/binutils/dist/gas/testsuite/gas/pdp11/opcode.s vendor/binutils/dist/gas/testsuite/gas/ppc/aix.exp vendor/binutils/dist/gas/testsuite/gas/ppc/altivec.d vendor/binutils/dist/gas/testsuite/gas/ppc/astest.d vendor/binutils/dist/gas/testsuite/gas/ppc/astest2.d vendor/binutils/dist/gas/testsuite/gas/ppc/astest2_64.d vendor/binutils/dist/gas/testsuite/gas/ppc/astest64.d vendor/binutils/dist/gas/testsuite/gas/ppc/booke.d vendor/binutils/dist/gas/testsuite/gas/ppc/booke.s vendor/binutils/dist/gas/testsuite/gas/ppc/e500.d vendor/binutils/dist/gas/testsuite/gas/ppc/power4.d vendor/binutils/dist/gas/testsuite/gas/ppc/power4.s vendor/binutils/dist/gas/testsuite/gas/ppc/test1elf32.d vendor/binutils/dist/gas/testsuite/gas/ppc/test1elf64.d vendor/binutils/dist/gas/testsuite/gas/s390/s390.exp vendor/binutils/dist/gas/testsuite/gas/sh/basic.exp vendor/binutils/dist/gas/testsuite/gas/sh/err.exp vendor/binutils/dist/gas/testsuite/gas/sh/pcrel2.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/datal32-3.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/datal64-3.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/err-dsp.s vendor/binutils/dist/gas/testsuite/gas/sh/sh64/localcom-1.d vendor/binutils/dist/gas/testsuite/gas/sh/sh64/sh64.exp vendor/binutils/dist/gas/testsuite/gas/sh/tlsd.d vendor/binutils/dist/gas/testsuite/gas/sh/tlsnopic.d vendor/binutils/dist/gas/testsuite/gas/sh/tlspic.d vendor/binutils/dist/gas/testsuite/gas/sparc/rdpr.d vendor/binutils/dist/gas/testsuite/gas/sparc/rdpr.s vendor/binutils/dist/gas/testsuite/gas/sparc/sparc.exp vendor/binutils/dist/gas/testsuite/gas/sparc/wrpr.d vendor/binutils/dist/gas/testsuite/gas/sparc/wrpr.s vendor/binutils/dist/gas/testsuite/gas/symver/symver.exp vendor/binutils/dist/gas/testsuite/gas/tic54x/address.d vendor/binutils/dist/gas/testsuite/gas/tic54x/addrfar.d vendor/binutils/dist/gas/testsuite/gas/tic54x/align.d vendor/binutils/dist/gas/testsuite/gas/tic54x/all-opcodes.d vendor/binutils/dist/gas/testsuite/gas/tic54x/asg.d vendor/binutils/dist/gas/testsuite/gas/tic54x/cons.d vendor/binutils/dist/gas/testsuite/gas/tic54x/consfar.d vendor/binutils/dist/gas/testsuite/gas/tic54x/extaddr.d vendor/binutils/dist/gas/testsuite/gas/tic54x/field.d vendor/binutils/dist/gas/testsuite/gas/tic54x/labels.d vendor/binutils/dist/gas/testsuite/gas/tic54x/loop.d vendor/binutils/dist/gas/testsuite/gas/tic54x/lp.d vendor/binutils/dist/gas/testsuite/gas/tic54x/macro.d vendor/binutils/dist/gas/testsuite/gas/tic54x/math.d vendor/binutils/dist/gas/testsuite/gas/tic54x/opcodes.d vendor/binutils/dist/gas/testsuite/gas/tic54x/sections.d vendor/binutils/dist/gas/testsuite/gas/tic54x/set.d vendor/binutils/dist/gas/testsuite/gas/tic54x/struct.d vendor/binutils/dist/gas/testsuite/gas/tic54x/subsym.d vendor/binutils/dist/gas/testsuite/gas/v850/basic.exp vendor/binutils/dist/gas/testsuite/gas/v850/v850e1.d vendor/binutils/dist/gas/testsuite/gas/vax/elf-rel.d vendor/binutils/dist/gas/testsuite/gas/vax/vax.exp vendor/binutils/dist/gas/testsuite/gas/xtensa/all.exp vendor/binutils/dist/gas/testsuite/gas/xtensa/entry_misalign2.s vendor/binutils/dist/gas/testsuite/lib/gas-defs.exp vendor/binutils/dist/gas/write.c vendor/binutils/dist/gas/write.h vendor/binutils/dist/gettext.m4 vendor/binutils/dist/gprof/ChangeLog vendor/binutils/dist/gprof/Makefile.am vendor/binutils/dist/gprof/Makefile.in vendor/binutils/dist/gprof/acinclude.m4 vendor/binutils/dist/gprof/aclocal.m4 vendor/binutils/dist/gprof/alpha.c vendor/binutils/dist/gprof/basic_blocks.c vendor/binutils/dist/gprof/basic_blocks.h vendor/binutils/dist/gprof/bb_exit_func.c vendor/binutils/dist/gprof/bbconv.pl vendor/binutils/dist/gprof/bsd_callg_bl.c vendor/binutils/dist/gprof/call_graph.c vendor/binutils/dist/gprof/call_graph.h vendor/binutils/dist/gprof/cg_arcs.c vendor/binutils/dist/gprof/cg_arcs.h vendor/binutils/dist/gprof/cg_dfn.c vendor/binutils/dist/gprof/cg_dfn.h vendor/binutils/dist/gprof/cg_print.c vendor/binutils/dist/gprof/cg_print.h vendor/binutils/dist/gprof/configure vendor/binutils/dist/gprof/configure.in vendor/binutils/dist/gprof/corefile.c vendor/binutils/dist/gprof/corefile.h vendor/binutils/dist/gprof/flat_bl.c vendor/binutils/dist/gprof/fsf_callg_bl.c vendor/binutils/dist/gprof/gconfig.in vendor/binutils/dist/gprof/gen-c-prog.awk vendor/binutils/dist/gprof/gmon.h vendor/binutils/dist/gprof/gmon_io.c vendor/binutils/dist/gprof/gmon_io.h vendor/binutils/dist/gprof/gmon_out.h vendor/binutils/dist/gprof/gprof.1 vendor/binutils/dist/gprof/gprof.c vendor/binutils/dist/gprof/gprof.h vendor/binutils/dist/gprof/gprof.info vendor/binutils/dist/gprof/gprof.texi vendor/binutils/dist/gprof/hertz.h vendor/binutils/dist/gprof/hist.c vendor/binutils/dist/gprof/hist.h vendor/binutils/dist/gprof/i386.c vendor/binutils/dist/gprof/mips.c vendor/binutils/dist/gprof/po/Make-in vendor/binutils/dist/gprof/po/de.gmo vendor/binutils/dist/gprof/po/de.po vendor/binutils/dist/gprof/po/es.gmo vendor/binutils/dist/gprof/po/es.po vendor/binutils/dist/gprof/po/fr.gmo vendor/binutils/dist/gprof/po/fr.po vendor/binutils/dist/gprof/po/gprof.pot vendor/binutils/dist/gprof/po/sv.gmo vendor/binutils/dist/gprof/po/sv.po vendor/binutils/dist/gprof/po/tr.gmo vendor/binutils/dist/gprof/po/tr.po vendor/binutils/dist/gprof/search_list.c vendor/binutils/dist/gprof/search_list.h vendor/binutils/dist/gprof/source.c vendor/binutils/dist/gprof/source.h vendor/binutils/dist/gprof/sparc.c vendor/binutils/dist/gprof/sym_ids.c vendor/binutils/dist/gprof/sym_ids.h vendor/binutils/dist/gprof/symtab.c vendor/binutils/dist/gprof/symtab.h vendor/binutils/dist/gprof/tahoe.c vendor/binutils/dist/gprof/utils.c vendor/binutils/dist/gprof/utils.h vendor/binutils/dist/gprof/vax.c vendor/binutils/dist/include/COPYING vendor/binutils/dist/include/ChangeLog vendor/binutils/dist/include/ChangeLog-9103 vendor/binutils/dist/include/ansidecl.h vendor/binutils/dist/include/aout/ChangeLog vendor/binutils/dist/include/aout/adobe.h vendor/binutils/dist/include/aout/aout64.h vendor/binutils/dist/include/aout/ar.h vendor/binutils/dist/include/aout/dynix3.h vendor/binutils/dist/include/aout/encap.h vendor/binutils/dist/include/aout/host.h vendor/binutils/dist/include/aout/hp.h vendor/binutils/dist/include/aout/ranlib.h vendor/binutils/dist/include/aout/reloc.h vendor/binutils/dist/include/aout/stab.def vendor/binutils/dist/include/aout/stab_gnu.h vendor/binutils/dist/include/aout/sun4.h vendor/binutils/dist/include/bfdlink.h vendor/binutils/dist/include/bin-bugs.h vendor/binutils/dist/include/bout.h vendor/binutils/dist/include/coff/ChangeLog vendor/binutils/dist/include/coff/ChangeLog-9103 vendor/binutils/dist/include/coff/alpha.h vendor/binutils/dist/include/coff/apollo.h vendor/binutils/dist/include/coff/arm.h vendor/binutils/dist/include/coff/aux-coff.h vendor/binutils/dist/include/coff/ecoff.h vendor/binutils/dist/include/coff/external.h vendor/binutils/dist/include/coff/go32exe.h vendor/binutils/dist/include/coff/h8300.h vendor/binutils/dist/include/coff/h8500.h vendor/binutils/dist/include/coff/i386.h vendor/binutils/dist/include/coff/i860.h vendor/binutils/dist/include/coff/i960.h vendor/binutils/dist/include/coff/ia64.h vendor/binutils/dist/include/coff/internal.h vendor/binutils/dist/include/coff/m68k.h vendor/binutils/dist/include/coff/m88k.h vendor/binutils/dist/include/coff/mcore.h vendor/binutils/dist/include/coff/mips.h vendor/binutils/dist/include/coff/mipspe.h vendor/binutils/dist/include/coff/or32.h vendor/binutils/dist/include/coff/pe.h vendor/binutils/dist/include/coff/powerpc.h vendor/binutils/dist/include/coff/rs6000.h vendor/binutils/dist/include/coff/rs6k64.h vendor/binutils/dist/include/coff/sh.h vendor/binutils/dist/include/coff/sparc.h vendor/binutils/dist/include/coff/symconst.h vendor/binutils/dist/include/coff/ti.h vendor/binutils/dist/include/coff/tic30.h vendor/binutils/dist/include/coff/tic4x.h vendor/binutils/dist/include/coff/tic54x.h vendor/binutils/dist/include/coff/tic80.h vendor/binutils/dist/include/coff/w65.h vendor/binutils/dist/include/coff/we32k.h vendor/binutils/dist/include/coff/xcoff.h vendor/binutils/dist/include/coff/z8k.h vendor/binutils/dist/include/demangle.h vendor/binutils/dist/include/dis-asm.h vendor/binutils/dist/include/dyn-string.h vendor/binutils/dist/include/elf/ChangeLog vendor/binutils/dist/include/elf/ChangeLog-9103 vendor/binutils/dist/include/elf/alpha.h vendor/binutils/dist/include/elf/arc.h vendor/binutils/dist/include/elf/arm.h vendor/binutils/dist/include/elf/avr.h vendor/binutils/dist/include/elf/common.h vendor/binutils/dist/include/elf/cris.h vendor/binutils/dist/include/elf/d10v.h vendor/binutils/dist/include/elf/d30v.h vendor/binutils/dist/include/elf/dlx.h vendor/binutils/dist/include/elf/dwarf.h vendor/binutils/dist/include/elf/dwarf2.h vendor/binutils/dist/include/elf/external.h vendor/binutils/dist/include/elf/fr30.h vendor/binutils/dist/include/elf/frv.h vendor/binutils/dist/include/elf/h8.h vendor/binutils/dist/include/elf/hppa.h vendor/binutils/dist/include/elf/i370.h vendor/binutils/dist/include/elf/i386.h vendor/binutils/dist/include/elf/i860.h vendor/binutils/dist/include/elf/i960.h vendor/binutils/dist/include/elf/ia64.h vendor/binutils/dist/include/elf/internal.h vendor/binutils/dist/include/elf/ip2k.h vendor/binutils/dist/include/elf/iq2000.h vendor/binutils/dist/include/elf/m32r.h vendor/binutils/dist/include/elf/m68hc11.h vendor/binutils/dist/include/elf/m68k.h vendor/binutils/dist/include/elf/mcore.h vendor/binutils/dist/include/elf/mips.h vendor/binutils/dist/include/elf/mmix.h vendor/binutils/dist/include/elf/mn10200.h vendor/binutils/dist/include/elf/mn10300.h vendor/binutils/dist/include/elf/msp430.h vendor/binutils/dist/include/elf/openrisc.h vendor/binutils/dist/include/elf/or32.h vendor/binutils/dist/include/elf/pj.h vendor/binutils/dist/include/elf/ppc.h vendor/binutils/dist/include/elf/ppc64.h vendor/binutils/dist/include/elf/reloc-macros.h vendor/binutils/dist/include/elf/s390.h vendor/binutils/dist/include/elf/sh.h vendor/binutils/dist/include/elf/sparc.h vendor/binutils/dist/include/elf/v850.h vendor/binutils/dist/include/elf/vax.h vendor/binutils/dist/include/elf/x86-64.h vendor/binutils/dist/include/elf/xstormy16.h vendor/binutils/dist/include/elf/xtensa.h vendor/binutils/dist/include/fibheap.h vendor/binutils/dist/include/filenames.h vendor/binutils/dist/include/floatformat.h vendor/binutils/dist/include/fnmatch.h vendor/binutils/dist/include/gdb/ChangeLog vendor/binutils/dist/include/gdb/callback.h vendor/binutils/dist/include/gdb/sim-sh.h vendor/binutils/dist/include/gdbm.h vendor/binutils/dist/include/getopt.h vendor/binutils/dist/include/hashtab.h vendor/binutils/dist/include/hp-symtab.h vendor/binutils/dist/include/ieee.h vendor/binutils/dist/include/libiberty.h vendor/binutils/dist/include/md5.h vendor/binutils/dist/include/nlm/ChangeLog vendor/binutils/dist/include/nlm/alpha-ext.h vendor/binutils/dist/include/nlm/common.h vendor/binutils/dist/include/nlm/external.h vendor/binutils/dist/include/nlm/i386-ext.h vendor/binutils/dist/include/nlm/internal.h vendor/binutils/dist/include/nlm/ppc-ext.h vendor/binutils/dist/include/nlm/sparc32-ext.h vendor/binutils/dist/include/oasys.h vendor/binutils/dist/include/objalloc.h vendor/binutils/dist/include/obstack.h vendor/binutils/dist/include/opcode/ChangeLog vendor/binutils/dist/include/opcode/ChangeLog-9103 vendor/binutils/dist/include/opcode/alpha.h vendor/binutils/dist/include/opcode/arc.h vendor/binutils/dist/include/opcode/arm.h vendor/binutils/dist/include/opcode/avr.h vendor/binutils/dist/include/opcode/cgen.h vendor/binutils/dist/include/opcode/convex.h vendor/binutils/dist/include/opcode/cris.h vendor/binutils/dist/include/opcode/d10v.h vendor/binutils/dist/include/opcode/d30v.h vendor/binutils/dist/include/opcode/dlx.h vendor/binutils/dist/include/opcode/h8300.h vendor/binutils/dist/include/opcode/hppa.h vendor/binutils/dist/include/opcode/i370.h vendor/binutils/dist/include/opcode/i386.h vendor/binutils/dist/include/opcode/i860.h vendor/binutils/dist/include/opcode/i960.h vendor/binutils/dist/include/opcode/ia64.h vendor/binutils/dist/include/opcode/m68hc11.h vendor/binutils/dist/include/opcode/m68k.h vendor/binutils/dist/include/opcode/m88k.h vendor/binutils/dist/include/opcode/mips.h vendor/binutils/dist/include/opcode/mmix.h vendor/binutils/dist/include/opcode/mn10200.h vendor/binutils/dist/include/opcode/mn10300.h vendor/binutils/dist/include/opcode/msp430.h vendor/binutils/dist/include/opcode/np1.h vendor/binutils/dist/include/opcode/ns32k.h vendor/binutils/dist/include/opcode/or32.h vendor/binutils/dist/include/opcode/pdp11.h vendor/binutils/dist/include/opcode/pj.h vendor/binutils/dist/include/opcode/pn.h vendor/binutils/dist/include/opcode/ppc.h vendor/binutils/dist/include/opcode/pyr.h vendor/binutils/dist/include/opcode/s390.h vendor/binutils/dist/include/opcode/sparc.h vendor/binutils/dist/include/opcode/tic30.h vendor/binutils/dist/include/opcode/tic4x.h vendor/binutils/dist/include/opcode/tic54x.h vendor/binutils/dist/include/opcode/tic80.h vendor/binutils/dist/include/opcode/v850.h vendor/binutils/dist/include/opcode/vax.h vendor/binutils/dist/include/os9k.h vendor/binutils/dist/include/partition.h vendor/binutils/dist/include/progress.h vendor/binutils/dist/include/safe-ctype.h vendor/binutils/dist/include/sort.h vendor/binutils/dist/include/splay-tree.h vendor/binutils/dist/include/symcat.h vendor/binutils/dist/include/ternary.h vendor/binutils/dist/include/xregex2.h vendor/binutils/dist/include/xtensa-config.h vendor/binutils/dist/include/xtensa-isa-internal.h vendor/binutils/dist/include/xtensa-isa.h vendor/binutils/dist/install-sh vendor/binutils/dist/intl/ChangeLog vendor/binutils/dist/intl/Makefile.in vendor/binutils/dist/intl/bindtextdom.c vendor/binutils/dist/intl/cat-compat.c vendor/binutils/dist/intl/dcgettext.c vendor/binutils/dist/intl/dgettext.c vendor/binutils/dist/intl/explodename.c vendor/binutils/dist/intl/finddomain.c vendor/binutils/dist/intl/gettext.c vendor/binutils/dist/intl/gettext.h vendor/binutils/dist/intl/gettextP.h vendor/binutils/dist/intl/hash-string.h vendor/binutils/dist/intl/intl-compat.c vendor/binutils/dist/intl/intlh.inst.in vendor/binutils/dist/intl/l10nflist.c vendor/binutils/dist/intl/libgettext.h vendor/binutils/dist/intl/libintl.glibc vendor/binutils/dist/intl/linux-msg.sed vendor/binutils/dist/intl/loadinfo.h vendor/binutils/dist/intl/loadmsgcat.c vendor/binutils/dist/intl/localealias.c vendor/binutils/dist/intl/po2tbl.sed.in vendor/binutils/dist/intl/textdomain.c vendor/binutils/dist/intl/xopen-msg.sed vendor/binutils/dist/ld/ChangeLog vendor/binutils/dist/ld/Makefile.am vendor/binutils/dist/ld/Makefile.in vendor/binutils/dist/ld/NEWS vendor/binutils/dist/ld/acinclude.m4 vendor/binutils/dist/ld/aclocal.m4 vendor/binutils/dist/ld/config.in vendor/binutils/dist/ld/configure vendor/binutils/dist/ld/configure.host vendor/binutils/dist/ld/configure.in vendor/binutils/dist/ld/configure.tgt vendor/binutils/dist/ld/deffile.h vendor/binutils/dist/ld/deffilep.y vendor/binutils/dist/ld/dep-in.sed vendor/binutils/dist/ld/emulparams/arm_epoc_pe.sh vendor/binutils/dist/ld/emulparams/armelf.sh vendor/binutils/dist/ld/emulparams/armelf_fbsd.sh vendor/binutils/dist/ld/emulparams/armelf_linux.sh vendor/binutils/dist/ld/emulparams/armelf_nbsd.sh vendor/binutils/dist/ld/emulparams/armnto.sh vendor/binutils/dist/ld/emulparams/armpe.sh vendor/binutils/dist/ld/emulparams/criself.sh vendor/binutils/dist/ld/emulparams/crislinux.sh vendor/binutils/dist/ld/emulparams/elf32bmip.sh vendor/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh vendor/binutils/dist/ld/emulparams/elf32btsmip.sh vendor/binutils/dist/ld/emulparams/elf32fr30.sh vendor/binutils/dist/ld/emulparams/elf32frv.sh vendor/binutils/dist/ld/emulparams/elf32frvfd.sh vendor/binutils/dist/ld/emulparams/elf32ppc.sh vendor/binutils/dist/ld/emulparams/elf32ppclinux.sh vendor/binutils/dist/ld/emulparams/elf32xtensa.sh vendor/binutils/dist/ld/emulparams/elf64_ia64.sh vendor/binutils/dist/ld/emulparams/elf64_ia64_fbsd.sh vendor/binutils/dist/ld/emulparams/elf64_s390.sh vendor/binutils/dist/ld/emulparams/elf64alpha.sh vendor/binutils/dist/ld/emulparams/elf64mmix.sh vendor/binutils/dist/ld/emulparams/elf64ppc.sh vendor/binutils/dist/ld/emulparams/elf_i386.sh vendor/binutils/dist/ld/emulparams/elf_s390.sh vendor/binutils/dist/ld/emulparams/elf_x86_64.sh vendor/binutils/dist/ld/emulparams/h8300.sh vendor/binutils/dist/ld/emulparams/h8300elf.sh vendor/binutils/dist/ld/emulparams/h8300sxelf.sh vendor/binutils/dist/ld/emulparams/hppa64linux.sh vendor/binutils/dist/ld/emulparams/hppalinux.sh vendor/binutils/dist/ld/emulparams/i386lynx.sh vendor/binutils/dist/ld/emulparams/i386pe.sh vendor/binutils/dist/ld/emulparams/i386pe_posix.sh vendor/binutils/dist/ld/emulparams/m32relf.sh vendor/binutils/dist/ld/emulparams/m32relf_linux.sh vendor/binutils/dist/ld/emulparams/mcorepe.sh vendor/binutils/dist/ld/emulparams/mipsidt.sh vendor/binutils/dist/ld/emulparams/mipsidtl.sh vendor/binutils/dist/ld/emulparams/mipspe.sh vendor/binutils/dist/ld/emulparams/msp430all.sh vendor/binutils/dist/ld/emulparams/ppcpe.sh vendor/binutils/dist/ld/emulparams/shelf.sh vendor/binutils/dist/ld/emulparams/shlelf32_linux.sh vendor/binutils/dist/ld/emulparams/shpe.sh vendor/binutils/dist/ld/emultempl/aix.em vendor/binutils/dist/ld/emultempl/alphaelf.em vendor/binutils/dist/ld/emultempl/armcoff.em vendor/binutils/dist/ld/emultempl/armelf.em vendor/binutils/dist/ld/emultempl/beos.em vendor/binutils/dist/ld/emultempl/elf32.em vendor/binutils/dist/ld/emultempl/generic.em vendor/binutils/dist/ld/emultempl/gld960.em vendor/binutils/dist/ld/emultempl/gld960c.em vendor/binutils/dist/ld/emultempl/hppaelf.em vendor/binutils/dist/ld/emultempl/ia64elf.em vendor/binutils/dist/ld/emultempl/irix.em vendor/binutils/dist/ld/emultempl/linux.em vendor/binutils/dist/ld/emultempl/lnk960.em vendor/binutils/dist/ld/emultempl/m68hc1xelf.em vendor/binutils/dist/ld/emultempl/m68kcoff.em vendor/binutils/dist/ld/emultempl/m68kelf.em vendor/binutils/dist/ld/emultempl/mipsecoff.em vendor/binutils/dist/ld/emultempl/mmix-elfnmmo.em vendor/binutils/dist/ld/emultempl/mmixelf.em vendor/binutils/dist/ld/emultempl/mmo.em vendor/binutils/dist/ld/emultempl/needrelax.em vendor/binutils/dist/ld/emultempl/pe.em vendor/binutils/dist/ld/emultempl/ppc32elf.em vendor/binutils/dist/ld/emultempl/ppc64elf.em vendor/binutils/dist/ld/emultempl/sh64elf.em vendor/binutils/dist/ld/emultempl/sunos.em vendor/binutils/dist/ld/emultempl/ticoff.em vendor/binutils/dist/ld/emultempl/vanilla.em vendor/binutils/dist/ld/emultempl/xtensaelf.em vendor/binutils/dist/ld/fdl.texi vendor/binutils/dist/ld/gen-doc.texi vendor/binutils/dist/ld/genscripts.sh vendor/binutils/dist/ld/ld.1 vendor/binutils/dist/ld/ld.h vendor/binutils/dist/ld/ld.info (contents, props changed) vendor/binutils/dist/ld/ld.texinfo vendor/binutils/dist/ld/ldcref.c vendor/binutils/dist/ld/ldctor.c vendor/binutils/dist/ld/ldctor.h vendor/binutils/dist/ld/ldemul.c vendor/binutils/dist/ld/ldemul.h vendor/binutils/dist/ld/ldexp.c vendor/binutils/dist/ld/ldexp.h vendor/binutils/dist/ld/ldfile.c vendor/binutils/dist/ld/ldfile.h vendor/binutils/dist/ld/ldgram.c vendor/binutils/dist/ld/ldgram.h vendor/binutils/dist/ld/ldgram.y vendor/binutils/dist/ld/ldint.texinfo vendor/binutils/dist/ld/ldlang.c vendor/binutils/dist/ld/ldlang.h vendor/binutils/dist/ld/ldlex.c vendor/binutils/dist/ld/ldlex.h vendor/binutils/dist/ld/ldlex.l vendor/binutils/dist/ld/ldmain.c vendor/binutils/dist/ld/ldmain.h vendor/binutils/dist/ld/ldmisc.c vendor/binutils/dist/ld/ldmisc.h vendor/binutils/dist/ld/ldver.c vendor/binutils/dist/ld/ldver.h vendor/binutils/dist/ld/ldver.texi vendor/binutils/dist/ld/ldwrite.c vendor/binutils/dist/ld/ldwrite.h vendor/binutils/dist/ld/lexsup.c vendor/binutils/dist/ld/mri.c vendor/binutils/dist/ld/mri.h vendor/binutils/dist/ld/pe-dll.c vendor/binutils/dist/ld/pe-dll.h vendor/binutils/dist/ld/po/Make-in vendor/binutils/dist/ld/po/POTFILES.in vendor/binutils/dist/ld/po/es.gmo vendor/binutils/dist/ld/po/es.po vendor/binutils/dist/ld/po/fr.gmo vendor/binutils/dist/ld/po/fr.po vendor/binutils/dist/ld/po/ld.pot vendor/binutils/dist/ld/po/tr.gmo vendor/binutils/dist/ld/po/tr.po vendor/binutils/dist/ld/scripttempl/avr.sc vendor/binutils/dist/ld/scripttempl/elf.sc vendor/binutils/dist/ld/scripttempl/elf32msp430.sc vendor/binutils/dist/ld/scripttempl/elf_chaos.sc vendor/binutils/dist/ld/scripttempl/elfd10v.sc vendor/binutils/dist/ld/scripttempl/elfd30v.sc vendor/binutils/dist/ld/scripttempl/elfm68hc12.sc vendor/binutils/dist/ld/scripttempl/elfxtensa.sc vendor/binutils/dist/ld/scripttempl/iq2000.sc vendor/binutils/dist/ld/scripttempl/mips.sc vendor/binutils/dist/ld/scripttempl/pe.sc vendor/binutils/dist/ld/scripttempl/xstormy16.sc vendor/binutils/dist/ld/sysdep.h vendor/binutils/dist/ld/testsuite/ChangeLog vendor/binutils/dist/ld/testsuite/config/default.exp vendor/binutils/dist/ld/testsuite/ld-alpha/alpha.exp vendor/binutils/dist/ld/testsuite/ld-alpha/tlsbin.dd vendor/binutils/dist/ld/testsuite/ld-alpha/tlsbin.rd vendor/binutils/dist/ld/testsuite/ld-alpha/tlsbin.sd vendor/binutils/dist/ld/testsuite/ld-alpha/tlsbin.td vendor/binutils/dist/ld/testsuite/ld-alpha/tlsbinr.dd vendor/binutils/dist/ld/testsuite/ld-alpha/tlsbinr.rd vendor/binutils/dist/ld/testsuite/ld-alpha/tlspic.dd vendor/binutils/dist/ld/testsuite/ld-alpha/tlspic.rd vendor/binutils/dist/ld/testsuite/ld-alpha/tlspic.sd vendor/binutils/dist/ld/testsuite/ld-alpha/tlspic.td vendor/binutils/dist/ld/testsuite/ld-arm/arm-app-abs32.d vendor/binutils/dist/ld/testsuite/ld-arm/arm-app-abs32.r vendor/binutils/dist/ld/testsuite/ld-arm/arm-app.d vendor/binutils/dist/ld/testsuite/ld-arm/arm-app.r vendor/binutils/dist/ld/testsuite/ld-arm/arm-elf.exp vendor/binutils/dist/ld/testsuite/ld-arm/arm-lib-plt32.d vendor/binutils/dist/ld/testsuite/ld-arm/arm-lib-plt32.r vendor/binutils/dist/ld/testsuite/ld-arm/arm-lib.d vendor/binutils/dist/ld/testsuite/ld-arm/arm-lib.r vendor/binutils/dist/ld/testsuite/ld-arm/arm-static-app.d vendor/binutils/dist/ld/testsuite/ld-arm/arm-static-app.r vendor/binutils/dist/ld/testsuite/ld-auto-import/auto-import.exp vendor/binutils/dist/ld/testsuite/ld-bootstrap/bootstrap.exp vendor/binutils/dist/ld/testsuite/ld-cdtest/cdtest-foo.cc vendor/binutils/dist/ld/testsuite/ld-cdtest/cdtest-foo.h vendor/binutils/dist/ld/testsuite/ld-cdtest/cdtest.exp vendor/binutils/dist/ld/testsuite/ld-checks/checks.exp vendor/binutils/dist/ld/testsuite/ld-cris/badgotr1.d vendor/binutils/dist/ld/testsuite/ld-cris/cris.exp vendor/binutils/dist/ld/testsuite/ld-cris/dso-1.s vendor/binutils/dist/ld/testsuite/ld-cris/expdyn1.d vendor/binutils/dist/ld/testsuite/ld-cris/expdyn1.s vendor/binutils/dist/ld/testsuite/ld-cris/expdyn2.d vendor/binutils/dist/ld/testsuite/ld-cris/expdyn3.d vendor/binutils/dist/ld/testsuite/ld-cris/expdyn4.d vendor/binutils/dist/ld/testsuite/ld-cris/expdyn5.d vendor/binutils/dist/ld/testsuite/ld-cris/expdyn6.d vendor/binutils/dist/ld/testsuite/ld-cris/expdyn7.d vendor/binutils/dist/ld/testsuite/ld-cris/gotplt1.d vendor/binutils/dist/ld/testsuite/ld-cris/gotplt2.d vendor/binutils/dist/ld/testsuite/ld-cris/gotplt3.d vendor/binutils/dist/ld/testsuite/ld-cris/ldsym1.d vendor/binutils/dist/ld/testsuite/ld-cris/libdso-1.d vendor/binutils/dist/ld/testsuite/ld-cris/libdso-2.d vendor/binutils/dist/ld/testsuite/ld-cris/libdso-3.d vendor/binutils/dist/ld/testsuite/ld-cris/libdso-4.d vendor/binutils/dist/ld/testsuite/ld-cris/locref1.d vendor/binutils/dist/ld/testsuite/ld-cris/locref2.d vendor/binutils/dist/ld/testsuite/ld-cris/nodyn4.d vendor/binutils/dist/ld/testsuite/ld-cris/nodyn5.d vendor/binutils/dist/ld/testsuite/ld-cris/noglob1.d vendor/binutils/dist/ld/testsuite/ld-cris/undef1.d vendor/binutils/dist/ld/testsuite/ld-cris/weakref1.d vendor/binutils/dist/ld/testsuite/ld-cris/weakref2.d vendor/binutils/dist/ld/testsuite/ld-cygwin/exe-export.exp vendor/binutils/dist/ld/testsuite/ld-d10v/d10v.exp vendor/binutils/dist/ld/testsuite/ld-d10v/default_layout.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-003.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-004.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-007.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-008.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-011.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-012.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-015.d vendor/binutils/dist/ld/testsuite/ld-d10v/reloc-016.d vendor/binutils/dist/ld/testsuite/ld-discard/discard.exp vendor/binutils/dist/ld/testsuite/ld-discard/extern.d vendor/binutils/dist/ld/testsuite/ld-discard/start.d vendor/binutils/dist/ld/testsuite/ld-discard/static.d vendor/binutils/dist/ld/testsuite/ld-elf/elf.exp vendor/binutils/dist/ld/testsuite/ld-elf/merge.d vendor/binutils/dist/ld/testsuite/ld-elf/merge2.d vendor/binutils/dist/ld/testsuite/ld-elf/sec64k.exp vendor/binutils/dist/ld/testsuite/ld-elfcomm/elfcomm.exp vendor/binutils/dist/ld/testsuite/ld-elfvers/vers.exp vendor/binutils/dist/ld/testsuite/ld-elfvsb/elfvsb.exp vendor/binutils/dist/ld/testsuite/ld-elfvsb/main.c vendor/binutils/dist/ld/testsuite/ld-elfweak/dsow.dsym vendor/binutils/dist/ld/testsuite/ld-elfweak/elfweak.exp vendor/binutils/dist/ld/testsuite/ld-elfweak/weak.dsym vendor/binutils/dist/ld/testsuite/ld-fastcall/fastcall.exp vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-pie-1.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-pie-2.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-pie-5.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-pie-6-fail.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-pie-6.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-pie-7.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-pie-8.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-1.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-2-fail.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-2.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-3.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-4.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-5.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-6-fail.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-6.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-7.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-8-fail.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-8.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-local-2.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-shared-local-8.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-static-1.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-static-2.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-static-5.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-static-6.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-static-7.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic-static-8.d vendor/binutils/dist/ld/testsuite/ld-frv/fdpic.exp vendor/binutils/dist/ld/testsuite/ld-h8300/h8300.exp vendor/binutils/dist/ld/testsuite/ld-h8300/relax-2.d vendor/binutils/dist/ld/testsuite/ld-h8300/relax-3-coff.d vendor/binutils/dist/ld/testsuite/ld-h8300/relax-3.d vendor/binutils/dist/ld/testsuite/ld-h8300/relax-4-coff.d vendor/binutils/dist/ld/testsuite/ld-h8300/relax-4.d vendor/binutils/dist/ld/testsuite/ld-h8300/relax-5-coff.d vendor/binutils/dist/ld/testsuite/ld-h8300/relax-5.d vendor/binutils/dist/ld/testsuite/ld-h8300/relax.d vendor/binutils/dist/ld/testsuite/ld-i386/combreloc.d vendor/binutils/dist/ld/testsuite/ld-i386/i386.exp vendor/binutils/dist/ld/testsuite/ld-i386/tlsbin.dd vendor/binutils/dist/ld/testsuite/ld-i386/tlsbin.rd vendor/binutils/dist/ld/testsuite/ld-i386/tlsbin.sd vendor/binutils/dist/ld/testsuite/ld-i386/tlsbinpic.s vendor/binutils/dist/ld/testsuite/ld-i386/tlsnopic.dd vendor/binutils/dist/ld/testsuite/ld-i386/tlsnopic.rd vendor/binutils/dist/ld/testsuite/ld-i386/tlsnopic.sd vendor/binutils/dist/ld/testsuite/ld-i386/tlsnopic1.s vendor/binutils/dist/ld/testsuite/ld-i386/tlspic.dd vendor/binutils/dist/ld/testsuite/ld-i386/tlspic.rd vendor/binutils/dist/ld/testsuite/ld-i386/tlspic.sd vendor/binutils/dist/ld/testsuite/ld-ia64/ia64.exp vendor/binutils/dist/ld/testsuite/ld-ia64/tlsbin.dd vendor/binutils/dist/ld/testsuite/ld-ia64/tlsbin.rd vendor/binutils/dist/ld/testsuite/ld-ia64/tlsbin.s vendor/binutils/dist/ld/testsuite/ld-ia64/tlsbin.sd vendor/binutils/dist/ld/testsuite/ld-ia64/tlsbin.td vendor/binutils/dist/ld/testsuite/ld-ia64/tlsbinpic.s vendor/binutils/dist/ld/testsuite/ld-ia64/tlspic.dd vendor/binutils/dist/ld/testsuite/ld-ia64/tlspic.rd vendor/binutils/dist/ld/testsuite/ld-ia64/tlspic.sd vendor/binutils/dist/ld/testsuite/ld-ia64/tlspic.td vendor/binutils/dist/ld/testsuite/ld-ia64/tlspic1.s vendor/binutils/dist/ld/testsuite/ld-linkonce/linkonce.exp vendor/binutils/dist/ld/testsuite/ld-m68hc11/m68hc11.exp vendor/binutils/dist/ld/testsuite/ld-mips-elf/elf-rel-got-n32.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/elf-rel-got-n64-linux.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/elf-rel-got-n64.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/mips-elf-flags.exp vendor/binutils/dist/ld/testsuite/ld-mips-elf/mips-elf.exp vendor/binutils/dist/ld/testsuite/ld-mips-elf/multi-got-1.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/rel32-n32.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/rel32-o32.d vendor/binutils/dist/ld/testsuite/ld-mips-elf/rel64.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-1.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-10.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-11.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-14.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-16.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-17.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-18.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-19.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-2.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-22.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-3.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-4.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-5.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-6.d vendor/binutils/dist/ld/testsuite/ld-mmix/bpo-9.d vendor/binutils/dist/ld/testsuite/ld-mmix/bspec1.d vendor/binutils/dist/ld/testsuite/ld-mmix/bspec2.d vendor/binutils/dist/ld/testsuite/ld-mmix/getaa-6b.d vendor/binutils/dist/ld/testsuite/ld-mmix/getaa-6f.d vendor/binutils/dist/ld/testsuite/ld-mmix/getaa14b.d vendor/binutils/dist/ld/testsuite/ld-mmix/getaa14f.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-1.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-19.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-2.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-3.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-4.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-5.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-5s.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-6.d vendor/binutils/dist/ld/testsuite/ld-mmix/greg-7.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa-6b.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa-6f.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa14b.d vendor/binutils/dist/ld/testsuite/ld-mmix/jumpa14f.d vendor/binutils/dist/ld/testsuite/ld-mmix/loc1.d vendor/binutils/dist/ld/testsuite/ld-mmix/loc2.d vendor/binutils/dist/ld/testsuite/ld-mmix/loc3.d vendor/binutils/dist/ld/testsuite/ld-mmix/loc4.d vendor/binutils/dist/ld/testsuite/ld-mmix/loc6.d vendor/binutils/dist/ld/testsuite/ld-mmix/local1.d vendor/binutils/dist/ld/testsuite/ld-mmix/local12.d vendor/binutils/dist/ld/testsuite/ld-mmix/local3.d vendor/binutils/dist/ld/testsuite/ld-mmix/local5.d vendor/binutils/dist/ld/testsuite/ld-mmix/local7.d vendor/binutils/dist/ld/testsuite/ld-mmix/locdo-1.d vendor/binutils/dist/ld/testsuite/ld-mmix/loct-1.d vendor/binutils/dist/ld/testsuite/ld-mmix/locto-1.d vendor/binutils/dist/ld/testsuite/ld-mmix/mmix.exp vendor/binutils/dist/ld/testsuite/ld-mmix/reg-1.d vendor/binutils/dist/ld/testsuite/ld-mmix/reg-1m.d vendor/binutils/dist/ld/testsuite/ld-mmix/sec-1.d vendor/binutils/dist/ld/testsuite/ld-mmix/sec-5.d vendor/binutils/dist/ld/testsuite/ld-mmix/sec-7m.d vendor/binutils/dist/ld/testsuite/ld-mmix/sec-8m.d vendor/binutils/dist/ld/testsuite/ld-mmix/start-1.d vendor/binutils/dist/ld/testsuite/ld-mmix/undef-3.d vendor/binutils/dist/ld/testsuite/ld-powerpc/apuinfo.rd vendor/binutils/dist/ld/testsuite/ld-powerpc/powerpc.exp vendor/binutils/dist/ld/testsuite/ld-powerpc/reloc.d vendor/binutils/dist/ld/testsuite/ld-powerpc/tls32.s vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsexe.g vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsexe.r vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsexe32.d vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsexe32.g vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsexe32.r vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsexe32.t vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsexetoc.g vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsexetoc.r vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsso.g vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsso.r vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsso32.d vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsso32.g vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsso32.r vendor/binutils/dist/ld/testsuite/ld-powerpc/tlsso32.t vendor/binutils/dist/ld/testsuite/ld-powerpc/tlstocso.g vendor/binutils/dist/ld/testsuite/ld-powerpc/tlstocso.r vendor/binutils/dist/ld/testsuite/ld-s390/s390.exp vendor/binutils/dist/ld/testsuite/ld-s390/tlsbin.dd vendor/binutils/dist/ld/testsuite/ld-s390/tlsbin.rd vendor/binutils/dist/ld/testsuite/ld-s390/tlsbin.sd vendor/binutils/dist/ld/testsuite/ld-s390/tlsbin.td vendor/binutils/dist/ld/testsuite/ld-s390/tlsbin_64.dd vendor/binutils/dist/ld/testsuite/ld-s390/tlsbin_64.rd vendor/binutils/dist/ld/testsuite/ld-s390/tlsbin_64.sd vendor/binutils/dist/ld/testsuite/ld-s390/tlsbin_64.td vendor/binutils/dist/ld/testsuite/ld-s390/tlsbinpic.s vendor/binutils/dist/ld/testsuite/ld-s390/tlsbinpic_64.s vendor/binutils/dist/ld/testsuite/ld-s390/tlspic.dd vendor/binutils/dist/ld/testsuite/ld-s390/tlspic.rd vendor/binutils/dist/ld/testsuite/ld-s390/tlspic.sd vendor/binutils/dist/ld/testsuite/ld-s390/tlspic.td vendor/binutils/dist/ld/testsuite/ld-s390/tlspic1.s vendor/binutils/dist/ld/testsuite/ld-s390/tlspic1_64.s vendor/binutils/dist/ld/testsuite/ld-s390/tlspic_64.dd vendor/binutils/dist/ld/testsuite/ld-s390/tlspic_64.rd vendor/binutils/dist/ld/testsuite/ld-s390/tlspic_64.sd vendor/binutils/dist/ld/testsuite/ld-s390/tlspic_64.td vendor/binutils/dist/ld/testsuite/ld-scripts/align.exp vendor/binutils/dist/ld/testsuite/ld-scripts/assert.exp vendor/binutils/dist/ld/testsuite/ld-scripts/assert.s vendor/binutils/dist/ld/testsuite/ld-scripts/cross1.t vendor/binutils/dist/ld/testsuite/ld-scripts/crossref.exp vendor/binutils/dist/ld/testsuite/ld-scripts/data.exp vendor/binutils/dist/ld/testsuite/ld-scripts/data.s vendor/binutils/dist/ld/testsuite/ld-scripts/defined.exp vendor/binutils/dist/ld/testsuite/ld-scripts/defined2.d vendor/binutils/dist/ld/testsuite/ld-scripts/defined3.d vendor/binutils/dist/ld/testsuite/ld-scripts/map-address.exp vendor/binutils/dist/ld/testsuite/ld-scripts/overlay-size.d vendor/binutils/dist/ld/testsuite/ld-scripts/overlay-size.exp vendor/binutils/dist/ld/testsuite/ld-scripts/phdrs.exp vendor/binutils/dist/ld/testsuite/ld-scripts/phdrs2.exp vendor/binutils/dist/ld/testsuite/ld-scripts/provide-2.d vendor/binutils/dist/ld/testsuite/ld-scripts/provide-2.t vendor/binutils/dist/ld/testsuite/ld-scripts/provide.exp vendor/binutils/dist/ld/testsuite/ld-scripts/script.exp vendor/binutils/dist/ld/testsuite/ld-scripts/size-2.d vendor/binutils/dist/ld/testsuite/ld-scripts/size.exp vendor/binutils/dist/ld/testsuite/ld-scripts/sizeof.exp vendor/binutils/dist/ld/testsuite/ld-scripts/weak.exp vendor/binutils/dist/ld/testsuite/ld-scripts/weak1.s vendor/binutils/dist/ld/testsuite/ld-scripts/weak2.s vendor/binutils/dist/ld/testsuite/ld-selective/sel-dump.exp vendor/binutils/dist/ld/testsuite/ld-selective/selective.exp vendor/binutils/dist/ld/testsuite/ld-sh/rd-sh.exp vendor/binutils/dist/ld/testsuite/ld-sh/sh.exp vendor/binutils/dist/ld/testsuite/ld-sh/sh64/abi32.xd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/abi64.xd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/cmpct1.xd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crange1.rd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crange2.rd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crange3-media.rd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crange3.rd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crangerel1.rd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/crangerel2.rd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/gotplt.d vendor/binutils/dist/ld/testsuite/ld-sh/sh64/init-cmpct.d vendor/binutils/dist/ld/testsuite/ld-sh/sh64/init-media.d vendor/binutils/dist/ld/testsuite/ld-sh/sh64/init64.d vendor/binutils/dist/ld/testsuite/ld-sh/sh64/mix1.xd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/mix2.xd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/rd-sh64.exp vendor/binutils/dist/ld/testsuite/ld-sh/sh64/rel32.xd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/rel64.xd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/relax.exp vendor/binutils/dist/ld/testsuite/ld-sh/sh64/relfail.exp vendor/binutils/dist/ld/testsuite/ld-sh/sh64/sh64.exp vendor/binutils/dist/ld/testsuite/ld-sh/sh64/shdl32.xd vendor/binutils/dist/ld/testsuite/ld-sh/sh64/shdl64.xd vendor/binutils/dist/ld/testsuite/ld-sh/shared-1.d vendor/binutils/dist/ld/testsuite/ld-sh/shared-2.d vendor/binutils/dist/ld/testsuite/ld-sh/tlsbin-1.d vendor/binutils/dist/ld/testsuite/ld-sh/tlsbin-2.d vendor/binutils/dist/ld/testsuite/ld-sh/tlsbin-3.d vendor/binutils/dist/ld/testsuite/ld-sh/tlsbin-4.d vendor/binutils/dist/ld/testsuite/ld-sh/tlspic-1.d vendor/binutils/dist/ld/testsuite/ld-sh/tlspic-2.d vendor/binutils/dist/ld/testsuite/ld-shared/shared.exp vendor/binutils/dist/ld/testsuite/ld-sparc/sparc.exp vendor/binutils/dist/ld/testsuite/ld-sparc/tlsg64.sd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunbin32.dd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunbin32.rd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunbin32.sd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunbin32.td vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunbin64.dd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunbin64.rd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunbin64.sd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunbin64.td vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunnopic32.rd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunnopic64.dd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunnopic64.rd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunnopic64.sd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunpic32.dd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunpic32.rd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunpic32.sd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunpic64.dd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunpic64.rd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunpic64.sd vendor/binutils/dist/ld/testsuite/ld-sparc/tlssunpic64.td vendor/binutils/dist/ld/testsuite/ld-srec/sr3.cc vendor/binutils/dist/ld/testsuite/ld-srec/srec.exp vendor/binutils/dist/ld/testsuite/ld-undefined/undefined.exp vendor/binutils/dist/ld/testsuite/ld-undefined/weak-undef.exp vendor/binutils/dist/ld/testsuite/ld-undefined/weak-undef.s vendor/binutils/dist/ld/testsuite/ld-versados/versados.exp vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsbin.dd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsbin.rd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsbin.sd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlsbin.td vendor/binutils/dist/ld/testsuite/ld-x86-64/tlspic.dd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlspic.rd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlspic.sd vendor/binutils/dist/ld/testsuite/ld-x86-64/tlspic.td vendor/binutils/dist/ld/testsuite/ld-x86-64/x86-64.exp vendor/binutils/dist/ld/testsuite/ld-xstormy16/xstormy16.exp vendor/binutils/dist/ld/testsuite/ld-xtensa/coalesce.exp vendor/binutils/dist/ld/testsuite/ld-xtensa/coalesce2.s vendor/binutils/dist/ld/testsuite/ld-xtensa/lcall.exp vendor/binutils/dist/ld/testsuite/ld-xtensa/lcall1.s vendor/binutils/dist/ld/testsuite/ld-xtensa/lcall2.s vendor/binutils/dist/ld/testsuite/lib/ld-lib.exp vendor/binutils/dist/libiberty/COPYING.LIB vendor/binutils/dist/libiberty/ChangeLog vendor/binutils/dist/libiberty/Makefile.in vendor/binutils/dist/libiberty/_doprnt.c vendor/binutils/dist/libiberty/aclocal.m4 vendor/binutils/dist/libiberty/alloca.c vendor/binutils/dist/libiberty/argv.c vendor/binutils/dist/libiberty/asprintf.c vendor/binutils/dist/libiberty/atexit.c vendor/binutils/dist/libiberty/basename.c vendor/binutils/dist/libiberty/bcmp.c vendor/binutils/dist/libiberty/bcopy.c vendor/binutils/dist/libiberty/bsearch.c vendor/binutils/dist/libiberty/bzero.c vendor/binutils/dist/libiberty/calloc.c vendor/binutils/dist/libiberty/choose-temp.c vendor/binutils/dist/libiberty/clock.c vendor/binutils/dist/libiberty/concat.c vendor/binutils/dist/libiberty/config.in vendor/binutils/dist/libiberty/configure vendor/binutils/dist/libiberty/configure.ac vendor/binutils/dist/libiberty/copying-lib.texi vendor/binutils/dist/libiberty/copysign.c vendor/binutils/dist/libiberty/cp-demangle.c vendor/binutils/dist/libiberty/cp-demangle.h vendor/binutils/dist/libiberty/cp-demint.c vendor/binutils/dist/libiberty/cplus-dem.c vendor/binutils/dist/libiberty/dyn-string.c vendor/binutils/dist/libiberty/fdmatch.c vendor/binutils/dist/libiberty/ffs.c vendor/binutils/dist/libiberty/fibheap.c vendor/binutils/dist/libiberty/floatformat.c vendor/binutils/dist/libiberty/fnmatch.c vendor/binutils/dist/libiberty/functions.texi vendor/binutils/dist/libiberty/gather-docs vendor/binutils/dist/libiberty/getcwd.c vendor/binutils/dist/libiberty/getopt.c vendor/binutils/dist/libiberty/getopt1.c vendor/binutils/dist/libiberty/getpagesize.c vendor/binutils/dist/libiberty/getpwd.c vendor/binutils/dist/libiberty/getruntime.c vendor/binutils/dist/libiberty/hashtab.c vendor/binutils/dist/libiberty/hex.c vendor/binutils/dist/libiberty/index.c vendor/binutils/dist/libiberty/insque.c vendor/binutils/dist/libiberty/lbasename.c vendor/binutils/dist/libiberty/libiberty.texi vendor/binutils/dist/libiberty/lrealpath.c vendor/binutils/dist/libiberty/maint-tool vendor/binutils/dist/libiberty/make-relative-prefix.c vendor/binutils/dist/libiberty/make-temp-file.c vendor/binutils/dist/libiberty/md5.c vendor/binutils/dist/libiberty/memchr.c vendor/binutils/dist/libiberty/memcmp.c vendor/binutils/dist/libiberty/memcpy.c vendor/binutils/dist/libiberty/memmove.c vendor/binutils/dist/libiberty/mempcpy.c vendor/binutils/dist/libiberty/memset.c vendor/binutils/dist/libiberty/mkstemps.c vendor/binutils/dist/libiberty/objalloc.c vendor/binutils/dist/libiberty/obstack.c vendor/binutils/dist/libiberty/partition.c vendor/binutils/dist/libiberty/pex-common.h vendor/binutils/dist/libiberty/pex-djgpp.c vendor/binutils/dist/libiberty/pex-msdos.c vendor/binutils/dist/libiberty/pex-unix.c vendor/binutils/dist/libiberty/pex-win32.c vendor/binutils/dist/libiberty/pexecute.txh vendor/binutils/dist/libiberty/physmem.c vendor/binutils/dist/libiberty/putenv.c vendor/binutils/dist/libiberty/random.c vendor/binutils/dist/libiberty/regex.c vendor/binutils/dist/libiberty/rename.c vendor/binutils/dist/libiberty/rindex.c vendor/binutils/dist/libiberty/safe-ctype.c vendor/binutils/dist/libiberty/setenv.c vendor/binutils/dist/libiberty/sigsetmask.c vendor/binutils/dist/libiberty/snprintf.c vendor/binutils/dist/libiberty/sort.c vendor/binutils/dist/libiberty/spaces.c vendor/binutils/dist/libiberty/splay-tree.c vendor/binutils/dist/libiberty/stpcpy.c vendor/binutils/dist/libiberty/stpncpy.c vendor/binutils/dist/libiberty/strcasecmp.c vendor/binutils/dist/libiberty/strchr.c vendor/binutils/dist/libiberty/strdup.c vendor/binutils/dist/libiberty/strerror.c vendor/binutils/dist/libiberty/strncasecmp.c vendor/binutils/dist/libiberty/strncmp.c vendor/binutils/dist/libiberty/strrchr.c vendor/binutils/dist/libiberty/strsignal.c vendor/binutils/dist/libiberty/strstr.c vendor/binutils/dist/libiberty/strtod.c vendor/binutils/dist/libiberty/strtol.c vendor/binutils/dist/libiberty/strtoul.c vendor/binutils/dist/libiberty/ternary.c vendor/binutils/dist/libiberty/testsuite/Makefile.in vendor/binutils/dist/libiberty/testsuite/demangle-expected vendor/binutils/dist/libiberty/testsuite/test-demangle.c vendor/binutils/dist/libiberty/tmpnam.c vendor/binutils/dist/libiberty/vasprintf.c vendor/binutils/dist/libiberty/vfork.c vendor/binutils/dist/libiberty/vfprintf.c vendor/binutils/dist/libiberty/vprintf.c vendor/binutils/dist/libiberty/vsnprintf.c vendor/binutils/dist/libiberty/vsprintf.c vendor/binutils/dist/libiberty/waitpid.c vendor/binutils/dist/libiberty/xatexit.c vendor/binutils/dist/libiberty/xexit.c vendor/binutils/dist/libiberty/xmalloc.c vendor/binutils/dist/libiberty/xmemdup.c vendor/binutils/dist/libiberty/xstrdup.c vendor/binutils/dist/libiberty/xstrerror.c vendor/binutils/dist/libtool.m4 vendor/binutils/dist/ltcf-c.sh vendor/binutils/dist/ltcf-cxx.sh vendor/binutils/dist/ltcf-gcj.sh vendor/binutils/dist/ltconfig vendor/binutils/dist/ltmain.sh vendor/binutils/dist/missing vendor/binutils/dist/mkinstalldirs vendor/binutils/dist/move-if-change vendor/binutils/dist/opcodes/ChangeLog vendor/binutils/dist/opcodes/Makefile.am vendor/binutils/dist/opcodes/Makefile.in vendor/binutils/dist/opcodes/aclocal.m4 vendor/binutils/dist/opcodes/alpha-dis.c vendor/binutils/dist/opcodes/alpha-opc.c vendor/binutils/dist/opcodes/arc-dis.c vendor/binutils/dist/opcodes/arc-dis.h vendor/binutils/dist/opcodes/arc-ext.c vendor/binutils/dist/opcodes/arc-ext.h vendor/binutils/dist/opcodes/arc-opc.c vendor/binutils/dist/opcodes/arm-dis.c vendor/binutils/dist/opcodes/avr-dis.c vendor/binutils/dist/opcodes/cgen-asm.c vendor/binutils/dist/opcodes/cgen-asm.in vendor/binutils/dist/opcodes/cgen-dis.c vendor/binutils/dist/opcodes/cgen-dis.in vendor/binutils/dist/opcodes/cgen-ibld.in vendor/binutils/dist/opcodes/cgen-opc.c vendor/binutils/dist/opcodes/cgen.sh vendor/binutils/dist/opcodes/config.in vendor/binutils/dist/opcodes/configure vendor/binutils/dist/opcodes/configure.in vendor/binutils/dist/opcodes/cris-dis.c vendor/binutils/dist/opcodes/cris-opc.c vendor/binutils/dist/opcodes/d10v-dis.c vendor/binutils/dist/opcodes/d10v-opc.c vendor/binutils/dist/opcodes/d30v-dis.c vendor/binutils/dist/opcodes/d30v-opc.c vendor/binutils/dist/opcodes/dep-in.sed vendor/binutils/dist/opcodes/dis-buf.c vendor/binutils/dist/opcodes/dis-init.c vendor/binutils/dist/opcodes/disassemble.c vendor/binutils/dist/opcodes/dlx-dis.c vendor/binutils/dist/opcodes/fr30-asm.c vendor/binutils/dist/opcodes/fr30-desc.c vendor/binutils/dist/opcodes/fr30-desc.h vendor/binutils/dist/opcodes/fr30-dis.c vendor/binutils/dist/opcodes/fr30-ibld.c vendor/binutils/dist/opcodes/fr30-opc.c vendor/binutils/dist/opcodes/fr30-opc.h vendor/binutils/dist/opcodes/frv-asm.c vendor/binutils/dist/opcodes/frv-desc.c vendor/binutils/dist/opcodes/frv-desc.h vendor/binutils/dist/opcodes/frv-dis.c vendor/binutils/dist/opcodes/frv-ibld.c vendor/binutils/dist/opcodes/frv-opc.c vendor/binutils/dist/opcodes/frv-opc.h vendor/binutils/dist/opcodes/h8300-dis.c vendor/binutils/dist/opcodes/h8500-dis.c vendor/binutils/dist/opcodes/h8500-opc.h vendor/binutils/dist/opcodes/hppa-dis.c vendor/binutils/dist/opcodes/i370-dis.c vendor/binutils/dist/opcodes/i370-opc.c vendor/binutils/dist/opcodes/i386-dis.c vendor/binutils/dist/opcodes/i860-dis.c vendor/binutils/dist/opcodes/i960-dis.c vendor/binutils/dist/opcodes/ia64-asmtab.c vendor/binutils/dist/opcodes/ia64-asmtab.h vendor/binutils/dist/opcodes/ia64-dis.c vendor/binutils/dist/opcodes/ia64-gen.c vendor/binutils/dist/opcodes/ia64-ic.tbl vendor/binutils/dist/opcodes/ia64-opc-a.c vendor/binutils/dist/opcodes/ia64-opc-b.c vendor/binutils/dist/opcodes/ia64-opc-d.c vendor/binutils/dist/opcodes/ia64-opc-f.c vendor/binutils/dist/opcodes/ia64-opc-i.c vendor/binutils/dist/opcodes/ia64-opc-m.c vendor/binutils/dist/opcodes/ia64-opc-x.c vendor/binutils/dist/opcodes/ia64-opc.c vendor/binutils/dist/opcodes/ia64-opc.h vendor/binutils/dist/opcodes/ia64-raw.tbl vendor/binutils/dist/opcodes/ia64-waw.tbl vendor/binutils/dist/opcodes/ip2k-asm.c vendor/binutils/dist/opcodes/ip2k-desc.c vendor/binutils/dist/opcodes/ip2k-desc.h vendor/binutils/dist/opcodes/ip2k-dis.c vendor/binutils/dist/opcodes/ip2k-ibld.c vendor/binutils/dist/opcodes/ip2k-opc.c vendor/binutils/dist/opcodes/ip2k-opc.h vendor/binutils/dist/opcodes/iq2000-asm.c vendor/binutils/dist/opcodes/iq2000-desc.c vendor/binutils/dist/opcodes/iq2000-desc.h vendor/binutils/dist/opcodes/iq2000-dis.c vendor/binutils/dist/opcodes/iq2000-ibld.c vendor/binutils/dist/opcodes/iq2000-opc.c vendor/binutils/dist/opcodes/iq2000-opc.h vendor/binutils/dist/opcodes/m10200-dis.c vendor/binutils/dist/opcodes/m10200-opc.c vendor/binutils/dist/opcodes/m10300-dis.c vendor/binutils/dist/opcodes/m10300-opc.c vendor/binutils/dist/opcodes/m32r-asm.c vendor/binutils/dist/opcodes/m32r-desc.c vendor/binutils/dist/opcodes/m32r-desc.h vendor/binutils/dist/opcodes/m32r-dis.c vendor/binutils/dist/opcodes/m32r-ibld.c vendor/binutils/dist/opcodes/m32r-opc.c vendor/binutils/dist/opcodes/m32r-opc.h vendor/binutils/dist/opcodes/m32r-opinst.c vendor/binutils/dist/opcodes/m68hc11-dis.c vendor/binutils/dist/opcodes/m68hc11-opc.c vendor/binutils/dist/opcodes/m68k-dis.c vendor/binutils/dist/opcodes/m68k-opc.c vendor/binutils/dist/opcodes/m88k-dis.c vendor/binutils/dist/opcodes/mcore-dis.c vendor/binutils/dist/opcodes/mcore-opc.h vendor/binutils/dist/opcodes/mips-dis.c vendor/binutils/dist/opcodes/mips-opc.c vendor/binutils/dist/opcodes/mips16-opc.c vendor/binutils/dist/opcodes/mmix-dis.c vendor/binutils/dist/opcodes/mmix-opc.c vendor/binutils/dist/opcodes/msp430-dis.c vendor/binutils/dist/opcodes/ns32k-dis.c vendor/binutils/dist/opcodes/openrisc-asm.c vendor/binutils/dist/opcodes/openrisc-desc.c vendor/binutils/dist/opcodes/openrisc-desc.h vendor/binutils/dist/opcodes/openrisc-dis.c vendor/binutils/dist/opcodes/openrisc-ibld.c vendor/binutils/dist/opcodes/openrisc-opc.c vendor/binutils/dist/opcodes/openrisc-opc.h vendor/binutils/dist/opcodes/opintl.h vendor/binutils/dist/opcodes/or32-dis.c vendor/binutils/dist/opcodes/or32-opc.c vendor/binutils/dist/opcodes/pdp11-dis.c vendor/binutils/dist/opcodes/pdp11-opc.c vendor/binutils/dist/opcodes/pj-dis.c vendor/binutils/dist/opcodes/pj-opc.c vendor/binutils/dist/opcodes/po/Make-in vendor/binutils/dist/opcodes/po/POTFILES.in vendor/binutils/dist/opcodes/po/es.gmo vendor/binutils/dist/opcodes/po/es.po vendor/binutils/dist/opcodes/po/fr.gmo vendor/binutils/dist/opcodes/po/fr.po vendor/binutils/dist/opcodes/po/nl.gmo vendor/binutils/dist/opcodes/po/nl.po vendor/binutils/dist/opcodes/po/opcodes.pot vendor/binutils/dist/opcodes/po/sv.gmo vendor/binutils/dist/opcodes/po/sv.po vendor/binutils/dist/opcodes/ppc-dis.c vendor/binutils/dist/opcodes/ppc-opc.c vendor/binutils/dist/opcodes/s390-dis.c vendor/binutils/dist/opcodes/s390-mkopc.c vendor/binutils/dist/opcodes/s390-opc.c vendor/binutils/dist/opcodes/s390-opc.txt vendor/binutils/dist/opcodes/sh-dis.c vendor/binutils/dist/opcodes/sh-opc.h vendor/binutils/dist/opcodes/sh64-dis.c vendor/binutils/dist/opcodes/sh64-opc.c vendor/binutils/dist/opcodes/sh64-opc.h vendor/binutils/dist/opcodes/sparc-dis.c vendor/binutils/dist/opcodes/sparc-opc.c vendor/binutils/dist/opcodes/sysdep.h vendor/binutils/dist/opcodes/tic30-dis.c vendor/binutils/dist/opcodes/tic4x-dis.c vendor/binutils/dist/opcodes/tic54x-dis.c vendor/binutils/dist/opcodes/tic54x-opc.c vendor/binutils/dist/opcodes/tic80-dis.c vendor/binutils/dist/opcodes/tic80-opc.c vendor/binutils/dist/opcodes/v850-dis.c vendor/binutils/dist/opcodes/v850-opc.c vendor/binutils/dist/opcodes/vax-dis.c vendor/binutils/dist/opcodes/w65-dis.c vendor/binutils/dist/opcodes/w65-opc.h vendor/binutils/dist/opcodes/xstormy16-asm.c vendor/binutils/dist/opcodes/xstormy16-desc.c vendor/binutils/dist/opcodes/xstormy16-desc.h vendor/binutils/dist/opcodes/xstormy16-dis.c vendor/binutils/dist/opcodes/xstormy16-ibld.c vendor/binutils/dist/opcodes/xstormy16-opc.c vendor/binutils/dist/opcodes/xstormy16-opc.h vendor/binutils/dist/opcodes/xtensa-dis.c vendor/binutils/dist/opcodes/z8k-dis.c vendor/binutils/dist/opcodes/z8kgen.c vendor/binutils/dist/setup.com vendor/binutils/dist/src-release vendor/binutils/dist/symlink-tree vendor/binutils/dist/ylwrap Modified: vendor/binutils/dist/COPYING ============================================================================== --- vendor/binutils/dist/COPYING Tue Oct 19 21:07:34 2010 (r214081) +++ vendor/binutils/dist/COPYING Tue Oct 19 21:13:25 2010 (r214082) @@ -2,7 +2,7 @@ Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -291,7 +291,7 @@ convey the exclusion of warranty; and ea the "copyright" line and a pointer to where the full notice is found. - Copyright (C) 19yy + Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -305,7 +305,7 @@ the "copyright" line and a pointer to wh You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. @@ -313,7 +313,7 @@ Also add information on how to contact y If the program is interactive, make it output a short notice like this when it starts in an interactive mode: - Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. Modified: vendor/binutils/dist/COPYING.LIB ============================================================================== --- vendor/binutils/dist/COPYING.LIB Tue Oct 19 21:07:34 2010 (r214081) +++ vendor/binutils/dist/COPYING.LIB Tue Oct 19 21:13:25 2010 (r214082) @@ -2,7 +2,7 @@ Version 2, June 1991 Copyright (C) 1991 Free Software Foundation, Inc. - 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -464,8 +464,8 @@ convey the exclusion of warranty; and ea You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA + Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301, USA Also add information on how to contact you by electronic and paper mail. Modified: vendor/binutils/dist/COPYING.LIBGLOSS ============================================================================== --- vendor/binutils/dist/COPYING.LIBGLOSS Tue Oct 19 21:07:34 2010 (r214081) +++ vendor/binutils/dist/COPYING.LIBGLOSS Tue Oct 19 21:13:25 2010 (r214082) @@ -126,8 +126,8 @@ GNU General Public License for more deta You should have received a copy of the GNU General Public License along with GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. +the Free Software Foundation, 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. (4) Advanced Micro Devices Modified: vendor/binutils/dist/COPYING.NEWLIB ============================================================================== --- vendor/binutils/dist/COPYING.NEWLIB Tue Oct 19 21:07:34 2010 (r214081) +++ vendor/binutils/dist/COPYING.NEWLIB Tue Oct 19 21:13:25 2010 (r214082) @@ -561,8 +561,8 @@ warranty of MERCHANTABILITY or FITNESS F You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. + Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA. (22) Xavier Leroy LGPL License (i[3456]86-*-linux* targets only) @@ -731,7 +731,7 @@ files in the newlib subdirectory default It should be noted that Red Hat Incorporated now owns copyrights belonging to Cygnus Solutions and Cygnus Support. -Copyright (c) 1994, 1997, 2001, 2002, 2003, 2004 Red Hat Incorporated. +Copyright (c) 1994, 1997, 2001, 2002, 2003, 2004, 2005 Red Hat Incorporated. All rights reserved. Redistribution and use in source and binary forms, with or without Modified: vendor/binutils/dist/ChangeLog ============================================================================== --- vendor/binutils/dist/ChangeLog Tue Oct 19 21:07:34 2010 (r214081) +++ vendor/binutils/dist/ChangeLog Tue Oct 19 21:13:25 2010 (r214082) @@ -1,40 +1,1802 @@ -2004-05-06 Daniel Jacobowitz +2006-05-17 Daniel Jacobowitz - * src-release (do-tar): Add directories to the tar file. + * src-release (MAKEINFOFLAGS): Define. + (do-proto-toplev): Pass MAKEINFOFLAGS to submakes. -2004-05-06 Daniel Jacobowitz +2006-04-10 Ben Elliston + + * contrib: Remove directory. + +2006-04-06 Carlos O'Donell + + * Makefile.tpl: Add install-html target. + * Makefile.def: Add install-html target. + * Makefile.in: Regenerate. + * configure.in: Add --with-datarootdir, --with-docdir, + and --with-htmldir options. + * configure: Regenerate. + +2006-03-31 Ben Elliston + + PR binutils/1860 + * configure.in: Require makeinfo 4.4 or higher. + * configure: Regenerate. + +2006-03-14 Paolo Bonzini + + * Makefile.in: Regenerate. + +2006-03-14 Paolo Bonzini + + Sync with gcc: + 2006-03-10 Aldy Hernandez + + * configure.in: Handle --disable- generically. + * configure: Regenerate. + + 2006-02-21 Rafael Avila de Espindola + + * Makefile.tpl (BUILD_CONFIGDIRS): Remove. + (TARGET_CONFIGDIRS): Remove. + * configure.in: Remove AC_SUBST(target_configdirs). + * Makefile.in, configure: Regenerated. + + +2006-03-01 H.J. Lu + + PR libgcj/17311 + * ltmain.sh: Don't use "$finalize_rpath" for compile. + +2006-02-20 Paolo Bonzini + + PR bootstrap/25670 + + * Makefile.tpl ([+compare-target+]): Print explanation messages. + + * Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass. + * Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass. + (EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES, + BUILD_PREFIX, BUILD_PREFIX_1. + * configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute. + + * Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too. + * Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too. + + * Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+], + all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead + of `cat stage_current`. Always provide the `r' and `s' variables. + (clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into + a single shell execution. + (configure-[+prefix+][+module+], all-[+prefix+][+module+]): For + bootstrapped modules, make the stage1 module if the build was not + started yet, else build the current stage. + (all-host, all-target): Omit bootstrapped modules (if bootstrapping). + (all-build, all-host, all-target, [+make_target+]-host, + [+make_target+]-target): Do not use \-continued lines. + (target modules): Depend on stage_last, not all-gcc, if bootstrapping. + (current_stage, restrap, stage_last): New. + + * Makefile.in: Regenerate. + * configure: Regenerate. + +2006-02-14 Paolo Bonzini + + Sync from gcc: + + 2006-01-31 Richard Guenther + Paolo Bonzini + + * Makefile.def (target_modules): Add libgcc-math target module. + * configure.in (target_libraries): Add libgcc-math target library. + (--enable-libgcc-math): New configure switch. + * Makefile.in: Re-generate. + * configure: Re-generate. + * libgcc-math: New toplevel directory. + + 2006-01-18 Richard Henderson + Jakub Jelinek + Diego Novillo + + * libgomp: New directory. + * Makefile.def: Add target_module libgomp. + * Makefile.in: Regenerate. + * configure.in (target_libraries): Add target-libgomp. + * configure: Regenerate. + +2006-02-14 Paolo Bonzini + Andreas Schwab + + * configure: Regenerate. + +2006-01-16 Paolo Bonzini + + * configure.in: Set with_gnu_as, with_gnu_ld, with_newlib earlier. + Set md_exec_prefix. Use ACX_CHECK_INSTALLED_TARGET_TOOL to find + the assembler, linker and binutils. + * configure: Regenerate. + +2006-01-16 Nick Clifton + + * config.sub, config.guess: Sync from config repository. + +2006-01-05 Alexandre Oliva + + * Makefile.tpl (clean-stage[+id+]-[+prefix+][+module+]): Remove + @ from continuation. + * Makefile.in: Rebuilt. + +2006-01-04 Paolo Bonzini + + Sync from gcc: + + 2006-01-04 Paolo Bonzini + + PR bootstrap/24252 + + * Makefile.def (flags_to_pass): Add STAGE1_CFLAGS and STAGE1_LANGUAGES. + * Makefile.tpl (OBJDUMP): New. + (EXTRA_HOST_FLAGS): Add it. + (EXTRA_GCC_FLAGS): Remove flags already specified in flags_to_pass. + + * Makefile.tpl (stage[+id+]-start, stage[+id+]-end): Do not try + to use symbolic links between directories. Avoid race conditions + or make them harmless. + * configure.in: Do not try to use symbolic links between directories. + + * Makefile.def (LEAN): Pass. + * Makefile.tpl (LEAN): Define. + (stage[+id+]-start): Accept that the previous directory does not + exist, if the bootstrap is lean. + (stage[+id+]-bubble): Invoke lean bootstrap commands after + stage[+id+]-start. Use a makefile variable and an `if' instead of a + configure substitution. + ([+compare-target+]): Likewise. + ([+bootstrap-target+]-lean): New. + * configure.in: Remove lean bootstrap support from here. + + * Makefile.in: Regenerate. + * configure: Regenerate. + + 2006-01-02 Andreas Schwab + + * configure.in: When reconfiguring remove Makefile in + all stage directories. + * configure: Regenerate. + +2005-12-27 Leif Ekblad + + * configure.in: Add support for RDOS target. + * configure: Regenerate. + +2005-12-27 Nick Clifton + + PR binutils/1990 + * libtool.m4: Synchronize with version in GCC sources. + +2005-12-20 Paolo Bonzini + + Revert Ada-related part of the previous change. + + * Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, ADAFLAGS_FOR_TARGET): + Do not pass. + * Makefile.tpl (BOOT_ADAFLAGS): Do not define. + * Makefile.in: Regenerate. + * configure.in: Do not include mt-ppc-aix target fragment. + * configure: Regenerate. + +2005-12-19 Paolo Bonzini + + * configure.in: Select appropriate fragments for PowerPC/AIX. + * configure: Regenerate. + + * Makefile.def (flags_to_pass): Add ADAFLAGS, BOOT_ADAFLAGS, + BOOT_CFLAGS, BOOT_LDFLAGS. + * Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Handle BOOT_ADAFLAGS, + BOOT_CFLAGS, BOOT_LDFLAGS. + (TARGET_FLAGS_TO_PASS): Handle ADAFLAGS_FOR_TARGET. + (stage[+id+]-bubble): Pass flags recursively to the comparison target. + (stage): Fail if we cannot complete the work. + * Makefile.in: Regenerate. + +2005-12-16 Jeff Johnston + + * COPYING.NEWLIB: Update copyright year for default + copyright. + +2005-12-15 Paolo Bonzini + + * Makefile.tpl (all, do-[+make_target+], do-check, install, + install-host-nogcc): Don't invoke $(stage) at the end. + * Makefile.in: Regenerate. + +2005-12-14 Paolo Bonzini + + * configure.in: Flip the top-level bootstrap switch. + * configure: Regenerate. + + Merge from gcc: + + 2005-12-14 Daniel Jacobowitz + + * Makefile.tpl: Throughout the file, use : $(MAKE) along with + $(stage) and $(unstage). + (EXTRA_TARGET_FLAGS): Correct double-quoting. + (all): Remove stray semicolon. + (local-distclean): Don't handle multilib.tmp and multilib.out. + (install.all): Set $s for consistency. + (configure-[+prefix+][+module+]): Instead of [+deps+], handle + check_multilibs setting. Always make the install directory. + (configure-stage[+id+]-[+prefix+][+module+]): Likewise. + Correct @if/@endif. + (all-stage[+id+]-[+prefix+][+module+]): Correct @if/@endif. + ($(TARGET_SUBDIR)/[+module+]/multilib.out): Remove. + (stage[+id+]-start, stage[+id+]-end): Stage $(TARGET_SUBDIR). + (multilib.out): Remove. + * Makefile.in: Regenerated. + +2005-12-12 Nathan Sidwell + + * config.sub: Replace ms1 arch with mt. Allow ms1 as alias. + * configure.in: Replace ms1 arch with mt. + * configure: Rebuilt. + +2005-12-05 Paolo Bonzini + + Sync with gcc: + +2005-12-12 Nathan Sidwell + + * config.sub: Replace ms1 arch with mt. Allow ms1 as alias. + * configure.in: Replace ms1 arch with mt. + * configure: Rebuilt. + +2005-12-05 Paolo Bonzini + + Sync with gcc: + + 2005-12-05 Paolo Bonzini + + * configure.in (CONFIGURED_BISON, CONFIGURED_YACC, CONFIGURED_M4, + CONFIGURED_FLEX, CONFIGURED_LEX, CONFIGURED_MAKEINFO): Remove + "CONFIGURED_" from the AC_CHECK_PROGS invocation. Move below. + Find in-tree tools if available. + (EXPECT, RUNTEST, LIPO, STRIP): Find them and substitute them. + (CONFIGURED_*_FOR_TARGET): Don't set nor substitute. + (*_FOR_TARGET): Set them with GCC_TARGET_TOOL. + (COMPILER_*_FOR_TARGET): New. + * Makefile.tpl (HOST_EXPORTS): Add *_FOR_TARGET symbols that gcc needs. + (BASE_TARGET_EXPORTS): Use COMPILER_*_FOR_TARGET symbols. + (CONFIGURED_*, USUAL_*): Remove. + (BISON, YACC, FLEX, LEX, M4, MAKEINFO, EXPECT, RUNTEST, LIPO, + STRIP): Use autoconf substitutions. + (COMPILER_AS_FOR_TARGET, COMPILER_LD_FOR_TARGET, + COMPILER_NM_FOR_TARGET): New. + (EXTRA_HOST_FLAGS): Pass LIPO and STRIP. + + (all): Make all-host and all-target in parallel. + (do-[+make_target+], do-check, install, [+compare-target+]): Ensure + that $$r and $$s are set before invoking a recursive make. + (stage[+id+]-bubble): Likewise, and invoke the comparison at the end. + ([+bootstrap-target+]): Inline most of the `all' target. + + 2005-11-29 Ben Elliston + + * Makefile.tpl (clean-target-libgcc): Invoke clean-target-libgcc + from the gcc build directory. + * Makefile.in: Regenerate. + + 2005-11-29 Ben Elliston + + * Makefile.def: Add new libdecnumber host_module. Make all-gcc + depend on all-libdecnumber. + * configure.in (host_libs): Include libdecnumber. + * Makefile.in: Regenerate. + * configure: Likewise. + + 2005-11-21 Kean Johnston + + * config.sub, config.guess: Sync from upstream sources. + +2005-11-11 Daniel Jacobowitz + + * Makefile.def: Remove gdb dependencies for gdbtk. + * Makefile.tpl (CONFIGURE_GDB_TK, INSTALL_GDB_TK): New variables. + (configure-gdb, install-gdb): New rules. + * configure.in: Set CONFIGURE_GDB_TK and INSTALL_GDB_TK. + * Makefile.in, configure: Regenerated. + +2005-10-22 Paolo Bonzini + + PR bootstrap/24297 + * Makefile.tpl (do-[+make-target+], do-check, install, + stage[+id+]-bubble, [+compare-target+]): Ensure $$r and $$s + are set before recursing. + * Makefile.in: Regenerate. + +2005-10-20 Eric Botcazou + + PR bootstrap/18939 + * Makefile.def (gcc) : Fix thinko. + * Makefile.in: Regenerate. + +2005-10-17 Bernd Schmidt + + * configure.in (bfin-*-*): Use test, not brackets, in if statement. + * configure: Regenerate. + +2005-10-09 Kazu Hirata + + * configure.in (arm-*-linux-gnueabi): Add to noconfigdirs + target-libffi, target-qthreads, target-libjava, and + targetlibobjc. + * configure: Regenerate. + +2005-10-06 Daniel Jacobowitz + + * Makefile.def (flags_to_pass): Add OBJDUMP_FOR_TARGET. + * Makefile.tpl (BASE_TARGET_EXPORTS): Add OBJDUMP. + (OBJDUMP_FOR_TARGET, CONFIGURED_OBJDUMP_FOR_TARGET) + (USUAL_OBJDUMP_FOR_TARGET): New. + (EXTRA_TARGET_FLAGS): Add OBJDUMP. + * configure.in: Check for $OBJDUMP_FOR_TARGET. + * configure, Makefile.in: Regenerated. + +2005-10-05 Paolo Bonzini + + * Makefile.tpl (all) [gcc-no-bootstrap]: Make prebootstrap packages + before other host packages. + +2005-10-05 Paolo Bonzini + + PR bootstrap/22340 + + * configure.in (default_target): Remove. + * Makefile.tpl (all): Do not use prerequisites as subroutines + (all) [gcc-bootstrap]: Bootstrap gcc first if it was not done yet. + (do-[+make_target+], check, install, [+bootstrap_target+]): Do not + use prerequisites as subroutines. + (check-host, check-target): New. + (bootstrap configure & all targets): Do not use stage*-start + if the directory layout is already ok. + (non-bootstrap configure & all targets): Prepend a $(unstage). + (stage[+id+]-bubble): Do that here. Do not use NOTPARALLEL. + (NOTPARALLEL): Remove. + (unstage, stage variables): New variables. + (unstage, stage targets): Simply expand to those variables. + + * configure: Regenerate. + * Makefile.in: Regenerate. + +2005-10-04 James E Wilson + + * Makefile.def (lang_env_dependencies): Add libmudflap. + * Makefile.in: Regenerate. + +2005-10-03 Catherine Moore + + * configure.in (bfin-*-*): Support bfin. + * configure: Regenerated. + +2005-09-30 H.J. Lu + + * configure.in (*-*-darwin*): Build bfd, binutils and opcodes. + * configure: Regenerated. + +2005-09-28 Geoffrey Keating + + * Makefile.tpl (BASE_TARGET_EXPORTS): Add LIPO, STRIP. + (LIPO_FOR_TARGET): New. + (CONFIGURED_LIPO_FOR_TARGET): New. + (USUAL_LIPO_FOR_TARGET): New. + (STRIP_FOR_TARGET): New. + (CONFIGURED_STRIP_FOR_TARGET): New. + (USUAL_STRIP_FOR_TARGET): New. + * Makefile.def (flags_to_pass): Add LIPO_FOR_TARGET and + STRIP_FOR_TARGET. + * configure.in: Set LIPO_FOR_TARGET, STRIP_FOR_TARGET, + CONFIGURED_LIPO_FOR_TARGET, CONFIGURED_STRIP_FOR_TARGET. + * Makefile.in: Regenerate. + * configure: Regenerate. + +2005-09-19 David Edelsohn + + * configure.in (powerpc-*-aix*): Add target-libssp to noconfigdirs. + (rs6000-*-aix*): Same. + * configure: Regenerate. + +2005-09-14 Francois-Xavier Coudert + + * configure.in: Recognize f95 in the --enable-languages option, + and substitute it for fortran, issuing a warning. + * configure: Regenerate. + +2005-09-07 Ben Elliston + + Import from Autoconf sources: + + 2005-09-06 Paul Eggert + * move-if-change: Don't output "$2 is unchanged"; suggested by Ben + Elliston. Handle weird characters correctly. + +2005-08-30 Phil Edwards + + * configure.in (*-*-vxworks*): Add target-libstdc++-v3 to noconfigdirs. + * configure: Regenerated. + +2005-08-20 Richard Earnshaw + + * Makefile.def (libssp): Add to lang_env_dependencies. + * Makefile.in: Regenerate. + +2005-08-17 Christian Groessler + + * Makefile.tpl: (USUAL_CC_FOR_TARGET): Add missing trailing slash. + * Makefile.in: Regenerate. + +2005-08-12 Paolo Bonzini + + * configure.in: Replace NCN_STRICT_CHECK_TOOL with + NCN_STRICT_CHECK_TOOLS, and likewise for NCN_STRICT_CHECK_TARGET_TOOLS. + Look for alternate names of the target cc and c++ + * configure: Regenerate. + +2005-08-08 Paolo Bonzini + + * configure.in (CC_FOR_TARGET, CXX_FOR_TARGET, GCJ_FOR_TARGET, + GCC_FOR_TARGET, RAW_CXX_FOR_TARGET, GFORTRAN_FOR_TARGET): Find + them with NCN_STRICT_CHECK_TARGET_TOOL, like the other target + tools; remove code to manually set them. + (Target tools): Look in the environment for them. + * Makefile.tpl (CC_FOR_TARGET, CXX_FOR_TARGET, GCJ_FOR_TARGET, + GCC_FOR_TARGET, RAW_CXX_FOR_TARGET, GFORTRAN_FOR_TARGET): Redefine. + (AS_FOR_TARGET, LD_FOR_TARGET, NM_FOR_TARGET): Look into gcc + build directory. + (CONFIGURED_CC_FOR_TARGET, CONFIGURED_CXX_FOR_TARGET, + CONFIGURED_GCJ_FOR_TARGET, CONFIGURED_GCC_FOR_TARGET, + CONFIGURED_GFORTRAN_FOR_TARGET, USUAL_CC_FOR_TARGET, + USUAL_CXX_FOR_TARGET, USUAL_GCJ_FOR_TARGET, USUAL_GCC_FOR_TARGET, + USUAL_RAW_CXX_FOR_TARGET, USUAL_GFORTRAN_FOR_TARGET): New. + (CXX_FOR_TARGET_FOR_RECURSIVE_MAKE, + RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE, RECURSE_FLAGS): Delete. + * configure: Regenerate. + * Makefile.in: Regenerate. + +2005-07-27 Mark Mitchell + + * Makefile.tpl (EXTRA_TARGET_FLAGS): Set LDFLAGS=LDFLAGS_FOR_TARGET. + * Makefile.def (flags_to_pass): Add LDFLAGS_FOR_TARGET. + * Makefile.in: Regenerated. + +2005-07-26 Mark Mitchell + + * Makefile.tpl (SYSROOT_CFLAGS_FOR_TARGET): New variable. + (CFLAGS_FOR_TARGET): Use it. + (CXXFLAGS_FOR_TARGET): Likewise. + * Makefile.in: Regenerated. + * configure.in (--with-build-sysroot): New option. + * configure: Regenerated. + +2005-07-24 Paolo Bonzini + + * Makefile.tpl: Wrap install between unstage and stage + * Makefile.in: Regenerate. + +2005-07-16 Kelley Cook + + * all files: Update FSF address. + +2005-07-14 Jim Blandy + + * configure.in: Add cases for Renesas m32c. + * configure: Regenerated. + +2005-07-14 Kelley Cook + + * COPYING, compile, config-ml.in, config.guess, + config.sub, install-sh, missing, mkinstalldirs, + symlink-tree, ylwrap: Sync from upstream sources. + +2005-07-13 Eric Christopher + + * configure.in: Add toplevel noconfigdir support for tpf. + * configure: Regenerate. + +2005-07-11 Jakub Jelinek + + * Makefile.def (target_modules): Add libssp. + * configure.in (target_libraries): Add target-libssp. + * configure: Rebuilt. + * Makefile.in: Rebuilt. + +2005-07-11 Paolo Bonzini + + PR ada/22340 + + * Makefile.def: Sync with gcc. + * Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Fix pasto. + * Makefile.in: Regenerate. + +2005-07-07 Andreas Schwab + + * Makefile.def (flags_to_pass): Add CFLAGS_FOR_BUILD. + * Makefile.tpl (EXTRA_GCC_FLAGS): Don't pass CFLAGS_FOR_BUILD here. + * Makefile.in: Regenerated. + +2005-07-07 Kazu Hirata + + * configure.in: Add --enable-libssp and --disable-libssp. + * configure: Regenerate with autoconf-2.13. + +2005-07-06 Geoffrey Keating + + * configure.in: Don't build sim or rda when targetting darwin. + * configure: Regenerate. + +2005-07-04 Ben Elliston + + * src-release (do-proto-toplev): Remove dejagnu bits. + (DEJAGNU_SUPPORT_DIRS): Remove. + (dejagnu.tar.bz2, dejagnu.tar): Likewise. + (GDBD_SUPPORT_DIRS): Likewise. + (gdb+dejagnu.tar.bz2, gdb+dejagnu.tar): Likewise. + (INSIGHTD_SUPPORT_DIRS): Likewise. + (insight+dejagnu.tar.bz2, insight+dejagnu.tar): Likewise. + +2005-06-30 Ben Elliston + + * setup.com (mpw): Remove unused directive. + +2005-06-22 Paolo Bonzini + + * Makefile.def (stagefeedback): Come after profile. + Define profiledbootstrap target. + * Makefile.tpl (profiledbootstrap): Remove. + (stageprofile-end): Zap stagefeedback. + (stagefeedback-start): Copy all .gcda files, not only GCC's. + * Makefile.in: Regenerate. + +2005-06-13 Zack Weinberg + + * depcomp: Update from automake CVS. Add 'ia64hp' stanza. + In 'cpp' stanza, support '#line' as well as '# '. + +2005-06-07 Hans-Peter Nilsson + + * configure.in (unsupported_languages): New macro. + : Set unsupported_languages. Name explicit + non-ported target libraries in noconfigdirs. + Ditto, except for non-aout, non-elf, + non-linux-gnu. Remove libgcj_ex_libffi. + : Set add_this_lang=no if the language is in + unsupported_languages. + * configure: Regenerate. + +2005-06-04 Tobias Schl"uter + + * configure.in: Fix typo in handling of --with-mpfr-dir. + * configure: Regenerate. + +2005-06-02 Jim Blandy + + * config.sub: Add cases for the Renesas m32c. (This patch has been + accepted into the master sources.) + +2005-06-02 Aldy Hernandez + Michael Snyder + Stan Cox + + * configure.in: Set noconfigdirs for ms1. + + * configure: Regenerate. + +2005-05-25 Paolo Bonzini + + * Makefile.tpl (stage[+id+]-start): Iterate over target module as well. + (Dependencies): Consider target modules for bootstrap dependencies. + Make target bootstrap modules depend on each stage's gcc. + * Makefile.in: Regenerate. + +2005-05-20 Paolo Bonzini + + * Makefile.def (configure-gcc): Depend on binutils having been built. + (all-gcc): No need to do it here. + * Makefile.in: Regenerate. + +2005-05-19 Paul Brook + + * configure.in: Rewrite misleading error message when requested + language cannot be built. + * configure: Regenerate. + +2005-05-15 Daniel Jacobowitz + + * ylwrap: Import from Automake 1.9.5. + +2005-05-04 Mike Stump + + * configure.in: Always pass --target to target configures as + otherwise rebuilds that do --recheck will fail. + * configure: Rebuilt. + +2005-05-04 Paolo Bonzini + + * Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Rename from + STAGE_HOST_EXPORTS. + (configure, all): Add bootstrap support. + (Host modules, target modules): Pass post-stage1 flags and exports. + (Top-level bootstrap): Remove bootstrap rules, expanded elsewhere. + * Makefile.in: Regenerate. + +2005-04-29 Paolo Bonzini + + Sync from gcc: + + 2005-04-22 Bernd Schmidt + + * config.sub: Update from master copy. + + 2005-04-19 Hans-Peter Nilsson + + * configure.in : New local variable + libgcj_ex_libffi. Have specific match for *-*-linux*. Separate + matches for "*-*-aout" and "*-*-elf". Don't disable libffi for + "*-*-elf" and "*-*-linux*". + * configure: Regenerate. + +2005-04-06 Paolo Bonzini + + * Makefile.tpl (BUILD_CONFIGARGS): Include --with-build-subdir. + (TARGET_CONFIGARGS): Include --with-target-subdir. + (configure, all): New macros. Use them throughout. + +2005-04-05 Paolo Bonzini + + * Makefile.tpl: Sync with gcc. + * Makefile.in: Regenerate. + +2005-03-30 J"orn Rennecke + + * config/mh-mingw32: Delete. + * configure.in: Don't use it. + * configure: Regenerate. + +2005-03-31 Paolo Bonzini + + * Makefile.def (bfd, opcodes, libstdc++-v3, libmudflap): Set lib_path. + * Makefile.tpl (SET_LIB_PATH, REALLY_SET_LIB_PATH): Remove. + (HOST_EXPORTS, STAGE_HOST_EXPORTS, TARGET_EXPORTS): Set $(RPATH_ENVVAR). + (HOST_LIB_PATH): Generate from Makefile.def. + (TARGET_LIB_PATH): Likewise. + (Old bootstrap targets): Include TARGET_LIB_PATH into RPATH_ENVVAR. + * Makefile.in: Regenerate. + * configure.in (set_lib_path, SET_LIB_PATH, SET_GCC_LIB_PATH): Remove. + (RPATH_ENVVAR): Include Darwin case. + * configure: Regenerate. + +2005-03-25 Paolo Bonzini + + * configure.in (RPATH_ENVVAR): Set to DYLD_LIBRARY_PATH on Darwin. + * configure: Regenerate. + +2005-03-21 Zack Weinberg + + * Makefile.def: Remove libstdcxx_incdir, libsubdir, gxx_include_dir, + gcc_version, and gcc_version_trigger from set of flags to pass. + * Makefile.tpl: Remove definitions of above variables. + (config.status): Remove dependency on $(gcc_version_trigger). + * Makefile.in: Regenerate. + * configure.in: Do not reference config/gcc-version.m4 nor + config/gxx-include-dir.m4. Do not invoke TL_AC_GCC_VERSION nor + TL_AC_GXX_INCLUDE_DIR. Do not set gcc_version_trigger. + * configure: Regenerate. + +2005-03-16 Manfred Hollstein + Andrew Pinski + + * Makefile.tpl (check-[+module+]): Fix shell statement inside if ... fi. + * Makefile.in: Regenerate. + +2005-03-01 Alexandre Oliva + + PR libgcj/20160 + * ltmain.sh: Avoid creating archives with components that have + duplicate basenames. + +2005-02-28 Andrew Pinski + + PR bootstrap/20250 + * Makefile.tpl (HOST target installs): Fix copy and pasto, use install + instead of check. + * Makefile.in: Regenerate. + +2005-02-28 Paolo Bonzini + + Sync from gcc. + + 2005-02-28 Paolo Bonzini + + PR bootstrap/17383 + * Makefile.def (target_modules): Remove "stage", now unnecessary. + * Makefile.tpl (HOST_SUBDIR): New substitution. + (STAGE_HOST_EXPORTS, EXPECT, HOST_LIB_PATH, USUAL_AR_FOR_TARGET, + USUAL_AS_FOR_TARGET, USUAL_DLLTOOL_FOR_TARGET, USUAL_GCC_FOR_TARGET, + USUAL_LD_FOR_TARGET, USUAL_NM_FOR_TARGET, USUAL_OBJDUMP_FOR_TARGET, + USUAL_RANLIB_FOR_TARGET, USUAL_WINDRES_FOR_TARGET): Use it. + (Host modules, Bootstrapped modules): Use it. + (Build modules, Target modules): Do not create symlink trees, + always configure out-of-srcdir. + (distclean): Try removing $(host_subdir) with rm before using rm -rf. + * configure.in (FLAGS_FOR_TARGET, CC_FOR_TARGET, GCJ_FOR_TARGET, + GFORTRAN_FOR_TARGET, CXX_FOR_TARGET, RAW_CXX_FOR_TARGET): Use + $(HOST_SUBDIR). Create a symlink for host_subdir. + + * Makefile.in: Regenerate. + * configure: Regenerate. + + Merged from libada-gnattools-branch: + 2004-11-28 Nathanael Nerode + + * Makefile.def: Add gnattools as a module, depending on target-libada. + * Makefile.in: Regenerate. + * configure.in: Include gnattools in host_tools; disable it if ada + is disabled. + * configure: Regenerate. + +2005-02-23 Nick Clifton + + * configure: Regenerate. + +2005-02-22 Paul Schlie + + * configure.in: Allow darwin targeted ports to build tk, itcl and + libgui. + +2005-02-21 Eric Botcazou + + PR libgcj/10353 + * configure.in (noconfigdirs) : Add libgcj. + * configure: Regenerate. + +2005-02-08 Andrew Cagney + + * MAINTAINERS: Delete reference to dejagnu/ and mmalloc/ from the + gdb/ section. Update GDB's URL. + +2005-01-31 Andrew Cagney + + * gettext.m4: Only set ENABLE_NLS when gettext is present. + +2005-01-29 Hans-Peter Nilsson + + * configure.in (noconfigdirs) : Match like cris-*-*. + : Only disable target-newlib and + target-libgloss when not *-*-elf and *-*-aout. + * configure: Regenerate. + +2005-01-27 Andrew Cagney + + * gettext.m4: Don't use NONE as a default for CATOBJEXT. + +2005-01-24 Andrew Cagney + + * gettext.m4: Only fall back to ../intl/ when it's present. + +2005-01-17 Kelley Cook + + * install-sh, config.sub: Import from upstream. + +2005-01-17 Kelley Cook + + PR bootstrap/18222 + * Makefile.def: Pass CPPFLAGS_FOR_TARGET. + * Makefile.tpl: Define target CPPFLAGS on CPPFLAGS_FOR_TARGET. + * Makefile.in: Regenerate. + +2005-01-03 Paolo Bonzini + + Revert 2004-12-28 Makefile changes, a better fix will be + applied to mainline and src after GCC 4.0 branches. + +2004-12-28 Paolo Bonzini + + PR bootstrap/17383 + + * Makefile.def (target_modules): Remove stage parameter, + it is always true now. + * Makefile.tpl (configure-build-[+module+], + configure-target-[+module+]): Always build symlink tree + for the directory and for include. BUILD_SUBDIR and + TARGET_SUBDIR cannot be . anymore. + * Makefile.in: Regenerate. + +2004-12-25 David Edelsohn + + Revert 2004-12-08 Makefile changes. + +2004-12-16 Andrew Stubbs + + * configure.in (sh64-*-*): Reenable gprof. + * configure: Regenerate. + +2004-12-09 Jim Blandy + + * MAINTAINERS: List 'depcomp' as part of automake. + +2004-12-08 David Edelsohn + + * Makefile.def (flags_to_pass): Add PICFLAG_FOR_TARGET. + * Makefile.tpl (EXTRA_HOST_FLAGS): Add PICFLAG. + (EXTRA_TARGET_FLAGS): Add PICFLAG. + * Makefile.in: Regenerate. + +2004-12-07 Matt Kraai + + * Makefile.tpl: Generate normal dependencies if the LHS module is + not bootstrapped. + * Makefile.in: Regenerate. + +2004-12-03 Richard Sandiford + + * configure.in: Include config/gxx-include-dir.m4. Use + TL_AC_GXX_INCLUDE_DIR. Remove some now-redundant AC_SUBSTs. + * configure: Regenerate. + +2004-12-03 Richard Sandiford + + * config.if: Delete. + * configure.in: Set libstdcxx_incdir directly. + * configure: Regenerate. + * MAINTAINERS: Remove mention of config.if. + * src-release (DEVO_SUPPORT): Remove config.if. + +2004-12-02 Eric Christopher + + * Makefile.tpl (clean-target-libgcc): Add stmp-dirs to list + of things to remove. + * Makefile.in: Regenerate. + +2004-12-02 Richard Sandiford + + * configure.in: Clear gcc_version_trigger if the file doesn't exist. + * configure: Regenerate. + +2004-12-02 Richard Sandiford + + * configure.in: Include config/gcc-version.m4. Use TL_AC_GCC_VERSION + to set gcc_version_trigger. Remove some now-redundant AC_SUBSTs. + * configure: Regenerate. + +2004-11-26 John David Anglin + + * configure.in (hppa*-*-linux*): Don't add libgcj to noconfigdirs. + (hppa*64*-*-*): Delete incorrect comment. + * configure: Rebuilt. + +2004-11-15 Kelley Cook + + * install-sh, compile: Import from automake. + +2004-11-15 Kelley Cook + + * config.guess, config.sub: Import from savannnah. + +2004-11-12 Mike Stump + + * Makefile.def: Add html support. + * Makefile.tpl: Likewise. + * Makefile.in: Regenerate. + +2004-11-11 Geoffrey Keating + + PR 18423 + * configure.in: Remove all instances of build-fixincludes from + noconfigdirs. + (build_configargs): Supply --target to subdirectories. + * configure: Regenerate. + + * Makefile.def: Make gcc install depend on fixincludes install. + * Makefile.in: Regenerate. + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 21:29:23 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7872A106566C; Tue, 19 Oct 2010 21:29:23 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4D2EE8FC25; Tue, 19 Oct 2010 21:29:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JLTNRD027938; Tue, 19 Oct 2010 21:29:23 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JLTNGC027936; Tue, 19 Oct 2010 21:29:23 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201010192129.o9JLTNGC027936@svn.freebsd.org> From: Dimitry Andric Date: Tue, 19 Oct 2010 21:29:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org X-SVN-Group: svnadmin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214083 - svnadmin/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 21:29:23 -0000 Author: dim Date: Tue Oct 19 21:29:22 2010 New Revision: 214083 URL: http://svn.freebsd.org/changeset/base/214083 Log: Back down to normal limit. Modified: svnadmin/conf/sizelimit.conf Modified: svnadmin/conf/sizelimit.conf ============================================================================== --- svnadmin/conf/sizelimit.conf Tue Oct 19 21:13:25 2010 (r214082) +++ svnadmin/conf/sizelimit.conf Tue Oct 19 21:29:22 2010 (r214083) @@ -32,4 +32,3 @@ gonzo kmacy jb jeff -dim From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 21:43:49 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 555CC106564A; Tue, 19 Oct 2010 21:43:49 +0000 (UTC) (envelope-from zml@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 443D18FC1A; Tue, 19 Oct 2010 21:43:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JLhnDg028346; Tue, 19 Oct 2010 21:43:49 GMT (envelope-from zml@svn.freebsd.org) Received: (from zml@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JLhn0D028343; Tue, 19 Oct 2010 21:43:49 GMT (envelope-from zml@svn.freebsd.org) Message-Id: <201010192143.o9JLhn0D028343@svn.freebsd.org> From: Zachary Loafman Date: Tue, 19 Oct 2010 21:43:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org X-SVN-Group: svnadmin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214085 - svnadmin/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 21:43:49 -0000 Author: zml Date: Tue Oct 19 21:43:48 2010 New Revision: 214085 URL: http://svn.freebsd.org/changeset/base/214085 Log: Please welcome Zack Kirsch (zack@) as a new src committer. He will be working primarily on the new NFS stack, helping to integrate changes from Isilon Systems as we productize our NFSv4 offering. He will hopefully then move on to implementing/integrating NFSv4.1 and pNFS into FreeBSD. I will be his mentor. Approved by: core Modified: svnadmin/conf/access svnadmin/conf/mentors Modified: svnadmin/conf/access ============================================================================== --- svnadmin/conf/access Tue Oct 19 21:32:13 2010 (r214084) +++ svnadmin/conf/access Tue Oct 19 21:43:48 2010 (r214085) @@ -245,5 +245,6 @@ wpaul wsalamon yar yongari +zack zec zml Modified: svnadmin/conf/mentors ============================================================================== --- svnadmin/conf/mentors Tue Oct 19 21:32:13 2010 (r214084) +++ svnadmin/conf/mentors Tue Oct 19 21:43:48 2010 (r214085) @@ -32,3 +32,4 @@ sson gnn tijl kib versus dds will ken +zack zml From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 21:53:32 2010 Return-Path: Delivered-To: svn-src-all@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EB801106566C; Tue, 19 Oct 2010 21:53:32 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from tarsier.geekcn.org (tarsier.geekcn.org [IPv6:2001:470:a803::1]) by mx1.freebsd.org (Postfix) with ESMTP id 925078FC13; Tue, 19 Oct 2010 21:53:32 +0000 (UTC) Received: from mail.geekcn.org (tarsier.geekcn.org [211.166.10.233]) by tarsier.geekcn.org (Postfix) with ESMTP id 8DD17A7DFC3; Wed, 20 Oct 2010 05:53:31 +0800 (CST) X-Virus-Scanned: amavisd-new at geekcn.org Received: from tarsier.geekcn.org ([211.166.10.233]) by mail.geekcn.org (mail.geekcn.org [211.166.10.233]) (amavisd-new, port 10024) with LMTP id PfthPO4JHYIR; Wed, 20 Oct 2010 05:53:25 +0800 (CST) Received: from delta.delphij.net (drawbridge.ixsystems.com [206.40.55.65]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tarsier.geekcn.org (Postfix) with ESMTPSA id 81976A7DF9D; Wed, 20 Oct 2010 05:53:24 +0800 (CST) DomainKey-Signature: a=rsa-sha1; s=default; d=delphij.net; c=nofws; q=dns; h=message-id:date:from:reply-to:organization:user-agent: mime-version:to:cc:subject:references:in-reply-to: x-enigmail-version:openpgp:content-type:content-transfer-encoding; b=A8mKxtMESN2UCuKb6dEt+nXUQoEKDhdSVRAjj5s1EvXUnZ0mTPsqYTerRZxN5Bnjt F6us1HoNTyK9l5LJVsRJA== Message-ID: <4CBE1351.8040407@delphij.net> Date: Tue, 19 Oct 2010 14:53:21 -0700 From: Xin LI Organization: The FreeBSD Project User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.1.12) Gecko/20100920 Thunderbird/3.0.8 ThunderBrowse/3.3.2 MIME-Version: 1.0 To: Warner Losh References: <201010131634.o9DGY9bF093160@svn.freebsd.org> In-Reply-To: <201010131634.o9DGY9bF093160@svn.freebsd.org> X-Enigmail-Version: 1.0.1 OpenPGP: id=3FCA37C1; url=http://www.delphij.net/delphij.asc Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: svn-src-head@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, src-committers@FreeBSD.ORG Subject: Re: svn commit: r213784 - head/lib/libz X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: d@delphij.net List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 21:53:33 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 10/13/10 09:34, Warner Losh wrote: > Author: imp > Date: Wed Oct 13 16:34:08 2010 > New Revision: 213784 > URL: http://svn.freebsd.org/changeset/base/213784 > > Log: > Revert 212517 to restore pristine state of this file Thanks! - -- Xin LI http://www.delphij.net/ FreeBSD - The Power to Serve! Live free or die -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (FreeBSD) iQEcBAEBCAAGBQJMvhNRAAoJEATO+BI/yjfBWasIALq1Pu6yb2RF4pfqY2AOyq06 EfV4MpWhY2+KYTYkS5zViAN9+hR9f/ncmMpIDemBXX5i/0Zq57KpuaYN/t26zDQ/ uoHj/jK2nxR8RmCNx4lWJ0LoShhkKLA+Gx1z0C1Ebg1iOIe0Ni/ekcvU6+80WX3e zKq/TqBSnIJaR0CS/MES/vrnf/MJn0EfLXSKArH/urC9HZUz9aiacbVDpmFBoSPR WJdsfshHOeG7GSHP2ExZewKl+EgBG1JGRFExHtxEKecGwgihu9k0AlBEukrlb8A1 mEXGUXT5bHCZTvkkrnYiSZaFUiukNe+GsMDkJ7K5Y1eL5g8ZQbq6gY7UwlAnOrY= =NFxi -----END PGP SIGNATURE----- From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 22:10:07 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 621FE106566B; Tue, 19 Oct 2010 22:10:07 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mail.cksoft.de (mail.cksoft.de [IPv6:2001:4068:10::3]) by mx1.freebsd.org (Postfix) with ESMTP id 139F98FC17; Tue, 19 Oct 2010 22:10:07 +0000 (UTC) Received: from localhost (amavis.fra.cksoft.de [192.168.74.71]) by mail.cksoft.de (Postfix) with ESMTP id 6F6C541C75D; Wed, 20 Oct 2010 00:10:06 +0200 (CEST) X-Virus-Scanned: amavisd-new at cksoft.de Received: from mail.cksoft.de ([192.168.74.103]) by localhost (amavis.fra.cksoft.de [192.168.74.71]) (amavisd-new, port 10024) with ESMTP id cvyqk79tI9ox; Wed, 20 Oct 2010 00:10:05 +0200 (CEST) Received: by mail.cksoft.de (Postfix, from userid 66) id AC1CB41C75C; Wed, 20 Oct 2010 00:10:05 +0200 (CEST) Received: from maildrop.int.zabbadoz.net (maildrop.int.zabbadoz.net [10.111.66.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.int.zabbadoz.net (Postfix) with ESMTP id BA6604448F3; Tue, 19 Oct 2010 22:06:09 +0000 (UTC) Date: Tue, 19 Oct 2010 22:06:09 +0000 (UTC) From: "Bjoern A. Zeeb" X-X-Sender: bz@maildrop.int.zabbadoz.net To: Bernhard Schmidt In-Reply-To: <201010191911.o9JJBaQe024210@svn.freebsd.org> Message-ID: <20101019220455.D46881@maildrop.int.zabbadoz.net> References: <201010191911.o9JJBaQe024210@svn.freebsd.org> X-OpenPGP-Key: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r214070 - head/sys/dev/if_ndis X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 22:10:07 -0000 On Tue, 19 Oct 2010, Bernhard Schmidt wrote: > Author: bschmidt > Date: Tue Oct 19 19:11:36 2010 > New Revision: 214070 > URL: http://svn.freebsd.org/changeset/base/214070 > > Log: > There is no reason to call rt_ifmsg(), remove it. While it's indeed very uncommon to have that in a driver, I don't know how much black magic if_ndis(4) is. Have you verified that you still get the events from elsewhere on the routing socket when loading/unloading if_ndif.ko? > Submitted by: Paul B Mahol > MFC after: 1 week > > Modified: > head/sys/dev/if_ndis/if_ndis.c > > Modified: head/sys/dev/if_ndis/if_ndis.c > ============================================================================== > --- head/sys/dev/if_ndis/if_ndis.c Tue Oct 19 18:49:26 2010 (r214069) > +++ head/sys/dev/if_ndis/if_ndis.c Tue Oct 19 19:11:36 2010 (r214070) > @@ -1644,10 +1644,6 @@ ndis_linksts_done(adapter) > default: > break; > } > - > - /* Notify possible listners of interface change. */ > - > - rt_ifmsg(ifp); > } > > static void > -- Bjoern A. Zeeb Welcome a new stage of life. From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 22:11:51 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 230EB106566C; Tue, 19 Oct 2010 22:11:51 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 109F88FC0C; Tue, 19 Oct 2010 22:11:51 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JMBoid029011; Tue, 19 Oct 2010 22:11:50 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JMBolX029009; Tue, 19 Oct 2010 22:11:50 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201010192211.o9JMBolX029009@svn.freebsd.org> From: Jilles Tjoelker Date: Tue, 19 Oct 2010 22:11:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214086 - stable/8/lib/libc/i386/string X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 22:11:51 -0000 Author: jilles Date: Tue Oct 19 22:11:50 2010 New Revision: 214086 URL: http://svn.freebsd.org/changeset/base/214086 Log: MFC r213326: libc: Remove the i386 assembler version of strlen(3). On anything modern, the C version, which processes a word at a time, is much faster. The Intel optimization manual explicitly warns against using REP prefixes with SCAS or CMPS, which is exactly what the assembler version does. A simple test on a Phenom II showed the C version, compiled with -O2, to be about twice as fast determining the length of 100000 strings between 0 and 255 bytes long. Deleted: stable/8/lib/libc/i386/string/strlen.S Modified: stable/8/lib/libc/i386/string/Makefile.inc Directory Properties: stable/8/lib/libc/ (props changed) stable/8/lib/libc/locale/ (props changed) stable/8/lib/libc/stdtime/ (props changed) stable/8/lib/libc/sys/ (props changed) Modified: stable/8/lib/libc/i386/string/Makefile.inc ============================================================================== --- stable/8/lib/libc/i386/string/Makefile.inc Tue Oct 19 21:43:48 2010 (r214085) +++ stable/8/lib/libc/i386/string/Makefile.inc Tue Oct 19 22:11:50 2010 (r214086) @@ -3,5 +3,5 @@ MDSRCS+=bcmp.S bcopy.S bzero.S ffs.S index.S memchr.S memcmp.S memcpy.S \ memmove.S memset.S rindex.S strcat.S strchr.S strcmp.S strcpy.S \ - strlen.S strncmp.S strrchr.S swab.S wcschr.S wcscmp.S wcslen.S \ + strncmp.S strrchr.S swab.S wcschr.S wcscmp.S wcslen.S \ wmemchr.S From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 23:04:24 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 47E14106564A; Tue, 19 Oct 2010 23:04:24 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 35CCC8FC15; Tue, 19 Oct 2010 23:04:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JN4O9J030099; Tue, 19 Oct 2010 23:04:24 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JN4ORq030096; Tue, 19 Oct 2010 23:04:24 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201010192304.o9JN4ORq030096@svn.freebsd.org> From: Pyun YongHyeon Date: Tue, 19 Oct 2010 23:04:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214087 - head/sys/dev/bge X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 23:04:24 -0000 Author: yongari Date: Tue Oct 19 23:04:23 2010 New Revision: 214087 URL: http://svn.freebsd.org/changeset/base/214087 Log: Add workaround for BCM5906 controller silicon bug. If device receive two back-to-back send BDs with less than or equal to 8 total bytes then the device may hang. The two back-to-back send BDs must be in the same frame for this failure to occur. Thanks to davidch for detailed errata information. Reviewed by: davidch Modified: head/sys/dev/bge/if_bge.c head/sys/dev/bge/if_bgereg.h Modified: head/sys/dev/bge/if_bge.c ============================================================================== --- head/sys/dev/bge/if_bge.c Tue Oct 19 22:11:50 2010 (r214086) +++ head/sys/dev/bge/if_bge.c Tue Oct 19 23:04:23 2010 (r214087) @@ -374,6 +374,7 @@ static void bge_tick(void *); static void bge_stats_clear_regs(struct bge_softc *); static void bge_stats_update(struct bge_softc *); static void bge_stats_update_regs(struct bge_softc *); +static struct mbuf *bge_check_short_dma(struct mbuf *); static struct mbuf *bge_setup_tso(struct bge_softc *, struct mbuf *, uint16_t *); static int bge_encap(struct bge_softc *, struct mbuf **, uint32_t *); @@ -2633,6 +2634,8 @@ bge_attach(device_t dev) case BGE_ASICREV_BCM5752: case BGE_ASICREV_BCM5906: sc->bge_flags |= BGE_FLAG_575X_PLUS; + if (sc->bge_asicrev == BGE_ASICREV_BCM5906) + sc->bge_flags |= BGE_FLAG_SHORT_DMA_BUG; /* FALLTHROUGH */ case BGE_ASICREV_BCM5705: sc->bge_flags |= BGE_FLAG_5705_PLUS; @@ -4060,6 +4063,39 @@ bge_cksum_pad(struct mbuf *m) } static struct mbuf * +bge_check_short_dma(struct mbuf *m) +{ + struct mbuf *n; + int found; + + /* + * If device receive two back-to-back send BDs with less than + * or equal to 8 total bytes then the device may hang. The two + * back-to-back send BDs must in the same frame for this failure + * to occur. Scan mbuf chains and see whether two back-to-back + * send BDs are there. If this is the case, allocate new mbuf + * and copy the frame to workaround the silicon bug. + */ + for (n = m, found = 0; n != NULL; n = n->m_next) { + if (n->m_len < 8) { + found++; + if (found > 1) + break; + continue; + } + found = 0; + } + + if (found > 1) { + n = m_defrag(m, M_DONTWAIT); + if (n == NULL) + m_freem(m); + } else + n = m; + return (n); +} + +static struct mbuf * bge_setup_tso(struct bge_softc *sc, struct mbuf *m, uint16_t *mss) { struct ip *ip; @@ -4132,6 +4168,13 @@ bge_encap(struct bge_softc *sc, struct m csum_flags = 0; mss = 0; vlan_tag = 0; + if ((sc->bge_flags & BGE_FLAG_SHORT_DMA_BUG) != 0 && + m->m_next != NULL) { + *m_head = bge_check_short_dma(m); + if (*m_head == NULL) + return (ENOBUFS); + m = *m_head; + } if ((m->m_pkthdr.csum_flags & CSUM_TSO) != 0) { *m_head = m = bge_setup_tso(sc, m, &mss); if (*m_head == NULL) Modified: head/sys/dev/bge/if_bgereg.h ============================================================================== --- head/sys/dev/bge/if_bgereg.h Tue Oct 19 22:11:50 2010 (r214086) +++ head/sys/dev/bge/if_bgereg.h Tue Oct 19 23:04:23 2010 (r214087) @@ -2727,6 +2727,7 @@ struct bge_softc { #define BGE_FLAG_40BIT_BUG 0x01000000 #define BGE_FLAG_4G_BNDRY_BUG 0x02000000 #define BGE_FLAG_RX_ALIGNBUG 0x04000000 +#define BGE_FLAG_SHORT_DMA_BUG 0x08000000 uint32_t bge_phy_flags; #define BGE_PHY_WIRESPEED 0x00000001 #define BGE_PHY_ADC_BUG 0x00000002 From owner-svn-src-all@FreeBSD.ORG Tue Oct 19 23:57:34 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E4342106566B; Tue, 19 Oct 2010 23:57:34 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CE8E48FC16; Tue, 19 Oct 2010 23:57:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9JNvYuD031213; Tue, 19 Oct 2010 23:57:34 GMT (envelope-from obrien@svn.freebsd.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9JNvYR4031193; Tue, 19 Oct 2010 23:57:34 GMT (envelope-from obrien@svn.freebsd.org) Message-Id: <201010192357.o9JNvYR4031193@svn.freebsd.org> From: "David E. O'Brien" Date: Tue, 19 Oct 2010 23:57:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214088 - in stable/8: . bin/sh contrib/top etc/periodic/daily gnu/usr.bin lib/libusb release/picobsd/floppy.tree/sbin sbin/geom/class/sched tools/regression/bin/sh tools/regression/bin... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2010 23:57:35 -0000 Author: obrien Date: Tue Oct 19 23:57:34 2010 New Revision: 214088 URL: http://svn.freebsd.org/changeset/base/214088 Log: MFC r213738: allow one to regression test 'sh' changes without having to install a potentially bad /bin/sh first. Modified: stable/8/bin/sh/Makefile stable/8/tools/regression/bin/sh/Makefile stable/8/tools/regression/bin/sh/builtins/exec1.0 stable/8/tools/regression/bin/sh/builtins/trap1.0 stable/8/tools/regression/bin/sh/builtins/var-assign.0 stable/8/tools/regression/bin/sh/errors/backquote-error1.0 stable/8/tools/regression/bin/sh/errors/option-error.0 stable/8/tools/regression/bin/sh/errors/redirection-error.0 stable/8/tools/regression/bin/sh/errors/redirection-error2.2 stable/8/tools/regression/bin/sh/execution/fork1.0 stable/8/tools/regression/bin/sh/execution/fork2.0 stable/8/tools/regression/bin/sh/execution/func1.0 stable/8/tools/regression/bin/sh/expansion/question1.0 stable/8/tools/regression/bin/sh/expansion/set-u1.0 stable/8/tools/regression/bin/sh/parameters/mail1.0 stable/8/tools/regression/bin/sh/parameters/mail2.0 stable/8/tools/regression/bin/sh/parameters/pwd1.0 stable/8/tools/regression/bin/sh/regress.sh stable/8/tools/regression/bin/sh/regress.t Directory Properties: stable/8/ (props changed) stable/8/Makefile (props changed) stable/8/Makefile.inc1 (props changed) stable/8/ObsoleteFiles.inc (props changed) stable/8/UPDATING (props changed) stable/8/bin/ (props changed) stable/8/bin/chio/ (props changed) stable/8/bin/chmod/ (props changed) stable/8/bin/cp/ (props changed) stable/8/bin/csh/ (props changed) stable/8/bin/date/ (props changed) stable/8/bin/expr/ (props changed) stable/8/bin/getfacl/ (props changed) stable/8/bin/kill/ (props changed) stable/8/bin/ln/ (props changed) stable/8/bin/ls/ (props changed) stable/8/bin/mv/ (props changed) stable/8/bin/pax/ (props changed) stable/8/bin/pkill/ (props changed) stable/8/bin/ps/ (props changed) stable/8/bin/pwait/ (props changed) stable/8/bin/setfacl/ (props changed) stable/8/bin/sh/ (props changed) stable/8/bin/sleep/ (props changed) stable/8/bin/test/ (props changed) stable/8/cddl/compat/opensolaris/ (props changed) stable/8/cddl/contrib/opensolaris/ (props changed) stable/8/cddl/lib/libnvpair/ (props changed) stable/8/cddl/lib/libzpool/ (props changed) stable/8/contrib/ (props changed) stable/8/contrib/bind9/ (props changed) stable/8/contrib/binutils/ (props changed) stable/8/contrib/bsnmp/ (props changed) stable/8/contrib/bzip2/ (props changed) stable/8/contrib/com_err/ (props changed) stable/8/contrib/csup/ (props changed) stable/8/contrib/ee/ (props changed) stable/8/contrib/expat/ (props changed) stable/8/contrib/file/ (props changed) stable/8/contrib/gcc/ (props changed) stable/8/contrib/gdb/ (props changed) stable/8/contrib/gdtoa/ (props changed) stable/8/contrib/groff/ (props changed) stable/8/contrib/ipfilter/ (props changed) stable/8/contrib/less/ (props changed) stable/8/contrib/libpcap/ (props changed) stable/8/contrib/ncurses/ (props changed) stable/8/contrib/netcat/ (props changed) stable/8/contrib/ntp/ (props changed) stable/8/contrib/nvi/ (props changed) stable/8/contrib/one-true-awk/ (props changed) stable/8/contrib/openbsm/ (props changed) stable/8/contrib/openpam/ (props changed) stable/8/contrib/pf/ (props changed) stable/8/contrib/sendmail/ (props changed) stable/8/contrib/tcp_wrappers/ (props changed) stable/8/contrib/tcpdump/ (props changed) stable/8/contrib/tcsh/ (props changed) stable/8/contrib/telnet/ (props changed) stable/8/contrib/top/ (props changed) stable/8/contrib/top/install-sh (props changed) stable/8/contrib/traceroute/ (props changed) stable/8/contrib/wpa/ (props changed) stable/8/contrib/xz/ (props changed) stable/8/crypto/heimdal/ (props changed) stable/8/crypto/openssh/ (props changed) stable/8/crypto/openssl/ (props changed) stable/8/etc/ (props changed) stable/8/etc/periodic/daily/ (props changed) stable/8/etc/periodic/daily/800.scrub-zfs (props changed) stable/8/games/factor/ (props changed) stable/8/games/fortune/ (props changed) stable/8/games/grdc/ (props changed) stable/8/games/pom/ (props changed) stable/8/gnu/lib/csu/ (props changed) stable/8/gnu/lib/libstdc++/ (props changed) stable/8/gnu/usr.bin/ (props changed) stable/8/gnu/usr.bin/Makefile (props changed) stable/8/gnu/usr.bin/dialog/ (props changed) stable/8/gnu/usr.bin/gdb/ (props changed) stable/8/gnu/usr.bin/gdb/kgdb/ (props changed) stable/8/gnu/usr.bin/groff/ (props changed) stable/8/gnu/usr.bin/patch/ (props changed) stable/8/include/ (props changed) stable/8/kerberos5/lib/libgssapi_krb5/ (props changed) stable/8/kerberos5/lib/libgssapi_spnego/ (props changed) stable/8/kerberos5/usr.bin/kdestroy/ (props changed) stable/8/kerberos5/usr.bin/kpasswd/ (props changed) stable/8/lib/ (props changed) stable/8/lib/bind/ (props changed) stable/8/lib/csu/ (props changed) stable/8/lib/libarchive/ (props changed) stable/8/lib/libbluetooth/ (props changed) stable/8/lib/libc/ (props changed) stable/8/lib/libc/locale/ (props changed) stable/8/lib/libc/stdtime/ (props changed) stable/8/lib/libc/sys/ (props changed) stable/8/lib/libc_r/ (props changed) stable/8/lib/libcam/ (props changed) stable/8/lib/libcompat/ (props changed) stable/8/lib/libdevinfo/ (props changed) stable/8/lib/libdisk/ (props changed) stable/8/lib/libedit/ (props changed) stable/8/lib/libelf/ (props changed) stable/8/lib/libexpat/ (props changed) stable/8/lib/libfetch/ (props changed) stable/8/lib/libgeom/ (props changed) stable/8/lib/libgpib/ (props changed) stable/8/lib/libgssapi/ (props changed) stable/8/lib/libjail/ (props changed) stable/8/lib/libkse/ (props changed) stable/8/lib/libkvm/ (props changed) stable/8/lib/liblzma/ (props changed) stable/8/lib/libmagic/ (props changed) stable/8/lib/libmemstat/ (props changed) stable/8/lib/libpam/ (props changed) stable/8/lib/libpmc/ (props changed) stable/8/lib/libradius/ (props changed) stable/8/lib/librpcsec_gss/ (props changed) stable/8/lib/libsm/ (props changed) stable/8/lib/libstand/ (props changed) stable/8/lib/libtacplus/ (props changed) stable/8/lib/libthr/ (props changed) stable/8/lib/libufs/ (props changed) stable/8/lib/libugidfw/ (props changed) stable/8/lib/libusb/ (props changed) stable/8/lib/libusb/usb.h (props changed) stable/8/lib/libusbhid/ (props changed) stable/8/lib/libutil/ (props changed) stable/8/lib/libz/ (props changed) stable/8/lib/libz/contrib/ (props changed) stable/8/lib/msun/ (props changed) stable/8/libexec/ (props changed) stable/8/libexec/ftpd/ (props changed) stable/8/libexec/rtld-elf/ (props changed) stable/8/libexec/tftpd/ (props changed) stable/8/release/ (props changed) stable/8/release/doc/en_US.ISO8859-1/hardware/ (props changed) stable/8/release/picobsd/ (props changed) stable/8/release/picobsd/floppy.tree/sbin/ (props changed) stable/8/release/picobsd/floppy.tree/sbin/dhclient-script (props changed) stable/8/release/picobsd/qemu/ (props changed) stable/8/release/picobsd/tinyware/login/ (props changed) stable/8/sbin/ (props changed) stable/8/sbin/atacontrol/ (props changed) stable/8/sbin/bsdlabel/ (props changed) stable/8/sbin/camcontrol/ (props changed) stable/8/sbin/ddb/ (props changed) stable/8/sbin/devd/ (props changed) stable/8/sbin/devfs/ (props changed) stable/8/sbin/dhclient/ (props changed) stable/8/sbin/dump/ (props changed) stable/8/sbin/dumpfs/ (props changed) stable/8/sbin/fsck/ (props changed) stable/8/sbin/fsck_ffs/ (props changed) stable/8/sbin/fsck_msdosfs/ (props changed) stable/8/sbin/fsirand/ (props changed) stable/8/sbin/geom/ (props changed) stable/8/sbin/geom/class/part/ (props changed) stable/8/sbin/geom/class/sched/gsched.8 (props changed) stable/8/sbin/geom/class/stripe/ (props changed) stable/8/sbin/ggate/ (props changed) stable/8/sbin/growfs/ (props changed) stable/8/sbin/hastctl/ (props changed) stable/8/sbin/hastd/ (props changed) stable/8/sbin/ifconfig/ (props changed) stable/8/sbin/ipfw/ (props changed) stable/8/sbin/iscontrol/ (props changed) stable/8/sbin/kldload/ (props changed) stable/8/sbin/kldstat/ (props changed) stable/8/sbin/mdconfig/ (props changed) stable/8/sbin/mksnap_ffs/ (props changed) stable/8/sbin/mount/ (props changed) stable/8/sbin/mount_cd9660/ (props changed) stable/8/sbin/mount_msdosfs/ (props changed) stable/8/sbin/mount_nfs/ (props changed) stable/8/sbin/natd/ (props changed) stable/8/sbin/newfs/ (props changed) stable/8/sbin/newfs_msdos/ (props changed) stable/8/sbin/ping6/ (props changed) stable/8/sbin/reboot/ (props changed) stable/8/sbin/restore/ (props changed) stable/8/sbin/routed/ (props changed) stable/8/sbin/setkey/ (props changed) stable/8/sbin/spppcontrol/ (props changed) stable/8/sbin/sysctl/ (props changed) stable/8/sbin/tunefs/ (props changed) stable/8/sbin/umount/ (props changed) stable/8/secure/ (props changed) stable/8/secure/lib/libcrypto/ (props changed) stable/8/secure/lib/libssl/ (props changed) stable/8/secure/usr.bin/bdes/ (props changed) stable/8/secure/usr.bin/openssl/ (props changed) stable/8/share/dict/ (props changed) stable/8/share/examples/ (props changed) stable/8/share/examples/etc/ (props changed) stable/8/share/examples/kld/syscall/ (props changed) stable/8/share/man/ (props changed) stable/8/share/man/man1/ (props changed) stable/8/share/man/man3/ (props changed) stable/8/share/man/man4/ (props changed) stable/8/share/man/man5/ (props changed) stable/8/share/man/man7/ (props changed) stable/8/share/man/man8/ (props changed) stable/8/share/man/man9/ (props changed) stable/8/share/misc/ (props changed) stable/8/share/mk/ (props changed) stable/8/share/termcap/ (props changed) stable/8/share/timedef/ (props changed) stable/8/share/zoneinfo/ (props changed) stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) stable/8/tools/ (props changed) stable/8/tools/build/mk/ (props changed) stable/8/tools/build/options/ (props changed) stable/8/tools/debugscripts/ (props changed) stable/8/tools/kerneldoc/subsys/ (props changed) stable/8/tools/regression/acltools/ (props changed) stable/8/tools/regression/aio/aiotest/ (props changed) stable/8/tools/regression/bin/sh/ (props changed) stable/8/tools/regression/fifo/ (props changed) stable/8/tools/regression/geom/ (props changed) stable/8/tools/regression/lib/libc/ (props changed) stable/8/tools/regression/lib/msun/test-conj.t (props changed) stable/8/tools/regression/mqueue/mqtest1/ (props changed) stable/8/tools/regression/mqueue/mqtest2/ (props changed) stable/8/tools/regression/mqueue/mqtest3/ (props changed) stable/8/tools/regression/mqueue/mqtest4/ (props changed) stable/8/tools/regression/mqueue/mqtest5/ (props changed) stable/8/tools/regression/poll/ (props changed) stable/8/tools/regression/posixsem/ (props changed) stable/8/tools/regression/priv/ (props changed) stable/8/tools/regression/usr.bin/ (props changed) stable/8/tools/regression/usr.bin/pkill/pgrep-_g.t (props changed) stable/8/tools/regression/usr.bin/pkill/pgrep-_s.t (props changed) stable/8/tools/regression/usr.bin/pkill/pkill-_g.t (props changed) stable/8/tools/regression/usr.bin/sed/ (props changed) stable/8/tools/regression/usr.bin/tr/ (props changed) stable/8/tools/test/ (props changed) stable/8/tools/tools/ (props changed) stable/8/tools/tools/ath/ (props changed) stable/8/tools/tools/ath/common/dumpregs.h (props changed) stable/8/tools/tools/ath/common/dumpregs_5210.c (props changed) stable/8/tools/tools/ath/common/dumpregs_5211.c (props changed) stable/8/tools/tools/ath/common/dumpregs_5212.c (props changed) stable/8/tools/tools/ath/common/dumpregs_5416.c (props changed) stable/8/tools/tools/nanobsd/ (props changed) stable/8/tools/tools/netrate/tcpp/ (props changed) stable/8/tools/tools/termcap/termcap.pl (props changed) stable/8/tools/tools/umastat/ (props changed) stable/8/tools/tools/vimage/ (props changed) stable/8/usr.bin/ (props changed) stable/8/usr.bin/apply/ (props changed) stable/8/usr.bin/ar/ (props changed) stable/8/usr.bin/awk/ (props changed) stable/8/usr.bin/biff/ (props changed) stable/8/usr.bin/c89/ (props changed) stable/8/usr.bin/c99/ (props changed) stable/8/usr.bin/calendar/ (props changed) stable/8/usr.bin/catman/ (props changed) stable/8/usr.bin/column/ (props changed) stable/8/usr.bin/comm/ (props changed) stable/8/usr.bin/cpio/ (props changed) stable/8/usr.bin/csup/ (props changed) stable/8/usr.bin/du/ (props changed) stable/8/usr.bin/ee/ (props changed) stable/8/usr.bin/enigma/ (props changed) stable/8/usr.bin/fetch/ (props changed) stable/8/usr.bin/find/ (props changed) stable/8/usr.bin/finger/ (props changed) stable/8/usr.bin/fstat/ (props changed) stable/8/usr.bin/gcore/ (props changed) stable/8/usr.bin/getopt/ (props changed) stable/8/usr.bin/gzip/ (props changed) stable/8/usr.bin/hexdump/ (props changed) stable/8/usr.bin/indent/ (props changed) stable/8/usr.bin/jot/ (props changed) stable/8/usr.bin/kdump/ (props changed) stable/8/usr.bin/killall/ (props changed) stable/8/usr.bin/ktrace/ (props changed) stable/8/usr.bin/locale/ (props changed) stable/8/usr.bin/lockf/ (props changed) stable/8/usr.bin/look/ (props changed) stable/8/usr.bin/mail/ (props changed) stable/8/usr.bin/make/ (props changed) stable/8/usr.bin/makewhatis/ (props changed) stable/8/usr.bin/minigzip/ (props changed) stable/8/usr.bin/ncal/ (props changed) stable/8/usr.bin/netstat/ (props changed) stable/8/usr.bin/pathchk/ (props changed) stable/8/usr.bin/perror/ (props changed) stable/8/usr.bin/procstat/ (props changed) stable/8/usr.bin/rpcgen/ (props changed) stable/8/usr.bin/ruptime/ (props changed) stable/8/usr.bin/script/ (props changed) stable/8/usr.bin/sed/ (props changed) stable/8/usr.bin/sockstat/ (props changed) stable/8/usr.bin/split/ (props changed) stable/8/usr.bin/stat/ (props changed) stable/8/usr.bin/systat/ (props changed) stable/8/usr.bin/tar/ (props changed) stable/8/usr.bin/tftp/ (props changed) stable/8/usr.bin/touch/ (props changed) stable/8/usr.bin/tr/ (props changed) stable/8/usr.bin/truss/ (props changed) stable/8/usr.bin/uname/ (props changed) stable/8/usr.bin/unifdef/ (props changed) stable/8/usr.bin/uniq/ (props changed) stable/8/usr.bin/unzip/ (props changed) stable/8/usr.bin/vmstat/ (props changed) stable/8/usr.bin/w/ (props changed) stable/8/usr.bin/whois/ (props changed) stable/8/usr.bin/xinstall/ (props changed) stable/8/usr.bin/xlint/ (props changed) stable/8/usr.sbin/ (props changed) stable/8/usr.sbin/Makefile (props changed) stable/8/usr.sbin/acpi/ (props changed) stable/8/usr.sbin/arp/ (props changed) stable/8/usr.sbin/asf/ (props changed) stable/8/usr.sbin/bluetooth/ (props changed) stable/8/usr.sbin/bluetooth/bthidcontrol/ (props changed) stable/8/usr.sbin/bluetooth/bthidd/ (props changed) stable/8/usr.sbin/boot0cfg/ (props changed) stable/8/usr.sbin/bsnmpd/ (props changed) stable/8/usr.sbin/burncd/ (props changed) stable/8/usr.sbin/cdcontrol/ (props changed) stable/8/usr.sbin/chown/ (props changed) stable/8/usr.sbin/config/ (props changed) stable/8/usr.sbin/cpucontrol/ (props changed) stable/8/usr.sbin/crashinfo/ (props changed) stable/8/usr.sbin/cron/ (props changed) stable/8/usr.sbin/crunch/examples/ (props changed) stable/8/usr.sbin/ctm/ (props changed) stable/8/usr.sbin/cxgbtool/ (props changed) stable/8/usr.sbin/devinfo/ (props changed) stable/8/usr.sbin/diskinfo/ (props changed) stable/8/usr.sbin/dumpcis/cardinfo.h (props changed) stable/8/usr.sbin/dumpcis/cis.h (props changed) stable/8/usr.sbin/faithd/ (props changed) stable/8/usr.sbin/fdcontrol/ (props changed) stable/8/usr.sbin/fdformat/ (props changed) stable/8/usr.sbin/fdread/ (props changed) stable/8/usr.sbin/fdwrite/ (props changed) stable/8/usr.sbin/fifolog/ (props changed) stable/8/usr.sbin/flowctl/ (props changed) stable/8/usr.sbin/freebsd-update/ (props changed) stable/8/usr.sbin/i2c/ (props changed) stable/8/usr.sbin/inetd/ (props changed) stable/8/usr.sbin/iostat/ (props changed) stable/8/usr.sbin/jail/ (props changed) stable/8/usr.sbin/jls/ (props changed) stable/8/usr.sbin/lpr/ (props changed) stable/8/usr.sbin/mailwrapper/ (props changed) stable/8/usr.sbin/makefs/ffs/ffs_bswap.c (props changed) stable/8/usr.sbin/makefs/ffs/ffs_subr.c (props changed) stable/8/usr.sbin/makefs/ffs/ufs_bswap.h (props changed) stable/8/usr.sbin/makefs/getid.c (props changed) stable/8/usr.sbin/mergemaster/ (props changed) stable/8/usr.sbin/mfiutil/mfiutil.8 (props changed) stable/8/usr.sbin/mountd/ (props changed) stable/8/usr.sbin/moused/ (props changed) stable/8/usr.sbin/mptutil/ (props changed) stable/8/usr.sbin/mtest/ (props changed) stable/8/usr.sbin/mtree/ (props changed) stable/8/usr.sbin/named/ (props changed) stable/8/usr.sbin/ndp/ (props changed) stable/8/usr.sbin/newsyslog/ (props changed) stable/8/usr.sbin/nfsdumpstate/ (props changed) stable/8/usr.sbin/ntp/ (props changed) stable/8/usr.sbin/pciconf/ (props changed) stable/8/usr.sbin/periodic/ (props changed) stable/8/usr.sbin/pmcannotate/ (props changed) stable/8/usr.sbin/pmccontrol/ (props changed) stable/8/usr.sbin/pmcstat/ (props changed) stable/8/usr.sbin/powerd/ (props changed) stable/8/usr.sbin/ppp/ (props changed) stable/8/usr.sbin/pppctl/ (props changed) stable/8/usr.sbin/pstat/ (props changed) stable/8/usr.sbin/rpc.lockd/ (props changed) stable/8/usr.sbin/rpc.umntall/ (props changed) stable/8/usr.sbin/rtsold/ (props changed) stable/8/usr.sbin/sade/ (props changed) stable/8/usr.sbin/service/ (props changed) stable/8/usr.sbin/services_mkdb/ (props changed) stable/8/usr.sbin/setfmac/ (props changed) stable/8/usr.sbin/setpmac/ (props changed) stable/8/usr.sbin/smbmsg/ (props changed) stable/8/usr.sbin/sysinstall/ (props changed) stable/8/usr.sbin/syslogd/ (props changed) stable/8/usr.sbin/traceroute/ (props changed) stable/8/usr.sbin/traceroute6/ (props changed) stable/8/usr.sbin/uathload/ (props changed) stable/8/usr.sbin/ugidfw/ (props changed) stable/8/usr.sbin/uhsoctl/ (props changed) stable/8/usr.sbin/usbconfig/ (props changed) stable/8/usr.sbin/vidcontrol/ (props changed) stable/8/usr.sbin/wpa/ (props changed) stable/8/usr.sbin/ypserv/ (props changed) stable/8/usr.sbin/zic/ (props changed) Modified: stable/8/bin/sh/Makefile ============================================================================== --- stable/8/bin/sh/Makefile Tue Oct 19 23:04:23 2010 (r214087) +++ stable/8/bin/sh/Makefile Tue Oct 19 23:57:34 2010 (r214088) @@ -62,4 +62,7 @@ syntax.c syntax.h: mksyntax token.h: mktokens sh ${.CURDIR}/mktokens +regress: + cd ${.CURDIR}/../../tools/regression/bin/sh && ${MAKE} SH=${.OBJDIR}/sh + .include Modified: stable/8/tools/regression/bin/sh/Makefile ============================================================================== --- stable/8/tools/regression/bin/sh/Makefile Tue Oct 19 23:04:23 2010 (r214087) +++ stable/8/tools/regression/bin/sh/Makefile Tue Oct 19 23:57:34 2010 (r214088) @@ -1,4 +1,7 @@ # $FreeBSD$ +# Allow one to specify the 'sh' to regress. +SH?= /bin/sh + all: - sh regress.sh + env SH=${SH} ${SH} regress.sh Modified: stable/8/tools/regression/bin/sh/builtins/exec1.0 ============================================================================== --- stable/8/tools/regression/bin/sh/builtins/exec1.0 Tue Oct 19 23:04:23 2010 (r214087) +++ stable/8/tools/regression/bin/sh/builtins/exec1.0 Tue Oct 19 23:57:34 2010 (r214088) @@ -12,7 +12,7 @@ failure() { ) [ $? = 0 ] || failure $LINENO ( - exec sh -c 'exit 42' + exec ${SH} -c 'exit 42' echo bad ) [ $? = 42 ] || failure $LINENO Modified: stable/8/tools/regression/bin/sh/builtins/trap1.0 ============================================================================== --- stable/8/tools/regression/bin/sh/builtins/trap1.0 Tue Oct 19 23:04:23 2010 (r214087) +++ stable/8/tools/regression/bin/sh/builtins/trap1.0 Tue Oct 19 23:57:34 2010 (r214088) @@ -4,11 +4,11 @@ test "$(trap 'echo trapped' EXIT; :)" = test "$(trap 'echo trapped' EXIT; /usr/bin/true)" = trapped || exit 1 -result=$(sh -c 'trap "echo trapped" EXIT; /usr/bin/false') +result=$(${SH} -c 'trap "echo trapped" EXIT; /usr/bin/false') test $? -eq 1 || exit 1 test "$result" = trapped || exit 1 -result=$(sh -c 'trap "echo trapped" EXIT; exec /usr/bin/false') +result=$(${SH} -c 'trap "echo trapped" EXIT; exec /usr/bin/false') test $? -eq 1 || exit 1 test -z "$result" || exit 1 Modified: stable/8/tools/regression/bin/sh/builtins/var-assign.0 ============================================================================== --- stable/8/tools/regression/bin/sh/builtins/var-assign.0 Tue Oct 19 23:04:23 2010 (r214087) +++ stable/8/tools/regression/bin/sh/builtins/var-assign.0 Tue Oct 19 23:57:34 2010 (r214088) @@ -44,12 +44,12 @@ set -e set -- ${SPECIAL} for cmd in "$@" do - sh -c "VAR=1; VAR=0 ${cmd}; exit \${VAR}" >/dev/null 2>&1 + ${SH} -c "VAR=1; VAR=0 ${cmd}; exit \${VAR}" >/dev/null 2>&1 done # For other built-ins and utilites they do not. set -- ${UTILS} for cmd in "$@" do - sh -c "VAR=0; VAR=1 ${cmd}; exit \${VAR}" >/dev/null 2>&1 + ${SH} -c "VAR=0; VAR=1 ${cmd}; exit \${VAR}" >/dev/null 2>&1 done Modified: stable/8/tools/regression/bin/sh/errors/backquote-error1.0 ============================================================================== --- stable/8/tools/regression/bin/sh/errors/backquote-error1.0 Tue Oct 19 23:04:23 2010 (r214087) +++ stable/8/tools/regression/bin/sh/errors/backquote-error1.0 Tue Oct 19 23:57:34 2010 (r214088) @@ -1,4 +1,4 @@ # $FreeBSD$ -echo 'echo `for` echo ".BAD"CODE.' | sh +m -i 2>&1 | grep -q BADCODE && exit 1 +echo 'echo `for` echo ".BAD"CODE.' | ${SH} +m -i 2>&1 | grep -q BADCODE && exit 1 exit 0 Modified: stable/8/tools/regression/bin/sh/errors/option-error.0 ============================================================================== --- stable/8/tools/regression/bin/sh/errors/option-error.0 Tue Oct 19 23:04:23 2010 (r214087) +++ stable/8/tools/regression/bin/sh/errors/option-error.0 Tue Oct 19 23:57:34 2010 (r214088) @@ -35,12 +35,12 @@ UTILS="alias -y,\ set -- ${SPECIAL} for cmd in "$@" do - sh -c "${cmd}; exit 0" 2>/dev/null && exit 1 + ${SH} -c "${cmd}; exit 0" 2>/dev/null && exit 1 done # Other utilities must not abort. set -- ${UTILS} for cmd in "$@" do - sh -c "${cmd}; exit 0" 2>/dev/null || exit 1 + ${SH} -c "${cmd}; exit 0" 2>/dev/null || exit 1 done Modified: stable/8/tools/regression/bin/sh/errors/redirection-error.0 ============================================================================== --- stable/8/tools/regression/bin/sh/errors/redirection-error.0 Tue Oct 19 23:04:23 2010 (r214087) +++ stable/8/tools/regression/bin/sh/errors/redirection-error.0 Tue Oct 19 23:57:34 2010 (r214088) @@ -42,12 +42,12 @@ UTILS="alias,\ set -- ${SPECIAL} for cmd in "$@" do - sh -c "${cmd} > /; exit 0" 2>/dev/null && exit 1 + ${SH} -c "${cmd} > /; exit 0" 2>/dev/null && exit 1 done # Other utilities must not abort. set -- ${UTILS} for cmd in "$@" do - sh -c "${cmd} > /; exit 0" 2>/dev/null || exit 1 + ${SH} -c "${cmd} > /; exit 0" 2>/dev/null || exit 1 done Modified: stable/8/tools/regression/bin/sh/errors/redirection-error2.2 ============================================================================== --- stable/8/tools/regression/bin/sh/errors/redirection-error2.2 Tue Oct 19 23:04:23 2010 (r214087) +++ stable/8/tools/regression/bin/sh/errors/redirection-error2.2 Tue Oct 19 23:57:34 2010 (r214088) @@ -1,4 +1,4 @@ # $FreeBSD$ # sh should fail gracefully on this bad redirect -sh -c 'echo 1 >&$a' 2>/dev/null +${SH} -c 'echo 1 >&$a' 2>/dev/null Modified: stable/8/tools/regression/bin/sh/execution/fork1.0 ============================================================================== --- stable/8/tools/regression/bin/sh/execution/fork1.0 Tue Oct 19 23:04:23 2010 (r214087) +++ stable/8/tools/regression/bin/sh/execution/fork1.0 Tue Oct 19 23:57:34 2010 (r214088) @@ -1,7 +1,7 @@ # $FreeBSD$ -result=$(sh -c 'ps -p $$ -o comm=') +result=$(${SH} -c 'ps -p $$ -o comm=') test "$result" = "ps" || exit 1 -result=$(sh -c 'ps -p $$ -o comm=; :') +result=$(${SH} -c 'ps -p $$ -o comm=; :') test "$result" = "sh" || exit 1 Modified: stable/8/tools/regression/bin/sh/execution/fork2.0 ============================================================================== --- stable/8/tools/regression/bin/sh/execution/fork2.0 Tue Oct 19 23:04:23 2010 (r214087) +++ stable/8/tools/regression/bin/sh/execution/fork2.0 Tue Oct 19 23:57:34 2010 (r214088) @@ -1,9 +1,9 @@ # $FreeBSD$ -result=$(sh -c '(/bin/sleep 1)& sleep 0.1; ps -p $! -o comm=; kill $!') +result=$(${SH} -c '(/bin/sleep 1)& sleep 0.1; ps -p $! -o comm=; kill $!') test "$result" = sleep || exit 1 -result=$(sh -c '{ trap "echo trapped" EXIT; (/usr/bin/true); } & wait') +result=$(${SH} -c '{ trap "echo trapped" EXIT; (/usr/bin/true); } & wait') test "$result" = trapped || exit 1 exit 0 Modified: stable/8/tools/regression/bin/sh/execution/func1.0 ============================================================================== --- stable/8/tools/regression/bin/sh/execution/func1.0 Tue Oct 19 23:04:23 2010 (r214087) +++ stable/8/tools/regression/bin/sh/execution/func1.0 Tue Oct 19 23:57:34 2010 (r214088) @@ -1,4 +1,4 @@ # $FreeBSD$ -MALLOC_OPTIONS=J sh -c 'g() { g() { :; }; :; }; g' && -MALLOC_OPTIONS=J sh -c 'g() { unset -f g; :; }; g' +MALLOC_OPTIONS=J ${SH} -c 'g() { g() { :; }; :; }; g' && +MALLOC_OPTIONS=J ${SH} -c 'g() { unset -f g; :; }; g' Modified: stable/8/tools/regression/bin/sh/expansion/question1.0 ============================================================================== --- stable/8/tools/regression/bin/sh/expansion/question1.0 Tue Oct 19 23:04:23 2010 (r214087) +++ stable/8/tools/regression/bin/sh/expansion/question1.0 Tue Oct 19 23:57:34 2010 (r214088) @@ -6,17 +6,17 @@ set -- ${x?} { [ "$#" = 2 ] && [ "$1" = a ] && [ "$2" = b ]; } || exit 1 unset x (echo ${x?abcdefg}) 2>&1 | grep -q abcdefg || exit 1 -sh -c 'unset foo; echo ${foo?}' 2>/dev/null && exit 1 -sh -c 'foo=; echo ${foo:?}' 2>/dev/null && exit 1 -sh -c 'foo=; echo ${foo?}' >/dev/null || exit 1 -sh -c 'foo=1; echo ${foo:?}' >/dev/null || exit 1 -sh -c 'echo ${!?}' 2>/dev/null && exit 1 -sh -c ':& echo ${!?}' >/dev/null || exit 1 -sh -c 'echo ${#?}' >/dev/null || exit 1 -sh -c 'echo ${*?}' 2>/dev/null && exit 1 -sh -c 'echo ${*?}' sh x >/dev/null || exit 1 -sh -c 'echo ${1?}' 2>/dev/null && exit 1 -sh -c 'echo ${1?}' sh x >/dev/null || exit 1 -sh -c 'echo ${2?}' sh x 2>/dev/null && exit 1 -sh -c 'echo ${2?}' sh x y >/dev/null || exit 1 +${SH} -c 'unset foo; echo ${foo?}' 2>/dev/null && exit 1 +${SH} -c 'foo=; echo ${foo:?}' 2>/dev/null && exit 1 +${SH} -c 'foo=; echo ${foo?}' >/dev/null || exit 1 +${SH} -c 'foo=1; echo ${foo:?}' >/dev/null || exit 1 +${SH} -c 'echo ${!?}' 2>/dev/null && exit 1 +${SH} -c ':& echo ${!?}' >/dev/null || exit 1 +${SH} -c 'echo ${#?}' >/dev/null || exit 1 +${SH} -c 'echo ${*?}' 2>/dev/null && exit 1 +${SH} -c 'echo ${*?}' ${SH} x >/dev/null || exit 1 +${SH} -c 'echo ${1?}' 2>/dev/null && exit 1 +${SH} -c 'echo ${1?}' ${SH} x >/dev/null || exit 1 +${SH} -c 'echo ${2?}' ${SH} x 2>/dev/null && exit 1 +${SH} -c 'echo ${2?}' ${SH} x y >/dev/null || exit 1 exit 0 Modified: stable/8/tools/regression/bin/sh/expansion/set-u1.0 ============================================================================== --- stable/8/tools/regression/bin/sh/expansion/set-u1.0 Tue Oct 19 23:04:23 2010 (r214087) +++ stable/8/tools/regression/bin/sh/expansion/set-u1.0 Tue Oct 19 23:57:34 2010 (r214088) @@ -1,29 +1,29 @@ # $FreeBSD$ -sh -uc 'unset foo; echo $foo' 2>/dev/null && exit 1 -sh -uc 'foo=; echo $foo' >/dev/null || exit 1 -sh -uc 'foo=1; echo $foo' >/dev/null || exit 1 +${SH} -uc 'unset foo; echo $foo' 2>/dev/null && exit 1 +${SH} -uc 'foo=; echo $foo' >/dev/null || exit 1 +${SH} -uc 'foo=1; echo $foo' >/dev/null || exit 1 # -/+/= are unaffected by set -u -sh -uc 'unset foo; echo ${foo-}' >/dev/null || exit 1 -sh -uc 'unset foo; echo ${foo+}' >/dev/null || exit 1 -sh -uc 'unset foo; echo ${foo=}' >/dev/null || exit 1 +${SH} -uc 'unset foo; echo ${foo-}' >/dev/null || exit 1 +${SH} -uc 'unset foo; echo ${foo+}' >/dev/null || exit 1 +${SH} -uc 'unset foo; echo ${foo=}' >/dev/null || exit 1 # length/trimming are affected -sh -uc 'unset foo; echo ${#foo}' 2>/dev/null && exit 1 -sh -uc 'foo=; echo ${#foo}' >/dev/null || exit 1 -sh -uc 'unset foo; echo ${foo#?}' 2>/dev/null && exit 1 -sh -uc 'foo=1; echo ${foo#?}' >/dev/null || exit 1 -sh -uc 'unset foo; echo ${foo##?}' 2>/dev/null && exit 1 -sh -uc 'foo=1; echo ${foo##?}' >/dev/null || exit 1 -sh -uc 'unset foo; echo ${foo%?}' 2>/dev/null && exit 1 -sh -uc 'foo=1; echo ${foo%?}' >/dev/null || exit 1 -sh -uc 'unset foo; echo ${foo%%?}' 2>/dev/null && exit 1 -sh -uc 'foo=1; echo ${foo%%?}' >/dev/null || exit 1 +${SH} -uc 'unset foo; echo ${#foo}' 2>/dev/null && exit 1 +${SH} -uc 'foo=; echo ${#foo}' >/dev/null || exit 1 +${SH} -uc 'unset foo; echo ${foo#?}' 2>/dev/null && exit 1 +${SH} -uc 'foo=1; echo ${foo#?}' >/dev/null || exit 1 +${SH} -uc 'unset foo; echo ${foo##?}' 2>/dev/null && exit 1 +${SH} -uc 'foo=1; echo ${foo##?}' >/dev/null || exit 1 +${SH} -uc 'unset foo; echo ${foo%?}' 2>/dev/null && exit 1 +${SH} -uc 'foo=1; echo ${foo%?}' >/dev/null || exit 1 +${SH} -uc 'unset foo; echo ${foo%%?}' 2>/dev/null && exit 1 +${SH} -uc 'foo=1; echo ${foo%%?}' >/dev/null || exit 1 -sh -uc 'echo $!' 2>/dev/null && exit 1 -sh -uc ':& echo $!' >/dev/null || exit 1 -sh -uc 'echo $#' >/dev/null || exit 1 -sh -uc 'echo $1' 2>/dev/null && exit 1 -sh -uc 'echo $1' sh x >/dev/null || exit 1 -sh -uc 'echo $2' sh x 2>/dev/null && exit 1 -sh -uc 'echo $2' sh x y >/dev/null || exit 1 +${SH} -uc 'echo $!' 2>/dev/null && exit 1 +${SH} -uc ':& echo $!' >/dev/null || exit 1 +${SH} -uc 'echo $#' >/dev/null || exit 1 +${SH} -uc 'echo $1' 2>/dev/null && exit 1 +${SH} -uc 'echo $1' ${SH} x >/dev/null || exit 1 +${SH} -uc 'echo $2' ${SH} x 2>/dev/null && exit 1 +${SH} -uc 'echo $2' ${SH} x y >/dev/null || exit 1 exit 0 Modified: stable/8/tools/regression/bin/sh/parameters/mail1.0 ============================================================================== --- stable/8/tools/regression/bin/sh/parameters/mail1.0 Tue Oct 19 23:04:23 2010 (r214087) +++ stable/8/tools/regression/bin/sh/parameters/mail1.0 Tue Oct 19 23:57:34 2010 (r214088) @@ -4,7 +4,7 @@ goodfile=/var/empty/sh-test-goodfile mailfile=/var/empty/sh-test-mailfile T=$(mktemp sh-test.XXXXXX) || exit -MAIL=$mailfile ktrace -i -f "$T" sh -c "[ -s $goodfile ]" 2>/dev/null +MAIL=$mailfile ktrace -i -f "$T" ${SH} -c "[ -s $goodfile ]" 2>/dev/null if ! grep -q $goodfile "$T"; then # ktrace problem rc=0 Modified: stable/8/tools/regression/bin/sh/parameters/mail2.0 ============================================================================== --- stable/8/tools/regression/bin/sh/parameters/mail2.0 Tue Oct 19 23:04:23 2010 (r214087) +++ stable/8/tools/regression/bin/sh/parameters/mail2.0 Tue Oct 19 23:57:34 2010 (r214088) @@ -4,7 +4,7 @@ goodfile=/var/empty/sh-test-goodfile mailfile=/var/empty/sh-test-mailfile T=$(mktemp sh-test.XXXXXX) || exit -ENV=$goodfile MAIL=$mailfile ktrace -i -f "$T" sh +m -i /dev/null 2>&1 +ENV=$goodfile MAIL=$mailfile ktrace -i -f "$T" ${SH} +m -i /dev/null 2>&1 if ! grep -q $goodfile "$T"; then # ktrace problem rc=0 Modified: stable/8/tools/regression/bin/sh/parameters/pwd1.0 ============================================================================== --- stable/8/tools/regression/bin/sh/parameters/pwd1.0 Tue Oct 19 23:04:23 2010 (r214087) +++ stable/8/tools/regression/bin/sh/parameters/pwd1.0 Tue Oct 19 23:57:34 2010 (r214088) @@ -3,9 +3,9 @@ cd / || exit 3 failures=0 -[ "$(PWD=foo sh -c 'pwd')" = / ] || : $((failures += 1)) -[ "$(PWD=/var/empty sh -c 'pwd')" = / ] || : $((failures += 1)) -[ "$(PWD=/var/empty/foo sh -c 'pwd')" = / ] || : $((failures += 1)) -[ "$(PWD=/bin/ls sh -c 'pwd')" = / ] || : $((failures += 1)) +[ "$(PWD=foo ${SH} -c 'pwd')" = / ] || : $((failures += 1)) +[ "$(PWD=/var/empty ${SH} -c 'pwd')" = / ] || : $((failures += 1)) +[ "$(PWD=/var/empty/foo ${SH} -c 'pwd')" = / ] || : $((failures += 1)) +[ "$(PWD=/bin/ls ${SH} -c 'pwd')" = / ] || : $((failures += 1)) exit $((failures != 0)) Modified: stable/8/tools/regression/bin/sh/regress.sh ============================================================================== --- stable/8/tools/regression/bin/sh/regress.sh Tue Oct 19 23:04:23 2010 (r214087) +++ stable/8/tools/regression/bin/sh/regress.sh Tue Oct 19 23:57:34 2010 (r214088) @@ -1,12 +1,18 @@ # $FreeBSD$ +if [ -z "${SH}" ]; then + echo '${SH} is not set, please correct and re-run.' + exit 1 +fi +export SH=${SH} + COUNTER=1 do_test() { local c c=${COUNTER} COUNTER=$((COUNTER+1)) - sh $1 > tmp.stdout 2> tmp.stderr + ${SH} $1 > tmp.stdout 2> tmp.stderr if [ $? -ne $2 ]; then echo "not ok ${c} - ${1} # wrong exit status" rm tmp.stdout tmp.stderr Modified: stable/8/tools/regression/bin/sh/regress.t ============================================================================== --- stable/8/tools/regression/bin/sh/regress.t Tue Oct 19 23:04:23 2010 (r214087) +++ stable/8/tools/regression/bin/sh/regress.t Tue Oct 19 23:57:34 2010 (r214088) @@ -1,6 +1,12 @@ #!/bin/sh # $FreeBSD$ +if [ -z "${SH}" ]; then + echo '${SH} is not set, please correct and re-run.' + exit 1 +fi +export SH=${SH} + cd `dirname $0` -sh regress.sh +${SH} regress.sh From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 00:19:26 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 15654106564A; Wed, 20 Oct 2010 00:19:26 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 03B468FC15; Wed, 20 Oct 2010 00:19:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9K0JPQr031710; Wed, 20 Oct 2010 00:19:25 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9K0JPRi031708; Wed, 20 Oct 2010 00:19:25 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201010200019.o9K0JPRi031708@svn.freebsd.org> From: Pyun YongHyeon Date: Wed, 20 Oct 2010 00:19:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214089 - head/sys/dev/sis X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 00:19:26 -0000 Author: yongari Date: Wed Oct 20 00:19:25 2010 New Revision: 214089 URL: http://svn.freebsd.org/changeset/base/214089 Log: Correct handling of shared interrupt in sis_intr(). r212116 incorrectly released a drver lock for shared interrupt case such that it caused panic. While I'm here check whether driver is still running before serving TX/RX handler. Reported by: Jerahmy Pocott < QUAKENET1 <> optusnet dot com dot au > Tested by: Jerahmy Pocott < QUAKENET1 <> optusnet dot com dot au > MFC after: 3 days Modified: head/sys/dev/sis/if_sis.c Modified: head/sys/dev/sis/if_sis.c ============================================================================== --- head/sys/dev/sis/if_sis.c Tue Oct 19 23:57:34 2010 (r214088) +++ head/sys/dev/sis/if_sis.c Wed Oct 20 00:19:25 2010 (r214089) @@ -1795,12 +1795,15 @@ sis_intr(void *arg) if ((status & SIS_INTRS) == 0) { /* Not ours. */ SIS_UNLOCK(sc); + return; } /* Disable interrupts. */ CSR_WRITE_4(sc, SIS_IER, 0); for (;(status & SIS_INTRS) != 0;) { + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + break; if (status & (SIS_ISR_TX_DESC_OK | SIS_ISR_TX_ERR | SIS_ISR_TX_OK | SIS_ISR_TX_IDLE) ) @@ -1825,11 +1828,13 @@ sis_intr(void *arg) status = CSR_READ_4(sc, SIS_ISR); } - /* Re-enable interrupts. */ - CSR_WRITE_4(sc, SIS_IER, 1); + if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + /* Re-enable interrupts. */ + CSR_WRITE_4(sc, SIS_IER, 1); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) - sis_startl(ifp); + if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + sis_startl(ifp); + } SIS_UNLOCK(sc); } From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 00:24:30 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9B8DD1065670; Wed, 20 Oct 2010 00:24:30 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 88F988FC14; Wed, 20 Oct 2010 00:24:30 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9K0OU7l031872; Wed, 20 Oct 2010 00:24:30 GMT (envelope-from obrien@svn.freebsd.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9K0OUp5031870; Wed, 20 Oct 2010 00:24:30 GMT (envelope-from obrien@svn.freebsd.org) Message-Id: <201010200024.o9K0OUp5031870@svn.freebsd.org> From: "David E. O'Brien" Date: Wed, 20 Oct 2010 00:24:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214090 - stable/8/tools/regression/bin/sh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 00:24:30 -0000 Author: obrien Date: Wed Oct 20 00:24:30 2010 New Revision: 214090 URL: http://svn.freebsd.org/changeset/base/214090 Log: MFC: r213903: default to 'sh' from PATH if 'SH' env is not set. Modified: stable/8/tools/regression/bin/sh/regress.t Directory Properties: stable/8/tools/regression/bin/sh/ (props changed) Modified: stable/8/tools/regression/bin/sh/regress.t ============================================================================== --- stable/8/tools/regression/bin/sh/regress.t Wed Oct 20 00:19:25 2010 (r214089) +++ stable/8/tools/regression/bin/sh/regress.t Wed Oct 20 00:24:30 2010 (r214090) @@ -1,11 +1,7 @@ #!/bin/sh # $FreeBSD$ -if [ -z "${SH}" ]; then - echo '${SH} is not set, please correct and re-run.' - exit 1 -fi -export SH=${SH} +export SH="${SH:-sh}" cd `dirname $0` From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 00:41:38 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9F7A8106566B; Wed, 20 Oct 2010 00:41:38 +0000 (UTC) (envelope-from davidxu@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8D88B8FC16; Wed, 20 Oct 2010 00:41:38 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9K0fccE032227; Wed, 20 Oct 2010 00:41:38 GMT (envelope-from davidxu@svn.freebsd.org) Received: (from davidxu@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9K0fcJT032225; Wed, 20 Oct 2010 00:41:38 GMT (envelope-from davidxu@svn.freebsd.org) Message-Id: <201010200041.o9K0fcJT032225@svn.freebsd.org> From: David Xu Date: Wed, 20 Oct 2010 00:41:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214091 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 00:41:38 -0000 Author: davidxu Date: Wed Oct 20 00:41:38 2010 New Revision: 214091 URL: http://svn.freebsd.org/changeset/base/214091 Log: - Don't include sx.h, it is not needed. - Check NULL pointer, move timeout calculation code outside of process lock. Modified: head/sys/kern/kern_thr.c Modified: head/sys/kern/kern_thr.c ============================================================================== --- head/sys/kern/kern_thr.c Wed Oct 20 00:24:30 2010 (r214090) +++ head/sys/kern/kern_thr.c Wed Oct 20 00:41:38 2010 (r214091) @@ -45,7 +45,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include @@ -431,40 +430,40 @@ thr_suspend(struct thread *td, struct th int kern_thr_suspend(struct thread *td, struct timespec *tsp) { + struct proc *p = td->td_proc; struct timeval tv; int error = 0; int timo = 0; - if (tsp != NULL) { - if (tsp->tv_nsec < 0 || tsp->tv_nsec > 1000000000) - return (EINVAL); - } - if (td->td_pflags & TDP_WAKEUP) { td->td_pflags &= ~TDP_WAKEUP; return (0); } - PROC_LOCK(td->td_proc); - if ((td->td_flags & TDF_THRWAKEUP) == 0) { + if (tsp != NULL) { + if (tsp->tv_nsec < 0 || tsp->tv_nsec > 1000000000) + return (EINVAL); if (tsp->tv_sec == 0 && tsp->tv_nsec == 0) error = EWOULDBLOCK; else { TIMESPEC_TO_TIMEVAL(&tv, tsp); timo = tvtohz(&tv); - error = msleep((void *)td, &td->td_proc->p_mtx, - PCATCH, "lthr", timo); } } + PROC_LOCK(p); + if (error == 0 && (td->td_flags & TDF_THRWAKEUP) == 0) + error = msleep((void *)td, &p->p_mtx, + PCATCH, "lthr", timo); + if (td->td_flags & TDF_THRWAKEUP) { thread_lock(td); td->td_flags &= ~TDF_THRWAKEUP; thread_unlock(td); - PROC_UNLOCK(td->td_proc); + PROC_UNLOCK(p); return (0); } - PROC_UNLOCK(td->td_proc); + PROC_UNLOCK(p); if (error == EWOULDBLOCK) error = ETIMEDOUT; else if (error == ERESTART) { From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 01:22:05 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 307321065670; Wed, 20 Oct 2010 01:22:05 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 03E378FC08; Wed, 20 Oct 2010 01:22:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9K1M4Qp033096; Wed, 20 Oct 2010 01:22:04 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9K1M4jj033093; Wed, 20 Oct 2010 01:22:04 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <201010200122.o9K1M4jj033093@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Wed, 20 Oct 2010 01:22:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214092 - stable/8/sys/net X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 01:22:05 -0000 Author: bz Date: Wed Oct 20 01:22:04 2010 New Revision: 214092 URL: http://svn.freebsd.org/changeset/base/214092 Log: MFC r213929: lltable_drain() has never been used so far, thus #if 0 it for now. While touching it add the missing locking to the now disabled code for the time when we'll resurrect it. Modified: stable/8/sys/net/if_llatbl.c stable/8/sys/net/if_llatbl.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/net/if_llatbl.c ============================================================================== --- stable/8/sys/net/if_llatbl.c Wed Oct 20 00:41:38 2010 (r214091) +++ stable/8/sys/net/if_llatbl.c Wed Oct 20 01:22:04 2010 (r214092) @@ -183,6 +183,7 @@ lltable_free(struct lltable *llt) free(llt, M_LLTABLE); } +#if 0 void lltable_drain(int af) { @@ -197,15 +198,18 @@ lltable_drain(int af) for (i=0; i < LLTBL_HASHTBL_SIZE; i++) { LIST_FOREACH(lle, &llt->lle_head[i], lle_next) { + LLE_WLOCK(lle); if (lle->la_hold) { m_freem(lle->la_hold); lle->la_hold = NULL; } + LLE_WUNLOCK(lle); } } } LLTABLE_RUNLOCK(); } +#endif void lltable_prefix_free(int af, struct sockaddr *prefix, struct sockaddr *mask) Modified: stable/8/sys/net/if_llatbl.h ============================================================================== --- stable/8/sys/net/if_llatbl.h Wed Oct 20 00:41:38 2010 (r214091) +++ stable/8/sys/net/if_llatbl.h Wed Oct 20 01:22:04 2010 (r214092) @@ -186,7 +186,9 @@ struct lltable *lltable_init(struct ifne void lltable_free(struct lltable *); void lltable_prefix_free(int, struct sockaddr *, struct sockaddr *); +#if 0 void lltable_drain(int); +#endif int lltable_sysctl_dumparp(int, struct sysctl_req *); void llentry_free(struct llentry *); From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 02:34:02 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 709F0106566B; Wed, 20 Oct 2010 02:34:02 +0000 (UTC) (envelope-from davidxu@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5E3B38FC0A; Wed, 20 Oct 2010 02:34:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9K2Y2wU034907; Wed, 20 Oct 2010 02:34:02 GMT (envelope-from davidxu@svn.freebsd.org) Received: (from davidxu@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9K2Y2uF034900; Wed, 20 Oct 2010 02:34:02 GMT (envelope-from davidxu@svn.freebsd.org) Message-Id: <201010200234.o9K2Y2uF034900@svn.freebsd.org> From: David Xu Date: Wed, 20 Oct 2010 02:34:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214093 - in head/lib: libc/include libthr libthr/thread X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 02:34:02 -0000 Author: davidxu Date: Wed Oct 20 02:34:02 2010 New Revision: 214093 URL: http://svn.freebsd.org/changeset/base/214093 Log: Revert revision 214007, I realized that MySQL wants to resolve a silly rwlock deadlock problem, the deadlock is caused by writer waiters, if a thread has already locked a reader lock, and wants to acquire another reader lock, it will be blocked by writer waiters, but we had already fixed it years ago. Modified: head/lib/libc/include/namespace.h head/lib/libc/include/un-namespace.h head/lib/libthr/pthread.map head/lib/libthr/thread/thr_private.h head/lib/libthr/thread/thr_rwlock.c head/lib/libthr/thread/thr_rwlockattr.c Modified: head/lib/libc/include/namespace.h ============================================================================== --- head/lib/libc/include/namespace.h Wed Oct 20 01:22:04 2010 (r214092) +++ head/lib/libc/include/namespace.h Wed Oct 20 02:34:02 2010 (r214093) @@ -177,10 +177,8 @@ #define pthread_rwlock_unlock _pthread_rwlock_unlock #define pthread_rwlock_wrlock _pthread_rwlock_wrlock #define pthread_rwlockattr_destroy _pthread_rwlockattr_destroy -#define pthread_rwlockattr_getkind_np _pthread_rwlockattr_getkind_np #define pthread_rwlockattr_getpshared _pthread_rwlockattr_getpshared #define pthread_rwlockattr_init _pthread_rwlockattr_init -#define pthread_rwlockattr_setkind_np _pthread_rwlockattr_setkind_np #define pthread_rwlockattr_setpshared _pthread_rwlockattr_setpshared #define pthread_self _pthread_self #define pthread_set_name_np _pthread_set_name_np Modified: head/lib/libc/include/un-namespace.h ============================================================================== --- head/lib/libc/include/un-namespace.h Wed Oct 20 01:22:04 2010 (r214092) +++ head/lib/libc/include/un-namespace.h Wed Oct 20 02:34:02 2010 (r214093) @@ -158,10 +158,8 @@ #undef pthread_rwlock_unlock #undef pthread_rwlock_wrlock #undef pthread_rwlockattr_destroy -#undef pthread_rwlockattr_getkind_np #undef pthread_rwlockattr_getpshared #undef pthread_rwlockattr_init -#undef pthread_rwlockattr_setkind_np #undef pthread_rwlockattr_setpshared #undef pthread_self #undef pthread_set_name_np Modified: head/lib/libthr/pthread.map ============================================================================== --- head/lib/libthr/pthread.map Wed Oct 20 01:22:04 2010 (r214092) +++ head/lib/libthr/pthread.map Wed Oct 20 02:34:02 2010 (r214093) @@ -318,9 +318,7 @@ FBSDprivate_1.0 { _pthread_rwlock_wrlock; _pthread_rwlockattr_destroy; _pthread_rwlockattr_getpshared; - _pthread_rwlockattr_getkind_np; _pthread_rwlockattr_init; - _pthread_rwlockattr_setkind_np; _pthread_rwlockattr_setpshared; _pthread_self; _pthread_set_name_np; @@ -403,8 +401,6 @@ FBSD_1.1 { FBSD_1.2 { openat; - pthread_rwlockattr_getkind_np; - pthread_rwlockattr_setkind_np; setcontext; swapcontext; }; Modified: head/lib/libthr/thread/thr_private.h ============================================================================== --- head/lib/libthr/thread/thr_private.h Wed Oct 20 01:22:04 2010 (r214092) +++ head/lib/libthr/thread/thr_private.h Wed Oct 20 02:34:02 2010 (r214093) @@ -285,14 +285,11 @@ struct pthread_prio { struct pthread_rwlockattr { int pshared; - int kind; }; struct pthread_rwlock { struct urwlock lock; struct pthread *owner; - int recurse; - int kind; }; /* Modified: head/lib/libthr/thread/thr_rwlock.c ============================================================================== --- head/lib/libthr/thread/thr_rwlock.c Wed Oct 20 01:22:04 2010 (r214092) +++ head/lib/libthr/thread/thr_rwlock.c Wed Oct 20 02:34:02 2010 (r214093) @@ -63,19 +63,13 @@ __weak_reference(_pthread_rwlock_timedwr */ static int -rwlock_init(pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr) +rwlock_init(pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr __unused) { pthread_rwlock_t prwlock; prwlock = (pthread_rwlock_t)calloc(1, sizeof(struct pthread_rwlock)); if (prwlock == NULL) return (ENOMEM); - if (attr != NULL) - prwlock->kind = (*attr)->kind; - else - prwlock->kind = PTHREAD_RWLOCK_DEFAULT_NP; - if (prwlock->kind == PTHREAD_RWLOCK_PREFER_READER_NP) - prwlock->lock.rw_flags |= URWLOCK_PREFER_READER; *rwlock = prwlock; return (0); } @@ -118,7 +112,7 @@ init_static(struct pthread *thread, pthr } int -_pthread_rwlock_init(pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr) +_pthread_rwlock_init (pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr) { *rwlock = NULL; return (rwlock_init(rwlock, attr)); @@ -266,14 +260,6 @@ rwlock_wrlock_common (pthread_rwlock_t * CHECK_AND_INIT_RWLOCK - if (__predict_false(prwlock->owner == curthread)) { - if (__predict_false( - prwlock->kind == PTHREAD_RWLOCK_PREFER_WRITER_NP)) { - prwlock->recurse++; - return (0); - } - } - /* * POSIX said the validity of the abstimeout parameter need * not be checked if the lock can be immediately acquired. @@ -349,13 +335,6 @@ _pthread_rwlock_unlock (pthread_rwlock_t if (state & URWLOCK_WRITE_OWNER) { if (__predict_false(prwlock->owner != curthread)) return (EPERM); - if (__predict_false( - prwlock->kind == PTHREAD_RWLOCK_PREFER_WRITER_NP)) { - if (prwlock->recurse > 0) { - prwlock->recurse--; - return (0); - } - } prwlock->owner = NULL; } Modified: head/lib/libthr/thread/thr_rwlockattr.c ============================================================================== --- head/lib/libthr/thread/thr_rwlockattr.c Wed Oct 20 01:22:04 2010 (r214092) +++ head/lib/libthr/thread/thr_rwlockattr.c Wed Oct 20 02:34:02 2010 (r214093) @@ -36,10 +36,8 @@ __weak_reference(_pthread_rwlockattr_destroy, pthread_rwlockattr_destroy); __weak_reference(_pthread_rwlockattr_getpshared, pthread_rwlockattr_getpshared); -__weak_reference(_pthread_rwlockattr_getkind_np, pthread_rwlockattr_getkind_np); __weak_reference(_pthread_rwlockattr_init, pthread_rwlockattr_init); __weak_reference(_pthread_rwlockattr_setpshared, pthread_rwlockattr_setpshared); -__weak_reference(_pthread_rwlockattr_setkind_np, pthread_rwlockattr_setkind_np); int _pthread_rwlockattr_destroy(pthread_rwlockattr_t *rwlockattr) @@ -83,7 +81,6 @@ _pthread_rwlockattr_init(pthread_rwlocka return(ENOMEM); prwlockattr->pshared = PTHREAD_PROCESS_PRIVATE; - prwlockattr->kind = PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP; *rwlockattr = prwlockattr; return(0); @@ -100,22 +97,3 @@ _pthread_rwlockattr_setpshared(pthread_r return(0); } - -int -_pthread_rwlockattr_setkind_np(pthread_rwlockattr_t *attr, int kind) -{ - if (kind != PTHREAD_RWLOCK_PREFER_READER_NP && - kind != PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP && - kind != PTHREAD_RWLOCK_PREFER_WRITER_NP) { - return (EINVAL); - } - (*attr)->kind = kind; - return (0); -} - -int -_pthread_rwlockattr_getkind_np(const pthread_rwlockattr_t *attr, int *kind) -{ - *kind = (*attr)->kind; - return (0); -} From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 04:53:04 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 04B9F106566C; Wed, 20 Oct 2010 04:53:04 +0000 (UTC) (envelope-from maxim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E765D8FC16; Wed, 20 Oct 2010 04:53:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9K4r3SU037826; Wed, 20 Oct 2010 04:53:03 GMT (envelope-from maxim@svn.freebsd.org) Received: (from maxim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9K4r3KB037824; Wed, 20 Oct 2010 04:53:03 GMT (envelope-from maxim@svn.freebsd.org) Message-Id: <201010200453.o9K4r3KB037824@svn.freebsd.org> From: Maxim Konovalov Date: Wed, 20 Oct 2010 04:53:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214094 - head/share/man/man5 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 04:53:04 -0000 Author: maxim Date: Wed Oct 20 04:53:03 2010 New Revision: 214094 URL: http://svn.freebsd.org/changeset/base/214094 Log: o Put missed w/space back. Submitted by: Garrett Cooper MFC after: 3 days Modified: head/share/man/man5/device.hints.5 Modified: head/share/man/man5/device.hints.5 ============================================================================== --- head/share/man/man5/device.hints.5 Wed Oct 20 02:34:02 2010 (r214093) +++ head/share/man/man5/device.hints.5 Wed Oct 20 04:53:03 2010 (r214094) @@ -161,7 +161,7 @@ hint.acpi.0.disabled="1" .Sh SEE ALSO .Xr kenv 1 , .Xr loader.conf 5 , -.Xr loader 8, +.Xr loader 8 , .Xr resource_int_value 9 . .Sh HISTORY The From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 05:17:24 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 49E991065670; Wed, 20 Oct 2010 05:17:24 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2D1538FC0C; Wed, 20 Oct 2010 05:17:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9K5HONJ038352; Wed, 20 Oct 2010 05:17:24 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9K5HOa4038347; Wed, 20 Oct 2010 05:17:24 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201010200517.o9K5HOa4038347@svn.freebsd.org> From: Andriy Gapon Date: Wed, 20 Oct 2010 05:17:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214095 - in head: share/man/man9 sys/vm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 05:17:24 -0000 Author: avg Date: Wed Oct 20 05:17:23 2010 New Revision: 214095 URL: http://svn.freebsd.org/changeset/base/214095 Log: PG_BUSY -> VPO_BUSY, PG_WANTED -> VPO_WANTED in manual pages and comments Reviewed by: alc MFC after: 4 days Modified: head/share/man/man9/vm_page_io.9 head/share/man/man9/vm_page_sleep_busy.9 head/share/man/man9/vm_page_wakeup.9 head/sys/vm/swap_pager.c Modified: head/share/man/man9/vm_page_io.9 ============================================================================== --- head/share/man/man9/vm_page_io.9 Wed Oct 20 04:53:03 2010 (r214094) +++ head/share/man/man9/vm_page_io.9 Wed Oct 20 05:17:23 2010 (r214095) @@ -52,9 +52,9 @@ function lowers the busy count on the pa count is zero, a .Xr wakeup 9 will be issued if the page has been marked -.Dv PG_WANTED . +.Dv VPO_WANTED . A page is typically marked -.Dv PG_WANTED +.Dv VPO_WANTED by a thread to register its interest in the page to either complete I/O or becoming available for general use. .Sh AUTHORS Modified: head/share/man/man9/vm_page_sleep_busy.9 ============================================================================== --- head/share/man/man9/vm_page_sleep_busy.9 Wed Oct 20 04:53:03 2010 (r214094) +++ head/share/man/man9/vm_page_sleep_busy.9 Wed Oct 20 05:17:23 2010 (r214095) @@ -42,7 +42,7 @@ The .Fn vm_page_sleep_busy function waits until the -.Dv PG_BUSY +.Dv VPO_BUSY flag is cleared. If .Fa also_m_busy Modified: head/share/man/man9/vm_page_wakeup.9 ============================================================================== --- head/share/man/man9/vm_page_wakeup.9 Wed Oct 20 04:53:03 2010 (r214094) +++ head/share/man/man9/vm_page_wakeup.9 Wed Oct 20 05:17:23 2010 (r214095) @@ -50,20 +50,20 @@ of a page. .Pp .Fn vm_page_busy sets the -.Dv PG_BUSY +.Dv VPO_BUSY flag in the page. .Pp .Fn vm_page_flash checks to see if there is anybody waiting on the page -.Dv ( PG_WANTED +.Dv ( VPO_WANTED will be set), and if so, clears the -.Dv PG_WANTED +.Dv VPO_WANTED flag and notifies whoever is waiting via .Fn wakeup . .Pp .Fn vm_page_wakeup clears the -.Dv PG_BUSY +.Dv VPO_BUSY flag on the page, and calls .Fn vm_page_flash in case somebody has been waiting for it. Modified: head/sys/vm/swap_pager.c ============================================================================== --- head/sys/vm/swap_pager.c Wed Oct 20 04:53:03 2010 (r214094) +++ head/sys/vm/swap_pager.c Wed Oct 20 05:17:23 2010 (r214095) @@ -1460,8 +1460,8 @@ swap_pager_putpages(vm_object_t object, * Completion routine for asynchronous reads and writes from/to swap. * Also called manually by synchronous code to finish up a bp. * - * For READ operations, the pages are PG_BUSY'd. For WRITE operations, - * the pages are vm_page_t->busy'd. For READ operations, we PG_BUSY + * For READ operations, the pages are VPO_BUSY'd. For WRITE operations, + * the pages are vm_page_t->busy'd. For READ operations, we VPO_BUSY * unbusy all pages except the 'main' request page. For WRITE * operations, we vm_page_t->busy'd unbusy all pages ( we can do this * because we marked them all VM_PAGER_PEND on return from putpages ). From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 05:57:55 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 66131106566B; Wed, 20 Oct 2010 05:57:55 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3A2268FC0A; Wed, 20 Oct 2010 05:57:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9K5vt63039135; Wed, 20 Oct 2010 05:57:55 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9K5vtPw039133; Wed, 20 Oct 2010 05:57:55 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201010200557.o9K5vtPw039133@svn.freebsd.org> From: Andriy Gapon Date: Wed, 20 Oct 2010 05:57:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214096 - head/share/man/man9 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 05:57:55 -0000 Author: avg Date: Wed Oct 20 05:57:54 2010 New Revision: 214096 URL: http://svn.freebsd.org/changeset/base/214096 Log: VOP_GETPAGES.9: clarify and correct description of parameters and requirements In cooperation with alc and kib, who provided valuable insights and suggestions. Reviewed by: alc, kib (earlier version) MFC after: 4 days Modified: head/share/man/man9/VOP_GETPAGES.9 Modified: head/share/man/man9/VOP_GETPAGES.9 ============================================================================== --- head/share/man/man9/VOP_GETPAGES.9 Wed Oct 20 05:17:23 2010 (r214095) +++ head/share/man/man9/VOP_GETPAGES.9 Wed Oct 20 05:57:54 2010 (r214096) @@ -41,9 +41,9 @@ .In sys/vnode.h .In vm/vm.h .Ft int -.Fn VOP_GETPAGES "struct vnode *vp" "vm_page_t *m" "int count" "int reqpage" "vm_ooffset_t offset" +.Fn VOP_GETPAGES "struct vnode *vp" "vm_page_t *ma" "int count" "int reqpage" "vm_ooffset_t offset" .Ft int -.Fn VOP_PUTPAGES "struct vnode *vp" "vm_page_t *m" "int count" "int sync" "int *rtvals" "vm_ooffset_t offset" +.Fn VOP_PUTPAGES "struct vnode *vp" "vm_page_t *ma" "int count" "int sync" "int *rtvals" "vm_ooffset_t offset" .Sh DESCRIPTION The .Fn VOP_GETPAGES @@ -66,11 +66,11 @@ The arguments are: .Bl -tag -width reqpage .It Fa vp The file to access. -.It Fa m -Pointer to the first element of an array of contiguous pages representing a +.It Fa ma +Pointer to the first element of an array of pages representing a contiguous region of the file to be read or written. .It Fa count -The number of pages in the array. +The number of bytes that should be read into the pages of the array. .It Fa sync .Dv VM_PAGER_PUT_SYNC if the write should be synchronous. @@ -123,22 +123,27 @@ The page was not handled by this request The .Fn VOP_GETPAGES method is expected to release any pages in -.Fa m +.Fa ma that it does not successfully handle, by calling .Xr vm_page_free 9 . When it succeeds, .Fn VOP_GETPAGES -must set the valid bits appropriately, clear the dirty bit -(using -.Xr vm_page_undirty 9 ) , -either activate the page (if its wanted bit is set) +must set the valid bits appropriately. +.Fn VOP_GETPAGES +must keep +.Fa reqpage +busy. +It must unbusy all other successfully handled pages and put them +on appropriate page queue(s). +For example, +.Fn VOP_GETPAGES +may either activate a page (if its wanted bit is set) or deactivate it (otherwise), and finally call .Xr vm_page_wakeup 9 -to arouse any threads currently waiting for the page to be faulted in, -for each page read. +to arouse any threads currently waiting for the page to be faulted in. .Sh RETURN VALUES If it successfully reads -.Fa m[reqpage] , +.Fa ma[reqpage] , .Fn VOP_GETPAGES returns .Dv VM_PAGER_OK ; From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 06:29:11 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C5DB11065672; Wed, 20 Oct 2010 06:29:11 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B3C218FC08; Wed, 20 Oct 2010 06:29:11 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9K6TBs4039851; Wed, 20 Oct 2010 06:29:11 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9K6TB1m039846; Wed, 20 Oct 2010 06:29:11 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201010200629.o9K6TB1m039846@svn.freebsd.org> From: Andriy Gapon Date: Wed, 20 Oct 2010 06:29:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214097 - in head: . share/man/man9 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 06:29:12 -0000 Author: avg Date: Wed Oct 20 06:29:11 2010 New Revision: 214097 URL: http://svn.freebsd.org/changeset/base/214097 Log: catch up manual pages with rename of vm_page_sleep_busy to vm_page_sleep_if_busy Suggested by: alc MFC after: 4 days Added: head/share/man/man9/vm_page_sleep_if_busy.9 - copied, changed from r214095, head/share/man/man9/vm_page_sleep_busy.9 Deleted: head/share/man/man9/vm_page_sleep_busy.9 Modified: head/ObsoleteFiles.inc head/share/man/man9/Makefile head/share/man/man9/vm_page_wakeup.9 Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Wed Oct 20 05:57:54 2010 (r214096) +++ head/ObsoleteFiles.inc Wed Oct 20 06:29:11 2010 (r214097) @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20101020: catch up with vm_page_sleep_if_busy rename +OLD_FILES+=usr/share/man/man9/vm_page_sleep_busy.9.gz # 20101011: removed subblock.h from liblzma OLD_FILES+=usr/include/lzma/subblock.h # 20101002: removed manpath.config Modified: head/share/man/man9/Makefile ============================================================================== --- head/share/man/man9/Makefile Wed Oct 20 05:57:54 2010 (r214096) +++ head/share/man/man9/Makefile Wed Oct 20 06:29:11 2010 (r214097) @@ -324,7 +324,7 @@ MAN= accept_filter.9 \ vm_page_lookup.9 \ vm_page_protect.9 \ vm_page_rename.9 \ - vm_page_sleep_busy.9 \ + vm_page_sleep_if_busy.9 \ vm_page_wakeup.9 \ vm_page_wire.9 \ vm_page_zero_fill.9 \ Copied and modified: head/share/man/man9/vm_page_sleep_if_busy.9 (from r214095, head/share/man/man9/vm_page_sleep_busy.9) ============================================================================== --- head/share/man/man9/vm_page_sleep_busy.9 Wed Oct 20 05:17:23 2010 (r214095, copy source) +++ head/share/man/man9/vm_page_sleep_if_busy.9 Wed Oct 20 06:29:11 2010 (r214097) @@ -27,20 +27,20 @@ .\" $FreeBSD$ .\" .Dd July 13, 2001 -.Dt VM_PAGE_SLEEP_BUSY 9 +.Dt VM_PAGE_SLEEP_IF_BUSY 9 .Os .Sh NAME -.Nm vm_page_sleep_busy +.Nm vm_page_sleep_if_busy .Nd "wait for a busy page to become unbusy" .Sh SYNOPSIS .In sys/param.h .In vm/vm.h .In vm/vm_page.h .Ft int -.Fn vm_page_sleep_busy "vm_page_t m" "int also_m_busy" "const char *wmesg" +.Fn vm_page_sleep_if_busy "vm_page_t m" "int also_m_busy" "const char *wmesg" .Sh DESCRIPTION The -.Fn vm_page_sleep_busy +.Fn vm_page_sleep_if_busy function waits until the .Dv VPO_BUSY flag is cleared. @@ -51,7 +51,7 @@ is non-zero, it also waits for to become zero. .Sh RETURN VALUES If -.Fn vm_page_sleep_busy +.Fn vm_page_sleep_if_busy finds the page busy it returns .Dv TRUE . If not, it returns @@ -59,7 +59,7 @@ If not, it returns Returning .Dv TRUE does not necessary mean that -.Fn vm_page_sleep_busy +.Fn vm_page_sleep_if_busy slept, but only that .Fn splvm was called. Modified: head/share/man/man9/vm_page_wakeup.9 ============================================================================== --- head/share/man/man9/vm_page_wakeup.9 Wed Oct 20 05:57:54 2010 (r214096) +++ head/share/man/man9/vm_page_wakeup.9 Wed Oct 20 06:29:11 2010 (r214097) @@ -68,7 +68,7 @@ flag on the page, and calls .Fn vm_page_flash in case somebody has been waiting for it. .Sh SEE ALSO -.Xr vm_page_sleep_busy 9 , +.Xr vm_page_sleep_if_busy 9 , .Xr wakeup 9 .Sh AUTHORS This manual page was written by From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 06:38:54 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9B61D106566B; Wed, 20 Oct 2010 06:38:54 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6F3B08FC0A; Wed, 20 Oct 2010 06:38:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9K6csXb040071; Wed, 20 Oct 2010 06:38:54 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9K6csOM040070; Wed, 20 Oct 2010 06:38:54 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201010200638.o9K6csOM040070@svn.freebsd.org> From: Dimitry Andric Date: Wed, 20 Oct 2010 06:38:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214098 - vendor/binutils/binutils-2_17-branch-20070807-000013 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 06:38:54 -0000 Author: dim Date: Wed Oct 20 06:38:54 2010 New Revision: 214098 URL: http://svn.freebsd.org/changeset/base/214098 Log: Tag the binutils-2_17-branch from the sourceware CVS repository, exactly as it was on Tue, 7 Aug 2007 00:00:13 +0000. Corresponds to git commit b458c361f01f7a257f897d0961d0a379ee999aaa. Added: vendor/binutils/binutils-2_17-branch-20070807-000013/ - copied from r214097, vendor/binutils/dist/ From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 07:02:03 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 93B8C1065674; Wed, 20 Oct 2010 07:02:03 +0000 (UTC) (envelope-from onemda@gmail.com) Received: from mail-ww0-f50.google.com (mail-ww0-f50.google.com [74.125.82.50]) by mx1.freebsd.org (Postfix) with ESMTP id C4EF88FC13; Wed, 20 Oct 2010 07:02:02 +0000 (UTC) Received: by wwb13 with SMTP id 13so2472023wwb.31 for ; Wed, 20 Oct 2010 00:02:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=J+0lDj/r1wYto3kLIB0WyC1l9G+3hLsYE4KaJhdWOKQ=; b=GM+2Qg7rpw6EnWtoAOfEsydb5E1g6nwrbi47FJN+7Kk6j0t+hIN/Xro/COoo+imqKQ d6Tnq56+NecClV4uECpsk0boCA3yryommmtOrVG1hGaQwt7tchhrQ4g6kWJN43ponVfI DCL8MInlPzK1mbss+v483NmjzjyHZ/OTHfeiM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=FVFqVYPUrG/0tlaJnBDn9bC1sK1mqkcCLm9o0ZFKghFOIxyCBxFRTBMRUECOFMg49n iupAEdi9B6Z7cVWE5wzonJHqVlyTvcI+jL3JAJ76C2IzfeL2cEbIIX8MI4eZpeks7gSL TdfDyEmhhr4nTxxU5hAakp+R85ZSAV7Z3Rt0Y= MIME-Version: 1.0 Received: by 10.216.16.85 with SMTP id g63mr7648469weg.114.1287558121482; Wed, 20 Oct 2010 00:02:01 -0700 (PDT) Received: by 10.216.183.146 with HTTP; Wed, 20 Oct 2010 00:02:01 -0700 (PDT) In-Reply-To: <20101019220455.D46881@maildrop.int.zabbadoz.net> References: <201010191911.o9JJBaQe024210@svn.freebsd.org> <20101019220455.D46881@maildrop.int.zabbadoz.net> Date: Wed, 20 Oct 2010 09:02:01 +0200 Message-ID: From: Paul B Mahol To: "Bjoern A. Zeeb" Content-Type: text/plain; charset=ISO-8859-1 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Bernhard Schmidt Subject: Re: svn commit: r214070 - head/sys/dev/if_ndis X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 07:02:03 -0000 On 10/20/10, Bjoern A. Zeeb wrote: > On Tue, 19 Oct 2010, Bernhard Schmidt wrote: > >> Author: bschmidt >> Date: Tue Oct 19 19:11:36 2010 >> New Revision: 214070 >> URL: http://svn.freebsd.org/changeset/base/214070 >> >> Log: >> There is no reason to call rt_ifmsg(), remove it. > > While it's indeed very uncommon to have that in a driver, I don't know > how much black magic if_ndis(4) is. Have you verified that you still > get the events from elsewhere on the routing socket when > loading/unloading if_ndif.ko? ^if_ndis.ko If you want to ask if we got notified if wlan0 is put down/up or if we disconnected/associated and etc. then answer is yes and have nothing to do with unloading if_ndis but with miniport driver (generated via ndisgen). I unload/load ndis/if_ndis/miniport combo multiple times with/without loadi/unload of other drivers and did not encounter any regression when removing rt_ifmsg(). One more thing, currently when interface wlanX is bring up/down we will send events to ndisX instead, this caused breakdown with one of CURRENT revisions, but that revision was reverted later. Also, currently if user put wlan0 interface down(via ifconfig) we will get down event only after bringing same interface up. Both of this cases where not fixed with rt_ifmsg() call. I already have pach for both cases, and will send them to net@ shortly. If you have more time to review my code, please visit http://gitorious.org/NDISulator Comments are welcome. >> Submitted by: Paul B Mahol >> MFC after: 1 week >> >> Modified: >> head/sys/dev/if_ndis/if_ndis.c >> >> Modified: head/sys/dev/if_ndis/if_ndis.c >> ============================================================================== >> --- head/sys/dev/if_ndis/if_ndis.c Tue Oct 19 18:49:26 2010 (r214069) >> +++ head/sys/dev/if_ndis/if_ndis.c Tue Oct 19 19:11:36 2010 (r214070) >> @@ -1644,10 +1644,6 @@ ndis_linksts_done(adapter) >> default: >> break; >> } >> - >> - /* Notify possible listners of interface change. */ >> - >> - rt_ifmsg(ifp); >> } >> >> static void >> > > -- > Bjoern A. Zeeb Welcome a new stage of life. > _______________________________________________ > svn-src-head@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org" > From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 07:22:34 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C34231065673; Wed, 20 Oct 2010 07:22:34 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B018F8FC19; Wed, 20 Oct 2010 07:22:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9K7MYTR041069; Wed, 20 Oct 2010 07:22:34 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9K7MYmT041065; Wed, 20 Oct 2010 07:22:34 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201010200722.o9K7MYmT041065@svn.freebsd.org> From: Alexander Motin Date: Wed, 20 Oct 2010 07:22:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214099 - head/sys/dev/mvs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 07:22:34 -0000 Author: mav Date: Wed Oct 20 07:22:34 2010 New Revision: 214099 URL: http://svn.freebsd.org/changeset/base/214099 Log: Some style cleanup: - remove commented debugging code; - wrap long lines. Modified: head/sys/dev/mvs/mvs.c head/sys/dev/mvs/mvs_pci.c head/sys/dev/mvs/mvs_soc.c Modified: head/sys/dev/mvs/mvs.c ============================================================================== --- head/sys/dev/mvs/mvs.c Wed Oct 20 06:38:54 2010 (r214098) +++ head/sys/dev/mvs/mvs.c Wed Oct 20 07:22:34 2010 (r214099) @@ -57,7 +57,8 @@ static int mvs_ch_deinit(device_t dev); static int mvs_ch_suspend(device_t dev); static int mvs_ch_resume(device_t dev); static void mvs_dmainit(device_t dev); -static void mvs_dmasetupc_cb(void *xsc, bus_dma_segment_t *segs, int nsegs, int error); +static void mvs_dmasetupc_cb(void *xsc, + bus_dma_segment_t *segs, int nsegs, int error); static void mvs_dmafini(device_t dev); static void mvs_slotsalloc(device_t dev); static void mvs_slotsfree(device_t dev); @@ -79,7 +80,8 @@ static void mvs_crbq_intr(device_t dev); static void mvs_begin_transaction(device_t dev, union ccb *ccb); static void mvs_legacy_execute_transaction(struct mvs_slot *slot); static void mvs_timeout(struct mvs_slot *slot); -static void mvs_dmasetprd(void *arg, bus_dma_segment_t *segs, int nsegs, int error); +static void mvs_dmasetprd(void *arg, + bus_dma_segment_t *segs, int nsegs, int error); static void mvs_requeue_frozen(device_t dev); static void mvs_execute_transaction(struct mvs_slot *slot); static void mvs_end_transaction(struct mvs_slot *slot, enum mvs_err_type et); @@ -314,9 +316,11 @@ mvs_dmainit(device_t dev) if (bus_dmamem_alloc(ch->dma.workrq_tag, (void **)&ch->dma.workrq, 0, &ch->dma.workrq_map)) goto error; - if (bus_dmamap_load(ch->dma.workrq_tag, ch->dma.workrq_map, ch->dma.workrq, - MVS_WORKRQ_SIZE, mvs_dmasetupc_cb, &dcba, 0) || dcba.error) { - bus_dmamem_free(ch->dma.workrq_tag, ch->dma.workrq, ch->dma.workrq_map); + if (bus_dmamap_load(ch->dma.workrq_tag, ch->dma.workrq_map, + ch->dma.workrq, MVS_WORKRQ_SIZE, mvs_dmasetupc_cb, &dcba, 0) || + dcba.error) { + bus_dmamem_free(ch->dma.workrq_tag, + ch->dma.workrq, ch->dma.workrq_map); goto error; } ch->dma.workrq_bus = dcba.maddr; @@ -329,9 +333,11 @@ mvs_dmainit(device_t dev) if (bus_dmamem_alloc(ch->dma.workrp_tag, (void **)&ch->dma.workrp, 0, &ch->dma.workrp_map)) goto error; - if (bus_dmamap_load(ch->dma.workrp_tag, ch->dma.workrp_map, ch->dma.workrp, - MVS_WORKRP_SIZE, mvs_dmasetupc_cb, &dcba, 0) || dcba.error) { - bus_dmamem_free(ch->dma.workrp_tag, ch->dma.workrp, ch->dma.workrp_map); + if (bus_dmamap_load(ch->dma.workrp_tag, ch->dma.workrp_map, + ch->dma.workrp, MVS_WORKRP_SIZE, mvs_dmasetupc_cb, &dcba, 0) || + dcba.error) { + bus_dmamem_free(ch->dma.workrp_tag, + ch->dma.workrp, ch->dma.workrp_map); goto error; } ch->dma.workrp_bus = dcba.maddr; @@ -371,7 +377,8 @@ mvs_dmafini(device_t dev) } if (ch->dma.workrp_bus) { bus_dmamap_unload(ch->dma.workrp_tag, ch->dma.workrp_map); - bus_dmamem_free(ch->dma.workrp_tag, ch->dma.workrp, ch->dma.workrp_map); + bus_dmamem_free(ch->dma.workrp_tag, + ch->dma.workrp, ch->dma.workrp_map); ch->dma.workrp_bus = 0; ch->dma.workrp_map = NULL; ch->dma.workrp = NULL; @@ -382,7 +389,8 @@ mvs_dmafini(device_t dev) } if (ch->dma.workrq_bus) { bus_dmamap_unload(ch->dma.workrq_tag, ch->dma.workrq_map); - bus_dmamem_free(ch->dma.workrq_tag, ch->dma.workrq, ch->dma.workrq_map); + bus_dmamem_free(ch->dma.workrq_tag, + ch->dma.workrq, ch->dma.workrq_map); ch->dma.workrq_bus = 0; ch->dma.workrq_map = NULL; ch->dma.workrq = NULL; @@ -444,14 +452,16 @@ mvs_setup_edma_queues(device_t dev) ATA_OUTL(ch->r_mem, EDMA_REQQBAH, work >> 32); ATA_OUTL(ch->r_mem, EDMA_REQQIP, work & 0xffffffff); ATA_OUTL(ch->r_mem, EDMA_REQQOP, work & 0xffffffff); - bus_dmamap_sync(ch->dma.workrq_tag, ch->dma.workrq_map, BUS_DMASYNC_PREWRITE); + bus_dmamap_sync(ch->dma.workrq_tag, ch->dma.workrq_map, + BUS_DMASYNC_PREWRITE); /* Reponses queue. */ bzero(ch->dma.workrp, 256); work = ch->dma.workrp_bus; ATA_OUTL(ch->r_mem, EDMA_RESQBAH, work >> 32); ATA_OUTL(ch->r_mem, EDMA_RESQIP, work & 0xffffffff); ATA_OUTL(ch->r_mem, EDMA_RESQOP, work & 0xffffffff); - bus_dmamap_sync(ch->dma.workrp_tag, ch->dma.workrp_map, BUS_DMASYNC_PREREAD); + bus_dmamap_sync(ch->dma.workrp_tag, ch->dma.workrp_map, + BUS_DMASYNC_PREREAD); ch->out_idx = 0; ch->in_idx = 0; } @@ -678,20 +688,15 @@ mvs_ch_intr(void *data) int i, ccs, port = -1, selfdis = 0; int edma = (ch->numtslots != 0 || ch->numdslots != 0); -//device_printf(dev, "irq cause %02x EDMA %d IEC %08x\n", -// arg->cause, edma, ATA_INL(ch->r_mem, EDMA_IEC)); /* New item in response queue. */ if ((arg->cause & 2) && edma) mvs_crbq_intr(dev); /* Some error or special event. */ if (arg->cause & 1) { iec = ATA_INL(ch->r_mem, EDMA_IEC); -//device_printf(dev, "irq cause %02x EDMA %d IEC %08x\n", -// arg->cause, edma, iec); if (iec & EDMA_IE_SERRINT) { serr = ATA_INL(ch->r_mem, SATA_SE); ATA_OUTL(ch->r_mem, SATA_SE, serr); -//device_printf(dev, "SERR %08x\n", serr); } /* EDMA self-disabled due to error. */ if (iec & EDMA_IE_ESELFDIS) @@ -706,7 +711,6 @@ mvs_ch_intr(void *data) fisic = SATA_FISC_FISWAIT4HOSTRDYEN_B1; else /* For Gen-IIe - read FIS interrupt cause. */ fisic = ATA_INL(ch->r_mem, SATA_FISIC); -//device_printf(dev, "FISIC %08x\n", fisic); } if (selfdis) ch->curr_mode = MVS_EDMA_UNKNOWN; @@ -745,7 +749,6 @@ mvs_ch_intr(void *data) } } } -//device_printf(dev, "err slot %d port %d\n", ccs, port); mvs_requeue_frozen(dev); for (i = 0; i < MVS_MAX_SLOTS; i++) { /* XXX: reqests in loading state. */ @@ -771,7 +774,8 @@ mvs_ch_intr(void *data) ch->fatalerr = 1; } } else if (iec & 0xfc1e9000) { - if (ch->numtslots == 0 && i != ccs && port != -2) + if (ch->numtslots == 0 && + i != ccs && port != -2) et = MVS_ERR_INNOCENT; else et = MVS_ERR_SATA; @@ -823,8 +827,6 @@ mvs_legacy_intr(device_t dev) /* Clear interrupt and get status. */ status = mvs_getstatus(dev, 1); -// device_printf(dev, "Legacy intr status %02x\n", -// status); if (slot->state < MVS_SLOT_RUNNING) return; port = ccb->ccb_h.target_id & 0x0f; @@ -867,7 +869,8 @@ mvs_legacy_intr(device_t dev) /* If data write command - put them */ if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_OUT) { if (mvs_wait(dev, ATA_S_DRQ, ATA_S_BUSY, 1000) < 0) { - device_printf(dev, "timeout waiting for write DRQ\n"); + device_printf(dev, + "timeout waiting for write DRQ\n"); et = MVS_ERR_TIMEOUT; goto end_finished; } @@ -890,19 +893,18 @@ mvs_legacy_intr(device_t dev) ATA_OUTL(ch->r_mem, DMA_C, 0); goto end_finished; } else { /* ATAPI PIO */ - length = ATA_INB(ch->r_mem,ATA_CYL_LSB) | (ATA_INB(ch->r_mem,ATA_CYL_MSB) << 8); + length = ATA_INB(ch->r_mem,ATA_CYL_LSB) | + (ATA_INB(ch->r_mem,ATA_CYL_MSB) << 8); ireason = ATA_INB(ch->r_mem,ATA_IREASON); -//device_printf(dev, "status %02x, ireason %02x, length %d\n", status, ireason, length); switch ((ireason & (ATA_I_CMD | ATA_I_IN)) | (status & ATA_S_DRQ)) { case ATAPI_P_CMDOUT: -device_printf(dev, "ATAPI CMDOUT\n"); + device_printf(dev, "ATAPI CMDOUT\n"); /* Return wait for interrupt */ return; case ATAPI_P_WRITE: -//device_printf(dev, "ATAPI WRITE\n"); if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) { device_printf(dev, "trying to write on read buffer\n"); et = MVS_ERR_TFE; @@ -920,7 +922,6 @@ device_printf(dev, "ATAPI CMDOUT\n"); return; case ATAPI_P_READ: -//device_printf(dev, "ATAPI READ\n"); if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_OUT) { device_printf(dev, "trying to read on write buffer\n"); et = MVS_ERR_TFE; @@ -937,7 +938,6 @@ device_printf(dev, "ATAPI CMDOUT\n"); return; case ATAPI_P_DONEDRQ: -device_printf(dev, "ATAPI DONEDRQ\n"); device_printf(dev, "WARNING - DONEDRQ non conformant device\n"); if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) { @@ -958,13 +958,13 @@ device_printf(dev, "ATAPI DONEDRQ\n"); case ATAPI_P_ABORT: case ATAPI_P_DONE: -//device_printf(dev, "ATAPI ABORT/DONE\n"); if (status & (ATA_S_ERROR | ATA_S_DWF)) et = MVS_ERR_TFE; goto end_finished; default: - device_printf(dev, "unknown transfer phase (status %02x, ireason %02x)\n", + device_printf(dev, "unknown transfer phase" + " (status %02x, ireason %02x)\n", status, ireason); et = MVS_ERR_TFE; } @@ -1266,8 +1266,6 @@ mvs_legacy_execute_transaction(struct mv ch->rslots |= (1 << slot->slot); ATA_OUTB(ch->r_mem, SATA_SATAICTL, port << SATA_SATAICTL_PMPTX_SHIFT); if (ccb->ccb_h.func_code == XPT_ATA_IO) { -// device_printf(dev, "%d Legacy command %02x size %d\n", -// port, ccb->ataio.cmd.command, ccb->ataio.dxfer_len); mvs_tfd_write(dev, ccb); /* Device reset doesn't interrupt. */ if (ccb->ataio.cmd.command == ATA_DEVICE_RESET) { @@ -1287,7 +1285,8 @@ mvs_legacy_execute_transaction(struct mv /* If data write command - output the data */ if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_OUT) { if (mvs_wait(dev, ATA_S_DRQ, ATA_S_BUSY, 1000) < 0) { - device_printf(dev, "timeout waiting for write DRQ\n"); + device_printf(dev, + "timeout waiting for write DRQ\n"); mvs_end_transaction(slot, MVS_ERR_TIMEOUT); return; } @@ -1296,9 +1295,6 @@ mvs_legacy_execute_transaction(struct mv ch->transfersize / 2); } } else { -// device_printf(dev, "%d ATAPI command %02x size %d dma %d\n", -// port, ccb->csio.cdb_io.cdb_bytes[0], ccb->csio.dxfer_len, -// ch->basic_dma); ch->donecount = 0; ch->transfersize = min(ccb->csio.dxfer_len, ch->curr[port].bytecount); @@ -1331,7 +1327,8 @@ mvs_legacy_execute_transaction(struct mv DELAY(20); } if (timeout <= 0) { - device_printf(dev, "timeout waiting for ATAPI command ready\n"); + device_printf(dev, + "timeout waiting for ATAPI command ready\n"); mvs_end_transaction(slot, MVS_ERR_TIMEOUT); return; } @@ -1371,8 +1368,6 @@ mvs_execute_transaction(struct mvs_slot int port = ccb->ccb_h.target_id & 0x0f; int i; -// device_printf(dev, "%d EDMA command %02x size %d slot %d tag %d\n", -// port, ccb->ataio.cmd.command, ccb->ataio.dxfer_len, slot->slot, slot->tag); /* Get address of the prepared EPRD */ eprd = ch->dma.workrq_bus + MVS_EPRD_OFFSET + (MVS_EPRD_SIZE * slot->slot); /* Prepare CRQB. Gen IIe uses different CRQB format. */ @@ -1554,7 +1549,6 @@ mvs_end_transaction(struct mvs_slot *slo union ccb *ccb = slot->ccb; int lastto; -//device_printf(dev, "cmd done status %d\n", et); bus_dmamap_sync(ch->dma.workrq_tag, ch->dma.workrq_map, BUS_DMASYNC_POSTWRITE); /* Read result registers to the result struct @@ -1792,7 +1786,8 @@ mvs_process_read_log(device_t dev, union if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) device_printf(dev, "Error while READ LOG EXT\n"); else if ((data[0] & 0x80) == 0) { - device_printf(dev, "Non-queued command error in READ LOG EXT\n"); + device_printf(dev, + "Non-queued command error in READ LOG EXT\n"); } for (i = 0; i < MVS_MAX_SLOTS; i++) { if (!ch->hold[i]) Modified: head/sys/dev/mvs/mvs_pci.c ============================================================================== --- head/sys/dev/mvs/mvs_pci.c Wed Oct 20 06:38:54 2010 (r214098) +++ head/sys/dev/mvs/mvs_pci.c Wed Oct 20 07:22:34 2010 (r214099) @@ -339,7 +339,6 @@ mvs_intr(void *data) u_int32_t ic, aic; ic = ATA_INL(ctlr->r_mem, CHIP_MIC); -//device_printf(ctlr->dev, "irq MIC:%08x\n", ic); if (ctlr->msi) { /* We have to to mask MSI during processing. */ mtx_lock(&ctlr->mtx); Modified: head/sys/dev/mvs/mvs_soc.c ============================================================================== --- head/sys/dev/mvs/mvs_soc.c Wed Oct 20 06:38:54 2010 (r214098) +++ head/sys/dev/mvs/mvs_soc.c Wed Oct 20 07:22:34 2010 (r214099) @@ -295,7 +295,6 @@ mvs_intr(void *data) u_int32_t ic, aic; ic = ATA_INL(ctlr->r_mem, CHIP_SOC_MIC); -//device_printf(ctlr->dev, "irq MIC:%08x\n", ic); if ((ic & IC_HC0) == 0) return; /* Acknowledge interrupts of this HC. */ From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 07:32:25 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7D4AB106566C; Wed, 20 Oct 2010 07:32:25 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6B0D98FC12; Wed, 20 Oct 2010 07:32:25 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9K7WPkr041304; Wed, 20 Oct 2010 07:32:25 GMT (envelope-from obrien@svn.freebsd.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9K7WPBi041302; Wed, 20 Oct 2010 07:32:25 GMT (envelope-from obrien@svn.freebsd.org) Message-Id: <201010200732.o9K7WPBi041302@svn.freebsd.org> From: "David E. O'Brien" Date: Wed, 20 Oct 2010 07:32:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214100 - stable/8/bin/sh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 07:32:25 -0000 Author: obrien Date: Wed Oct 20 07:32:25 2010 New Revision: 214100 URL: http://svn.freebsd.org/changeset/base/214100 Log: MFC r213815: only need to look as far as '..' to find 'test/' Modified: stable/8/bin/sh/Makefile Directory Properties: stable/8/bin/sh/ (props changed) Modified: stable/8/bin/sh/Makefile ============================================================================== --- stable/8/bin/sh/Makefile Wed Oct 20 07:22:34 2010 (r214099) +++ stable/8/bin/sh/Makefile Wed Oct 20 07:32:25 2010 (r214100) @@ -26,7 +26,7 @@ WARNS?= 2 WFORMAT=0 .PATH: ${.CURDIR}/bltin \ - ${.CURDIR}/../../bin/test + ${.CURDIR}/../test CLEANFILES+= mkinit mkinit.o mknodes mknodes.o \ mksyntax mksyntax.o From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 07:40:23 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 83BC0106566C; Wed, 20 Oct 2010 07:40:23 +0000 (UTC) (envelope-from maxim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 71B408FC1B; Wed, 20 Oct 2010 07:40:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9K7eNl3041518; Wed, 20 Oct 2010 07:40:23 GMT (envelope-from maxim@svn.freebsd.org) Received: (from maxim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9K7eNSt041516; Wed, 20 Oct 2010 07:40:23 GMT (envelope-from maxim@svn.freebsd.org) Message-Id: <201010200740.o9K7eNSt041516@svn.freebsd.org> From: Maxim Konovalov Date: Wed, 20 Oct 2010 07:40:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214101 - stable/8/share/man/man7 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 07:40:23 -0000 Author: maxim Date: Wed Oct 20 07:40:23 2010 New Revision: 214101 URL: http://svn.freebsd.org/changeset/base/214101 Log: MFC r212094: sync the man page with the reality: nfs/ includes are under include/ and include/fs/. Modified: stable/8/share/man/man7/hier.7 Directory Properties: stable/8/share/man/man7/ (props changed) Modified: stable/8/share/man/man7/hier.7 ============================================================================== --- stable/8/share/man/man7/hier.7 Wed Oct 20 07:32:25 2010 (r214100) +++ stable/8/share/man/man7/hier.7 Wed Oct 20 07:40:23 2010 (r214101) @@ -250,6 +250,8 @@ per-process file descriptors file system FIFOs file system .It Pa msdosfs/ MS-DOS file system +.It Pa nfs/ +C include files for NFS (Network File System) version 2, 3 and 4 .It Pa ntfs/ NTFS file system .It Pa nullfs/ @@ -334,7 +336,7 @@ include files for the UNI signalling pro .It Pa netsmb/ SMB/CIFS requester .It Pa nfs/ -C include files for NFS (Network File System) +C include files for NFS (Network File System) version 2 and 3 (legacy) .It Pa objc/ Objective C include files .It Pa openssl/ From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 07:44:31 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0558B106566B; Wed, 20 Oct 2010 07:44:31 +0000 (UTC) (envelope-from bschmidt@techwires.net) Received: from mail-bw0-f54.google.com (mail-bw0-f54.google.com [209.85.214.54]) by mx1.freebsd.org (Postfix) with ESMTP id 395B58FC16; Wed, 20 Oct 2010 07:44:29 +0000 (UTC) Received: by bwz15 with SMTP id 15so1036071bwz.13 for ; Wed, 20 Oct 2010 00:44:29 -0700 (PDT) Received: by 10.204.84.216 with SMTP id k24mr6532877bkl.132.1287559237696; Wed, 20 Oct 2010 00:20:37 -0700 (PDT) Received: from jessie.localnet (p5B0E15E3.dip0.t-ipconnect.de [91.14.21.227]) by mx.google.com with ESMTPS id r21sm11129610bkj.22.2010.10.20.00.20.35 (version=SSLv3 cipher=RC4-MD5); Wed, 20 Oct 2010 00:20:36 -0700 (PDT) Sender: Bernhard Schmidt From: Bernhard Schmidt To: "Bjoern A. Zeeb" Date: Wed, 20 Oct 2010 09:20:34 +0200 User-Agent: KMail/1.13.2 (Linux/2.6.32-25-generic; KDE/4.4.2; i686; ; ) References: <201010191911.o9JJBaQe024210@svn.freebsd.org> <20101019220455.D46881@maildrop.int.zabbadoz.net> In-Reply-To: <20101019220455.D46881@maildrop.int.zabbadoz.net> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201010200920.34413.bschmidt@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r214070 - head/sys/dev/if_ndis X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: bschmidt@freebsd.org List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 07:44:31 -0000 On Wednesday, October 20, 2010 00:06:09 Bjoern A. Zeeb wrote: > On Tue, 19 Oct 2010, Bernhard Schmidt wrote: > > Author: bschmidt > > Date: Tue Oct 19 19:11:36 2010 > > New Revision: 214070 > > URL: http://svn.freebsd.org/changeset/base/214070 > > > > Log: > > There is no reason to call rt_ifmsg(), remove it. > > While it's indeed very uncommon to have that in a driver, I don't know > how much black magic if_ndis(4) is. Have you verified that you still > get the events from elsewhere on the routing socket when > loading/unloading if_ndif.ko? I followed the function calls, and the affected ndis_linksts_done() function is only a wrapper around others. Those functions do all call if_link_state_change() which itself calls rt_ifmsg(). It seems the call is just a leftover from the the transition to if_link_state_change(). -- Bernhard From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 07:47:31 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 573CC1065675; Wed, 20 Oct 2010 07:47:31 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 45A1F8FC18; Wed, 20 Oct 2010 07:47:31 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9K7lVLI041770; Wed, 20 Oct 2010 07:47:31 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9K7lV22041768; Wed, 20 Oct 2010 07:47:31 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201010200747.o9K7lV22041768@svn.freebsd.org> From: Alexander Motin Date: Wed, 20 Oct 2010 07:47:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214102 - head/sys/dev/mvs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 07:47:31 -0000 Author: mav Date: Wed Oct 20 07:47:31 2010 New Revision: 214102 URL: http://svn.freebsd.org/changeset/base/214102 Log: Workaround strange situation when EDMA_RESQIP register returns zero instead of proper value. It caused bunch of "EMPTY CRPB" messages and potentially may cause premature requests completion, which could cause data corruption. For most cases it seems enough to just reread register to get proper value. To protect against worse cases - erase processed queue entries with impossible values and ignore them if problem still happen. Modified: head/sys/dev/mvs/mvs.c Modified: head/sys/dev/mvs/mvs.c ============================================================================== --- head/sys/dev/mvs/mvs.c Wed Oct 20 07:40:23 2010 (r214101) +++ head/sys/dev/mvs/mvs.c Wed Oct 20 07:47:31 2010 (r214102) @@ -455,7 +455,7 @@ mvs_setup_edma_queues(device_t dev) bus_dmamap_sync(ch->dma.workrq_tag, ch->dma.workrq_map, BUS_DMASYNC_PREWRITE); /* Reponses queue. */ - bzero(ch->dma.workrp, 256); + memset(ch->dma.workrp, 0xff, MVS_WORKRP_SIZE); work = ch->dma.workrp_bus; ATA_OUTL(ch->r_mem, EDMA_RESQBAH, work >> 32); ATA_OUTL(ch->r_mem, EDMA_RESQIP, work & 0xffffffff); @@ -980,38 +980,54 @@ mvs_crbq_intr(device_t dev) struct mvs_channel *ch = device_get_softc(dev); struct mvs_crpb *crpb; union ccb *ccb; - int in_idx, cin_idx, slot; + int in_idx, fin_idx, cin_idx, slot; + uint32_t val; uint16_t flags; - in_idx = (ATA_INL(ch->r_mem, EDMA_RESQIP) & EDMA_RESQP_ERPQP_MASK) >> + val = ATA_INL(ch->r_mem, EDMA_RESQIP); + if (val == 0) + val = ATA_INL(ch->r_mem, EDMA_RESQIP); + in_idx = (val & EDMA_RESQP_ERPQP_MASK) >> EDMA_RESQP_ERPQP_SHIFT; bus_dmamap_sync(ch->dma.workrp_tag, ch->dma.workrp_map, BUS_DMASYNC_POSTREAD); - cin_idx = ch->in_idx; + fin_idx = cin_idx = ch->in_idx; ch->in_idx = in_idx; while (in_idx != cin_idx) { crpb = (struct mvs_crpb *) - (ch->dma.workrp + MVS_CRPB_OFFSET + (MVS_CRPB_SIZE * cin_idx)); + (ch->dma.workrp + MVS_CRPB_OFFSET + + (MVS_CRPB_SIZE * cin_idx)); slot = le16toh(crpb->id) & MVS_CRPB_TAG_MASK; flags = le16toh(crpb->rspflg); -//device_printf(dev, "CRPB %d %d %04x\n", cin_idx, slot, flags); /* * Handle only successfull completions here. * Errors will be handled by main intr handler. */ - if (ch->numtslots != 0 || (flags & EDMA_IE_EDEVERR) == 0) { -if ((flags >> 8) & ATA_S_ERROR) -device_printf(dev, "ERROR STATUS CRPB %d %d %04x\n", cin_idx, slot, flags); + if (crpb->id == 0xffff && crpb->rspflg == 0xffff) { + device_printf(dev, "Unfilled CRPB " + "%d (%d->%d) tag %d flags %04x rs %08x\n", + cin_idx, fin_idx, in_idx, slot, flags, ch->rslots); + } else if (ch->numtslots != 0 || + (flags & EDMA_IE_EDEVERR) == 0) { + crpb->id = 0xffff; + crpb->rspflg = 0xffff; if (ch->slot[slot].state >= MVS_SLOT_RUNNING) { ccb = ch->slot[slot].ccb; - ccb->ataio.res.status = (flags & MVS_CRPB_ATASTS_MASK) >> + ccb->ataio.res.status = + (flags & MVS_CRPB_ATASTS_MASK) >> MVS_CRPB_ATASTS_SHIFT; mvs_end_transaction(&ch->slot[slot], MVS_ERR_NONE); - } else -device_printf(dev, "EMPTY CRPB %d (->%d) %d %04x\n", cin_idx, in_idx, slot, flags); - } else -device_printf(dev, "ERROR FLAGS CRPB %d %d %04x\n", cin_idx, slot, flags); - + } else { + device_printf(dev, "Unused tag in CRPB " + "%d (%d->%d) tag %d flags %04x rs %08x\n", + cin_idx, fin_idx, in_idx, slot, flags, + ch->rslots); + } + } else { + device_printf(dev, + "CRPB with error %d tag %d flags %04x\n", + cin_idx, slot, flags); + } cin_idx = (cin_idx + 1) & (MVS_MAX_SLOTS - 1); } bus_dmamap_sync(ch->dma.workrp_tag, ch->dma.workrp_map, From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 07:54:27 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D5EB1106564A; Wed, 20 Oct 2010 07:54:27 +0000 (UTC) (envelope-from maxim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C3DB68FC08; Wed, 20 Oct 2010 07:54:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9K7sRlc042036; Wed, 20 Oct 2010 07:54:27 GMT (envelope-from maxim@svn.freebsd.org) Received: (from maxim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9K7sRTk042034; Wed, 20 Oct 2010 07:54:27 GMT (envelope-from maxim@svn.freebsd.org) Message-Id: <201010200754.o9K7sRTk042034@svn.freebsd.org> From: Maxim Konovalov Date: Wed, 20 Oct 2010 07:54:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214103 - stable/8/share/examples/etc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 07:54:28 -0000 Author: maxim Date: Wed Oct 20 07:54:27 2010 New Revision: 214103 URL: http://svn.freebsd.org/changeset/base/214103 Log: MFC r212138: csup(1) does not have -g flag. Modified: stable/8/share/examples/etc/make.conf Directory Properties: stable/8/share/examples/etc/ (props changed) Modified: stable/8/share/examples/etc/make.conf ============================================================================== --- stable/8/share/examples/etc/make.conf Wed Oct 20 07:47:31 2010 (r214102) +++ stable/8/share/examples/etc/make.conf Wed Oct 20 07:54:27 2010 (r214103) @@ -181,7 +181,7 @@ #SUP_UPDATE= # #SUP= /usr/bin/csup -#SUPFLAGS= -g -L 2 +#SUPFLAGS= -L 2 #SUPHOST= cvsup.uk.FreeBSD.org #SUPFILE= /usr/share/examples/cvsup/standard-supfile #PORTSSUPFILE= /usr/share/examples/cvsup/ports-supfile From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 07:54:44 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 41D11106564A; Wed, 20 Oct 2010 07:54:44 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2FBC28FC1F; Wed, 20 Oct 2010 07:54:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9K7siVP042076; Wed, 20 Oct 2010 07:54:44 GMT (envelope-from obrien@svn.freebsd.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9K7si1j042074; Wed, 20 Oct 2010 07:54:44 GMT (envelope-from obrien@svn.freebsd.org) Message-Id: <201010200754.o9K7si1j042074@svn.freebsd.org> From: "David E. O'Brien" Date: Wed, 20 Oct 2010 07:54:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214104 - stable/8/bin/sh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 07:54:44 -0000 Author: obrien Date: Wed Oct 20 07:54:43 2010 New Revision: 214104 URL: http://svn.freebsd.org/changeset/base/214104 Log: MFC: r213774: DEBUG_FLAGS should be used to enable extra debugging rather than frobbing CFLAGS directly. r213798: do not inline static functions if debugging Modified: stable/8/bin/sh/Makefile Directory Properties: stable/8/bin/sh/ (props changed) Modified: stable/8/bin/sh/Makefile ============================================================================== --- stable/8/bin/sh/Makefile Wed Oct 20 07:54:27 2010 (r214103) +++ stable/8/bin/sh/Makefile Wed Oct 20 07:54:43 2010 (r214104) @@ -21,7 +21,7 @@ LDADD= -ll -ledit -ltermcap LFLAGS= -8 # 8-bit lex scanner for arithmetic CFLAGS+=-DSHELL -I. -I${.CURDIR} # for debug: -# CFLAGS+= -g -DDEBUG=2 +# DEBUG_FLAGS+= -g -DDEBUG=2 -fno-inline WARNS?= 2 WFORMAT=0 From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 09:35:21 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4E0621065672; Wed, 20 Oct 2010 09:35:21 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3C86B8FC1C; Wed, 20 Oct 2010 09:35:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9K9ZLha044516; Wed, 20 Oct 2010 09:35:21 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9K9ZLdd044514; Wed, 20 Oct 2010 09:35:21 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <201010200935.o9K9ZLdd044514@svn.freebsd.org> From: Ed Schouten Date: Wed, 20 Oct 2010 09:35:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214105 - head/usr.bin/truss X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 09:35:21 -0000 Author: ed Date: Wed Oct 20 09:35:20 2010 New Revision: 214105 URL: http://svn.freebsd.org/changeset/base/214105 Log: Remove setpgid() call before executing child process. Using a separate process group here is bad, since (for example) job control in the TTY layer prevents interaction with the TTY, causing the child process to hang. Mentioned on: current@ MFC after: 2 weeks Modified: head/usr.bin/truss/setup.c Modified: head/usr.bin/truss/setup.c ============================================================================== --- head/usr.bin/truss/setup.c Wed Oct 20 07:54:43 2010 (r214104) +++ head/usr.bin/truss/setup.c Wed Oct 20 09:35:20 2010 (r214105) @@ -78,7 +78,6 @@ setup_and_wait(char *command[]) } if (pid == 0) { /* Child */ ptrace(PT_TRACE_ME, 0, 0, 0); - setpgid (0, 0); execvp(command[0], command); err(1, "execvp %s", command[0]); } From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 09:41:36 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 54CA9106564A; Wed, 20 Oct 2010 09:41:36 +0000 (UTC) (envelope-from jchandra@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 430D38FC1F; Wed, 20 Oct 2010 09:41:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9K9faGS044656; Wed, 20 Oct 2010 09:41:36 GMT (envelope-from jchandra@svn.freebsd.org) Received: (from jchandra@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9K9fauM044654; Wed, 20 Oct 2010 09:41:36 GMT (envelope-from jchandra@svn.freebsd.org) Message-Id: <201010200941.o9K9fauM044654@svn.freebsd.org> From: "Jayachandran C." Date: Wed, 20 Oct 2010 09:41:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214106 - head/sys/mips/rmi X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 09:41:36 -0000 Author: jchandra Date: Wed Oct 20 09:41:36 2010 New Revision: 214106 URL: http://svn.freebsd.org/changeset/base/214106 Log: On uniprocessor, warn and fixup hardware cpu mask if more than on CPU is enabled by the bootloader. Modified: head/sys/mips/rmi/xlr_machdep.c Modified: head/sys/mips/rmi/xlr_machdep.c ============================================================================== --- head/sys/mips/rmi/xlr_machdep.c Wed Oct 20 09:35:20 2010 (r214105) +++ head/sys/mips/rmi/xlr_machdep.c Wed Oct 20 09:41:36 2010 (r214106) @@ -167,6 +167,14 @@ xlr_parse_mmu_options(void) */ xlr_ncores = 1; cpu_map = xlr_boot1_info.cpu_online_map; + +#ifndef SMP /* Uniprocessor! */ + if (cpu_map != 0x1) { + printf("WARNING: Starting uniprocessor kernel on cpumask [0x%lx]!\n" + "WARNING: Other CPUs will be unused.\n", (u_long)cpu_map); + cpu_map = 0x1; + } +#endif core0_thr_mask = cpu_map & 0xf; switch (core0_thr_mask) { case 1: @@ -188,9 +196,9 @@ xlr_parse_mmu_options(void) xlr_ncores++; } } + xlr_hw_thread_mask = cpu_map; /* setup hardware processor id to cpu id mapping */ - xlr_hw_thread_mask = xlr_boot1_info.cpu_online_map; for (i = 0; i< MAXCPU; i++) xlr_cpuid_to_hwtid[i] = xlr_hwtid_to_cpuid [i] = -1; From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 09:50:11 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D935B1065670; Wed, 20 Oct 2010 09:50:11 +0000 (UTC) (envelope-from jchandra@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C71308FC14; Wed, 20 Oct 2010 09:50:11 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9K9oBN9044883; Wed, 20 Oct 2010 09:50:11 GMT (envelope-from jchandra@svn.freebsd.org) Received: (from jchandra@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9K9oBEb044880; Wed, 20 Oct 2010 09:50:11 GMT (envelope-from jchandra@svn.freebsd.org) Message-Id: <201010200950.o9K9oBEb044880@svn.freebsd.org> From: "Jayachandran C." Date: Wed, 20 Oct 2010 09:50:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214107 - in head/sys/mips/rmi: . dev/nlge X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 09:50:11 -0000 Author: jchandra Date: Wed Oct 20 09:50:11 2010 New Revision: 214107 URL: http://svn.freebsd.org/changeset/base/214107 Log: Network driver updates - Fix network driver issue on a XLS eval board (major# 8). - Fix issue uncovered by r213475 in check for XGMII Submitted by: Sriram Gorti (srgorti at netlogicmicro dot com) Modified: head/sys/mips/rmi/board.c head/sys/mips/rmi/dev/nlge/if_nlge.c Modified: head/sys/mips/rmi/board.c ============================================================================== --- head/sys/mips/rmi/board.c Wed Oct 20 09:41:36 2010 (r214106) +++ head/sys/mips/rmi/board.c Wed Oct 20 09:50:11 2010 (r214107) @@ -283,14 +283,14 @@ xls_board_specific_overrides(struct xlr_ break; case RMI_XLR_BOARD_ARIZONA_VIII: - - if (blk1->enabled) { + if (blk1->enabled) { /* There is just one Octal PHY on the board and it is * connected to the MII interface for NA Quad 0. */ - blk1->gmac_port[0].mii_addr = XLR_IO_GMAC_0_OFFSET; - blk1->gmac_port[1].mii_addr = XLR_IO_GMAC_0_OFFSET; - blk1->gmac_port[2].mii_addr = XLR_IO_GMAC_0_OFFSET; - blk1->gmac_port[3].mii_addr = XLR_IO_GMAC_0_OFFSET; + for (i = 0; i < 4; i++) { + blk1->gmac_port[i].mii_addr = + XLR_IO_GMAC_0_OFFSET; + blk1->gmac_port[i].mdint_id = 0; + } } break; Modified: head/sys/mips/rmi/dev/nlge/if_nlge.c ============================================================================== --- head/sys/mips/rmi/dev/nlge/if_nlge.c Wed Oct 20 09:41:36 2010 (r214106) +++ head/sys/mips/rmi/dev/nlge/if_nlge.c Wed Oct 20 09:50:11 2010 (r214107) @@ -861,7 +861,7 @@ nlge_mii_read(struct device *dev, int ph int val; sc = device_get_softc(dev); - val = (sc->port_type != XLR_XGMII) ? (0xffff) : + val = (sc->port_type == XLR_XGMII) ? (0xffff) : nlge_mii_read_internal(sc->mii_base, phyaddr, regidx); return (val); From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 12:38:05 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7F12D106566B; Wed, 20 Oct 2010 12:38:05 +0000 (UTC) (envelope-from maxim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 521208FC18; Wed, 20 Oct 2010 12:38:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9KCc5WO057582; Wed, 20 Oct 2010 12:38:05 GMT (envelope-from maxim@svn.freebsd.org) Received: (from maxim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9KCc56Y057580; Wed, 20 Oct 2010 12:38:05 GMT (envelope-from maxim@svn.freebsd.org) Message-Id: <201010201238.o9KCc56Y057580@svn.freebsd.org> From: Maxim Konovalov Date: Wed, 20 Oct 2010 12:38:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214108 - stable/8/sys/netinet/ipfw X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 12:38:05 -0000 Author: maxim Date: Wed Oct 20 12:38:05 2010 New Revision: 214108 URL: http://svn.freebsd.org/changeset/base/214108 Log: MFC r211992: some programs could send broadcast/multicast traffic to ipfw pseudo-interface. This leads to a panic due to uninitialized if_broadcastaddr address. Initialize it and implement ip_output() method to prevent mbuf leak later. Modified: stable/8/sys/netinet/ipfw/ip_fw_log.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/netinet/ipfw/ip_fw_log.c ============================================================================== --- stable/8/sys/netinet/ipfw/ip_fw_log.c Wed Oct 20 09:50:11 2010 (r214107) +++ stable/8/sys/netinet/ipfw/ip_fw_log.c Wed Oct 20 12:38:05 2010 (r214108) @@ -103,6 +103,24 @@ log_dummy(struct ifnet *ifp, u_long cmd, return EINVAL; } +static int +ipfw_log_output(struct ifnet *ifp, struct mbuf *m, + struct sockaddr *dst, struct route *ro) +{ + if (m != NULL) + m_freem(m); + return EINVAL; +} + +static void +ipfw_log_start(struct ifnet* ifp) +{ + panic("ipfw_log_start() must not be called"); +} + +static const u_char ipfwbroadcastaddr[6] = + { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; + void ipfw_log_bpf(int onoff) { @@ -119,11 +137,12 @@ ipfw_log_bpf(int onoff) ifp->if_flags = IFF_UP | IFF_SIMPLEX | IFF_MULTICAST; ifp->if_init = (void *)log_dummy; ifp->if_ioctl = log_dummy; - ifp->if_start = (void *)log_dummy; - ifp->if_output = (void *)log_dummy; + ifp->if_start = ipfw_log_start; + ifp->if_output = ipfw_log_output; ifp->if_addrlen = 6; ifp->if_hdrlen = 14; if_attach(ifp); + ifp->if_broadcastaddr = ipfwbroadcastaddr; ifp->if_baudrate = IF_Mbps(10); bpfattach(ifp, DLT_EN10MB, 14); log_if = ifp; From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 16:40:14 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7156010656CC; Wed, 20 Oct 2010 16:40:14 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 603768FC27; Wed, 20 Oct 2010 16:40:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9KGeEWV062819; Wed, 20 Oct 2010 16:40:14 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9KGeEG6062817; Wed, 20 Oct 2010 16:40:14 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201010201640.o9KGeEG6062817@svn.freebsd.org> From: Jung-uk Kim Date: Wed, 20 Oct 2010 16:40:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214109 - head/sys/dev/pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 16:40:14 -0000 Author: jkim Date: Wed Oct 20 16:40:14 2010 New Revision: 214109 URL: http://svn.freebsd.org/changeset/base/214109 Log: Do not apply do_power_resume for suspending P2P bridge as we did in r214064. Modified: head/sys/dev/pci/pci_pci.c Modified: head/sys/dev/pci/pci_pci.c ============================================================================== --- head/sys/dev/pci/pci_pci.c Wed Oct 20 12:38:05 2010 (r214108) +++ head/sys/dev/pci/pci_pci.c Wed Oct 20 16:40:14 2010 (r214109) @@ -447,7 +447,7 @@ pcib_suspend(device_t dev) pcib_cfg_save(device_get_softc(dev)); error = bus_generic_suspend(dev); - if (error == 0 && pci_do_power_resume) { + if (error == 0) { dstate = PCI_POWERSTATE_D3; pcib = device_get_parent(device_get_parent(dev)); if (PCIB_POWER_FOR_SLEEP(pcib, dev, &dstate) == 0) From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 16:47:10 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1BE8C106566B; Wed, 20 Oct 2010 16:47:10 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F30B88FC12; Wed, 20 Oct 2010 16:47:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9KGl9dR062989; Wed, 20 Oct 2010 16:47:09 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9KGl9SM062984; Wed, 20 Oct 2010 16:47:09 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201010201647.o9KGl9SM062984@svn.freebsd.org> From: Jung-uk Kim Date: Wed, 20 Oct 2010 16:47:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214110 - in head/sys/dev: acpica pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 16:47:10 -0000 Author: jkim Date: Wed Oct 20 16:47:09 2010 New Revision: 214110 URL: http://svn.freebsd.org/changeset/base/214110 Log: Introduce a new tunable 'hw.pci.do_power_suspend'. This tunable lets you avoid PCI power state transition from D0 to D3 for suspending case. Default is 1 or enabled. Modified: head/sys/dev/acpica/acpi_pci.c head/sys/dev/pci/pci.c head/sys/dev/pci/pci_pci.c head/sys/dev/pci/pci_private.h Modified: head/sys/dev/acpica/acpi_pci.c ============================================================================== --- head/sys/dev/acpica/acpi_pci.c Wed Oct 20 16:40:14 2010 (r214109) +++ head/sys/dev/acpica/acpi_pci.c Wed Oct 20 16:47:09 2010 (r214110) @@ -179,7 +179,7 @@ acpi_pci_set_powerstate_method(device_t */ ACPI_SERIAL_BEGIN(pci_powerstate); old_state = pci_get_powerstate(child); - if (old_state < state) { + if (old_state < state && pci_do_power_suspend) { error = pci_set_powerstate_method(dev, child, state); if (error) goto out; Modified: head/sys/dev/pci/pci.c ============================================================================== --- head/sys/dev/pci/pci.c Wed Oct 20 16:40:14 2010 (r214109) +++ head/sys/dev/pci/pci.c Wed Oct 20 16:47:09 2010 (r214110) @@ -257,6 +257,12 @@ SYSCTL_INT(_hw_pci, OID_AUTO, do_power_r &pci_do_power_resume, 1, "Transition from D3 -> D0 on resume."); +int pci_do_power_suspend = 1; +TUNABLE_INT("hw.pci.do_power_suspend", &pci_do_power_suspend); +SYSCTL_INT(_hw_pci, OID_AUTO, do_power_suspend, CTLFLAG_RW, + &pci_do_power_suspend, 1, + "Transition from D0 -> D3 on suspend."); + static int pci_do_msi = 1; TUNABLE_INT("hw.pci.enable_msi", &pci_do_msi); SYSCTL_INT(_hw_pci, OID_AUTO, enable_msi, CTLFLAG_RW, &pci_do_msi, 1, @@ -2954,7 +2960,9 @@ pci_suspend(device_t dev) free(devlist, M_TEMP); return (error); } - pci_set_power_children(dev, devlist, numdevs, PCI_POWERSTATE_D3); + if (pci_do_power_suspend) + pci_set_power_children(dev, devlist, numdevs, + PCI_POWERSTATE_D3); free(devlist, M_TEMP); return (0); } Modified: head/sys/dev/pci/pci_pci.c ============================================================================== --- head/sys/dev/pci/pci_pci.c Wed Oct 20 16:40:14 2010 (r214109) +++ head/sys/dev/pci/pci_pci.c Wed Oct 20 16:47:09 2010 (r214110) @@ -447,7 +447,7 @@ pcib_suspend(device_t dev) pcib_cfg_save(device_get_softc(dev)); error = bus_generic_suspend(dev); - if (error == 0) { + if (error == 0 && pci_do_power_suspend) { dstate = PCI_POWERSTATE_D3; pcib = device_get_parent(device_get_parent(dev)); if (PCIB_POWER_FOR_SLEEP(pcib, dev, &dstate) == 0) Modified: head/sys/dev/pci/pci_private.h ============================================================================== --- head/sys/dev/pci/pci_private.h Wed Oct 20 16:40:14 2010 (r214109) +++ head/sys/dev/pci/pci_private.h Wed Oct 20 16:47:09 2010 (r214110) @@ -39,6 +39,7 @@ DECLARE_CLASS(pci_driver); extern int pci_do_power_resume; +extern int pci_do_power_suspend; void pci_add_children(device_t dev, int domain, int busno, size_t dinfo_size); From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 17:05:03 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from [127.0.0.1] (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by hub.freebsd.org (Postfix) with ESMTP id 8724C106566C; Wed, 20 Oct 2010 17:05:02 +0000 (UTC) (envelope-from jkim@FreeBSD.org) From: Jung-uk Kim To: src-committers@FreeBSD.org Date: Wed, 20 Oct 2010 13:04:35 -0400 User-Agent: KMail/1.6.2 References: <201010201647.o9KGl9SM062984@svn.freebsd.org> In-Reply-To: <201010201647.o9KGl9SM062984@svn.freebsd.org> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201010201304.55051.jkim@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org Subject: Re: svn commit: r214110 - in head/sys/dev: acpica pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 17:05:03 -0000 On Wednesday 20 October 2010 12:47 pm, Jung-uk Kim wrote: > Author: jkim > Date: Wed Oct 20 16:47:09 2010 > New Revision: 214110 > URL: http://svn.freebsd.org/changeset/base/214110 > > Log: > Introduce a new tunable 'hw.pci.do_power_suspend'. This tunable > lets you avoid PCI power state transition from D0 to D3 for > suspending case. Default is 1 or enabled. ^ when it is set to zero Jung-uk Kim From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 17:42:11 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3F6E31065697; Wed, 20 Oct 2010 17:42:11 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2267E8FC1B; Wed, 20 Oct 2010 17:42:11 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9KHgBjU064308; Wed, 20 Oct 2010 17:42:11 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9KHgBDs064304; Wed, 20 Oct 2010 17:42:11 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201010201742.o9KHgBDs064304@svn.freebsd.org> From: Xin LI Date: Wed, 20 Oct 2010 17:42:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214111 - in stable/8: share/man/man4 sys/net X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 17:42:11 -0000 Author: delphij Date: Wed Oct 20 17:42:10 2010 New Revision: 214111 URL: http://svn.freebsd.org/changeset/base/214111 Log: MFC r212100 (emaste),213632,214066: Add a new syslog knob, net.link.lagg.failover_rx_all, to control whether to accept input packets on any link in a failover lagg, and add the corresponding documentation. Modified: stable/8/share/man/man4/lagg.4 stable/8/sys/net/if_lagg.c Directory Properties: stable/8/share/man/man4/ (props changed) stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/share/man/man4/lagg.4 ============================================================================== --- stable/8/share/man/man4/lagg.4 Wed Oct 20 16:47:09 2010 (r214110) +++ stable/8/share/man/man4/lagg.4 Wed Oct 20 17:42:10 2010 (r214111) @@ -16,7 +16,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 29, 2009 +.Dd October 18, 2010 .Dt LAGG 4 .Os .Sh NAME @@ -73,11 +73,19 @@ The interface link state is used to vali not. .Bl -tag -width loadbalance .It Ic failover -Sends and receives traffic only through the master port. +Sends traffic only through the active port. If the master port becomes unavailable, the next active port is used. The first interface added is the master port; any interfaces added after that are used as failover devices. +.Pp +By default, received traffic is only accepted when they are received +through the active port. +This constraint can be relaxed by setting the +.Va net.link.lagg.failover_rx_all +.Xr sysctl 8 +variable to a nonzero value, +which is useful for certain bridged network setups. .It Ic fec Supports Cisco EtherChannel. This is a static setup and does not negotiate aggregation with the peer or @@ -153,6 +161,7 @@ device as a workaround.) .Sh SEE ALSO .Xr ng_fec 4 , .Xr ng_one2many 4 , +.Xr sysctl 8 , .Xr ifconfig 8 .Sh HISTORY The Modified: stable/8/sys/net/if_lagg.c ============================================================================== --- stable/8/sys/net/if_lagg.c Wed Oct 20 16:47:09 2010 (r214110) +++ stable/8/sys/net/if_lagg.c Wed Oct 20 17:42:10 2010 (r214111) @@ -159,6 +159,14 @@ static const struct { { LAGG_PROTO_NONE, NULL } }; +SYSCTL_DECL(_net_link); +SYSCTL_NODE(_net_link, OID_AUTO, lagg, CTLFLAG_RW, 0, "Link Aggregation"); + +static int lagg_failover_rx_all = 0; /* Allow input on any failover links */ +SYSCTL_INT(_net_link_lagg, OID_AUTO, failover_rx_all, CTLFLAG_RW, + &lagg_failover_rx_all, 0, + "Accept input from any interface in a failover lagg"); + static int lagg_modevent(module_t mod, int type, void *data) { @@ -1498,7 +1506,7 @@ lagg_fail_input(struct lagg_softc *sc, s struct ifnet *ifp = sc->sc_ifp; struct lagg_port *tmp_tp; - if (lp == sc->sc_primary) { + if (lp == sc->sc_primary || lagg_failover_rx_all) { m->m_pkthdr.rcvif = ifp; return (m); } From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 17:58:12 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D86271065672; Wed, 20 Oct 2010 17:58:12 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C5F378FC18; Wed, 20 Oct 2010 17:58:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9KHwCk1064695; Wed, 20 Oct 2010 17:58:12 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9KHwCqk064692; Wed, 20 Oct 2010 17:58:12 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201010201758.o9KHwCqk064692@svn.freebsd.org> From: Xin LI Date: Wed, 20 Oct 2010 17:58:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214112 - in stable/7: share/man/man4 sys/net X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 17:58:13 -0000 Author: delphij Date: Wed Oct 20 17:58:12 2010 New Revision: 214112 URL: http://svn.freebsd.org/changeset/base/214112 Log: MFC r190527,190528,190531: 190527(sam): fix wired-wireless failover example and remove incorrect comment about WPA not working 190528(sam): remove bogus nwid use; that's a compat shim for netbsd 190531(bruffer): Fix typo. MFC r212100 (emaste),213632,214066: Add a new syslog knob, net.link.lagg.failover_rx_all, to control whether to accept input packets on any link in a failover lagg, and add the corresponding documentation. Modified: stable/7/share/man/man4/lagg.4 stable/7/sys/net/if_lagg.c Directory Properties: stable/7/share/man/man4/ (props changed) stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/share/man/man4/lagg.4 ============================================================================== --- stable/7/share/man/man4/lagg.4 Wed Oct 20 17:42:10 2010 (r214111) +++ stable/7/share/man/man4/lagg.4 Wed Oct 20 17:58:12 2010 (r214112) @@ -16,7 +16,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 17, 2007 +.Dd October 18, 2010 .Dt LAGG 4 .Os .Sh NAME @@ -73,11 +73,19 @@ The interface link state is used to vali not. .Bl -tag -width loadbalance .It Ic failover -Sends and receives traffic only through the master port. +Sends traffic only through the active port. If the master port becomes unavailable, the next active port is used. The first interface added is the master port; any interfaces added after that are used as failover devices. +.Pp +By default, received traffic is only accepted when they are received +through the active port. +This constraint can be relaxed by setting the +.Va net.link.lagg.failover_rx_all +.Xr sysctl 8 +variable to a nonzero value, +which is useful for certain bridged network setups. .It Ic fec Supports Cisco EtherChannel. This is a static setup and does not negotiate aggregation with the peer or @@ -142,13 +150,18 @@ Whenever the wired master interface is u device will be used: .Bd -literal -offset indent # ifconfig em0 up -# ifconfig ath0 nwid my_net up -# ifconfig lagg0 laggproto failover laggport em0 laggport ath0 \e +# ifconfig ath0 ether 00:11:22:33:44:55 +# ifconfig create wlan0 wlandev ath0 ssid my_net up +# ifconfig lagg0 laggproto failover laggport em0 laggport wlan0 \e 192.168.1.1 netmask 255.255.255.0 .Ed +.Pp +(Note the mac address of the wireless device is forced to match the wired +device as a workaround.) .Sh SEE ALSO .Xr ng_fec 4 , .Xr ng_one2many 4 , +.Xr sysctl 8 , .Xr ifconfig 8 .Sh HISTORY The @@ -172,6 +185,3 @@ There is no way to configure LACP admini and port priorities. The current implementation always performs active-mode LACP and uses 0x8000 as system and port priorities. -.Pp -WPA security does not currently work correctly with a wireless interface added -to the lagg port. Modified: stable/7/sys/net/if_lagg.c ============================================================================== --- stable/7/sys/net/if_lagg.c Wed Oct 20 17:42:10 2010 (r214111) +++ stable/7/sys/net/if_lagg.c Wed Oct 20 17:58:12 2010 (r214112) @@ -159,6 +159,14 @@ static const struct { { LAGG_PROTO_NONE, NULL } }; +SYSCTL_DECL(_net_link); +SYSCTL_NODE(_net_link, OID_AUTO, lagg, CTLFLAG_RW, 0, "Link Aggregation"); + +static int lagg_failover_rx_all = 0; /* Allow input on any failover links */ +SYSCTL_INT(_net_link_lagg, OID_AUTO, failover_rx_all, CTLFLAG_RW, + &lagg_failover_rx_all, 0, + "Accept input from any interface in a failover lagg"); + static int lagg_modevent(module_t mod, int type, void *data) { @@ -1476,7 +1484,7 @@ lagg_fail_input(struct lagg_softc *sc, s struct ifnet *ifp = sc->sc_ifp; struct lagg_port *tmp_tp; - if (lp == sc->sc_primary) { + if (lp == sc->sc_primary || lagg_failover_rx_all) { m->m_pkthdr.rcvif = ifp; return (m); } From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 18:25:00 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C2C50106566B; Wed, 20 Oct 2010 18:25:00 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AE4938FC13; Wed, 20 Oct 2010 18:25:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9KIP0r9065265; Wed, 20 Oct 2010 18:25:00 GMT (envelope-from obrien@svn.freebsd.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9KIP0dW065248; Wed, 20 Oct 2010 18:25:00 GMT (envelope-from obrien@svn.freebsd.org) Message-Id: <201010201825.o9KIP0dW065248@svn.freebsd.org> From: "David E. O'Brien" Date: Wed, 20 Oct 2010 18:25:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214113 - stable/8/bin/sh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 18:25:00 -0000 Author: obrien Date: Wed Oct 20 18:25:00 2010 New Revision: 214113 URL: http://svn.freebsd.org/changeset/base/214113 Log: MFC r213811: c89 linkage and storage class (also covers r213744, r213760) Modified: stable/8/bin/sh/alias.c stable/8/bin/sh/cd.c stable/8/bin/sh/eval.c stable/8/bin/sh/exec.c stable/8/bin/sh/expand.c stable/8/bin/sh/histedit.c stable/8/bin/sh/input.c stable/8/bin/sh/jobs.c stable/8/bin/sh/mail.c stable/8/bin/sh/main.c stable/8/bin/sh/memalloc.c stable/8/bin/sh/nodes.c.pat stable/8/bin/sh/options.c stable/8/bin/sh/output.c stable/8/bin/sh/parser.c stable/8/bin/sh/redir.c stable/8/bin/sh/shell.h stable/8/bin/sh/show.c stable/8/bin/sh/var.c Directory Properties: stable/8/bin/sh/ (props changed) Modified: stable/8/bin/sh/alias.c ============================================================================== --- stable/8/bin/sh/alias.c Wed Oct 20 17:58:12 2010 (r214112) +++ stable/8/bin/sh/alias.c Wed Oct 20 18:25:00 2010 (r214113) @@ -49,14 +49,14 @@ __FBSDID("$FreeBSD$"); #define ATABSIZE 39 -STATIC struct alias *atab[ATABSIZE]; -STATIC int aliases; +static struct alias *atab[ATABSIZE]; +static int aliases; -STATIC void setalias(const char *, const char *); -STATIC int unalias(const char *); -STATIC struct alias **hashalias(const char *); +static void setalias(const char *, const char *); +static int unalias(const char *); +static struct alias **hashalias(const char *); -STATIC +static void setalias(const char *name, const char *val) { @@ -111,7 +111,7 @@ setalias(const char *name, const char *v INTON; } -STATIC int +static int unalias(const char *name) { struct alias *ap, **app; @@ -276,7 +276,7 @@ unaliascmd(int argc __unused, char **arg return (i); } -STATIC struct alias ** +static struct alias ** hashalias(const char *p) { unsigned int hashval; Modified: stable/8/bin/sh/cd.c ============================================================================== --- stable/8/bin/sh/cd.c Wed Oct 20 17:58:12 2010 (r214112) +++ stable/8/bin/sh/cd.c Wed Oct 20 18:25:00 2010 (r214113) @@ -64,17 +64,17 @@ __FBSDID("$FreeBSD$"); #include "show.h" #include "cd.h" -STATIC int cdlogical(char *); -STATIC int cdphysical(char *); -STATIC int docd(char *, int, int); -STATIC char *getcomponent(void); -STATIC char *findcwd(char *); -STATIC void updatepwd(char *); -STATIC char *getpwd2(void); - -STATIC char *curdir = NULL; /* current working directory */ -STATIC char *prevdir; /* previous working directory */ -STATIC char *cdcomppath; +static int cdlogical(char *); +static int cdphysical(char *); +static int docd(char *, int, int); +static char *getcomponent(void); +static char *findcwd(char *); +static void updatepwd(char *); +static char *getpwd2(void); + +static char *curdir = NULL; /* current working directory */ +static char *prevdir; /* previous working directory */ +static char *cdcomppath; int cdcmd(int argc, char **argv) @@ -144,7 +144,7 @@ cdcmd(int argc, char **argv) * Actually change the directory. In an interactive shell, print the * directory name if "print" is nonzero. */ -STATIC int +static int docd(char *dest, int print, int phys) { @@ -160,7 +160,7 @@ docd(char *dest, int print, int phys) return 0; } -STATIC int +static int cdlogical(char *dest) { char *p; @@ -212,7 +212,7 @@ cdlogical(char *dest) return (0); } -STATIC int +static int cdphysical(char *dest) { char *p; @@ -231,7 +231,7 @@ cdphysical(char *dest) * Get the next component of the path name pointed to by cdcomppath. * This routine overwrites the string pointed to by cdcomppath. */ -STATIC char * +static char * getcomponent(void) { char *p; @@ -252,7 +252,7 @@ getcomponent(void) } -STATIC char * +static char * findcwd(char *dir) { char *new; @@ -295,7 +295,7 @@ findcwd(char *dir) * cd command. We also call hashcd to let the routines in exec.c know * that the current directory has changed. */ -STATIC void +static void updatepwd(char *dir) { hashcd(); /* update command hash table */ @@ -371,7 +371,7 @@ getpwd(void) /* * Return the current directory. */ -STATIC char * +static char * getpwd2(void) { struct stat stdot, stpwd; Modified: stable/8/bin/sh/eval.c ============================================================================== --- stable/8/bin/sh/eval.c Wed Oct 20 17:58:12 2010 (r214112) +++ stable/8/bin/sh/eval.c Wed Oct 20 18:25:00 2010 (r214113) @@ -75,10 +75,10 @@ __FBSDID("$FreeBSD$"); int evalskip; /* set if we are skipping commands */ -STATIC int skipcount; /* number of levels to skip */ +static int skipcount; /* number of levels to skip */ MKINIT int loopnest; /* current loop nesting level */ int funcnest; /* depth of function calls */ -STATIC int builtin_flags; /* evalcommand flags for builtins */ +static int builtin_flags; /* evalcommand flags for builtins */ char *commandname; @@ -87,14 +87,14 @@ int exitstatus; /* exit status of last int oexitstatus; /* saved exit status */ -STATIC void evalloop(union node *, int); -STATIC void evalfor(union node *, int); -STATIC void evalcase(union node *, int); -STATIC void evalsubshell(union node *, int); -STATIC void expredir(union node *); -STATIC void evalpipe(union node *); -STATIC void evalcommand(union node *, int, struct backcmd *); -STATIC void prehash(union node *); +static void evalloop(union node *, int); +static void evalfor(union node *, int); +static void evalcase(union node *, int); +static void evalsubshell(union node *, int); +static void expredir(union node *); +static void evalpipe(union node *); +static void evalcommand(union node *, int, struct backcmd *); +static void prehash(union node *); /* @@ -285,7 +285,7 @@ out: } -STATIC void +static void evalloop(union node *n, int flags) { int status; @@ -321,7 +321,7 @@ skipping: if (evalskip == SKIPCONT && -STATIC void +static void evalfor(union node *n, int flags) { struct arglist arglist; @@ -361,7 +361,7 @@ out: -STATIC void +static void evalcase(union node *n, int flags) { union node *cp; @@ -394,7 +394,7 @@ out: * Kick off a subshell to evaluate a tree. */ -STATIC void +static void evalsubshell(union node *n, int flags) { struct job *jp; @@ -420,7 +420,7 @@ evalsubshell(union node *n, int flags) * Compute the names of the files in a redirection list. */ -STATIC void +static void expredir(union node *n) { union node *redir; @@ -458,7 +458,7 @@ expredir(union node *n) * of all the rest.) */ -STATIC void +static void evalpipe(union node *n) { struct job *jp; @@ -571,7 +571,7 @@ out: * Execute a simple command. */ -STATIC void +static void evalcommand(union node *cmd, int flags, struct backcmd *backcmd) { struct stackmark smark; @@ -926,7 +926,7 @@ out: * check that the name will not be subject to expansion. */ -STATIC void +static void prehash(union node *n) { struct cmdentry entry; Modified: stable/8/bin/sh/exec.c ============================================================================== --- stable/8/bin/sh/exec.c Wed Oct 20 17:58:12 2010 (r214112) +++ stable/8/bin/sh/exec.c Wed Oct 20 18:25:00 2010 (r214113) @@ -91,15 +91,15 @@ struct tblentry { }; -STATIC struct tblentry *cmdtable[CMDTABLESIZE]; -STATIC int builtinloc = -1; /* index in path of %builtin, or -1 */ +static struct tblentry *cmdtable[CMDTABLESIZE]; +static int builtinloc = -1; /* index in path of %builtin, or -1 */ int exerrno = 0; /* Last exec error */ -STATIC void tryexec(char *, char **, char **); -STATIC void printentry(struct tblentry *, int); -STATIC struct tblentry *cmdlookup(const char *, int); -STATIC void delete_cmd_entry(void); +static void tryexec(char *, char **, char **); +static void printentry(struct tblentry *, int); +static struct tblentry *cmdlookup(const char *, int); +static void delete_cmd_entry(void); @@ -147,7 +147,7 @@ shellexec(char **argv, char **envp, cons } -STATIC void +static void tryexec(char *cmd, char **argv, char **envp) { int e; @@ -265,7 +265,7 @@ hashcmd(int argc __unused, char **argv _ } -STATIC void +static void printentry(struct tblentry *cmdp, int verbose) { int idx; @@ -604,10 +604,10 @@ deletefuncs(void) * entry. */ -STATIC struct tblentry **lastcmdentry; +static struct tblentry **lastcmdentry; -STATIC struct tblentry * +static struct tblentry * cmdlookup(const char *name, int add) { int hashval; @@ -644,7 +644,7 @@ cmdlookup(const char *name, int add) * Delete the command entry returned on the last lookup. */ -STATIC void +static void delete_cmd_entry(void) { struct tblentry *cmdp; Modified: stable/8/bin/sh/expand.c ============================================================================== --- stable/8/bin/sh/expand.c Wed Oct 20 17:58:12 2010 (r214112) +++ stable/8/bin/sh/expand.c Wed Oct 20 18:25:00 2010 (r214113) @@ -88,32 +88,32 @@ struct ifsregion { }; -STATIC char *expdest; /* output of current string */ -STATIC struct nodelist *argbackq; /* list of back quote expressions */ -STATIC struct ifsregion ifsfirst; /* first struct in list of ifs regions */ -STATIC struct ifsregion *ifslastp; /* last struct in list */ -STATIC struct arglist exparg; /* holds expanded arg list */ - -STATIC void argstr(char *, int); -STATIC char *exptilde(char *, int); -STATIC void expbackq(union node *, int, int); -STATIC int subevalvar(char *, char *, int, int, int, int); -STATIC char *evalvar(char *, int); -STATIC int varisset(char *, int); -STATIC void varvalue(char *, int, int, int); -STATIC void recordregion(int, int, int); -STATIC void removerecordregions(int); -STATIC void ifsbreakup(char *, struct arglist *); -STATIC void expandmeta(struct strlist *, int); -STATIC void expmeta(char *, char *); -STATIC void addfname(char *); -STATIC struct strlist *expsort(struct strlist *); -STATIC struct strlist *msort(struct strlist *, int); -STATIC int pmatch(const char *, const char *, int); -STATIC char *cvtnum(int, char *); -STATIC int collate_range_cmp(int, int); +static char *expdest; /* output of current string */ +static struct nodelist *argbackq; /* list of back quote expressions */ +static struct ifsregion ifsfirst; /* first struct in list of ifs regions */ +static struct ifsregion *ifslastp; /* last struct in list */ +static struct arglist exparg; /* holds expanded arg list */ + +static void argstr(char *, int); +static char *exptilde(char *, int); +static void expbackq(union node *, int, int); +static int subevalvar(char *, char *, int, int, int, int); +static char *evalvar(char *, int); +static int varisset(char *, int); +static void varvalue(char *, int, int, int); +static void recordregion(int, int, int); +static void removerecordregions(int); +static void ifsbreakup(char *, struct arglist *); +static void expandmeta(struct strlist *, int); +static void expmeta(char *, char *); +static void addfname(char *); +static struct strlist *expsort(struct strlist *); +static struct strlist *msort(struct strlist *, int); +static int pmatch(const char *, const char *, int); +static char *cvtnum(int, char *); +static int collate_range_cmp(int, int); -STATIC int +static int collate_range_cmp(int c1, int c2) { static char s1[2], s2[2]; @@ -201,7 +201,7 @@ expandarg(union node *arg, struct arglis * $@ like $* since no splitting will be performed. */ -STATIC void +static void argstr(char *p, int flag) { char c; @@ -263,7 +263,7 @@ argstr(char *p, int flag) breakloop:; } -STATIC char * +static char * exptilde(char *p, int flag) { char c, *startp = p; @@ -311,7 +311,7 @@ lose: } -STATIC void +static void removerecordregions(int endoff) { if (ifslastp == NULL) @@ -410,7 +410,7 @@ expari(int flag) * Expand stuff in backwards quotes. */ -STATIC void +static void expbackq(union node *cmd, int quoted, int flag) { struct backcmd in; @@ -490,7 +490,7 @@ expbackq(union node *cmd, int quoted, in -STATIC int +static int subevalvar(char *p, char *str, int strloc, int subtype, int startloc, int varflags) { @@ -616,7 +616,7 @@ recordleft: * input string. */ -STATIC char * +static char * evalvar(char *p, int flag) { int subtype; @@ -804,7 +804,7 @@ record: * Test whether a specialized variable is set. */ -STATIC int +static int varisset(char *name, int nulok) { @@ -846,7 +846,7 @@ varisset(char *name, int nulok) * Add the value of a specialized variable to the stack string. */ -STATIC void +static void varvalue(char *name, int quoted, int subtype, int flag) { int num; @@ -936,7 +936,7 @@ numvar: * string for IFS characters. */ -STATIC void +static void recordregion(int start, int end, int inquotes) { struct ifsregion *ifsp; @@ -967,7 +967,7 @@ recordregion(int start, int end, int inq * strings to the argument list. The regions of the string to be * searched for IFS characters have been stored by recordregion. */ -STATIC void +static void ifsbreakup(char *string, struct arglist *arglist) { struct ifsregion *ifsp; @@ -1073,10 +1073,10 @@ ifsbreakup(char *string, struct arglist * should be escapes. The results are stored in the list exparg. */ -STATIC char expdir[PATH_MAX]; +static char expdir[PATH_MAX]; #define expdir_end (expdir + sizeof(expdir)) -STATIC void +static void expandmeta(struct strlist *str, int flag __unused) { char *p; @@ -1123,7 +1123,7 @@ nometa: * Do metacharacter (i.e. *, ?, [...]) expansion. */ -STATIC void +static void expmeta(char *enddir, char *name) { char *p; @@ -1261,7 +1261,7 @@ expmeta(char *enddir, char *name) * Add a file name to the list. */ -STATIC void +static void addfname(char *name) { char *p; @@ -1282,7 +1282,7 @@ addfname(char *name) * work. */ -STATIC struct strlist * +static struct strlist * expsort(struct strlist *str) { int len; @@ -1295,7 +1295,7 @@ expsort(struct strlist *str) } -STATIC struct strlist * +static struct strlist * msort(struct strlist *list, int len) { struct strlist *p, *q = NULL; @@ -1353,7 +1353,7 @@ patmatch(const char *pattern, const char } -STATIC int +static int pmatch(const char *pattern, const char *string, int squoted) { const char *p, *q; @@ -1530,7 +1530,7 @@ casematch(union node *pattern, const cha * Our own itoa(). */ -STATIC char * +static char * cvtnum(int num, char *buf) { char temp[32]; Modified: stable/8/bin/sh/histedit.c ============================================================================== --- stable/8/bin/sh/histedit.c Wed Oct 20 17:58:12 2010 (r214112) +++ stable/8/bin/sh/histedit.c Wed Oct 20 18:25:00 2010 (r214113) @@ -68,7 +68,7 @@ EditLine *el; /* editline cookie */ int displayhist; static FILE *el_in, *el_out, *el_err; -STATIC char *fc_replace(const char *, char *, char *); +static char *fc_replace(const char *, char *, char *); /* * Set history and editing status. Called whenever the status may @@ -383,7 +383,7 @@ histcmd(int argc, char **argv) return 0; } -STATIC char * +static char * fc_replace(const char *s, char *p, char *r) { char *dest; Modified: stable/8/bin/sh/input.c ============================================================================== --- stable/8/bin/sh/input.c Wed Oct 20 17:58:12 2010 (r214112) +++ stable/8/bin/sh/input.c Wed Oct 20 18:25:00 2010 (r214113) @@ -98,13 +98,13 @@ MKINIT int parselleft; /* copy of parse char *parsenextc; /* copy of parsefile->nextc */ MKINIT struct parsefile basepf; /* top level input file */ char basebuf[BUFSIZ]; /* buffer for top level input file */ -STATIC struct parsefile *parsefile = &basepf; /* current input file */ +static struct parsefile *parsefile = &basepf; /* current input file */ int init_editline = 0; /* editline library initialized? */ int whichprompt; /* 1 == PS1, 2 == PS2 */ EditLine *el; /* cookie for editline package */ -STATIC void pushfile(void); +static void pushfile(void); static int preadfd(void); #ifdef mkinit @@ -468,7 +468,7 @@ setinputstring(char *string, int push) * adds a new entry to the stack and popfile restores the previous level. */ -STATIC void +static void pushfile(void) { struct parsefile *pf; Modified: stable/8/bin/sh/jobs.c ============================================================================== --- stable/8/bin/sh/jobs.c Wed Oct 20 17:58:12 2010 (r214112) +++ stable/8/bin/sh/jobs.c Wed Oct 20 18:25:00 2010 (r214113) @@ -72,12 +72,12 @@ __FBSDID("$FreeBSD$"); #include "mystring.h" -STATIC struct job *jobtab; /* array of jobs */ -STATIC int njobs; /* size of array */ +static struct job *jobtab; /* array of jobs */ +static int njobs; /* size of array */ MKINIT pid_t backgndpid = -1; /* pid of last background process */ #if JOBS -STATIC struct job *jobmru; /* most recently used job list */ -STATIC pid_t initialpgrp; /* pgrp of shell on invocation */ +static struct job *jobmru; /* most recently used job list */ +static pid_t initialpgrp; /* pgrp of shell on invocation */ #endif int in_waitcmd = 0; /* are we in waitcmd()? */ int in_dowait = 0; /* are we in dowait()? */ @@ -85,20 +85,20 @@ volatile sig_atomic_t breakwaitcmd = 0; static int ttyfd = -1; #if JOBS -STATIC void restartjob(struct job *); +static void restartjob(struct job *); #endif -STATIC void freejob(struct job *); -STATIC struct job *getjob(char *); -STATIC pid_t dowait(int, struct job *); -STATIC pid_t waitproc(int, int *); -STATIC void cmdtxt(union node *); -STATIC void cmdputs(const char *); -#if JOBS -STATIC void setcurjob(struct job *); -STATIC void deljob(struct job *); -STATIC struct job *getcurjob(struct job *); +static void freejob(struct job *); +static struct job *getjob(char *); +static pid_t dowait(int, struct job *); +static pid_t waitproc(int, int *); +static void cmdtxt(union node *); +static void cmdputs(const char *); +#if JOBS +static void setcurjob(struct job *); +static void deljob(struct job *); +static struct job *getcurjob(struct job *); #endif -STATIC void showjob(struct job *, pid_t, int); +static void showjob(struct job *, pid_t, int); /* @@ -239,7 +239,7 @@ bgcmd(int argc, char **argv) } -STATIC void +static void restartjob(struct job *jp) { struct procstat *ps; @@ -298,7 +298,7 @@ jobscmd(int argc, char *argv[]) return (0); } -STATIC void +static void showjob(struct job *jp, pid_t pid, int mode) { char s[64]; @@ -423,7 +423,7 @@ showjobs(int change, int mode) * Mark a job structure as unused. */ -STATIC void +static void freejob(struct job *jp) { struct procstat *ps; @@ -519,7 +519,7 @@ jobidcmd(int argc __unused, char **argv) * Convert a job name to a job structure. */ -STATIC struct job * +static struct job * getjob(char *name) { int jobno; @@ -659,7 +659,7 @@ makejob(union node *node __unused, int n } #if JOBS -STATIC void +static void setcurjob(struct job *cj) { struct job *jp, *prev; @@ -679,7 +679,7 @@ setcurjob(struct job *cj) jobmru = cj; } -STATIC void +static void deljob(struct job *j) { struct job *jp, *prev; @@ -699,7 +699,7 @@ deljob(struct job *j) * Return the most recently used job that isn't `nj', and preferably one * that is stopped. */ -STATIC struct job * +static struct job * getcurjob(struct job *nj) { struct job *jp; @@ -915,7 +915,7 @@ waitforjob(struct job *jp, int *origstat * Wait for a process to terminate. */ -STATIC pid_t +static pid_t dowait(int block, struct job *job) { pid_t pid; @@ -1021,7 +1021,7 @@ dowait(int block, struct job *job) * stopped processes. If block is zero, we return a value of zero * rather than blocking. */ -STATIC pid_t +static pid_t waitproc(int block, int *status) { int flags; @@ -1066,8 +1066,8 @@ stoppedjobs(void) * jobs command. */ -STATIC char *cmdnextc; -STATIC int cmdnleft; +static char *cmdnextc; +static int cmdnleft; #define MAXCMDTEXT 200 char * @@ -1083,7 +1083,7 @@ commandtext(union node *n) } -STATIC void +static void cmdtxt(union node *n) { union node *np; @@ -1216,7 +1216,7 @@ redir: -STATIC void +static void cmdputs(const char *s) { const char *p; Modified: stable/8/bin/sh/mail.c ============================================================================== --- stable/8/bin/sh/mail.c Wed Oct 20 17:58:12 2010 (r214112) +++ stable/8/bin/sh/mail.c Wed Oct 20 18:25:00 2010 (r214113) @@ -57,8 +57,8 @@ __FBSDID("$FreeBSD$"); #define MAXMBOXES 10 -STATIC int nmboxes; /* number of mailboxes */ -STATIC time_t mailtime[MAXMBOXES]; /* times of mailboxes */ +static int nmboxes; /* number of mailboxes */ +static time_t mailtime[MAXMBOXES]; /* times of mailboxes */ Modified: stable/8/bin/sh/main.c ============================================================================== --- stable/8/bin/sh/main.c Wed Oct 20 17:58:12 2010 (r214112) +++ stable/8/bin/sh/main.c Wed Oct 20 18:25:00 2010 (r214113) @@ -76,8 +76,8 @@ __FBSDID("$FreeBSD$"); int rootpid; int rootshell; -STATIC void read_profile(const char *); -STATIC char *find_dot_file(char *); +static void read_profile(const char *); +static char *find_dot_file(char *); /* * Main routine. We initialize things, parse the arguments, execute @@ -249,7 +249,7 @@ cmdloop(int top) * Read /etc/profile or .profile. Return on error. */ -STATIC void +static void read_profile(const char *name) { int fd; @@ -293,7 +293,7 @@ readcmdfile(const char *name) */ -STATIC char * +static char * find_dot_file(char *basename) { static char localname[FILENAME_MAX+1]; Modified: stable/8/bin/sh/memalloc.c ============================================================================== --- stable/8/bin/sh/memalloc.c Wed Oct 20 17:58:12 2010 (r214112) +++ stable/8/bin/sh/memalloc.c Wed Oct 20 18:25:00 2010 (r214113) @@ -123,8 +123,8 @@ struct stack_block { }; #define SPACE(sp) ((char*)(sp) + ALIGN(sizeof(struct stack_block))) -STATIC struct stack_block *stackp; -STATIC struct stackmark *markp; +static struct stack_block *stackp; +static struct stackmark *markp; char *stacknxt; int stacknleft; int sstrnleft; Modified: stable/8/bin/sh/nodes.c.pat ============================================================================== --- stable/8/bin/sh/nodes.c.pat Wed Oct 20 17:58:12 2010 (r214112) +++ stable/8/bin/sh/nodes.c.pat Wed Oct 20 18:25:00 2010 (r214113) @@ -46,19 +46,19 @@ #include "mystring.h" -STATIC int funcblocksize; /* size of structures in function */ -STATIC int funcstringsize; /* size of strings in node */ -STATIC pointer funcblock; /* block to allocate function from */ -STATIC char *funcstring; /* block to allocate strings from */ +static int funcblocksize; /* size of structures in function */ +static int funcstringsize; /* size of strings in node */ +static pointer funcblock; /* block to allocate function from */ +static char *funcstring; /* block to allocate strings from */ %SIZES -STATIC void calcsize(union node *); -STATIC void sizenodelist(struct nodelist *); -STATIC union node *copynode(union node *); -STATIC struct nodelist *copynodelist(struct nodelist *); -STATIC char *nodesavestr(char *); +static void calcsize(union node *); +static void sizenodelist(struct nodelist *); +static union node *copynode(union node *); +static struct nodelist *copynodelist(struct nodelist *); +static char *nodesavestr(char *); struct funcdef { @@ -96,7 +96,7 @@ getfuncnode(struct funcdef *fn) } -STATIC void +static void calcsize(union node *n) { %CALCSIZE @@ -104,7 +104,7 @@ calcsize(union node *n) -STATIC void +static void sizenodelist(struct nodelist *lp) { while (lp) { @@ -116,7 +116,7 @@ sizenodelist(struct nodelist *lp) -STATIC union node * +static union node * copynode(union node *n) { union node *new; @@ -126,7 +126,7 @@ copynode(union node *n) } -STATIC struct nodelist * +static struct nodelist * copynodelist(struct nodelist *lp) { struct nodelist *start; @@ -146,7 +146,7 @@ copynodelist(struct nodelist *lp) -STATIC char * +static char * nodesavestr(char *s) { char *p = s; Modified: stable/8/bin/sh/options.c ============================================================================== --- stable/8/bin/sh/options.c Wed Oct 20 17:58:12 2010 (r214112) +++ stable/8/bin/sh/options.c Wed Oct 20 18:25:00 2010 (r214113) @@ -69,10 +69,10 @@ char *nextopt_optptr; /* used by nextop char *minusc; /* argument to -c option */ -STATIC void options(int); -STATIC void minus_o(char *, int); -STATIC void setoption(int, int); -STATIC int getopts(char *, char *, char **, char ***, char **); +static void options(int); +static void minus_o(char *, int); +static void setoption(int, int); +static int getopts(char *, char *, char **, char ***, char **); /* @@ -135,7 +135,7 @@ optschanged(void) * to the argument list; we advance it past the options. */ -STATIC void +static void options(int cmdline) { char *kp, *p; @@ -244,7 +244,7 @@ end_options2: } } -STATIC void +static void minus_o(char *name, int val) { int i; @@ -281,7 +281,7 @@ minus_o(char *name, int val) } -STATIC void +static void setoption(int flag, int val) { int i; @@ -448,7 +448,7 @@ getoptscmd(int argc, char **argv) &shellparam.optptr); } -STATIC int +static int getopts(char *optstr, char *optvar, char **optfirst, char ***optnext, char **optptr) { Modified: stable/8/bin/sh/output.c ============================================================================== --- stable/8/bin/sh/output.c Wed Oct 20 17:58:12 2010 (r214112) +++ stable/8/bin/sh/output.c Wed Oct 20 18:25:00 2010 (r214113) @@ -167,7 +167,7 @@ outqstr(const char *p, struct output *fi outc('\'', file); } -STATIC char out_junk[16]; +static char out_junk[16]; void emptyoutbuf(struct output *dest) Modified: stable/8/bin/sh/parser.c ============================================================================== --- stable/8/bin/sh/parser.c Wed Oct 20 17:58:12 2010 (r214112) +++ stable/8/bin/sh/parser.c Wed Oct 20 18:25:00 2010 (r214113) @@ -82,41 +82,41 @@ struct heredoc { -STATIC struct heredoc *heredoclist; /* list of here documents to read */ -STATIC int parsebackquote; /* nonzero if we are inside backquotes */ -STATIC int doprompt; /* if set, prompt the user */ -STATIC int needprompt; /* true if interactive and at start of line */ -STATIC int lasttoken; /* last token read */ +static struct heredoc *heredoclist; /* list of here documents to read */ +static int parsebackquote; /* nonzero if we are inside backquotes */ +static int doprompt; /* if set, prompt the user */ +static int needprompt; /* true if interactive and at start of line */ +static int lasttoken; /* last token read */ MKINIT int tokpushback; /* last token pushed back */ -STATIC char *wordtext; /* text of last word returned by readtoken */ +static char *wordtext; /* text of last word returned by readtoken */ MKINIT int checkkwd; /* 1 == check for kwds, 2 == also eat newlines */ -STATIC struct nodelist *backquotelist; -STATIC union node *redirnode; -STATIC struct heredoc *heredoc; -STATIC int quoteflag; /* set if (part of) last token was quoted */ -STATIC int startlinno; /* line # where last token started */ -STATIC int funclinno; /* line # where the current function started */ +static struct nodelist *backquotelist; +static union node *redirnode; +static struct heredoc *heredoc; +static int quoteflag; /* set if (part of) last token was quoted */ +static int startlinno; /* line # where last token started */ +static int funclinno; /* line # where the current function started */ /* XXX When 'noaliases' is set to one, no alias expansion takes place. */ static int noaliases = 0; -STATIC union node *list(int); -STATIC union node *andor(void); -STATIC union node *pipeline(void); -STATIC union node *command(void); -STATIC union node *simplecmd(union node **, union node *); -STATIC union node *makename(void); -STATIC void parsefname(void); -STATIC void parseheredoc(void); -STATIC int peektoken(void); -STATIC int readtoken(void); -STATIC int xxreadtoken(void); -STATIC int readtoken1(int, char const *, char *, int); -STATIC int noexpand(char *); -STATIC void synexpect(int); -STATIC void synerror(const char *); -STATIC void setprompt(int); +static union node *list(int); +static union node *andor(void); +static union node *pipeline(void); +static union node *command(void); +static union node *simplecmd(union node **, union node *); +static union node *makename(void); +static void parsefname(void); +static void parseheredoc(void); +static int peektoken(void); +static int readtoken(void); +static int xxreadtoken(void); +static int readtoken1(int, char const *, char *, int); +static int noexpand(char *); +static void synexpect(int); +static void synerror(const char *); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 19:52:27 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 68E71106564A; Wed, 20 Oct 2010 19:52:27 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 57CE78FC12; Wed, 20 Oct 2010 19:52:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9KJqRG1067159; Wed, 20 Oct 2010 19:52:27 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9KJqRMs067157; Wed, 20 Oct 2010 19:52:27 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010201952.o9KJqRMs067157@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Wed, 20 Oct 2010 19:52:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214114 - head/sys/boot/common X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 19:52:27 -0000 Author: pjd Date: Wed Oct 20 19:52:27 2010 New Revision: 214114 URL: http://svn.freebsd.org/changeset/base/214114 Log: Correct typos. Modified: head/sys/boot/common/gpt.c Modified: head/sys/boot/common/gpt.c ============================================================================== --- head/sys/boot/common/gpt.c Wed Oct 20 18:25:00 2010 (r214113) +++ head/sys/boot/common/gpt.c Wed Oct 20 19:52:27 2010 (r214114) @@ -49,7 +49,7 @@ static int curent, bootonce; /* * Buffer below 64kB passed on gptread(), which can hold at least - * one sector od data (512 bytes). + * one sector of data (512 bytes). */ static char *secbuf; @@ -62,7 +62,7 @@ gptupdate(const char *which, struct dsk /* * We need to update the following for both primary and backup GPT: - * 1. Sector on disk that contains curent partition. + * 1. Sector on disk that contains current partition. * 2. Partition table checksum. * 3. Header checksum. * 4. Header on disk. From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 19:53:30 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1049610656E7; Wed, 20 Oct 2010 19:53:30 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D88678FC12; Wed, 20 Oct 2010 19:53:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9KJrTfC067216; Wed, 20 Oct 2010 19:53:29 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9KJrTki067214; Wed, 20 Oct 2010 19:53:29 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <201010201953.o9KJrTki067214@svn.freebsd.org> From: Ed Schouten Date: Wed, 20 Oct 2010 19:53:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214115 - head/usr.bin/login X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 19:53:30 -0000 Author: ed Date: Wed Oct 20 19:53:29 2010 New Revision: 214115 URL: http://svn.freebsd.org/changeset/base/214115 Log: Get rid of hand-rolled closefrom(3). Modified: head/usr.bin/login/login.c Modified: head/usr.bin/login/login.c ============================================================================== --- head/usr.bin/login/login.c Wed Oct 20 19:52:27 2010 (r214114) +++ head/usr.bin/login/login.c Wed Oct 20 19:53:29 2010 (r214115) @@ -233,8 +233,7 @@ main(int argc, char *argv[]) setproctitle("-%s", getprogname()); - for (cnt = getdtablesize(); cnt > 2; cnt--) - (void)close(cnt); + closefrom(3); /* * Get current TTY From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 20:01:45 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CCECB106566B; Wed, 20 Oct 2010 20:01:45 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A153E8FC0A; Wed, 20 Oct 2010 20:01:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9KK1jnN067463; Wed, 20 Oct 2010 20:01:45 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9KK1jWg067459; Wed, 20 Oct 2010 20:01:45 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010202001.o9KK1jWg067459@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Wed, 20 Oct 2010 20:01:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214116 - head/sys/geom/eli X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 20:01:45 -0000 Author: pjd Date: Wed Oct 20 20:01:45 2010 New Revision: 214116 URL: http://svn.freebsd.org/changeset/base/214116 Log: - Add missing comments. - Make a comment consistent with others. Modified: head/sys/geom/eli/g_eli.c head/sys/geom/eli/g_eli_integrity.c head/sys/geom/eli/g_eli_privacy.c Modified: head/sys/geom/eli/g_eli.c ============================================================================== --- head/sys/geom/eli/g_eli.c Wed Oct 20 19:53:29 2010 (r214115) +++ head/sys/geom/eli/g_eli.c Wed Oct 20 20:01:45 2010 (r214116) @@ -245,8 +245,10 @@ g_eli_orphan(struct g_consumer *cp) } /* - * BIO_READ : G_ELI_START -> g_io_request -> g_eli_read_done -> g_eli_crypto_run -> g_eli_crypto_read_done -> g_io_deliver - * BIO_WRITE: G_ELI_START -> g_eli_crypto_run -> g_eli_crypto_write_done -> g_io_request -> g_eli_write_done -> g_io_deliver + * BIO_READ: + * G_ELI_START -> g_io_request -> g_eli_read_done -> g_eli_crypto_run -> g_eli_crypto_read_done -> g_io_deliver + * BIO_WRITE: + * G_ELI_START -> g_eli_crypto_run -> g_eli_crypto_write_done -> g_io_request -> g_eli_write_done -> g_io_deliver */ static void g_eli_start(struct bio *bp) Modified: head/sys/geom/eli/g_eli_integrity.c ============================================================================== --- head/sys/geom/eli/g_eli_integrity.c Wed Oct 20 19:53:29 2010 (r214115) +++ head/sys/geom/eli/g_eli_integrity.c Wed Oct 20 20:01:45 2010 (r214116) @@ -392,6 +392,11 @@ g_eli_auth_read(struct g_eli_softc *sc, /* * This is the main function responsible for cryptography (ie. communication * with crypto(9) subsystem). + * + * BIO_READ: + * g_eli_start -> g_eli_auth_read -> g_io_request -> g_eli_read_done -> G_ELI_AUTH_RUN -> g_eli_auth_read_done -> g_io_deliver + * BIO_WRITE: + * g_eli_start -> G_ELI_AUTH_RUN -> g_eli_auth_write_done -> g_io_request -> g_eli_write_done -> g_io_deliver */ void g_eli_auth_run(struct g_eli_worker *wr, struct bio *bp) Modified: head/sys/geom/eli/g_eli_privacy.c ============================================================================== --- head/sys/geom/eli/g_eli_privacy.c Wed Oct 20 19:53:29 2010 (r214115) +++ head/sys/geom/eli/g_eli_privacy.c Wed Oct 20 20:01:45 2010 (r214116) @@ -166,6 +166,11 @@ g_eli_crypto_write_done(struct cryptop * /* * This is the main function responsible for cryptography (ie. communication * with crypto(9) subsystem). + * + * BIO_READ: + * g_eli_start -> g_io_request -> g_eli_read_done -> G_ELI_CRYPTO_RUN -> g_eli_crypto_read_done -> g_io_deliver + * BIO_WRITE: + * g_eli_start -> G_ELI_CRYPTO_RUN -> g_eli_crypto_write_done -> g_io_request -> g_eli_write_done -> g_io_deliver */ void g_eli_crypto_run(struct g_eli_worker *wr, struct bio *bp) From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 20:50:55 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ADCF0106564A; Wed, 20 Oct 2010 20:50:55 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9A43B8FC18; Wed, 20 Oct 2010 20:50:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9KKotYq068520; Wed, 20 Oct 2010 20:50:55 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9KKot6o068512; Wed, 20 Oct 2010 20:50:55 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010202050.o9KKot6o068512@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Wed, 20 Oct 2010 20:50:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214118 - in head: sbin/geom/class/eli sys/geom/eli X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 20:50:55 -0000 Author: pjd Date: Wed Oct 20 20:50:55 2010 New Revision: 214118 URL: http://svn.freebsd.org/changeset/base/214118 Log: Bring in geli suspend/resume functionality (finally). Before this change if you wanted to suspend your laptop and be sure that your encryption keys are safe, you had to stop all processes that use file system stored on encrypted device, unmount the file system and detach geli provider. This isn't very handy. If you are a lucky user of a laptop where suspend/resume actually works with FreeBSD (I'm not!) you most likely want to suspend your laptop, because you don't want to start everything over again when you turn your laptop back on. And this is where geli suspend/resume steps in. When you execute: # geli suspend -a geli will wait for all in-flight I/O requests, suspend new I/O requests, remove all geli sensitive data from the kernel memory (like encryption keys) and will wait for either 'geli resume' or 'geli detach'. Now with no keys in memory you can suspend your laptop without stopping any processes or unmounting any file systems. When you resume your laptop you have to resume geli devices using 'geli resume' command. You need to provide your passphrase, etc. again so the keys can be restored and suspended I/O requests released. Of course you need to remember that 'geli suspend' won't clear file system cache and other places where data from your geli-encrypted file system might be present. But to get rid of those stopping processes and unmounting file system won't help either - you have to turn your laptop off. Be warned. Also note, that suspending geli device which contains file system with geli utility (or anything used by 'geli resume') is not very good idea, as you won't be able to resume it - when you execute geli(8), the kernel will try to read it and this read I/O request will be suspended. Modified: head/sbin/geom/class/eli/geli.8 head/sbin/geom/class/eli/geom_eli.c head/sys/geom/eli/g_eli.c head/sys/geom/eli/g_eli.h head/sys/geom/eli/g_eli_ctl.c head/sys/geom/eli/g_eli_integrity.c head/sys/geom/eli/g_eli_privacy.c Modified: head/sbin/geom/class/eli/geli.8 ============================================================================== --- head/sbin/geom/class/eli/geli.8 Wed Oct 20 20:42:33 2010 (r214117) +++ head/sbin/geom/class/eli/geli.8 Wed Oct 20 20:50:55 2010 (r214118) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 25, 2010 +.Dd October 20, 2010 .Dt GELI 8 .Os .Sh NAME @@ -119,6 +119,16 @@ utility: .Ar file .Ar prov .Nm +.Cm suspend +.Op Fl v +.Fl a | Ar prov ... +.Nm +.Cm resume +.Op Fl pv +.Op Fl j Ar passfile +.Op Fl k Ar keyfile +.Ar prov +.Nm .Cm resize .Op Fl v .Fl s Ar oldsize @@ -207,6 +217,8 @@ Allows to attach a provider with a rando partitions and temporary file systems. .It Allows to verify data integrity (data authentication). +.It +Allows to suspend and resume encrypted devices. .El .Pp The first argument to @@ -458,6 +470,8 @@ will not be detached even if all keys wi It can be even rescued with the .Cm setkey subcommand. +.Pp +Additional options include: .Bl -tag -width ".Fl a Ar keyno" .It Fl a Destroy all keys (does not need @@ -482,6 +496,8 @@ backup, your data is gone for good. In case the provider was attached with the .Fl r flag, the keys will not be destroyed, only the provider will be detached. +.Pp +Additional options include: .Bl -tag -width ".Fl a" .It Fl a If specified, all currently attached providers will be killed. @@ -490,6 +506,8 @@ If specified, all currently attached pro Backup metadata from the given provider to the given file. .It Cm restore Restore metadata from the given file to the given provider. +.Pp +Additional options include: .Bl -tag -width ".Fl f" .It Fl f Metadata contains the size of the provider to ensure that the correct @@ -508,12 +526,73 @@ through and .Cm restore . .El +.It Cm suspend +Suspend device by waiting for all inflight request to finish, clearing all +sensitive informations (like keys) from the kernel memory and blocking all +further I/O requests until the +.Cm resume +subcommand is executed. +This functionality is useful for eg. laptops - when one wants to suspend a +laptop, one does not want to leave encrypted device attached. +Instead of closing all files and directories opened from a file system placed +on an encrypted device, unmounting the file system and detaching the device, +the +.Cm suspend +subcommand can be used. +Any access to the encrypted device will be blocked until the keys are +recovered through +.Cm resume +subcommand, thus there is no need to close nor unmount anything. +The +.Cm suspend +subcommand does not work with devices created with the +.Cm onetime +subcommand. +Please note that sensitive data might still be present in memory after +suspending encrypted device, because of file system cache, etc. +.Pp +Additional options include: +.Bl -tag -width ".Fl a" +.It Fl a +Suspend all +.Nm +devices. +.El +.It Cm resume +Resume previously suspended device. +The caller must ensure that executing this subcommand won't try to access +suspended device, which will lead to a deadlock. +For example suspending device, which contains file system where the +.Nm +utility is stored is bad idea. +.Pp +Additional options include: +.Bl -tag -width ".Fl j Ar passfile" +.It Fl j Ar passfile +Specifies a file which contains the passphrase or its part. +For more information see the description of the +.Fl J +option for the +.Cm init +subcommand. +.It Fl k Ar keyfile +Specifies a file which contains part of the key. +For more information see the description of the +.Fl K +option for the +.Cm init +subcommand. +.It Fl p +Do not use passphrase as the key component. +.El .It Cm resize Inform .Nm that the provider has been resized. The old metadata block is relocated to the correct position at the end of the provider and the provider size is updated. +.Pp +Additional options include: .Bl -tag -width ".Fl s Ar oldsize" .It Fl s Ar oldsize The size of the provider before it was resized. @@ -746,6 +825,19 @@ prompt: # geli attach da0 Enter passphrase: foobar .Ed +.Pp +Suspend all +.Nm +devices, suspend a laptop, then resume devices one by one after resuming a +laptop: +.Bd -literal -offset indent +# geli suspend -a +# zzz + +# geli resume -p -k keyfile gpt/secret +# geli resume gpt/private +Enter passphrase: +.Ed .Sh ENCRYPTION MODES .Nm supports two encryption modes: Modified: head/sbin/geom/class/eli/geom_eli.c ============================================================================== --- head/sbin/geom/class/eli/geom_eli.c Wed Oct 20 20:42:33 2010 (r214117) +++ head/sbin/geom/class/eli/geom_eli.c Wed Oct 20 20:50:55 2010 (r214118) @@ -67,6 +67,7 @@ static void eli_attach(struct gctl_req * static void eli_configure(struct gctl_req *req); static void eli_setkey(struct gctl_req *req); static void eli_delkey(struct gctl_req *req); +static void eli_resume(struct gctl_req *req); static void eli_kill(struct gctl_req *req); static void eli_backup(struct gctl_req *req); static void eli_restore(struct gctl_req *req); @@ -89,6 +90,8 @@ static int eli_backup_create(struct gctl * configure [-bB] prov ... * setkey [-pPv] [-n keyno] [-j passfile] [-J newpassfile] [-k keyfile] [-K newkeyfile] prov * delkey [-afv] [-n keyno] prov + * suspend [-v] -a | prov ... + * resume [-pv] [-j passfile] [-k keyfile] prov * kill [-av] [prov ...] * backup [-v] prov file * restore [-fv] file prov @@ -198,6 +201,22 @@ struct g_command class_commands[] = { }, "[-afv] [-n keyno] prov" }, + { "suspend", G_FLAG_VERBOSE, NULL, + { + { 'a', "all", NULL, G_TYPE_BOOL }, + G_OPT_SENTINEL + }, + "[-v] -a | prov ..." + }, + { "resume", G_FLAG_VERBOSE, eli_main, + { + { 'j', "passfile", G_VAL_OPTIONAL, G_TYPE_STRING | G_TYPE_MULTI }, + { 'k', "keyfile", G_VAL_OPTIONAL, G_TYPE_STRING | G_TYPE_MULTI }, + { 'p', "nopassphrase", NULL, G_TYPE_BOOL }, + G_OPT_SENTINEL + }, + "[-pv] [-j passfile] [-k keyfile] prov" + }, { "kill", G_FLAG_VERBOSE, eli_main, { { 'a', "all", NULL, G_TYPE_BOOL }, @@ -280,6 +299,8 @@ eli_main(struct gctl_req *req, unsigned eli_setkey(req); else if (strcmp(name, "delkey") == 0) eli_delkey(req); + else if (strcmp(name, "resume") == 0) + eli_resume(req); else if (strcmp(name, "kill") == 0) eli_kill(req); else if (strcmp(name, "backup") == 0) @@ -1118,6 +1139,44 @@ eli_delkey(struct gctl_req *req) eli_delkey_detached(req, prov); } +static void +eli_resume(struct gctl_req *req) +{ + struct g_eli_metadata md; + unsigned char key[G_ELI_USERKEYLEN]; + const char *prov; + off_t mediasize; + int nargs; + + nargs = gctl_get_int(req, "nargs"); + if (nargs != 1) { + gctl_error(req, "Invalid number of arguments."); + return; + } + prov = gctl_get_ascii(req, "arg0"); + + if (eli_metadata_read(req, prov, &md) == -1) + return; + + mediasize = g_get_mediasize(prov); + if (md.md_provsize != (uint64_t)mediasize) { + gctl_error(req, "Provider size mismatch."); + return; + } + + if (eli_genkey(req, &md, key, false) == NULL) { + bzero(key, sizeof(key)); + return; + } + + gctl_ro_param(req, "key", sizeof(key), key); + if (gctl_issue(req) == NULL) { + if (verbose) + printf("Resumed %s.\n", prov); + } + bzero(key, sizeof(key)); +} + static int eli_trash_metadata(struct gctl_req *req, const char *prov, int fd, off_t offset) { Modified: head/sys/geom/eli/g_eli.c ============================================================================== --- head/sys/geom/eli/g_eli.c Wed Oct 20 20:42:33 2010 (r214117) +++ head/sys/geom/eli/g_eli.c Wed Oct 20 20:50:55 2010 (r214118) @@ -106,7 +106,7 @@ struct g_class g_eli_class = { /* * Code paths: * BIO_READ: - * g_eli_start -> g_io_request -> g_eli_read_done -> g_eli_crypto_run -> g_eli_crypto_read_done -> g_io_deliver + * g_eli_start -> g_eli_crypto_read -> g_io_request -> g_eli_read_done -> g_eli_crypto_run -> g_eli_crypto_read_done -> g_io_deliver * BIO_WRITE: * g_eli_start -> g_eli_crypto_run -> g_eli_crypto_write_done -> g_io_request -> g_eli_write_done -> g_io_deliver */ @@ -148,7 +148,7 @@ g_eli_crypto_rerun(struct cryptop *crp) /* * The function is called afer reading encrypted data from the provider. * - * g_eli_start -> g_io_request -> G_ELI_READ_DONE -> g_eli_crypto_run -> g_eli_crypto_read_done -> g_io_deliver + * g_eli_start -> g_eli_crypto_read -> g_io_request -> G_ELI_READ_DONE -> g_eli_crypto_run -> g_eli_crypto_read_done -> g_io_deliver */ void g_eli_read_done(struct bio *bp) @@ -167,6 +167,7 @@ g_eli_read_done(struct bio *bp) if (pbp->bio_inbed < pbp->bio_children) return; g_destroy_bio(bp); + sc = pbp->bio_to->geom->softc; if (pbp->bio_error != 0) { G_ELI_LOGREQ(0, pbp, "%s() failed", __func__); pbp->bio_completed = 0; @@ -175,9 +176,9 @@ g_eli_read_done(struct bio *bp) pbp->bio_driver2 = NULL; } g_io_deliver(pbp, pbp->bio_error); + atomic_subtract_int(&sc->sc_inflight, 1); return; } - sc = pbp->bio_to->geom->softc; mtx_lock(&sc->sc_queue_mtx); bioq_insert_tail(&sc->sc_queue, pbp); mtx_unlock(&sc->sc_queue_mtx); @@ -192,6 +193,7 @@ g_eli_read_done(struct bio *bp) void g_eli_write_done(struct bio *bp) { + struct g_eli_softc *sc; struct bio *pbp; G_ELI_LOGREQ(2, bp, "Request done."); @@ -218,7 +220,9 @@ g_eli_write_done(struct bio *bp) * Write is finished, send it up. */ pbp->bio_completed = pbp->bio_length; + sc = pbp->bio_to->geom->softc; g_io_deliver(pbp, pbp->bio_error); + atomic_subtract_int(&sc->sc_inflight, 1); } /* @@ -241,12 +245,12 @@ g_eli_orphan(struct g_consumer *cp) sc = cp->geom->softc; if (sc == NULL) return; - g_eli_destroy(sc, 1); + g_eli_destroy(sc, TRUE); } /* * BIO_READ: - * G_ELI_START -> g_io_request -> g_eli_read_done -> g_eli_crypto_run -> g_eli_crypto_read_done -> g_io_deliver + * G_ELI_START -> g_eli_crypto_read -> g_io_request -> g_eli_read_done -> g_eli_crypto_run -> g_eli_crypto_read_done -> g_io_deliver * BIO_WRITE: * G_ELI_START -> g_eli_crypto_run -> g_eli_crypto_write_done -> g_io_request -> g_eli_write_done -> g_io_deliver */ @@ -284,24 +288,16 @@ g_eli_start(struct bio *bp) g_io_deliver(bp, ENOMEM); return; } + bp->bio_driver1 = cbp; + bp->bio_pflags = G_ELI_NEW_BIO; switch (bp->bio_cmd) { case BIO_READ: if (!(sc->sc_flags & G_ELI_FLAG_AUTH)) { - bp->bio_driver2 = NULL; - cbp->bio_done = g_eli_read_done; - cp = LIST_FIRST(&sc->sc_geom->consumer); - cbp->bio_to = cp->provider; - G_ELI_LOGREQ(2, cbp, "Sending request."); - /* - * Read encrypted data from provider. - */ - g_io_request(cbp, cp); + g_eli_crypto_read(sc, bp, 0); break; } - bp->bio_pflags = 255; /* FALLTHROUGH */ case BIO_WRITE: - bp->bio_driver1 = cbp; mtx_lock(&sc->sc_queue_mtx); bioq_insert_tail(&sc->sc_queue, bp); mtx_unlock(&sc->sc_queue_mtx); @@ -318,6 +314,41 @@ g_eli_start(struct bio *bp) } } +static void +g_eli_cancel(struct g_eli_softc *sc) +{ + struct bio *bp; + + mtx_assert(&sc->sc_queue_mtx, MA_OWNED); + + while ((bp = bioq_takefirst(&sc->sc_queue)) != NULL) { + KASSERT(bp->bio_pflags == G_ELI_NEW_BIO, + ("Not new bio when canceling (bp=%p).", bp)); + g_io_deliver(bp, ENXIO); + } +} + +static struct bio * +g_eli_takefirst(struct g_eli_softc *sc) +{ + struct bio *bp; + + mtx_assert(&sc->sc_queue_mtx, MA_OWNED); + + if (!(sc->sc_flags & G_ELI_FLAG_SUSPEND)) + return (bioq_takefirst(&sc->sc_queue)); + /* + * Device suspended, so we skip new I/O requests. + */ + TAILQ_FOREACH(bp, &sc->sc_queue.queue, bio_queue) { + if (bp->bio_pflags != G_ELI_NEW_BIO) + break; + } + if (bp != NULL) + bioq_remove(&sc->sc_queue, bp); + return (bp); +} + /* * This is the main function for kernel worker thread when we don't have * hardware acceleration and we have to do cryptography in software. @@ -351,9 +382,11 @@ g_eli_worker(void *arg) for (;;) { mtx_lock(&sc->sc_queue_mtx); - bp = bioq_takefirst(&sc->sc_queue); +again: + bp = g_eli_takefirst(sc); if (bp == NULL) { if (sc->sc_flags & G_ELI_FLAG_DESTROY) { + g_eli_cancel(sc); LIST_REMOVE(wr, w_next); crypto_freesession(wr->w_sid); free(wr, M_ELI); @@ -363,16 +396,54 @@ g_eli_worker(void *arg) mtx_unlock(&sc->sc_queue_mtx); kproc_exit(0); } + while (sc->sc_flags & G_ELI_FLAG_SUSPEND) { + if (sc->sc_inflight > 0) { + G_ELI_DEBUG(0, "inflight=%d", sc->sc_inflight); + /* + * We still have inflight BIOs, so + * sleep and retry. + */ + msleep(sc, &sc->sc_queue_mtx, PRIBIO, + "geli:inf", hz / 5); + goto again; + } + /* + * Suspend requested, mark the worker as + * suspended and go to sleep. + */ + wr->w_active = 0; + wakeup(&sc->sc_workers); + msleep(sc, &sc->sc_queue_mtx, PRIBIO, + "geli:suspend", 0); + if (!(sc->sc_flags & G_ELI_FLAG_SUSPEND)) + wr->w_active = 1; + goto again; + } msleep(sc, &sc->sc_queue_mtx, PDROP, "geli:w", 0); continue; } + if (bp->bio_pflags == G_ELI_NEW_BIO) + atomic_add_int(&sc->sc_inflight, 1); mtx_unlock(&sc->sc_queue_mtx); - if (bp->bio_cmd == BIO_READ && bp->bio_pflags == 255) - g_eli_auth_read(sc, bp); - else if (sc->sc_flags & G_ELI_FLAG_AUTH) - g_eli_auth_run(wr, bp); - else - g_eli_crypto_run(wr, bp); + if (bp->bio_pflags == G_ELI_NEW_BIO) { + bp->bio_pflags = 0; + if (sc->sc_flags & G_ELI_FLAG_AUTH) { + if (bp->bio_cmd == BIO_READ) + g_eli_auth_read(sc, bp); + else + g_eli_auth_run(wr, bp); + } else { + if (bp->bio_cmd == BIO_READ) + g_eli_crypto_read(sc, bp, 1); + else + g_eli_crypto_run(wr, bp); + } + } else { + if (sc->sc_flags & G_ELI_FLAG_AUTH) + g_eli_auth_run(wr, bp); + else + g_eli_crypto_run(wr, bp); + } } } @@ -502,7 +573,7 @@ g_eli_last_close(struct g_eli_softc *sc) gp = sc->sc_geom; pp = LIST_FIRST(&gp->provider); strlcpy(ppname, pp->name, sizeof(ppname)); - error = g_eli_destroy(sc, 1); + error = g_eli_destroy(sc, TRUE); KASSERT(error == 0, ("Cannot detach %s on last close (error=%d).", ppname, error)); G_ELI_DEBUG(0, "Detached %s on last close.", ppname); @@ -586,6 +657,7 @@ g_eli_create(struct gctl_req *req, struc else gp->access = g_std_access; + sc->sc_inflight = 0; sc->sc_crypto = G_ELI_CRYPTO_SW; sc->sc_flags = md->md_flags; /* Backward compatibility. */ @@ -730,6 +802,7 @@ g_eli_create(struct gctl_req *req, struc wr = malloc(sizeof(*wr), M_ELI, M_WAITOK | M_ZERO); wr->w_softc = sc; wr->w_number = i; + wr->w_active = TRUE; /* * If this is the first pass, try to get hardware support. @@ -877,7 +950,7 @@ g_eli_destroy_geom(struct gctl_req *req struct g_eli_softc *sc; sc = gp->softc; - return (g_eli_destroy(sc, 0)); + return (g_eli_destroy(sc, FALSE)); } static int @@ -1108,6 +1181,7 @@ g_eli_dumpconf(struct sbuf *sb, const ch sbuf_printf(sb, name); \ } \ } while (0) + ADD_FLAG(G_ELI_FLAG_SUSPEND, "SUSPEND"); ADD_FLAG(G_ELI_FLAG_SINGLE_KEY, "SINGLE-KEY"); ADD_FLAG(G_ELI_FLAG_NATIVE_BYTE_ORDER, "NATIVE-BYTE-ORDER"); ADD_FLAG(G_ELI_FLAG_ONETIME, "ONETIME"); @@ -1169,7 +1243,7 @@ g_eli_shutdown_pre_sync(void *arg, int h pp = LIST_FIRST(&gp->provider); KASSERT(pp != NULL, ("No provider? gp=%p (%s)", gp, gp->name)); if (pp->acr + pp->acw + pp->ace == 0) - error = g_eli_destroy(sc, 1); + error = g_eli_destroy(sc, TRUE); else { sc->sc_flags |= G_ELI_FLAG_RW_DETACH; gp->access = g_eli_access; Modified: head/sys/geom/eli/g_eli.h ============================================================================== --- head/sys/geom/eli/g_eli.h Wed Oct 20 20:42:33 2010 (r214117) +++ head/sys/geom/eli/g_eli.h Wed Oct 20 20:50:55 2010 (r214118) @@ -86,6 +86,10 @@ #define G_ELI_FLAG_NATIVE_BYTE_ORDER 0x00040000 /* Provider uses single encryption key. */ #define G_ELI_FLAG_SINGLE_KEY 0x00080000 +/* Device suspended. */ +#define G_ELI_FLAG_SUSPEND 0x00100000 + +#define G_ELI_NEW_BIO 255 #define SHA512_MDLEN 64 #define G_ELI_AUTH_SECKEYLEN SHA256_DIGEST_LENGTH @@ -140,6 +144,7 @@ struct g_eli_worker { struct proc *w_proc; u_int w_number; uint64_t w_sid; + boolean_t w_active; LIST_ENTRY(g_eli_worker) w_next; }; @@ -160,6 +165,7 @@ struct g_eli_softc { SHA256_CTX sc_ivctx; int sc_nkey; uint32_t sc_flags; + int sc_inflight; off_t sc_mediasize; size_t sc_sectorsize; u_int sc_bytes_per_sector; @@ -499,6 +505,7 @@ uint8_t *g_eli_crypto_key(struct g_eli_s void g_eli_crypto_ivgen(struct g_eli_softc *sc, off_t offset, u_char *iv, size_t size); +void g_eli_crypto_read(struct g_eli_softc *sc, struct bio *bp, boolean_t fromworker); void g_eli_crypto_run(struct g_eli_worker *wr, struct bio *bp); void g_eli_auth_read(struct g_eli_softc *sc, struct bio *bp); Modified: head/sys/geom/eli/g_eli_ctl.c ============================================================================== --- head/sys/geom/eli/g_eli_ctl.c Wed Oct 20 20:42:33 2010 (r214117) +++ head/sys/geom/eli/g_eli_ctl.c Wed Oct 20 20:50:55 2010 (r214118) @@ -217,7 +217,7 @@ g_eli_ctl_detach(struct gctl_req *req, s sc->sc_flags |= G_ELI_FLAG_RW_DETACH; sc->sc_geom->access = g_eli_access; } else { - error = g_eli_destroy(sc, *force); + error = g_eli_destroy(sc, *force ? TRUE : FALSE); if (error != 0) { gctl_error(req, "Cannot destroy device %s (error=%d).", @@ -700,6 +700,213 @@ g_eli_ctl_delkey(struct gctl_req *req, s } static int +g_eli_suspend_one(struct g_eli_softc *sc) +{ + struct g_eli_worker *wr; + + g_topology_assert(); + + if (sc == NULL) + return (ENOENT); + if (sc->sc_flags & G_ELI_FLAG_ONETIME) + return (EOPNOTSUPP); + + mtx_lock(&sc->sc_queue_mtx); + if (sc->sc_flags & G_ELI_FLAG_SUSPEND) { + mtx_unlock(&sc->sc_queue_mtx); + return (EALREADY); + } + sc->sc_flags |= G_ELI_FLAG_SUSPEND; + wakeup(sc); + for (;;) { + LIST_FOREACH(wr, &sc->sc_workers, w_next) { + if (wr->w_active) + break; + } + if (wr == NULL) + break; + /* Not all threads suspended. */ + msleep(&sc->sc_workers, &sc->sc_queue_mtx, PRIBIO, + "geli:suspend", 0); + } + /* + * Clear sensitive data on suspend, they will be recovered on resume. + */ + bzero(sc->sc_mkey, sizeof(sc->sc_mkey)); + bzero(sc->sc_ekeys, + sc->sc_nekeys * (sizeof(uint8_t *) + G_ELI_DATAKEYLEN)); + free(sc->sc_ekeys, M_ELI); + sc->sc_ekeys = NULL; + bzero(sc->sc_akey, sizeof(sc->sc_akey)); + bzero(&sc->sc_akeyctx, sizeof(sc->sc_akeyctx)); + bzero(sc->sc_ivkey, sizeof(sc->sc_ivkey)); + bzero(&sc->sc_ivctx, sizeof(sc->sc_ivctx)); + mtx_unlock(&sc->sc_queue_mtx); + G_ELI_DEBUG(0, "%s has been suspended.", sc->sc_name); + return (0); +} + +static void +g_eli_ctl_suspend(struct gctl_req *req, struct g_class *mp) +{ + struct g_eli_softc *sc; + int *all, *nargs; + int error; + + g_topology_assert(); + + nargs = gctl_get_paraml(req, "nargs", sizeof(*nargs)); + if (nargs == NULL) { + gctl_error(req, "No '%s' argument.", "nargs"); + return; + } + all = gctl_get_paraml(req, "all", sizeof(*all)); + if (all == NULL) { + gctl_error(req, "No '%s' argument.", "all"); + return; + } + if (!*all && *nargs == 0) { + gctl_error(req, "Too few arguments."); + return; + } + + if (*all) { + struct g_geom *gp, *gp2; + + LIST_FOREACH_SAFE(gp, &mp->geom, geom, gp2) { + sc = gp->softc; + if (sc->sc_flags & G_ELI_FLAG_ONETIME) + continue; + error = g_eli_suspend_one(sc); + if (error != 0) + gctl_error(req, "Not fully done."); + } + } else { + const char *prov; + char param[16]; + int i; + + for (i = 0; i < *nargs; i++) { + snprintf(param, sizeof(param), "arg%d", i); + prov = gctl_get_asciiparam(req, param); + if (prov == NULL) { + G_ELI_DEBUG(0, "No 'arg%d' argument.", i); + continue; + } + + sc = g_eli_find_device(mp, prov); + if (sc == NULL) { + G_ELI_DEBUG(0, "No such provider: %s.", prov); + continue; + } + error = g_eli_suspend_one(sc); + if (error != 0) + gctl_error(req, "Not fully done."); + } + } +} + +static void +g_eli_ctl_resume(struct gctl_req *req, struct g_class *mp) +{ + struct g_eli_metadata md; + struct g_eli_softc *sc; + struct g_provider *pp; + struct g_consumer *cp; + const char *name; + u_char *key, mkey[G_ELI_DATAIVKEYLEN]; + int *nargs, keysize, error; + u_int nkey; + + g_topology_assert(); + + nargs = gctl_get_paraml(req, "nargs", sizeof(*nargs)); + if (nargs == NULL) { + gctl_error(req, "No '%s' argument.", "nargs"); + return; + } + if (*nargs != 1) { + gctl_error(req, "Invalid number of arguments."); + return; + } + + name = gctl_get_asciiparam(req, "arg0"); + if (name == NULL) { + gctl_error(req, "No 'arg%u' argument.", 0); + return; + } + sc = g_eli_find_device(mp, name); + if (sc == NULL) { + gctl_error(req, "Provider %s is invalid.", name); + return; + } + if (!(sc->sc_flags & G_ELI_FLAG_SUSPEND)) { + gctl_error(req, "Provider %s not suspended.", name); + return; + } + cp = LIST_FIRST(&sc->sc_geom->consumer); + pp = cp->provider; + error = g_eli_read_metadata(mp, pp, &md); + if (error != 0) { + gctl_error(req, "Cannot read metadata from %s (error=%d).", + name, error); + return; + } + if (md.md_keys == 0x00) { + bzero(&md, sizeof(md)); + gctl_error(req, "No valid keys on %s.", pp->name); + return; + } + + key = gctl_get_param(req, "key", &keysize); + if (key == NULL || keysize != G_ELI_USERKEYLEN) { + bzero(&md, sizeof(md)); + gctl_error(req, "No '%s' argument.", "key"); + return; + } + + error = g_eli_mkey_decrypt(&md, key, mkey, &nkey); + bzero(key, keysize); + if (error == -1) { + bzero(&md, sizeof(md)); + gctl_error(req, "Wrong key for %s.", pp->name); + return; + } else if (error > 0) { + bzero(&md, sizeof(md)); + gctl_error(req, "Cannot decrypt Master Key for %s (error=%d).", + pp->name, error); + return; + } + G_ELI_DEBUG(1, "Using Master Key %u for %s.", nkey, pp->name); + + mtx_lock(&sc->sc_queue_mtx); + /* Restore sc_mkey, sc_ekeys, sc_akey and sc_ivkey. */ + g_eli_mkey_propagate(sc, mkey); + bzero(mkey, sizeof(mkey)); + bzero(&md, sizeof(md)); + /* Restore sc_akeyctx. */ + if (sc->sc_flags & G_ELI_FLAG_AUTH) { + SHA256_Init(&sc->sc_akeyctx); + SHA256_Update(&sc->sc_akeyctx, sc->sc_akey, + sizeof(sc->sc_akey)); + } + /* Restore sc_ivctx. */ + switch (sc->sc_ealgo) { + case CRYPTO_AES_XTS: + break; + default: + SHA256_Init(&sc->sc_ivctx); + SHA256_Update(&sc->sc_ivctx, sc->sc_ivkey, + sizeof(sc->sc_ivkey)); + break; + } + sc->sc_flags &= ~G_ELI_FLAG_SUSPEND; + mtx_unlock(&sc->sc_queue_mtx); + G_ELI_DEBUG(1, "Resumed %s.", pp->name); + wakeup(sc); +} + +static int g_eli_kill_one(struct g_eli_softc *sc) { struct g_provider *pp; @@ -749,7 +956,7 @@ g_eli_kill_one(struct g_eli_softc *sc) } if (error == 0) G_ELI_DEBUG(0, "%s has been killed.", pp->name); - g_eli_destroy(sc, 1); + g_eli_destroy(sc, TRUE); return (error); } @@ -839,6 +1046,10 @@ g_eli_config(struct gctl_req *req, struc g_eli_ctl_setkey(req, mp); else if (strcmp(verb, "delkey") == 0) g_eli_ctl_delkey(req, mp); + else if (strcmp(verb, "suspend") == 0) + g_eli_ctl_suspend(req, mp); + else if (strcmp(verb, "resume") == 0) + g_eli_ctl_resume(req, mp); else if (strcmp(verb, "kill") == 0) g_eli_ctl_kill(req, mp); else Modified: head/sys/geom/eli/g_eli_integrity.c ============================================================================== --- head/sys/geom/eli/g_eli_integrity.c Wed Oct 20 20:42:33 2010 (r214117) +++ head/sys/geom/eli/g_eli_integrity.c Wed Oct 20 20:50:55 2010 (r214118) @@ -129,6 +129,7 @@ g_eli_auth_keygen(struct g_eli_softc *sc static int g_eli_auth_read_done(struct cryptop *crp) { + struct g_eli_softc *sc; struct bio *bp; if (crp->crp_etype == EAGAIN) { @@ -152,8 +153,8 @@ g_eli_auth_read_done(struct cryptop *crp */ if (bp->bio_inbed < bp->bio_children) return (0); + sc = bp->bio_to->geom->softc; if (bp->bio_error == 0) { - struct g_eli_softc *sc; u_int i, lsec, nsec, data_secsize, decr_secsize, encr_secsize; u_char *srcdata, *dstdata, *auth; off_t coroff, corsize; @@ -161,7 +162,6 @@ g_eli_auth_read_done(struct cryptop *crp /* * Verify data integrity based on calculated and read HMACs. */ - sc = bp->bio_to->geom->softc; /* Sectorsize of decrypted provider eg. 4096. */ decr_secsize = bp->bio_to->sectorsize; /* The real sectorsize of encrypted provider, eg. 512. */ @@ -240,6 +240,7 @@ g_eli_auth_read_done(struct cryptop *crp * Read is finished, send it up. */ g_io_deliver(bp, bp->bio_error); + atomic_subtract_int(&sc->sc_inflight, 1); return (0); } @@ -276,6 +277,7 @@ g_eli_auth_write_done(struct cryptop *cr */ if (bp->bio_inbed < bp->bio_children) return (0); + sc = bp->bio_to->geom->softc; if (bp->bio_error != 0) { G_ELI_LOGREQ(0, bp, "Crypto WRITE request failed (error=%d).", bp->bio_error); @@ -285,9 +287,9 @@ g_eli_auth_write_done(struct cryptop *cr bp->bio_driver1 = NULL; g_destroy_bio(cbp); g_io_deliver(bp, bp->bio_error); + atomic_subtract_int(&sc->sc_inflight, 1); return (0); } - sc = bp->bio_to->geom->softc; cp = LIST_FIRST(&sc->sc_geom->consumer); cbp = bp->bio_driver1; bp->bio_driver1 = NULL; Modified: head/sys/geom/eli/g_eli_privacy.c ============================================================================== --- head/sys/geom/eli/g_eli_privacy.c Wed Oct 20 20:42:33 2010 (r214117) +++ head/sys/geom/eli/g_eli_privacy.c Wed Oct 20 20:50:55 2010 (r214118) @@ -53,7 +53,7 @@ __FBSDID("$FreeBSD$"); /* * Code paths: * BIO_READ: - * g_eli_start -> g_io_request -> g_eli_read_done -> g_eli_crypto_run -> g_eli_crypto_read_done -> g_io_deliver + * g_eli_start -> g_eli_crypto_read -> g_io_request -> g_eli_read_done -> g_eli_crypto_run -> g_eli_crypto_read_done -> g_io_deliver * BIO_WRITE: * g_eli_start -> g_eli_crypto_run -> g_eli_crypto_write_done -> g_io_request -> g_eli_write_done -> g_io_deliver */ @@ -63,11 +63,12 @@ MALLOC_DECLARE(M_ELI); /* * The function is called after we read and decrypt data. * - * g_eli_start -> g_io_request -> g_eli_read_done -> g_eli_crypto_run -> G_ELI_CRYPTO_READ_DONE -> g_io_deliver + * g_eli_start -> g_eli_crypto_read -> g_io_request -> g_eli_read_done -> g_eli_crypto_run -> G_ELI_CRYPTO_READ_DONE -> g_io_deliver */ static int g_eli_crypto_read_done(struct cryptop *crp) { + struct g_eli_softc *sc; struct bio *bp; if (crp->crp_etype == EAGAIN) { @@ -101,7 +102,9 @@ g_eli_crypto_read_done(struct cryptop *c /* * Read is finished, send it up. */ + sc = bp->bio_to->geom->softc; g_io_deliver(bp, bp->bio_error); + atomic_subtract_int(&sc->sc_inflight, 1); return (0); } @@ -113,6 +116,7 @@ g_eli_crypto_read_done(struct cryptop *c static int g_eli_crypto_write_done(struct cryptop *crp) { + struct g_eli_softc *sc; struct g_geom *gp; struct g_consumer *cp; struct bio *bp, *cbp; @@ -141,18 +145,20 @@ g_eli_crypto_write_done(struct cryptop * bp->bio_children = 1; cbp = bp->bio_driver1; bp->bio_driver1 = NULL; + gp = bp->bio_to->geom; if (bp->bio_error != 0) { G_ELI_LOGREQ(0, bp, "Crypto WRITE request failed (error=%d).", bp->bio_error); free(bp->bio_driver2, M_ELI); bp->bio_driver2 = NULL; g_destroy_bio(cbp); + sc = gp->softc; g_io_deliver(bp, bp->bio_error); + atomic_subtract_int(&sc->sc_inflight, 1); return (0); } cbp->bio_data = bp->bio_driver2; cbp->bio_done = g_eli_write_done; - gp = bp->bio_to->geom; cp = LIST_FIRST(&gp->consumer); cbp->bio_to = cp->provider; G_ELI_LOGREQ(2, cbp, "Sending request."); @@ -164,11 +170,55 @@ g_eli_crypto_write_done(struct cryptop * } /* + * The function is called to read encrypted data. + * + * g_eli_start -> G_ELI_CRYPTO_READ -> g_io_request -> g_eli_read_done -> g_eli_crypto_run -> g_eli_crypto_read_done -> g_io_deliver + */ +void +g_eli_crypto_read(struct g_eli_softc *sc, struct bio *bp, boolean_t fromworker) +{ + struct g_consumer *cp; + struct bio *cbp; + + if (!fromworker) { + /* + * We are not called from the worker thread, so check if + * device is suspended. + */ + mtx_lock(&sc->sc_queue_mtx); + if (sc->sc_flags & G_ELI_FLAG_SUSPEND) { + /* + * If device is suspended, we place the request onto + * the queue, so it can be handled after resume. + */ + G_ELI_DEBUG(0, "device suspended, move onto queue"); + bioq_insert_tail(&sc->sc_queue, bp); + mtx_unlock(&sc->sc_queue_mtx); + wakeup(sc); + return; + } + atomic_add_int(&sc->sc_inflight, 1); + mtx_unlock(&sc->sc_queue_mtx); + } + bp->bio_pflags = 0; + bp->bio_driver2 = NULL; + cbp = bp->bio_driver1; + cbp->bio_done = g_eli_read_done; + cp = LIST_FIRST(&sc->sc_geom->consumer); + cbp->bio_to = cp->provider; + G_ELI_LOGREQ(2, cbp, "Sending request."); + /* + * Read encrypted data from provider. + */ + g_io_request(cbp, cp); +} + +/* * This is the main function responsible for cryptography (ie. communication * with crypto(9) subsystem). * * BIO_READ: - * g_eli_start -> g_io_request -> g_eli_read_done -> G_ELI_CRYPTO_RUN -> g_eli_crypto_read_done -> g_io_deliver + * g_eli_start -> g_eli_crypto_read -> g_io_request -> g_eli_read_done -> G_ELI_CRYPTO_RUN -> g_eli_crypto_read_done -> g_io_deliver * BIO_WRITE: * g_eli_start -> G_ELI_CRYPTO_RUN -> g_eli_crypto_write_done -> g_io_request -> g_eli_write_done -> g_io_deliver */ From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 21:10:01 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CAC96106564A; Wed, 20 Oct 2010 21:10:01 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B420B8FC0A; Wed, 20 Oct 2010 21:10:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9KLA1Rb068933; Wed, 20 Oct 2010 21:10:01 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9KLA1wK068932; Wed, 20 Oct 2010 21:10:01 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010202110.o9KLA1wK068932@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Wed, 20 Oct 2010 21:10:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214119 - head/sbin/hastd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 21:10:01 -0000 Author: pjd Date: Wed Oct 20 21:10:01 2010 New Revision: 214119 URL: http://svn.freebsd.org/changeset/base/214119 Log: Use closefrom(2) instead of close(2) in a loop. MFC after: 1 week Modified: head/sbin/hastd/hooks.c Modified: head/sbin/hastd/hooks.c ============================================================================== --- head/sbin/hastd/hooks.c Wed Oct 20 20:50:55 2010 (r214118) +++ head/sbin/hastd/hooks.c Wed Oct 20 21:10:01 2010 (r214119) @@ -88,32 +88,19 @@ static void hook_free(struct hookproc *h static void descriptors(void) { - long maxfd; int fd; /* - * Close all descriptors. + * Close all (or almost all) descriptors. */ - maxfd = sysconf(_SC_OPEN_MAX); - if (maxfd < 0) { - pjdlog_errno(LOG_WARNING, "sysconf(_SC_OPEN_MAX) failed"); - maxfd = 1024; - } - for (fd = 0; fd <= maxfd; fd++) { - switch (fd) { - case STDIN_FILENO: - case STDOUT_FILENO: - case STDERR_FILENO: - if (pjdlog_mode_get() == PJDLOG_MODE_STD) - break; - /* FALLTHROUGH */ - default: - close(fd); - break; - } - } - if (pjdlog_mode_get() == PJDLOG_MODE_STD) + if (pjdlog_mode_get() == PJDLOG_MODE_STD) { + closefrom(MAX(MAX(STDIN_FILENO, STDOUT_FILENO), + STDERR_FILENO) + 1); return; + } + + closefrom(0); + /* * Redirect stdin, stdout and stderr to /dev/null. */ From owner-svn-src-all@FreeBSD.ORG Wed Oct 20 23:41:17 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E25C5106566B; Wed, 20 Oct 2010 23:41:16 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D02388FC12; Wed, 20 Oct 2010 23:41:16 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9KNfGSs071960; Wed, 20 Oct 2010 23:41:16 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9KNfGDC071956; Wed, 20 Oct 2010 23:41:16 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201010202341.o9KNfGDC071956@svn.freebsd.org> From: Jung-uk Kim Date: Wed, 20 Oct 2010 23:41:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214122 - head/sys/dev/pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 23:41:17 -0000 Author: jkim Date: Wed Oct 20 23:41:16 2010 New Revision: 214122 URL: http://svn.freebsd.org/changeset/base/214122 Log: Update PCI power management registers per PCI Bus Power Management Interface Specification Rev. 1.2. Rename pp_pcmcsr field of PM capabilities to pp_bse to avoid further confusions and adjust some comments accordingly. The real PMCSR (Power Management Control/Status Register) is PCIR_POWER_STATUS and it is actually BSE (PCI-to-PCI Bridge Support Extensions) register. Modified: head/sys/dev/pci/pci.c head/sys/dev/pci/pcireg.h head/sys/dev/pci/pcivar.h Modified: head/sys/dev/pci/pci.c ============================================================================== --- head/sys/dev/pci/pci.c Wed Oct 20 21:19:36 2010 (r214121) +++ head/sys/dev/pci/pci.c Wed Oct 20 23:41:16 2010 (r214122) @@ -600,7 +600,7 @@ pci_read_extcap(device_t pcib, pcicfgreg if (cfg->pp.pp_cap == 0) { cfg->pp.pp_cap = REG(ptr + PCIR_POWER_CAP, 2); cfg->pp.pp_status = ptr + PCIR_POWER_STATUS; - cfg->pp.pp_pmcsr = ptr + PCIR_POWER_PMCSR; + cfg->pp.pp_bse = ptr + PCIR_POWER_BSE; if ((nextptr - ptr) > PCIR_POWER_DATA) cfg->pp.pp_data = ptr + PCIR_POWER_DATA; } Modified: head/sys/dev/pci/pcireg.h ============================================================================== --- head/sys/dev/pci/pcireg.h Wed Oct 20 21:19:36 2010 (r214121) +++ head/sys/dev/pci/pcireg.h Wed Oct 20 23:41:16 2010 (r214122) @@ -427,12 +427,16 @@ #define PCIR_POWER_CAP 0x2 #define PCIM_PCAP_SPEC 0x0007 #define PCIM_PCAP_PMEREQCLK 0x0008 -#define PCIM_PCAP_PMEREQPWR 0x0010 #define PCIM_PCAP_DEVSPECINIT 0x0020 -#define PCIM_PCAP_DYNCLOCK 0x0040 -#define PCIM_PCAP_SECCLOCK 0x00c0 -#define PCIM_PCAP_CLOCKMASK 0x00c0 -#define PCIM_PCAP_REQFULLCLOCK 0x0100 +#define PCIM_PCAP_AUXPWR_0 0x0000 +#define PCIM_PCAP_AUXPWR_55 0x0040 +#define PCIM_PCAP_AUXPWR_100 0x0080 +#define PCIM_PCAP_AUXPWR_160 0x00c0 +#define PCIM_PCAP_AUXPWR_220 0x0100 +#define PCIM_PCAP_AUXPWR_270 0x0140 +#define PCIM_PCAP_AUXPWR_320 0x0180 +#define PCIM_PCAP_AUXPWR_375 0x01c0 +#define PCIM_PCAP_AUXPWRMASK 0x01c0 #define PCIM_PCAP_D1SUPP 0x0200 #define PCIM_PCAP_D2SUPP 0x0400 #define PCIM_PCAP_D0PME 0x0800 @@ -447,16 +451,17 @@ #define PCIM_PSTAT_D2 0x0002 #define PCIM_PSTAT_D3 0x0003 #define PCIM_PSTAT_DMASK 0x0003 -#define PCIM_PSTAT_REPENABLE 0x0010 +#define PCIM_PSTAT_NOSOFTRESET 0x0008 #define PCIM_PSTAT_PMEENABLE 0x0100 #define PCIM_PSTAT_D0POWER 0x0000 #define PCIM_PSTAT_D1POWER 0x0200 #define PCIM_PSTAT_D2POWER 0x0400 #define PCIM_PSTAT_D3POWER 0x0600 #define PCIM_PSTAT_D0HEAT 0x0800 -#define PCIM_PSTAT_D1HEAT 0x1000 -#define PCIM_PSTAT_D2HEAT 0x1200 -#define PCIM_PSTAT_D3HEAT 0x1400 +#define PCIM_PSTAT_D1HEAT 0x0a00 +#define PCIM_PSTAT_D2HEAT 0x0c00 +#define PCIM_PSTAT_D3HEAT 0x0e00 +#define PCIM_PSTAT_DATASELMASK 0x1e00 #define PCIM_PSTAT_DATAUNKN 0x0000 #define PCIM_PSTAT_DATADIV10 0x2000 #define PCIM_PSTAT_DATADIV100 0x4000 @@ -464,11 +469,10 @@ #define PCIM_PSTAT_DATADIVMASK 0x6000 #define PCIM_PSTAT_PME 0x8000 -#define PCIR_POWER_PMCSR 0x6 -#define PCIM_PMCSR_DCLOCK 0x10 -#define PCIM_PMCSR_B2SUPP 0x20 -#define PCIM_BMCSR_B3SUPP 0x40 -#define PCIM_BMCSR_BPCE 0x80 +#define PCIR_POWER_BSE 0x6 +#define PCIM_PMCSR_BSE_D3B3 0x00 +#define PCIM_PMCSR_BSE_D3B2 0x40 +#define PCIM_PMCSR_BSE_BPCCE 0x80 #define PCIR_POWER_DATA 0x7 Modified: head/sys/dev/pci/pcivar.h ============================================================================== --- head/sys/dev/pci/pcivar.h Wed Oct 20 21:19:36 2010 (r214121) +++ head/sys/dev/pci/pcivar.h Wed Oct 20 23:41:16 2010 (r214122) @@ -42,9 +42,9 @@ typedef uint64_t pci_addr_t; /* Interesting values for PCI power management */ struct pcicfg_pp { uint16_t pp_cap; /* PCI power management capabilities */ - uint8_t pp_status; /* config space address of PCI power status reg */ - uint8_t pp_pmcsr; /* config space address of PMCSR reg */ - uint8_t pp_data; /* config space address of PCI power data reg */ + uint8_t pp_status; /* conf. space addr. of PM control/status reg */ + uint8_t pp_bse; /* conf. space addr. of PM BSE reg */ + uint8_t pp_data; /* conf. space addr. of PM data reg */ }; struct vpd_readonly { From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 01:13:41 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7FDCB106566B; Thu, 21 Oct 2010 01:13:41 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6BE828FC12; Thu, 21 Oct 2010 01:13:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9L1DfDh074266; Thu, 21 Oct 2010 01:13:41 GMT (envelope-from obrien@svn.freebsd.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9L1Df79074263; Thu, 21 Oct 2010 01:13:41 GMT (envelope-from obrien@svn.freebsd.org) Message-Id: <201010210113.o9L1Df79074263@svn.freebsd.org> From: "David E. O'Brien" Date: Thu, 21 Oct 2010 01:13:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214123 - stable/8/bin/sh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 01:13:41 -0000 Author: obrien Date: Thu Oct 21 01:13:41 2010 New Revision: 214123 URL: http://svn.freebsd.org/changeset/base/214123 Log: MFC r211281: don't shadow sigset r212243: improve comments in expand.c r213925: use rather than Modified: stable/8/bin/sh/error.c stable/8/bin/sh/expand.c Directory Properties: stable/8/bin/sh/ (props changed) Modified: stable/8/bin/sh/error.c ============================================================================== --- stable/8/bin/sh/error.c Wed Oct 20 23:41:16 2010 (r214122) +++ stable/8/bin/sh/error.c Thu Oct 21 01:13:41 2010 (r214123) @@ -98,7 +98,7 @@ exraise(int e) void onint(void) { - sigset_t sigset; + sigset_t sigs; /* * The !in_dotrap here is safe. The only way we can arrive here @@ -111,8 +111,8 @@ onint(void) return; } intpending = 0; - sigemptyset(&sigset); - sigprocmask(SIG_SETMASK, &sigset, NULL); + sigemptyset(&sigs); + sigprocmask(SIG_SETMASK, &sigs, NULL); /* * This doesn't seem to be needed, since main() emits a newline. Modified: stable/8/bin/sh/expand.c ============================================================================== --- stable/8/bin/sh/expand.c Wed Oct 20 23:41:16 2010 (r214122) +++ stable/8/bin/sh/expand.c Thu Oct 21 01:13:41 2010 (r214123) @@ -139,12 +139,18 @@ expandhere(union node *arg, int fd) /* - * Perform variable substitution and command substitution on an argument, - * placing the resulting list of arguments in arglist. If EXP_FULL is true, - * perform splitting and file name expansion. When arglist is NULL, perform - * here document expansion. + * Perform expansions on an argument, placing the resulting list of arguments + * in arglist. Parameter expansion, command substitution and arithmetic + * expansion are always performed; additional expansions can be requested + * via flag (EXP_*). + * The result is left in the stack string. + * When arglist is NULL, perform here document expansion. A partial result + * may be written to herefd, which is then not included in the stack string. + * + * Caution: this function uses global state and is not reentrant. + * However, a new invocation after an interrupted invocation is safe + * and will reset the global state for the new call. */ - void expandarg(union node *arg, struct arglist *arglist, int flag) { @@ -196,11 +202,14 @@ expandarg(union node *arg, struct arglis /* - * Perform variable and command substitution. If EXP_FULL is set, output CTLESC - * characters to allow for further processing. Otherwise treat - * $@ like $* since no splitting will be performed. + * Perform parameter expansion, command substitution and arithmetic + * expansion, and tilde expansion if requested via EXP_TILDE/EXP_VARTILDE. + * Processing ends at a CTLENDVAR character as well as '\0'. + * This is used to expand word in ${var+word} etc. + * If EXP_FULL, EXP_CASE or EXP_REDIR are set, keep and/or generate CTLESC + * characters to allow for further processing. + * If EXP_FULL is set, also preserve CTLQUOTEMARK characters. */ - static void argstr(char *p, int flag) { @@ -213,7 +222,7 @@ argstr(char *p, int flag) for (;;) { switch (c = *p++) { case '\0': - case CTLENDVAR: /* ??? */ + case CTLENDVAR: goto breakloop; case CTLQUOTEMARK: /* "$@" syntax adherence hack */ @@ -263,6 +272,10 @@ argstr(char *p, int flag) breakloop:; } +/* + * Perform tilde expansion, placing the result in the stack string and + * returning the next position in the input string to process. + */ static char * exptilde(char *p, int flag) { @@ -363,12 +376,11 @@ expari(int flag) int quotes = flag & (EXP_FULL | EXP_CASE | EXP_REDIR); int quoted; - /* * This routine is slightly over-complicated for * efficiency. First we make sure there is * enough space for the result, which may be bigger - * than the expression if we add exponentiation. Next we + * than the expression. Next we * scan backwards looking for the start of arithmetic. If the * next previous character is a CTLESC character, then we * have to rescan starting from the beginning since CTLESC @@ -407,9 +419,8 @@ expari(int flag) /* - * Expand stuff in backwards quotes. + * Perform command substitution. */ - static void expbackq(union node *cmd, int quoted, int flag) { @@ -966,6 +977,12 @@ recordregion(int start, int end, int inq * Break the argument string into pieces based upon IFS and add the * strings to the argument list. The regions of the string to be * searched for IFS characters have been stored by recordregion. + * CTLESC characters are preserved but have little effect in this pass + * other than escaping CTL* characters. In particular, they do not escape + * IFS characters: that should be done with the ifsregion mechanism. + * CTLQUOTEMARK characters are used to preserve empty quoted strings. + * This pass treats them as a regular character, making the string non-empty. + * Later, they are removed along with the other CTL* characters. */ static void ifsbreakup(char *string, struct arglist *arglist) @@ -1067,10 +1084,10 @@ ifsbreakup(char *string, struct arglist } - /* - * Expand shell metacharacters. At this point, the only control characters - * should be escapes. The results are stored in the list exparg. + * Perform pathname generation and remove control characters. + * At this point, the only control characters should be CTLESC and CTLQUOTEMARK. + * The results are stored in the list exparg. */ static char expdir[PATH_MAX]; @@ -1475,7 +1492,7 @@ breakloop: /* - * Remove any CTLESC characters from a string. + * Remove any CTLESC and CTLQUOTEMARK characters from a string. */ void From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 06:25:57 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AE8C1106564A; Thu, 21 Oct 2010 06:25:57 +0000 (UTC) (envelope-from rpaulo@freebsd.org) Received: from karen.lavabit.com (karen.lavabit.com [72.249.41.33]) by mx1.freebsd.org (Postfix) with ESMTP id 3FE448FC12; Thu, 21 Oct 2010 06:25:57 +0000 (UTC) Received: from b.earth.lavabit.com (b.earth.lavabit.com [192.168.111.11]) by karen.lavabit.com (Postfix) with ESMTP id 50FB811B961; Thu, 21 Oct 2010 01:25:56 -0500 (CDT) Received: from rui-macbook.lan (bl16-141-47.dsl.telepac.pt [188.81.141.47]) by lavabit.com with ESMTP id KJSQYMYDEVKC; Thu, 21 Oct 2010 01:25:56 -0500 References: <201010202050.o9KKot6o068512@svn.freebsd.org> In-Reply-To: <201010202050.o9KKot6o068512@svn.freebsd.org> Mime-Version: 1.0 (Apple Message framework v1081) Content-Type: text/plain; charset=us-ascii Message-Id: Content-Transfer-Encoding: quoted-printable From: Rui Paulo Date: Thu, 21 Oct 2010 07:25:53 +0100 To: Pawel Jakub Dawidek X-Mailer: Apple Mail (2.1081) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r214118 - in head: sbin/geom/class/eli sys/geom/eli X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 06:25:57 -0000 Great work. Might be worth adding the geli commands to /etc/rc.suspend & = /etc/rc.resume. You could do something that requires the minimum user configuration, = like: --- geli list 2>&1 > /dev/null if [ $? -eq 0 ]; then geli suspend -a fi --- Regards, -- Rui Paulo From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 06:52:15 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 49AC9106564A; Thu, 21 Oct 2010 06:52:15 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1D3AE8FC1B; Thu, 21 Oct 2010 06:52:15 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9L6qF5c081583; Thu, 21 Oct 2010 06:52:15 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9L6qFvq081581; Thu, 21 Oct 2010 06:52:15 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201010210652.o9L6qFvq081581@svn.freebsd.org> From: Edwin Groothuis Date: Thu, 21 Oct 2010 06:52:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214124 - head/usr.sbin/lpr/lpr X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 06:52:15 -0000 Author: edwin Date: Thu Oct 21 06:52:14 2010 New Revision: 214124 URL: http://svn.freebsd.org/changeset/base/214124 Log: Fix printing of files located on ZFS filesystem with an st_dev or st_ino larger than 2**31. From the PR: Printing from a ZFS filesystem using 'lp' fails and returns an email reporting "Your printer job was not printed because it was not linked to the original file". In order to protect against files being switched when files are printed using 'lp' or 'lpr -s', the st_dev and st_ino values for the original file are saved by lpr and verified by lpd before the file is printed. Unfortunately, lpr prints both values using '%d' (although both fields are unsigned) and lpd(8) assumes a string of decimal digits. ZFS (at least) generates st_dev values greater than 2^31-1, resulting in negative values being printed - which lpd cannot parse, leading it to report that the file has been switched. A similar problem would occur with large inode numbers. How-To-Repeat: Find a file with either st_dev or st_ino greater than 2^31-1 (stat(1) will report both numbers) and print it with 'lpq -s'. This should generate an email reporting that the file could not be printed because it was not linked to the original file PR: bin/151567 Submitted by: Peter Jeremy MFC after: 1 week Modified: head/usr.sbin/lpr/lpr/lpr.c Modified: head/usr.sbin/lpr/lpr/lpr.c ============================================================================== --- head/usr.sbin/lpr/lpr/lpr.c Thu Oct 21 01:13:41 2010 (r214123) +++ head/usr.sbin/lpr/lpr/lpr.c Thu Oct 21 06:52:14 2010 (r214124) @@ -386,7 +386,7 @@ main(int argc, char *argv[]) continue; /* file unreasonable */ if (sflag && (cp = linked(arg)) != NULL) { - (void) snprintf(buf, sizeof(buf), "%d %d", statb.st_dev, + (void) snprintf(buf, sizeof(buf), "%u %u", statb.st_dev, statb.st_ino); card('S', buf); if (format == 'p') From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 08:56:32 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8E4DD1065670; Thu, 21 Oct 2010 08:56:32 +0000 (UTC) (envelope-from pjd@garage.freebsd.pl) Received: from mail.garage.freebsd.pl (60.wheelsystems.com [83.12.187.60]) by mx1.freebsd.org (Postfix) with ESMTP id 240218FC23; Thu, 21 Oct 2010 08:56:31 +0000 (UTC) Received: by mail.garage.freebsd.pl (Postfix, from userid 65534) id 36E9145CD9; Thu, 21 Oct 2010 10:56:29 +0200 (CEST) Received: from localhost (chello089073192049.chello.pl [89.73.192.49]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.garage.freebsd.pl (Postfix) with ESMTP id C45B945684; Thu, 21 Oct 2010 10:56:23 +0200 (CEST) Date: Thu, 21 Oct 2010 10:55:51 +0200 From: Pawel Jakub Dawidek To: Rui Paulo Message-ID: <20101021085551.GC3838@garage.freebsd.pl> References: <201010202050.o9KKot6o068512@svn.freebsd.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="69pVuxX8awAiJ7fD" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i X-PGP-Key-URL: http://people.freebsd.org/~pjd/pjd.asc X-OS: FreeBSD 9.0-CURRENT amd64 X-Spam-Checker-Version: SpamAssassin 3.0.4 (2005-06-05) on mail.garage.freebsd.pl X-Spam-Level: X-Spam-Status: No, score=-0.6 required=4.5 tests=BAYES_00,RCVD_IN_SORBS_DUL autolearn=no version=3.0.4 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r214118 - in head: sbin/geom/class/eli sys/geom/eli X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 08:56:32 -0000 --69pVuxX8awAiJ7fD Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Oct 21, 2010 at 07:25:53AM +0100, Rui Paulo wrote: > Great work. Might be worth adding the geli commands to /etc/rc.suspend & = /etc/rc.resume. >=20 > You could do something that requires the minimum user configuration, like: >=20 > --- > geli list 2>&1 > /dev/null > if [ $? -eq 0 ]; then > geli suspend -a > fi Well, this is not always safe. As I mentioned in the commit message this will cause deadlock if geli(8) command is stored on encrypted file system (you won't be able to resume). Good example of such situation is when you encrypt even your root file system. --=20 Pawel Jakub Dawidek http://www.wheelsystems.com pjd@FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! --69pVuxX8awAiJ7fD Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (FreeBSD) iEYEARECAAYFAkzAABcACgkQForvXbEpPzS64ACdFNcEt35L3/9G6OBhljGMaO6H xqwAnjSc+C9av87BzzM/8uQimLhSo1rc =c2Oq -----END PGP SIGNATURE----- --69pVuxX8awAiJ7fD-- From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 08:57:26 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 44B521065674; Thu, 21 Oct 2010 08:57:26 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DF8D88FC21; Thu, 21 Oct 2010 08:57:25 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9L8vPRf084309; Thu, 21 Oct 2010 08:57:25 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9L8vPVQ084307; Thu, 21 Oct 2010 08:57:25 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201010210857.o9L8vPVQ084307@svn.freebsd.org> From: Xin LI Date: Thu, 21 Oct 2010 08:57:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214125 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 08:57:26 -0000 Author: delphij Date: Thu Oct 21 08:57:25 2010 New Revision: 214125 URL: http://svn.freebsd.org/changeset/base/214125 Log: In syscall_module_handler(): all switch branches return, remove unreached code as pointed out in a Chinese forum [1]. [1] http://www.freebsdchina.org/forum/viewtopic.php?t=50619 Pointed out by: btw616 MFC after: 1 month Modified: head/sys/kern/kern_syscalls.c Modified: head/sys/kern/kern_syscalls.c ============================================================================== --- head/sys/kern/kern_syscalls.c Thu Oct 21 06:52:14 2010 (r214124) +++ head/sys/kern/kern_syscalls.c Thu Oct 21 08:57:25 2010 (r214125) @@ -184,10 +184,7 @@ syscall_module_handler(struct module *mo return EOPNOTSUPP; } - if (data->chainevh) - return (data->chainevh(mod, what, data->chainarg)); - else - return (0); + /* NOTREACHED */ } int From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 09:29:54 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CB822106566C; Thu, 21 Oct 2010 09:29:54 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from mail-wy0-f182.google.com (mail-wy0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id 0D2E28FC1A; Thu, 21 Oct 2010 09:29:53 +0000 (UTC) Received: by wyb38 with SMTP id 38so4935593wyb.13 for ; Thu, 21 Oct 2010 02:29:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:sender:received :in-reply-to:references:date:x-google-sender-auth:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=SOZ5g+R5TO+TbVCZzQSHLz1wp8tlOC7pQJzEDnVzeT4=; b=daF4Bj1eRVVrJ/ZV/GNJPOq9QrPwf7EnkNBf0e1LVQqVzNOOsGi2Eq/O+ehw2jsBXg 0Lcc3iSSpB2puPg/DkdMuhFrA3At9y57NpJTJb966hgDIj8mx5T1CE66FwNIxjLH1gLb trMTo3rd/21d64Ca23ZGrpBvbhyZ5blzlRPyU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=mVJ1zX5H7rVoSM2AFhpoBFr5dEnUIfB7LBaqbS4MVEK/NqqEaOfEbfURHM51ctxHlE Xn2wK6DpQZ8uGv5gBximeQHCR5+rY8+omq0kEulfvP/yyL4N4XxN0CChBOOXZEKUCaNv tIQ0EEMd2UtLwp0DujpNZlYPQdRzZ8MXDVtY0= MIME-Version: 1.0 Received: by 10.216.164.199 with SMTP id c49mr594531wel.107.1287651728686; Thu, 21 Oct 2010 02:02:08 -0700 (PDT) Sender: yanegomi@gmail.com Received: by 10.216.135.67 with HTTP; Thu, 21 Oct 2010 02:02:08 -0700 (PDT) In-Reply-To: <20101021085551.GC3838@garage.freebsd.pl> References: <201010202050.o9KKot6o068512@svn.freebsd.org> <20101021085551.GC3838@garage.freebsd.pl> Date: Thu, 21 Oct 2010 02:02:08 -0700 X-Google-Sender-Auth: qbKn7Uw8LYfgZhK6byvtGGqZV0c Message-ID: From: Garrett Cooper To: Pawel Jakub Dawidek Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Rui Paulo Subject: Re: svn commit: r214118 - in head: sbin/geom/class/eli sys/geom/eli X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 09:29:54 -0000 On Thu, Oct 21, 2010 at 1:55 AM, Pawel Jakub Dawidek wrot= e: > On Thu, Oct 21, 2010 at 07:25:53AM +0100, Rui Paulo wrote: >> Great work. Might be worth adding the geli commands to /etc/rc.suspend &= /etc/rc.resume. >> >> You could do something that requires the minimum user configuration, lik= e: >> >> --- >> geli list 2>&1 > /dev/null >> if [ $? -eq 0 ]; then >> =A0 =A0 =A0 geli suspend -a >> fi > > Well, this is not always safe. As I mentioned in the commit message this > will cause deadlock if geli(8) command is stored on encrypted file > system (you won't be able to resume). Good example of such situation is > when you encrypt even your root file system. I think it's pretty safe to say that if the user understands this limitation that they can add the relevant code to the end of rc.resume. Maybe rc.{resume,suspend}.local script hooks should be added for user-defined commands like this? Thanks, -Garrett From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 10:11:40 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1552F106566C; Thu, 21 Oct 2010 10:11:40 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 02B5F8FC18; Thu, 21 Oct 2010 10:11:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LABdBh085914; Thu, 21 Oct 2010 10:11:39 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LABdR2085912; Thu, 21 Oct 2010 10:11:39 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201010211011.o9LABdR2085912@svn.freebsd.org> From: Sergey Kandaurov Date: Thu, 21 Oct 2010 10:11:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214126 - stable/8/share/man/man4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 10:11:40 -0000 Author: pluknet Date: Thu Oct 21 10:11:39 2010 New Revision: 214126 URL: http://svn.freebsd.org/changeset/base/214126 Log: Fix typo: Offlaod -> Offload. PR: docs/150756 Approved by: avg (mentor) Modified: stable/8/share/man/man4/nxge.4 Directory Properties: stable/8/share/man/man4/ (props changed) Modified: stable/8/share/man/man4/nxge.4 ============================================================================== --- stable/8/share/man/man4/nxge.4 Thu Oct 21 08:57:25 2010 (r214125) +++ stable/8/share/man/man4/nxge.4 Thu Oct 21 10:11:39 2010 (r214126) @@ -49,7 +49,7 @@ The .Nm driver provides support for Neterion Xframe-I and Xframe-II adapters. The driver supports TCP Segmentation Offload (TSO/LSO), -Large Receive Offlaod (LRO), Jumbo Frames (5 buffer mode), +Large Receive Offload (LRO), Jumbo Frames (5 buffer mode), Header Separation (Rx 2 buffer mode), VLAN, and Promiscuous mode. .Pp For general information and support, please visit the Neterion support page From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 10:13:52 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 592AD1065675; Thu, 21 Oct 2010 10:13:52 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 46A628FC08; Thu, 21 Oct 2010 10:13:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LADqZ5085987; Thu, 21 Oct 2010 10:13:52 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LADq2N085985; Thu, 21 Oct 2010 10:13:52 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201010211013.o9LADq2N085985@svn.freebsd.org> From: Sergey Kandaurov Date: Thu, 21 Oct 2010 10:13:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214127 - stable/7/share/man/man4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 10:13:52 -0000 Author: pluknet Date: Thu Oct 21 10:13:52 2010 New Revision: 214127 URL: http://svn.freebsd.org/changeset/base/214127 Log: MFC r214020: Fix typo: Offlaod -> Offload. PR: docs/150756 Approved by: avg (mentor) Modified: stable/7/share/man/man4/nxge.4 Directory Properties: stable/7/share/man/man4/ (props changed) Modified: stable/7/share/man/man4/nxge.4 ============================================================================== --- stable/7/share/man/man4/nxge.4 Thu Oct 21 10:11:39 2010 (r214126) +++ stable/7/share/man/man4/nxge.4 Thu Oct 21 10:13:52 2010 (r214127) @@ -49,7 +49,7 @@ The .Nm driver provides support for Neterion Xframe-I and Xframe-II adapters. The driver supports TCP Segmentation Offload (TSO/LSO), -Large Receive Offlaod (LRO), Jumbo Frames (5 buffer mode), +Large Receive Offload (LRO), Jumbo Frames (5 buffer mode), Header Separation (Rx 2 buffer mode), VLAN, and Promiscuous mode. .Pp For general information and support, please visit the Neterion support page From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 10:36:36 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A38CC106564A; Thu, 21 Oct 2010 10:36:36 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 91CEC8FC17; Thu, 21 Oct 2010 10:36:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LAaaic088140; Thu, 21 Oct 2010 10:36:36 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LAaaLk088138; Thu, 21 Oct 2010 10:36:36 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010211036.o9LAaaLk088138@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Thu, 21 Oct 2010 10:36:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214128 - head/lib/libgeom X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 10:36:36 -0000 Author: pjd Date: Thu Oct 21 10:36:36 2010 New Revision: 214128 URL: http://svn.freebsd.org/changeset/base/214128 Log: - Simplify gctl_get_handle() a bit. - Prefer 'unsigned int' over 'u_int' in userland code. Modified: head/lib/libgeom/geom_ctl.c Modified: head/lib/libgeom/geom_ctl.c ============================================================================== --- head/lib/libgeom/geom_ctl.c Thu Oct 21 10:13:52 2010 (r214127) +++ head/lib/libgeom/geom_ctl.c Thu Oct 21 10:36:36 2010 (r214128) @@ -54,7 +54,7 @@ static char nomemmsg[] = "Could not allo void gctl_dump(struct gctl_req *req, FILE *f) { - u_int i; + unsigned int i; int j; struct gctl_req_arg *ap; @@ -126,10 +126,8 @@ gctl_check_alloc(struct gctl_req *req, v struct gctl_req * gctl_get_handle(void) { - struct gctl_req *rp; - rp = calloc(1, sizeof *rp); - return (rp); + return (calloc(1, sizeof(struct gctl_req))); } /* @@ -233,7 +231,7 @@ gctl_issue(struct gctl_req *req) void gctl_free(struct gctl_req *req) { - u_int i; + unsigned int i; if (req == NULL) return; From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 10:38:14 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CEC1C1065670; Thu, 21 Oct 2010 10:38:14 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A2A608FC0A; Thu, 21 Oct 2010 10:38:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LAcEgF088215; Thu, 21 Oct 2010 10:38:14 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LAcEEs088213; Thu, 21 Oct 2010 10:38:14 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010211038.o9LAcEEs088213@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Thu, 21 Oct 2010 10:38:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214129 - head/lib/libgeom X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 10:38:14 -0000 Author: pjd Date: Thu Oct 21 10:38:14 2010 New Revision: 214129 URL: http://svn.freebsd.org/changeset/base/214129 Log: Remove code duplication by introducing static gctl_param_add() function which is now used by both gctl_ro_param() and gctl_rw_param(). Modified: head/lib/libgeom/geom_ctl.c Modified: head/lib/libgeom/geom_ctl.c ============================================================================== --- head/lib/libgeom/geom_ctl.c Thu Oct 21 10:36:36 2010 (r214128) +++ head/lib/libgeom/geom_ctl.c Thu Oct 21 10:38:14 2010 (r214129) @@ -150,8 +150,9 @@ gctl_new_arg(struct gctl_req *req) return (ap); } -void -gctl_ro_param(struct gctl_req *req, const char *name, int len, const void* value) +static void +gctl_param_add(struct gctl_req *req, const char *name, int len, void *value, + int flag) { struct gctl_req_arg *ap; @@ -165,8 +166,8 @@ gctl_ro_param(struct gctl_req *req, cons if (ap->name == NULL) return; ap->nlen = strlen(ap->name) + 1; - ap->value = __DECONST(void *, value); - ap->flag = GCTL_PARAM_RD; + ap->value = value; + ap->flag = flag; if (len >= 0) ap->len = len; else if (len < 0) { @@ -176,26 +177,17 @@ gctl_ro_param(struct gctl_req *req, cons } void -gctl_rw_param(struct gctl_req *req, const char *name, int len, void* value) +gctl_ro_param(struct gctl_req *req, const char *name, int len, const void* value) { - struct gctl_req_arg *ap; - if (req == NULL || req->error != NULL) - return; - ap = gctl_new_arg(req); - if (ap == NULL) - return; - ap->name = strdup(name); - gctl_check_alloc(req, ap->name); - if (ap->name == NULL) - return; - ap->nlen = strlen(ap->name) + 1; - ap->value = value; - ap->flag = GCTL_PARAM_RW; - if (len >= 0) - ap->len = len; - else if (len < 0) - ap->len = strlen(value) + 1; + gctl_param_add(req, name, len, __DECONST(void *, value), GCTL_PARAM_RD); +} + +void +gctl_rw_param(struct gctl_req *req, const char *name, int len, void *value) +{ + + gctl_param_add(req, name, len, value, GCTL_PARAM_RW); } const char * From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 10:38:53 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 01F9C1065672; Thu, 21 Oct 2010 10:38:53 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E47C18FC20; Thu, 21 Oct 2010 10:38:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LAcqm4088260; Thu, 21 Oct 2010 10:38:52 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LAcq6m088258; Thu, 21 Oct 2010 10:38:52 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201010211038.o9LAcq6m088258@svn.freebsd.org> From: Sergey Kandaurov Date: Thu, 21 Oct 2010 10:38:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214130 - head/sys/dev/mfi X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 10:38:53 -0000 Author: pluknet Date: Thu Oct 21 10:38:52 2010 New Revision: 214130 URL: http://svn.freebsd.org/changeset/base/214130 Log: Update PD state firmware definitions: add copyback, system. Reviewed by: jhb Approved by: avg (mentor) MFC after: 1 week Modified: head/sys/dev/mfi/mfireg.h Modified: head/sys/dev/mfi/mfireg.h ============================================================================== --- head/sys/dev/mfi/mfireg.h Thu Oct 21 10:38:14 2010 (r214129) +++ head/sys/dev/mfi/mfireg.h Thu Oct 21 10:38:52 2010 (r214130) @@ -975,7 +975,9 @@ enum mfi_pd_state { MFI_PD_STATE_OFFLINE = 0x10, MFI_PD_STATE_FAILED = 0x11, MFI_PD_STATE_REBUILD = 0x14, - MFI_PD_STATE_ONLINE = 0x18 + MFI_PD_STATE_ONLINE = 0x18, + MFI_PD_STATE_COPYBACK = 0x20, + MFI_PD_STATE_SYSTEM = 0x40 }; union mfi_ld_ref { From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 10:46:18 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8BBD11065672; Thu, 21 Oct 2010 10:46:18 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7A1018FC24; Thu, 21 Oct 2010 10:46:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LAkIG3088502; Thu, 21 Oct 2010 10:46:18 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LAkIcH088500; Thu, 21 Oct 2010 10:46:18 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201010211046.o9LAkIcH088500@svn.freebsd.org> From: Sergey Kandaurov Date: Thu, 21 Oct 2010 10:46:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214131 - head/usr.sbin/mfiutil X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 10:46:18 -0000 Author: pluknet Date: Thu Oct 21 10:46:18 2010 New Revision: 214131 URL: http://svn.freebsd.org/changeset/base/214131 Log: Enable copyback and system PD states. Reviewed by: jhb Approved by: avg (mentor) MFC after: 1 week X-MFC-After: r214130 Modified: head/usr.sbin/mfiutil/mfi_drive.c Modified: head/usr.sbin/mfiutil/mfi_drive.c ============================================================================== --- head/usr.sbin/mfiutil/mfi_drive.c Thu Oct 21 10:38:52 2010 (r214130) +++ head/usr.sbin/mfiutil/mfi_drive.c Thu Oct 21 10:46:18 2010 (r214131) @@ -65,6 +65,10 @@ mfi_pdstate(enum mfi_pd_state state) return ("REBUILD"); case MFI_PD_STATE_ONLINE: return ("ONLINE"); + case MFI_PD_STATE_COPYBACK: + return ("COPYBACK"); + case MFI_PD_STATE_SYSTEM: + return ("SYSTEM"); default: sprintf(buf, "PSTATE 0x%04x", state); return (buf); From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 12:17:46 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C41BC106566B; Thu, 21 Oct 2010 12:17:46 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 925258FC13; Thu, 21 Oct 2010 12:17:46 +0000 (UTC) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id 3860746B0C; Thu, 21 Oct 2010 08:17:46 -0400 (EDT) Received: from jhbbsd.localnet (smtp.hudson-trading.com [209.249.190.9]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id EE0818A01D; Thu, 21 Oct 2010 08:17:44 -0400 (EDT) From: John Baldwin To: Xin LI Date: Thu, 21 Oct 2010 07:46:41 -0400 User-Agent: KMail/1.13.5 (FreeBSD/7.3-CBSD-20100819; KDE/4.4.5; amd64; ; ) References: <201010210857.o9L8vPVQ084307@svn.freebsd.org> In-Reply-To: <201010210857.o9L8vPVQ084307@svn.freebsd.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201010210746.41227.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6 (bigwig.baldwin.cx); Thu, 21 Oct 2010 08:17:45 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.96.3 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-1.9 required=4.2 tests=BAYES_00 autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on bigwig.baldwin.cx Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r214125 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 12:17:46 -0000 On Thursday, October 21, 2010 4:57:25 am Xin LI wrote: > Author: delphij > Date: Thu Oct 21 08:57:25 2010 > New Revision: 214125 > URL: http://svn.freebsd.org/changeset/base/214125 > > Log: > In syscall_module_handler(): all switch branches return, remove > unreached code as pointed out in a Chinese forum [1]. > > [1] http://www.freebsdchina.org/forum/viewtopic.php?t=50619 > > Pointed out by: btw616 > MFC after: 1 month I think this exposes a bug though in that the default case doesn't pass through to chainevh. The default case should look more like the removed code (except returning EOPNOTSUPP instead of 0 if there is no chainevh). -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 12:27:14 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 78E981065693; Thu, 21 Oct 2010 12:27:14 +0000 (UTC) (envelope-from uqs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 64E2A8FC20; Thu, 21 Oct 2010 12:27:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LCREPq090464; Thu, 21 Oct 2010 12:27:14 GMT (envelope-from uqs@svn.freebsd.org) Received: (from uqs@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LCREQ2090452; Thu, 21 Oct 2010 12:27:14 GMT (envelope-from uqs@svn.freebsd.org) Message-Id: <201010211227.o9LCREQ2090452@svn.freebsd.org> From: Ulrich Spoerlein Date: Thu, 21 Oct 2010 12:27:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214132 - in head: lib/libc/sys sbin/fsirand sbin/ipfw sbin/restore share/man/man4 share/man/man5 share/man/man9 usr.bin/mesg usr.sbin/mtest X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 12:27:14 -0000 Author: uqs Date: Thu Oct 21 12:27:13 2010 New Revision: 214132 URL: http://svn.freebsd.org/changeset/base/214132 Log: mdoc: make pages render with mandoc It's a bit more pedantic regarding .Bl list elements. This has an added benefit of unbreaking the ipfw(8) manpage, where groff was silently skipping one list element. Modified: head/lib/libc/sys/getpriority.2 head/lib/libc/sys/pathconf.2 head/lib/libc/sys/stat.2 head/sbin/fsirand/fsirand.8 head/sbin/ipfw/ipfw.8 head/sbin/restore/restore.8 head/share/man/man4/iscsi_initiator.4 head/share/man/man5/elf.5 head/share/man/man9/sysctl_add_oid.9 head/usr.bin/mesg/mesg.1 head/usr.sbin/mtest/mtest.8 Modified: head/lib/libc/sys/getpriority.2 ============================================================================== --- head/lib/libc/sys/getpriority.2 Thu Oct 21 10:46:18 2010 (r214131) +++ head/lib/libc/sys/getpriority.2 Thu Oct 21 12:27:13 2010 (r214132) @@ -129,10 +129,10 @@ or .Dv PRIO_USER . .El .Pp -.Bl -tag -width Er In addition to the errors indicated above, .Fn setpriority will fail if: +.Bl -tag -width Er .It Bq Er EPERM A process was located, but neither its effective nor real user ID matched the effective user ID of the caller. Modified: head/lib/libc/sys/pathconf.2 ============================================================================== --- head/lib/libc/sys/pathconf.2 Thu Oct 21 10:46:18 2010 (r214131) +++ head/lib/libc/sys/pathconf.2 Thu Oct 21 12:27:13 2010 (r214132) @@ -89,7 +89,6 @@ returns information about the file the l The available values are as follows: .Pp .Bl -tag -width 6n -.Pp .It Li _PC_LINK_MAX The maximum file link count. .It Li _PC_MAX_CANON @@ -234,11 +233,11 @@ Too many symbolic links were encountered An I/O error occurred while reading from or writing to the file system. .El .Pp -.Bl -tag -width Er The .Fn fpathconf system call will fail if: +.Bl -tag -width Er .It Bq Er EBADF The .Fa fd Modified: head/lib/libc/sys/stat.2 ============================================================================== --- head/lib/libc/sys/stat.2 Thu Oct 21 10:46:18 2010 (r214131) +++ head/lib/libc/sys/stat.2 Thu Oct 21 12:27:13 2010 (r214132) @@ -345,10 +345,10 @@ represented correctly in the structure p .Fa sb . .El .Pp -.Bl -tag -width Er The .Fn fstat system call will fail if: +.Bl -tag -width Er .It Bq Er EBADF The .Fa fd Modified: head/sbin/fsirand/fsirand.8 ============================================================================== --- head/sbin/fsirand/fsirand.8 Thu Oct 21 10:46:18 2010 (r214131) +++ head/sbin/fsirand/fsirand.8 Thu Oct 21 12:27:13 2010 (r214132) @@ -73,8 +73,8 @@ The utility may be used on the root file system in single-user mode but the system should be rebooted via ``reboot -n'' afterwards. .Sh OPTIONS -.Bl -tag -width indent The available options are as follows: +.Bl -tag -width indent .It Fl b Use the default block size (usually 512 bytes) instead of the value gleaned from the disklabel. Modified: head/sbin/ipfw/ipfw.8 ============================================================================== --- head/sbin/ipfw/ipfw.8 Thu Oct 21 10:46:18 2010 (r214131) +++ head/sbin/ipfw/ipfw.8 Thu Oct 21 12:27:13 2010 (r214132) @@ -1009,11 +1009,11 @@ The second format with multiple addresses) is provided for convenience only and its use is discouraged. .It Ar addr : Oo Cm not Oc Bro -.Bl -tag -width indent .Cm any | me | me6 | .Cm table Ns Pq Ar number Ns Op , Ns Ar value .Ar | addr-list | addr-set .Brc +.Bl -tag -width indent .It Cm any matches any IP address. .It Cm me @@ -2176,7 +2176,6 @@ Finally, the following parameters can be pipes and queues: .Pp .Bl -tag -width XXXX -compact -.Pp .It Cm buckets Ar hash-table-size Specifies the size of the hash table used for storing the various queues. Modified: head/sbin/restore/restore.8 ============================================================================== --- head/sbin/restore/restore.8 Thu Oct 21 10:46:18 2010 (r214131) +++ head/sbin/restore/restore.8 Thu Oct 21 12:27:13 2010 (r214132) @@ -412,7 +412,6 @@ Most checks are self-explanatory or can Common errors are given below. .Pp .Bl -tag -width Ds -compact -.Pp .It : not found on tape The specified file name was listed in the tape directory, but was not found on the tape. Modified: head/share/man/man4/iscsi_initiator.4 ============================================================================== --- head/share/man/man4/iscsi_initiator.4 Thu Oct 21 10:46:18 2010 (r214131) +++ head/share/man/man4/iscsi_initiator.4 Thu Oct 21 12:27:13 2010 (r214132) @@ -90,8 +90,8 @@ see The .Nm driver creates the following: -.Bl -tag -width ".Pa /dev/iscsi%dxx" -compact .Pp +.Bl -tag -width ".Pa /dev/iscsi%dxx" -compact .It Pa /dev/iscsi used to create new sessions. .It Pa /dev/iscsi%d Modified: head/share/man/man5/elf.5 ============================================================================== --- head/share/man/man5/elf.5 Thu Oct 21 10:46:18 2010 (r214131) +++ head/share/man/man5/elf.5 Thu Oct 21 12:27:13 2010 (r214132) @@ -462,8 +462,8 @@ member in the total struct. .It Dv p_type This member of the Phdr struct tells what kind of segment this array element describes or how to interpret the array element's information. -.Bl -tag -width "PT_DYNAMIC" -compact .Pp +.Bl -tag -width "PT_DYNAMIC" -compact .It Dv PT_NULL The array element is unused and the other members' values are undefined. This lets the program header have ignored entries. Modified: head/share/man/man9/sysctl_add_oid.9 ============================================================================== --- head/share/man/man9/sysctl_add_oid.9 Thu Oct 21 10:46:18 2010 (r214131) +++ head/share/man/man9/sysctl_add_oid.9 Thu Oct 21 12:27:13 2010 (r214132) @@ -411,8 +411,8 @@ and to delete them later in orderly fash .Pp There is a set of macros defined that helps to create oids of given type. -.Bl -tag -width SYSCTL_ADD_STRINGXX They are as follows: +.Bl -tag -width SYSCTL_ADD_STRINGXX .It Fn SYSCTL_ADD_OID creates a raw oid. This macro is functionally equivalent to the Modified: head/usr.bin/mesg/mesg.1 ============================================================================== --- head/usr.bin/mesg/mesg.1 Thu Oct 21 10:46:18 2010 (r214131) +++ head/usr.bin/mesg/mesg.1 Thu Oct 21 12:27:13 2010 (r214132) @@ -70,8 +70,8 @@ displays the present message status to t The .Nm utility exits with one of the following values: -.Bl -tag -width flag -compact -offset indent .Pp +.Bl -tag -width flag -compact -offset indent .It Li "\ 0" Messages are allowed. .It Li "\ 1" Modified: head/usr.sbin/mtest/mtest.8 ============================================================================== --- head/usr.sbin/mtest/mtest.8 Thu Oct 21 10:46:18 2010 (r214131) +++ head/usr.sbin/mtest/mtest.8 Thu Oct 21 12:27:13 2010 (r214132) @@ -42,8 +42,8 @@ is a small program for testing multicast .Pp It accepts the following commands, interactively, or as part of a scripted input file (useful for automated testing): -.Bl -tag -width "a ifname e.e.e.e e.e.e.e" -compact -offset indent .Pp +.Bl -tag -width "a ifname e.e.e.e e.e.e.e" -compact -offset indent .\" .It Ic a Ar ifname Ar mac-addr Join the link-layer group address From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 12:58:26 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D3BEA106566B; Thu, 21 Oct 2010 12:58:26 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C2B098FC1E; Thu, 21 Oct 2010 12:58:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LCwQ4X091170; Thu, 21 Oct 2010 12:58:26 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LCwQbN091168; Thu, 21 Oct 2010 12:58:26 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010211258.o9LCwQbN091168@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Thu, 21 Oct 2010 12:58:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214133 - head/sys/geom/eli X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 12:58:26 -0000 Author: pjd Date: Thu Oct 21 12:58:26 2010 New Revision: 214133 URL: http://svn.freebsd.org/changeset/base/214133 Log: Fix a bug introduced in r213067 where we use authentication key before initializing it. Modified: head/sys/geom/eli/g_eli.c Modified: head/sys/geom/eli/g_eli.c ============================================================================== --- head/sys/geom/eli/g_eli.c Thu Oct 21 12:27:13 2010 (r214132) +++ head/sys/geom/eli/g_eli.c Thu Oct 21 12:58:26 2010 (r214133) @@ -686,14 +686,6 @@ g_eli_create(struct gctl_req *req, struc sc->sc_bytes_per_sector = (md->md_sectorsize - 1) / sc->sc_data_per_sector + 1; sc->sc_bytes_per_sector *= bpp->sectorsize; - /* - * Precalculate SHA256 for HMAC key generation. - * This is expensive operation and we can do it only once now or - * for every access to sector, so now will be much better. - */ - SHA256_Init(&sc->sc_akeyctx); - SHA256_Update(&sc->sc_akeyctx, sc->sc_akey, - sizeof(sc->sc_akey)); } gp->softc = sc; @@ -753,7 +745,16 @@ g_eli_create(struct gctl_req *req, struc */ g_eli_mkey_propagate(sc, mkey); sc->sc_ekeylen = md->md_keylen; - + if (sc->sc_flags & G_ELI_FLAG_AUTH) { + /* + * Precalculate SHA256 for HMAC key generation. + * This is expensive operation and we can do it only once now or + * for every access to sector, so now will be much better. + */ + SHA256_Init(&sc->sc_akeyctx); + SHA256_Update(&sc->sc_akeyctx, sc->sc_akey, + sizeof(sc->sc_akey)); + } /* * Precalculate SHA256 for IV generation. * This is expensive operation and we can do it only once now or for From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 15:10:35 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B67A6106566B; Thu, 21 Oct 2010 15:10:35 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 641F08FC17; Thu, 21 Oct 2010 15:10:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LFAZdD094085; Thu, 21 Oct 2010 15:10:35 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LFAZ5Y094083; Thu, 21 Oct 2010 15:10:35 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <201010211510.o9LFAZ5Y094083@svn.freebsd.org> From: Ed Schouten Date: Thu, 21 Oct 2010 15:10:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214134 - head/lib/libc/gen X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 15:10:35 -0000 Author: ed Date: Thu Oct 21 15:10:35 2010 New Revision: 214134 URL: http://svn.freebsd.org/changeset/base/214134 Log: Fix error handling logic of pututxline(3). Instead of only returning NULL when the entry is invalid and can't be matched against the current database, also return it when it cannot open the log files properly. Modified: head/lib/libc/gen/pututxline.c Modified: head/lib/libc/gen/pututxline.c ============================================================================== --- head/lib/libc/gen/pututxline.c Thu Oct 21 12:58:26 2010 (r214133) +++ head/lib/libc/gen/pututxline.c Thu Oct 21 15:10:35 2010 (r214134) @@ -65,7 +65,7 @@ futx_open(const char *file) return (fp); } -static void +static int utx_active_add(const struct futx *fu) { FILE *fp; @@ -78,7 +78,7 @@ utx_active_add(const struct futx *fu) */ fp = futx_open(_PATH_UTX_ACTIVE); if (fp == NULL) - return; + return (1); while (fread(&fe, sizeof fe, 1, fp) == 1) { switch (fe.fu_type) { case USER_PROCESS: @@ -110,6 +110,7 @@ utx_active_add(const struct futx *fu) exact: fwrite(fu, sizeof *fu, 1, fp); fclose(fp); + return (0); } static int @@ -123,7 +124,7 @@ utx_active_remove(struct futx *fu) */ fp = futx_open(_PATH_UTX_ACTIVE); if (fp == NULL) - return (0); + return (1); while (fread(&fe, sizeof fe, 1, fp) == 1) { switch (fe.fu_type) { case USER_PROCESS: @@ -151,7 +152,7 @@ utx_active_purge(void) truncate(_PATH_UTX_ACTIVE, 0); } -static void +static int utx_lastlogin_add(const struct futx *fu) { FILE *fp; @@ -164,7 +165,7 @@ utx_lastlogin_add(const struct futx *fu) */ fp = futx_open(_PATH_UTX_LASTLOGIN); if (fp == NULL) - return; + return (1); while (fread(&fe, sizeof fe, 1, fp) == 1) { if (strncmp(fu->fu_user, fe.fu_user, sizeof fe.fu_user) != 0) continue; @@ -175,6 +176,7 @@ utx_lastlogin_add(const struct futx *fu) } fwrite(fu, sizeof *fu, 1, fp); fclose(fp); + return (0); } static void @@ -197,7 +199,7 @@ utx_lastlogin_upgrade(void) _close(fd); } -static void +static int utx_log_add(const struct futx *fu) { int fd; @@ -219,15 +221,17 @@ utx_log_add(const struct futx *fu) fd = _open(_PATH_UTX_LOG, O_CREAT|O_WRONLY|O_APPEND, 0644); if (fd < 0) - return; + return (1); _writev(fd, vec, 2); _close(fd); + return (0); } struct utmpx * pututxline(const struct utmpx *utmpx) { struct futx fu; + int bad = 0; utx_to_futx(utmpx, &fu); @@ -241,16 +245,21 @@ pututxline(const struct utmpx *utmpx) case NEW_TIME: break; case USER_PROCESS: - utx_active_add(&fu); - utx_lastlogin_add(&fu); + bad |= utx_active_add(&fu); + bad |= utx_lastlogin_add(&fu); break; #if 0 /* XXX: Are these records of any use to us? */ case INIT_PROCESS: case LOGIN_PROCESS: - utx_active_add(&fu); + bad |= utx_active_add(&fu); break; #endif case DEAD_PROCESS: + /* + * In case writing a logout entry fails, never attempt + * to write it to utx.log. The logout entry's ut_id + * might be invalid. + */ if (utx_active_remove(&fu) != 0) return (NULL); break; @@ -258,6 +267,6 @@ pututxline(const struct utmpx *utmpx) return (NULL); } - utx_log_add(&fu); - return (futx_to_utx(&fu)); + bad |= utx_log_add(&fu); + return (bad ? NULL : futx_to_utx(&fu)); } From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 16:08:32 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F3FB1106566B; Thu, 21 Oct 2010 16:08:31 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E1A788FC0C; Thu, 21 Oct 2010 16:08:31 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LG8Vvj095730; Thu, 21 Oct 2010 16:08:31 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LG8VDG095728; Thu, 21 Oct 2010 16:08:31 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <201010211608.o9LG8VDG095728@svn.freebsd.org> From: Robert Watson Date: Thu, 21 Oct 2010 16:08:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214135 - head/tools/tools/syscall_timing X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 16:08:32 -0000 Author: rwatson Date: Thu Oct 21 16:08:31 2010 New Revision: 214135 URL: http://svn.freebsd.org/changeset/base/214135 Log: Improve the structure and implementation of the syscall_timing microbenchmark suite: - Use common benchmark_start/benchmark_stop routines to simplify individual benchmarks. - Add a central table of tests with names, where new tests can be hooked in easily. - Add new benchmarks for dup, shm_open, shm_open + fstat, fork, vfork, vfork + exec, chroot, setuid. - Accept a number of loops, not just a number of iterations. - Report results more usefully in a table. Sponsored by: Google, Inc. MFC after: 2 weeks Modified: head/tools/tools/syscall_timing/syscall_timing.c Modified: head/tools/tools/syscall_timing/syscall_timing.c ============================================================================== --- head/tools/tools/syscall_timing/syscall_timing.c Thu Oct 21 15:10:35 2010 (r214134) +++ head/tools/tools/syscall_timing/syscall_timing.c Thu Oct 21 16:08:31 2010 (r214135) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2003-2004 Robert N. M. Watson + * Copyright (c) 2003-2004, 2010 Robert N. M. Watson * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -27,26 +27,48 @@ */ #include +#include #include +#include #include +#include #include +#include +#include +#include #include #include #include #include -#define timespecsub(vvp, uvp) \ - do { \ - (vvp)->tv_sec -= (uvp)->tv_sec; \ - (vvp)->tv_nsec -= (uvp)->tv_nsec; \ - if ((vvp)->tv_nsec < 0) { \ - (vvp)->tv_sec--; \ - (vvp)->tv_nsec += 1000000000; \ - } \ - } while (0) +static struct timespec ts_start, ts_end; -inline void +#define timespecsub(vvp, uvp) \ + do { \ + (vvp)->tv_sec -= (uvp)->tv_sec; \ + (vvp)->tv_nsec -= (uvp)->tv_nsec; \ + if ((vvp)->tv_nsec < 0) { \ + (vvp)->tv_sec--; \ + (vvp)->tv_nsec += 1000000000; \ + } \ + } while (0) + +static void +benchmark_start(void) +{ + + assert(clock_gettime(CLOCK_REALTIME, &ts_start) == 0); +} + +static void +benchmark_stop(void) +{ + + assert(clock_gettime(CLOCK_REALTIME, &ts_end) == 0); +} + +void test_getuid(int num) { int i; @@ -55,11 +77,13 @@ test_getuid(int num) * Thread-local data should require no locking if system * call is MPSAFE. */ + benchmark_start(); for (i = 0; i < num; i++) getuid(); + benchmark_stop(); } -inline void +void test_getppid(int num) { int i; @@ -68,28 +92,28 @@ test_getppid(int num) * This is process-local, but can change, so will require a * lock. */ + benchmark_start(); for (i = 0; i < num; i++) getppid(); + benchmark_stop(); } -inline void +void test_clock_gettime(int num) { struct timespec ts; int i; - for (i = 0; i < num; i++) { - if (clock_gettime(CLOCK_REALTIME, &ts) == -1) { - perror("clock_gettime"); - exit(-1); - } - } + benchmark_start(); + for (i = 0; i < num; i++) + (void)clock_gettime(CLOCK_REALTIME, &ts); + benchmark_stop(); } -inline void +void test_pipe(int num) { - int i; + int fd[2], i; /* * pipe creation is expensive, as it will allocate a new file @@ -97,153 +121,397 @@ test_pipe(int num) * Destroying is also expensive, as we now have to free up * the file descriptors and return the pipe. */ + if (pipe(fd) < 0) + err(-1, "test_pipe: pipe"); + close(fd[0]); + close(fd[1]); + benchmark_start(); for (i = 0; i < num; i++) { - int fd[2]; - if (pipe(fd) == -1) { - perror("pipe"); - exit(-1); - } - + if (pipe(fd) == -1) + err(-1, "test_pipe: pipe"); close(fd[0]); close(fd[1]); } + benchmark_stop(); } -inline void +void test_socket_stream(int num) { int i, so; + so = socket(PF_LOCAL, SOCK_STREAM, 0); + if (so < 0) + err(-1, "test_socket_stream: socket"); + close(so); + benchmark_start(); for (i = 0; i < num; i++) { so = socket(PF_LOCAL, SOCK_STREAM, 0); - if (so == -1) { - perror("socket_stream"); - exit(-1); - } + if (so == -1) + err(-1, "test_socket_stream: socket"); close(so); } + benchmark_stop(); } -inline void +void test_socket_dgram(int num) { int i, so; + so = socket(PF_LOCAL, SOCK_DGRAM, 0); + if (so < 0) + err(-1, "test_socket_dgram: socket"); + close(so); + benchmark_start(); for (i = 0; i < num; i++) { so = socket(PF_LOCAL, SOCK_DGRAM, 0); - if (so == -1) { - perror("socket_dgram"); - exit(-1); - } + if (so == -1) + err(-1, "test_socket_dgram: socket"); close(so); } + benchmark_stop(); } -inline void +void test_socketpair_stream(int num) { int i, so[2]; + if (socketpair(PF_LOCAL, SOCK_STREAM, 0, so) == -1) + err(-1, "test_socketpair_stream: socketpair"); + close(so[0]); + close(so[1]); + benchmark_start(); for (i = 0; i < num; i++) { - if (socketpair(PF_LOCAL, SOCK_STREAM, 0, so) == -1) { - perror("socketpair_stream"); - exit(-1); - } + if (socketpair(PF_LOCAL, SOCK_STREAM, 0, so) == -1) + err(-1, "test_socketpair_stream: socketpair"); close(so[0]); close(so[1]); } + benchmark_stop(); } -inline void +void test_socketpair_dgram(int num) { int i, so[2]; + if (socketpair(PF_LOCAL, SOCK_DGRAM, 0, so) == -1) + err(-1, "test_socketpair_dgram: socketpair"); + close(so[0]); + close(so[1]); + benchmark_start(); for (i = 0; i < num; i++) { - if (socketpair(PF_LOCAL, SOCK_DGRAM, 0, so) == -1) { - perror("socketpair_dgram"); - exit(-1); - } + if (socketpair(PF_LOCAL, SOCK_DGRAM, 0, so) == -1) + err(-1, "test_socketpair_dgram: socketpair"); close(so[0]); close(so[1]); } + benchmark_stop(); } +void +test_dup(int num) +{ + int fd, i, shmfd; + + shmfd = shm_open(SHM_ANON, O_CREAT | O_RDWR, 0600); + if (shmfd < 0) + err(-1, "test_dup: shm_open"); + fd = dup(shmfd); + if (fd >= 0) + close(fd); + benchmark_start(); + for (i = 0; i < num; i++) { + fd = dup(shmfd); + if (fd >= 0) + close(fd); + } + benchmark_stop(); + close(shmfd); +} + +void +test_shmfd(int num) +{ + int i, shmfd; + + shmfd = shm_open(SHM_ANON, O_CREAT | O_RDWR, 0600); + if (shmfd < 0) + err(-1, "test_shmfd: shm_open"); + close(shmfd); + benchmark_start(); + for (i = 0; i < num; i++) { + shmfd = shm_open(SHM_ANON, O_CREAT | O_RDWR, 0600); + if (shmfd < 0) + err(-1, "test_shmfd: shm_open"); + close(shmfd); + } + benchmark_stop(); +} + +void +test_fstat_shmfd(int num) +{ + struct stat sb; + int i, shmfd; + + shmfd = shm_open(SHM_ANON, O_CREAT | O_RDWR, 0600); + if (shmfd < 0) + err(-1, "test_fstat_shmfd: shm_open"); + if (fstat(shmfd, &sb) < 0) + err(-1, "test_fstat_shmfd: fstat"); + benchmark_start(); + for (i = 0; i < num; i++) + (void)fstat(shmfd, &sb); + benchmark_stop(); + close(shmfd); +} + +void +test_fork(int num) +{ + pid_t pid; + int i; + + pid = fork(); + if (pid < 0) + err(-1, "test_fork: fork"); + if (pid == 0) + _exit(0); + if (waitpid(pid, NULL, 0) < 0) + err(-1, "test_fork: waitpid"); + benchmark_start(); + for (i = 0; i < num; i++) { + pid = fork(); + if (pid < 0) + err(-1, "test_fork: fork"); + if (pid == 0) + _exit(0); + if (waitpid(pid, NULL, 0) < 0) + err(-1, "test_fork: waitpid"); + } + benchmark_stop(); +} + +void +test_vfork(int num) +{ + pid_t pid; + int i; + + pid = vfork(); + if (pid < 0) + err(-1, "test_vfork: vfork"); + if (pid == 0) + _exit(0); + if (waitpid(pid, NULL, 0) < 0) + err(-1, "test_vfork: waitpid"); + benchmark_start(); + for (i = 0; i < num; i++) { + pid = vfork(); + if (pid < 0) + err(-1, "test_vfork: vfork"); + if (pid == 0) + _exit(0); + if (waitpid(pid, NULL, 0) < 0) + err(-1, "test_vfork: waitpid"); + } + benchmark_stop(); +} + +#define USR_BIN_TRUE "/usr/bin/true" +static char *execve_args[] = { USR_BIN_TRUE, NULL}; +extern char **environ; + +void +test_fork_exec(int num) +{ + pid_t pid; + int i; + + pid = fork(); + if (pid < 0) + err(-1, "test_fork_exec: fork"); + if (pid == 0) { + (void)execve(USR_BIN_TRUE, execve_args, environ); + err(-1, "execve"); + } + if (waitpid(pid, NULL, 0) < 0) + err(-1, "test_fork: waitpid"); + benchmark_start(); + for (i = 0; i < num; i++) { + pid = fork(); + if (pid < 0) + err(-1, "test_fork_exec: fork"); + if (pid == 0) { + (void)execve(USR_BIN_TRUE, execve_args, environ); + err(-1, "test_fork_exec: execve"); + } + if (waitpid(pid, NULL, 0) < 0) + err(-1, "test_fork_exec: waitpid"); + } + benchmark_stop(); +} + +void +test_vfork_exec(int num) +{ + pid_t pid; + int i; + + pid = vfork(); + if (pid < 0) + err(-1, "test_vfork_exec: vfork"); + if (pid == 0) { + (void)execve(USR_BIN_TRUE, execve_args, environ); + err(-1, "test_vfork_exec: execve"); + } + if (waitpid(pid, NULL, 0) < 0) + err(-1, "test_vfork_exec: waitpid"); + benchmark_start(); + for (i = 0; i < num; i++) { + pid = vfork(); + if (pid < 0) + err(-1, "test_vfork_exec: vfork"); + if (pid == 0) { + (void)execve(USR_BIN_TRUE, execve_args, environ); + err(-1, "execve"); + } + if (waitpid(pid, NULL, 0) < 0) + err(-1, "test_vfork_exec: waitpid"); + } + benchmark_stop(); +} + +void +test_chroot(int num) +{ + int i; + + if (chroot("/") < 0) + err(-1, "test_chroot: chroot"); + benchmark_start(); + for (i = 0; i < num; i++) { + if (chroot("/") < 0) + err(-1, "test_chroot: chroot"); + } + benchmark_stop(); +} + +void +test_setuid(int num) +{ + uid_t uid; + int i; + + uid = getuid(); + if (setuid(uid) < 0) + err(-1, "test_setuid: setuid"); + benchmark_start(); + for (i = 0; i < num; i++) { + if (setuid(uid) < 0) + err(-1, "test_setuid: setuid"); + } + benchmark_stop(); +} + +struct test { + const char *t_name; + void (*t_func)(int); +}; + +static const struct test tests[] = { + { "getuid", test_getuid }, + { "getppid", test_getppid }, + { "clock_gettime", test_clock_gettime }, + { "pipe", test_pipe }, + { "socket_stream", test_socket_stream }, + { "socket_dgram", test_socket_dgram }, + { "socketpair_stream", test_socketpair_stream }, + { "socketpair_dgram", test_socketpair_dgram }, + { "dup", test_dup }, + { "shmfd", test_shmfd }, + { "fstat_shmfd", test_fstat_shmfd }, + { "fork", test_fork }, + { "vfork", test_vfork }, + { "fork_exec", test_fork_exec }, + { "vfork_exec", test_vfork_exec }, + { "chroot", test_chroot }, + { "setuid", test_setuid }, +}; +static const int tests_count = sizeof(tests) / sizeof(tests[0]); + static void usage(void) { + int i; - fprintf(stderr, "syscall_timing [iterations] [test]\n"); - fprintf(stderr, - "supported tests: getuid getppid clock_gettime pipe\n" - "socket_stream socket_dgram socketpair_stream\n" - "socketpair_dgram\n"); + fprintf(stderr, "syscall_timing [iterations] [loops] [test]\n"); + for (i = 0; i < tests_count; i++) + fprintf(stderr, " %s\n", tests[i].t_name); exit(-1); } int main(int argc, char *argv[]) { - struct timespec ts_start, ts_end, ts_res; - int count; + struct timespec ts_res; + const struct test *the_test; + long long ll; + char *endp; + int i, j, k; + int iterations, loops; - if (argc != 3) + if (argc < 4) usage(); - count = atoi(argv[1]); - - assert(clock_getres(CLOCK_REALTIME, &ts_res) == 0); - printf("Clock resolution: %d.%09lu\n", ts_res.tv_sec, ts_res.tv_nsec); - if (strcmp(argv[2], "getuid") == 0) { - assert(clock_gettime(CLOCK_REALTIME, &ts_start) == 0); - test_getuid(count); - assert(clock_gettime(CLOCK_REALTIME, &ts_end) == 0); - } else if (strcmp(argv[2], "getppid") == 0) { - assert(clock_gettime(CLOCK_REALTIME, &ts_start) == 0); - test_getppid(count); - assert(clock_gettime(CLOCK_REALTIME, &ts_end) == 0); - } else if (strcmp(argv[2], "clock_gettime") == 0) { - assert(clock_gettime(CLOCK_REALTIME, &ts_start) == 0); - test_clock_gettime(count); - assert(clock_gettime(CLOCK_REALTIME, &ts_end) == 0); - } else if (strcmp(argv[2], "pipe") == 0) { - assert(clock_gettime(CLOCK_REALTIME, &ts_start) == 0); - test_pipe(count); - assert(clock_gettime(CLOCK_REALTIME, &ts_end) == 0); - } else if (strcmp(argv[2], "socket_stream") == 0) { - assert(clock_gettime(CLOCK_REALTIME, &ts_start) == 0); - test_socket_stream(count); - assert(clock_gettime(CLOCK_REALTIME, &ts_end) == 0); - } else if (strcmp(argv[2], "socket_dgram") == 0) { - assert(clock_gettime(CLOCK_REALTIME, &ts_start) == 0); - test_socket_dgram(count); - assert(clock_gettime(CLOCK_REALTIME, &ts_end) == 0); - } else if (strcmp(argv[2], "socketpair_stream") == 0) { - assert(clock_gettime(CLOCK_REALTIME, &ts_start) == 0); - test_socketpair_stream(count); - assert(clock_gettime(CLOCK_REALTIME, &ts_end) == 0); - } else if (strcmp(argv[2], "socketpair_dgram") == 0) { - assert(clock_gettime(CLOCK_REALTIME, &ts_start) == 0); - test_socketpair_dgram(count); - assert(clock_gettime(CLOCK_REALTIME, &ts_end) == 0); - } else + ll = strtoll(argv[1], &endp, 10); + if (*endp != 0 || ll < 0 || ll > 100000) usage(); + iterations = ll; - timespecsub(&ts_end, &ts_start); - - printf("test: %s\n", argv[2]); + ll = strtoll(argv[2], &endp, 10); + if (*endp != 0 || ll < 0 || ll > 100000) + usage(); + loops = ll; - printf("%d.%09lu for %d iterations\n", ts_end.tv_sec, - ts_end.tv_nsec, count); + assert(clock_getres(CLOCK_REALTIME, &ts_res) == 0); + printf("Clock resolution: %ju.%ju\n", (uintmax_t)ts_res.tv_sec, + (uintmax_t)ts_res.tv_nsec); + printf("test\tloop\ttotal\titerations\tperiteration\n"); + + for (j = 3; j < argc; j++) { + the_test = NULL; + for (i = 0; i < tests_count; i++) { + if (strcmp(argv[j], tests[i].t_name) == 0) + the_test = &tests[i]; + } + if (the_test == NULL) + usage(); - /* - * Note. This assumes that each iteration takes less than - * a second, and that our total nanoseconds doesn't exceed - * the room in our arithmetic unit. Fine for system calls, - * but not for long things. - */ - ts_end.tv_sec *= 1000000000 / count; - printf("0.%09lu per/iteration\n", - ts_end.tv_sec + ts_end.tv_nsec / count); + /* + * Run one warmup, then do the real thing (loops) times. + */ + the_test->t_func(iterations); + for (k = 0; k < loops; k++) { + the_test->t_func(iterations); + timespecsub(&ts_end, &ts_start); + printf("%s\t%d\t", the_test->t_name, k); + printf("%ju.%09ju\t%d\t", (uintmax_t)ts_end.tv_sec, + (uintmax_t)ts_end.tv_nsec, iterations); + + /* + * Note. This assumes that each iteration takes less than + * a second, and that our total nanoseconds doesn't exceed + * the room in our arithmetic unit. Fine for system calls, + * but not for long things. + */ + ts_end.tv_sec *= 1000000000 / iterations; + printf("0.%09ju\n", (uintmax_t)(ts_end.tv_sec + + ts_end.tv_nsec / iterations)); + } + } return (0); } From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 16:20:49 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 59A16106564A; Thu, 21 Oct 2010 16:20:49 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 48B2C8FC23; Thu, 21 Oct 2010 16:20:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LGKnMn096046; Thu, 21 Oct 2010 16:20:49 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LGKnmT096042; Thu, 21 Oct 2010 16:20:49 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201010211620.o9LGKnmT096042@svn.freebsd.org> From: Sergey Kandaurov Date: Thu, 21 Oct 2010 16:20:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214136 - in head/sys: net sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 16:20:49 -0000 Author: pluknet Date: Thu Oct 21 16:20:48 2010 New Revision: 214136 URL: http://svn.freebsd.org/changeset/base/214136 Log: Reshuffle SIOCGIFCONF32 handler from r155224. - move all the chunks into one file, which allows to hide SIOCGIFCONF32 global definition as well. - replace __amd64__ with proper COMPAT_FREEBSD32 around. - handle 32bit capacity before going into the handler itself instead of doing internal 32bit specific changes within it (e.g. as it's done for SIOCGDEFIFACE32_IN6). - use explicitely sized types for ABI compat. Approved by: kib (mentor) MFC after: 2 weeks Modified: head/sys/net/if.c head/sys/net/if.h head/sys/sys/sockio.h Modified: head/sys/net/if.c ============================================================================== --- head/sys/net/if.c Thu Oct 21 16:08:31 2010 (r214135) +++ head/sys/net/if.c Thu Oct 21 16:20:48 2010 (r214136) @@ -92,6 +92,11 @@ #include +#ifdef COMPAT_FREEBSD32 +#include +#include +#endif + struct ifindex_entry { struct ifnet *ife_ifnet; }; @@ -2402,6 +2407,17 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, return (error); } +#ifdef COMPAT_FREEBSD32 +struct ifconf32 { + int32_t ifc_len; + union { + uint32_t ifcu_buf; + uint32_t ifcu_req; + } ifc_ifcu; +}; +#define SIOCGIFCONF32 _IOWR('i', 36, struct ifconf32) +#endif + /* * Interface ioctls. */ @@ -2416,10 +2432,21 @@ ifioctl(struct socket *so, u_long cmd, c switch (cmd) { case SIOCGIFCONF: case OSIOCGIFCONF: -#ifdef __amd64__ + return (ifconf(cmd, data)); + +#ifdef COMPAT_FREEBSD32 case SIOCGIFCONF32: + { + struct ifconf32 *ifc32; + struct ifconf ifc; + + ifc32 = (struct ifconf32 *)data; + ifc.ifc_len = ifc32->ifc_len; + ifc.ifc_buf = PTRIN(ifc32->ifc_buf); + + return (ifconf(SIOCGIFCONF, (void *)&ifc)); + } #endif - return (ifconf(cmd, data)); } ifr = (struct ifreq *)data; @@ -2646,23 +2673,12 @@ static int ifconf(u_long cmd, caddr_t data) { struct ifconf *ifc = (struct ifconf *)data; -#ifdef __amd64__ - struct ifconf32 *ifc32 = (struct ifconf32 *)data; - struct ifconf ifc_swab; -#endif struct ifnet *ifp; struct ifaddr *ifa; struct ifreq ifr; struct sbuf *sb; int error, full = 0, valid_len, max_len; -#ifdef __amd64__ - if (cmd == SIOCGIFCONF32) { - ifc_swab.ifc_len = ifc32->ifc_len; - ifc_swab.ifc_buf = (caddr_t)(uintptr_t)ifc32->ifc_buf; - ifc = &ifc_swab; - } -#endif /* Limit initial buffer size to MAXPHYS to avoid DoS from userspace. */ max_len = MAXPHYS - 1; @@ -2752,10 +2768,6 @@ again: } ifc->ifc_len = valid_len; -#ifdef __amd64__ - if (cmd == SIOCGIFCONF32) - ifc32->ifc_len = valid_len; -#endif sbuf_finish(sb); error = copyout(sbuf_data(sb), ifc->ifc_req, ifc->ifc_len); sbuf_delete(sb); Modified: head/sys/net/if.h ============================================================================== --- head/sys/net/if.h Thu Oct 21 16:08:31 2010 (r214135) +++ head/sys/net/if.h Thu Oct 21 16:20:48 2010 (r214136) @@ -391,16 +391,6 @@ struct ifconf { #define ifc_req ifc_ifcu.ifcu_req /* array of structures returned */ }; -#if defined (__amd64__) -struct ifconf32 { - int ifc_len; /* size of associated buffer */ - union { - u_int ifcu_buf; - u_int ifcu_req; - } ifc_ifcu; -}; -#endif - /* * interface groups */ Modified: head/sys/sys/sockio.h ============================================================================== --- head/sys/sys/sockio.h Thu Oct 21 16:08:31 2010 (r214135) +++ head/sys/sys/sockio.h Thu Oct 21 16:20:48 2010 (r214136) @@ -62,9 +62,6 @@ #define SIOCSIFBRDADDR _IOW('i', 19, struct ifreq) /* set broadcast addr */ #define OSIOCGIFCONF _IOWR('i', 20, struct ifconf) /* get ifnet list */ #define SIOCGIFCONF _IOWR('i', 36, struct ifconf) /* get ifnet list */ -#if defined (__amd64__) -#define SIOCGIFCONF32 _IOWR('i', 36, struct ifconf32) /* get ifnet list */ -#endif #define OSIOCGIFNETMASK _IOWR('i', 21, struct ifreq) /* get net addr mask */ #define SIOCGIFNETMASK _IOWR('i', 37, struct ifreq) /* get net addr mask */ #define SIOCSIFNETMASK _IOW('i', 22, struct ifreq) /* set net addr mask */ From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 17:05:16 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2DEE6106566C; Thu, 21 Oct 2010 17:05:16 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1D8668FC17; Thu, 21 Oct 2010 17:05:16 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LH5Gva097262; Thu, 21 Oct 2010 17:05:16 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LH5GH5097260; Thu, 21 Oct 2010 17:05:16 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201010211705.o9LH5GH5097260@svn.freebsd.org> From: Gleb Smirnoff Date: Thu, 21 Oct 2010 17:05:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214137 - head/usr.bin/unzip X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 17:05:16 -0000 Author: glebius Date: Thu Oct 21 17:05:15 2010 New Revision: 214137 URL: http://svn.freebsd.org/changeset/base/214137 Log: Make it possible to read input from stdin. Without this change I don't see a way to unpack a multivolume archive without wasting disk space for a temporary file. Modified: head/usr.bin/unzip/unzip.c Modified: head/usr.bin/unzip/unzip.c ============================================================================== --- head/usr.bin/unzip/unzip.c Thu Oct 21 16:20:48 2010 (r214136) +++ head/usr.bin/unzip/unzip.c Thu Oct 21 17:05:15 2010 (r214137) @@ -859,7 +859,9 @@ unzip(const char *fn) int fd, ret; uintmax_t total_size, file_count, error_count; - if ((fd = open(fn, O_RDONLY)) < 0) + if (strcmp(fn, "-") == 0) + fd = STDIN_FILENO; + else if ((fd = open(fn, O_RDONLY)) < 0) error("%s", fn); if ((a = archive_read_new()) == NULL) @@ -913,7 +915,7 @@ unzip(const char *fn) ac(archive_read_close(a)); (void)archive_read_finish(a); - if (close(fd) != 0) + if (fd != STDIN_FILENO && close(fd) != 0) error("%s", fn); if (t_opt) { From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 17:14:45 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0BE75106566B; Thu, 21 Oct 2010 17:14:45 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EFC488FC15; Thu, 21 Oct 2010 17:14:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LHEibC097505; Thu, 21 Oct 2010 17:14:44 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LHEiAK097503; Thu, 21 Oct 2010 17:14:44 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201010211714.o9LHEiAK097503@svn.freebsd.org> From: Warner Losh Date: Thu, 21 Oct 2010 17:14:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214138 - head/usr.sbin/pc-sysinstall/backend X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 17:14:45 -0000 Author: imp Date: Thu Oct 21 17:14:44 2010 New Revision: 214138 URL: http://svn.freebsd.org/changeset/base/214138 Log: This small patch updates the "geli setkey" flags pc-sysinstall uses when saving a users passphrase, to make it work in HEAD with recent geli improvements. Submitted by: Kris Moore PR: 151002 Modified: head/usr.sbin/pc-sysinstall/backend/functions-cleanup.sh Modified: head/usr.sbin/pc-sysinstall/backend/functions-cleanup.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend/functions-cleanup.sh Thu Oct 21 17:05:15 2010 (r214137) +++ head/usr.sbin/pc-sysinstall/backend/functions-cleanup.sh Thu Oct 21 17:14:44 2010 (r214138) @@ -296,7 +296,7 @@ setup_geli_loading() # If we have a passphrase, set it up now if [ -e "${PARTDIR}-enc/${PART}-encpass" ] ; then - cat ${PARTDIR}-enc/${PART}-encpass | geli setkey -S -n 0 -p -k ${KEYFILE} -K ${KEYFILE} ${PART} + geli setkey -J ${PARTDIR}-enc/${PART}-encpass -n 0 -p -k ${KEYFILE} -K ${KEYFILE} ${PART} geli configure -b ${PART} fi From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 17:20:38 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 054BA106566C; Thu, 21 Oct 2010 17:20:38 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DFBC38FC1E; Thu, 21 Oct 2010 17:20:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LHKb8J097654; Thu, 21 Oct 2010 17:20:37 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LHKbdg097652; Thu, 21 Oct 2010 17:20:37 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201010211720.o9LHKbdg097652@svn.freebsd.org> From: Warner Losh Date: Thu, 21 Oct 2010 17:20:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214139 - head/usr.sbin/pc-sysinstall/backend X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 17:20:38 -0000 Author: imp Date: Thu Oct 21 17:20:37 2010 New Revision: 214139 URL: http://svn.freebsd.org/changeset/base/214139 Log: This is an updated patch to the last patch to do this which fixes a local variable issue. This patch decompresses compressed images to the stdout when writing to a device to avoid running out of space issues. Submitted by: John Hixson Pr: 151049 Modified: head/usr.sbin/pc-sysinstall/backend/functions.sh Modified: head/usr.sbin/pc-sysinstall/backend/functions.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend/functions.sh Thu Oct 21 17:14:44 2010 (r214138) +++ head/usr.sbin/pc-sysinstall/backend/functions.sh Thu Oct 21 17:20:37 2010 (r214139) @@ -325,64 +325,8 @@ get_compression_type() export VAL } -decompress_file() -{ - local FILE - local COMPRESSION - - FILE="$1" - COMPRESSION="$2" - - if [ -n "${COMPRESSION}" ] - then - case "${COMPRESSION}" in - lzw) - rc_halt "uncompress ${FILE}" - VAL="${FILE%.Z}" - ;; - - lzo) - rc_halt "lzop -d ${FILE}" - VAL="${FILE%.lzo}" - ;; - - lzma) - rc_halt "lzma -d ${FILE}" - VAL="${FILE%.lzma}" - ;; - - gzip) - rc_halt "gunzip ${FILE}" - VAL="${FILE%.gz}" - ;; - - bzip2) - rc_halt "bunzip2 ${FILE}" - VAL="${FILE%.bz2}" - ;; - - xz) - rc_halt "xz -d ${FILE}" - VAL="${FILE%.xz}" - ;; - - zip) - rc_halt "unzip ${FILE}" - VAL="${FILE%.zip}" - ;; - - *) - exit_err "ERROR: ${COMPRESSION} compression is not supported" - ;; - esac - fi - - export VAL -} - write_image() { - local IMAGE_FILE local DEVICE_FILE IMAGE_FILE="$1" @@ -418,11 +362,51 @@ write_image() get_compression_type "${IMAGE_FILE}" COMPRESSION="${VAL}" - decompress_file "${IMAGE_FILE}" "${COMPRESSION}" - IMAGE_FILE="${VAL}" - fi + case "${COMPRESSION}" in + lzw) + rc_halt "uncompress ${IMAGE_FILE} -c | dd of=${DEVICE_FILE} bs=128k" + IMAGE_FILE="${IMAGE_FILE%.Z}" + ;; + + lzo) + rc_halt "lzop -d $IMAGE_{FILE} -c | dd of=${DEVICE_FILE} bs=128k" + IMAGE_FILE="${IMAGE_FILE%.lzo}" + ;; + + lzma) + rc_halt "lzma -d ${IMAGE_FILE} -c | dd of=${DEVICE_FILE} bs=128k" + IMAGE_FILE="${IMAGE_FILE%.lzma}" + ;; + + gzip) + rc_halt "gunzip ${IMAGE_FILE} -c | dd of=${DEVICE_FILE} bs=128k" + IMAGE_FILE="${IMAGE_FILE%.gz}" + ;; - rc_halt "dd if=${IMAGE_FILE} of=${DEVICE_FILE} bs=128k" + bzip2) + rc_halt "bunzip2 ${IMAGE_FILE} -c | dd of=${DEVICE_FILE} bs=128k" + IMAGE_FILE="${IMAGE_FILE%.bz2}" + ;; + + xz) + rc_halt "xz -d ${IMAGE_FILE} -c | dd of=${DEVICE_FILE} bs=128k" + IMAGE_FILE="${IMAGE_FILE%.xz}" + ;; + + zip) + rc_halt "unzip ${IMAGE_FILE} -c | dd of=${DEVICE_FILE} bs=128k" + IMAGE_FILE="${IMAGE_FILE%.zip}" + ;; + + *) + exit_err "ERROR: ${COMPRESSION} compression is not supported" + ;; + esac + + else + rc_halt "dd if=${IMAGE_FILE} of=${DEVICE_FILE} bs=128k" + + fi }; install_fresh() From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 17:23:09 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 90E70106566C; Thu, 21 Oct 2010 17:23:09 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 808948FC13; Thu, 21 Oct 2010 17:23:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LHN9hb097756; Thu, 21 Oct 2010 17:23:09 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LHN9Wn097754; Thu, 21 Oct 2010 17:23:09 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201010211723.o9LHN9Wn097754@svn.freebsd.org> From: Gleb Smirnoff Date: Thu, 21 Oct 2010 17:23:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214140 - head/usr.bin/unzip X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 17:23:09 -0000 Author: glebius Date: Thu Oct 21 17:23:09 2010 New Revision: 214140 URL: http://svn.freebsd.org/changeset/base/214140 Log: Document possibility to read from stdin. Modified: head/usr.bin/unzip/unzip.1 Modified: head/usr.bin/unzip/unzip.1 ============================================================================== --- head/usr.bin/unzip/unzip.1 Thu Oct 21 17:20:37 2010 (r214139) +++ head/usr.bin/unzip/unzip.1 Thu Oct 21 17:23:09 2010 (r214140) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 16, 2010 +.Dd October 21, 2010 .Dt UNZIP 1 .Os .Sh NAME @@ -111,6 +111,10 @@ Note that only one of and .Fl u may be specified. +Is specified filename is +.Va Qq - , +then data is read from +.Va stdin . .Sh ENVIRONMENT If the .Ev UNZIP_DEBUG From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 17:23:48 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 63CE91065670; Thu, 21 Oct 2010 17:23:48 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 535E18FC21; Thu, 21 Oct 2010 17:23:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LHNmGE097809; Thu, 21 Oct 2010 17:23:48 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LHNmNE097807; Thu, 21 Oct 2010 17:23:48 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201010211723.o9LHNmNE097807@svn.freebsd.org> From: Warner Losh Date: Thu, 21 Oct 2010 17:23:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214141 - head/usr.sbin/pc-sysinstall/backend-query X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 17:23:48 -0000 Author: imp Date: Thu Oct 21 17:23:48 2010 New Revision: 214141 URL: http://svn.freebsd.org/changeset/base/214141 Log: This patch will only list components if the directory exists. The directory exist on PC-BSD but not FreeBSD, so an extra check is made. Submitted by: John Hixson PR: 151461 Modified: head/usr.sbin/pc-sysinstall/backend-query/list-components.sh Modified: head/usr.sbin/pc-sysinstall/backend-query/list-components.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend-query/list-components.sh Thu Oct 21 17:23:09 2010 (r214140) +++ head/usr.sbin/pc-sysinstall/backend-query/list-components.sh Thu Oct 21 17:23:48 2010 (r214141) @@ -32,23 +32,24 @@ echo "Available Components:" -cd ${COMPDIR} -for i in `ls -d *` -do - if [ -e "${i}/component.cfg" -a -e "${i}/install.sh" -a -e "${i}/distfiles" ] - then - NAME="`grep 'name:' ${i}/component.cfg | cut -d ':' -f 2`" - DESC="`grep 'description:' ${i}/component.cfg | cut -d ':' -f 2`" - TYPE="`grep 'type:' ${i}/component.cfg | cut -d ':' -f 2`" - echo " " - echo "name: ${i}" - echo "desc:${DESC}" - echo "type:${TYPE}" - if [ -e "${i}/component.png" ] +if [ -d "${COMPDIR}" ] +then + cd ${COMPDIR} + for i in `ls -d *` + do + if [ -e "${i}/component.cfg" -a -e "${i}/install.sh" -a -e "${i}/distfiles" ] then - echo "icon: ${COMPDIR}/${i}/component.png" + NAME="`grep 'name:' ${i}/component.cfg | cut -d ':' -f 2`" + DESC="`grep 'description:' ${i}/component.cfg | cut -d ':' -f 2`" + TYPE="`grep 'type:' ${i}/component.cfg | cut -d ':' -f 2`" + echo " " + echo "name: ${i}" + echo "desc:${DESC}" + echo "type:${TYPE}" + if [ -e "${i}/component.png" ] + then + echo "icon: ${COMPDIR}/${i}/component.png" + fi fi - fi - -done - + done +fi From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 17:27:39 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EBC29106564A; Thu, 21 Oct 2010 17:27:39 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D9C718FC22; Thu, 21 Oct 2010 17:27:39 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LHRdOL097914; Thu, 21 Oct 2010 17:27:39 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LHRdpe097912; Thu, 21 Oct 2010 17:27:39 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <201010211727.o9LHRdpe097912@svn.freebsd.org> From: Robert Watson Date: Thu, 21 Oct 2010 17:27:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214142 - head/tools/tools/syscall_timing X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 17:27:40 -0000 Author: rwatson Date: Thu Oct 21 17:27:39 2010 New Revision: 214142 URL: http://svn.freebsd.org/changeset/base/214142 Log: Further enhancements to syscall_timing: - Use getopt rather than hand-parsed arguments - Allow iterations to be specified and/or a new number of seconds bound on the number of iterations - Fix printout of timer resolution - Add new tests, such as TCP and UDP socket creation, and open/read/close of /dev/zero and /dev/null. Sponsored by: Google, Inc. MFC after: 2 weeks Modified: head/tools/tools/syscall_timing/syscall_timing.c Modified: head/tools/tools/syscall_timing/syscall_timing.c ============================================================================== --- head/tools/tools/syscall_timing/syscall_timing.c Thu Oct 21 17:23:48 2010 (r214141) +++ head/tools/tools/syscall_timing/syscall_timing.c Thu Oct 21 17:27:39 2010 (r214142) @@ -37,12 +37,16 @@ #include #include #include +#include +#include #include #include #include #include static struct timespec ts_start, ts_end; +static int alarm_timeout; +static volatile int alarm_fired; #define timespecsub(vvp, uvp) \ do { \ @@ -55,9 +59,21 @@ static struct timespec ts_start, ts_end; } while (0) static void +alarm_handler(int signum) +{ + + alarm_fired = 1; +} + +static void benchmark_start(void) { + alarm_fired = 0; + if (alarm_timeout) { + signal(SIGALRM, alarm_handler); + alarm(alarm_timeout); + } assert(clock_gettime(CLOCK_REALTIME, &ts_start) == 0); } @@ -68,50 +84,62 @@ benchmark_stop(void) assert(clock_gettime(CLOCK_REALTIME, &ts_end) == 0); } -void -test_getuid(int num) +uint64_t +test_getuid(uint64_t num, uint64_t int_arg, const char *string_arg) { - int i; + uint64_t i; /* * Thread-local data should require no locking if system * call is MPSAFE. */ benchmark_start(); - for (i = 0; i < num; i++) + for (i = 0; i < num; i++) { + if (alarm_fired) + break; getuid(); + } benchmark_stop(); + return (i); } -void -test_getppid(int num) +uint64_t +test_getppid(uint64_t num, uint64_t int_arg, const char *string_arg) { - int i; + uint64_t i; /* * This is process-local, but can change, so will require a * lock. */ benchmark_start(); - for (i = 0; i < num; i++) + for (i = 0; i < num; i++) { + if (alarm_fired) + break; getppid(); + } benchmark_stop(); + return (i); } -void -test_clock_gettime(int num) +uint64_t +test_clock_gettime(uint64_t num, uint64_t int_arg, const char *string_arg) { struct timespec ts; - int i; + uint64_t i; benchmark_start(); - for (i = 0; i < num; i++) + for (i = 0; i < num; i++) { + if (alarm_fired) + break; (void)clock_gettime(CLOCK_REALTIME, &ts); + } benchmark_stop(); + return (i); } -void -test_pipe(int num) +uint64_t +test_pipe(uint64_t num, uint64_t int_arg, const char *string_arg) { int fd[2], i; @@ -127,56 +155,66 @@ test_pipe(int num) close(fd[1]); benchmark_start(); for (i = 0; i < num; i++) { + if (alarm_fired) + break; if (pipe(fd) == -1) err(-1, "test_pipe: pipe"); close(fd[0]); close(fd[1]); } benchmark_stop(); + return (i); } -void -test_socket_stream(int num) +uint64_t +test_socket_stream(uint64_t num, uint64_t int_arg, const char *string_arg) { - int i, so; + uint64_t i, so; - so = socket(PF_LOCAL, SOCK_STREAM, 0); + so = socket(int_arg, SOCK_STREAM, 0); if (so < 0) err(-1, "test_socket_stream: socket"); close(so); benchmark_start(); for (i = 0; i < num; i++) { - so = socket(PF_LOCAL, SOCK_STREAM, 0); + if (alarm_fired) + break; + so = socket(int_arg, SOCK_STREAM, 0); if (so == -1) err(-1, "test_socket_stream: socket"); close(so); } benchmark_stop(); + return (i); } -void -test_socket_dgram(int num) +uint64_t +test_socket_dgram(uint64_t num, uint64_t int_arg, const char *string_arg) { - int i, so; + uint64_t i, so; - so = socket(PF_LOCAL, SOCK_DGRAM, 0); + so = socket(int_arg, SOCK_DGRAM, 0); if (so < 0) err(-1, "test_socket_dgram: socket"); close(so); benchmark_start(); for (i = 0; i < num; i++) { - so = socket(PF_LOCAL, SOCK_DGRAM, 0); + if (alarm_fired) + break; + so = socket(int_arg, SOCK_DGRAM, 0); if (so == -1) err(-1, "test_socket_dgram: socket"); close(so); } benchmark_stop(); + return (i); } -void -test_socketpair_stream(int num) +uint64_t +test_socketpair_stream(uint64_t num, uint64_t int_arg, const char *string_arg) { - int i, so[2]; + uint64_t i; + int so[2]; if (socketpair(PF_LOCAL, SOCK_STREAM, 0, so) == -1) err(-1, "test_socketpair_stream: socketpair"); @@ -184,18 +222,22 @@ test_socketpair_stream(int num) close(so[1]); benchmark_start(); for (i = 0; i < num; i++) { + if (alarm_fired) + break; if (socketpair(PF_LOCAL, SOCK_STREAM, 0, so) == -1) err(-1, "test_socketpair_stream: socketpair"); close(so[0]); close(so[1]); } benchmark_stop(); + return (i); } -void -test_socketpair_dgram(int num) +uint64_t +test_socketpair_dgram(uint64_t num, uint64_t int_arg, const char *string_arg) { - int i, so[2]; + uint64_t i; + int so[2]; if (socketpair(PF_LOCAL, SOCK_DGRAM, 0, so) == -1) err(-1, "test_socketpair_dgram: socketpair"); @@ -203,16 +245,71 @@ test_socketpair_dgram(int num) close(so[1]); benchmark_start(); for (i = 0; i < num; i++) { + if (alarm_fired) + break; if (socketpair(PF_LOCAL, SOCK_DGRAM, 0, so) == -1) err(-1, "test_socketpair_dgram: socketpair"); close(so[0]); close(so[1]); } benchmark_stop(); + return (i); +} + +uint64_t +test_open_close(uint64_t num, uint64_t int_arg, const char *string_arg) +{ + const char *path = string_arg; + uint64_t i; + int fd; + + fd = open(path, O_RDONLY); + if (fd < 0) + err(-1, "test_open_close: %s", path); + close(fd); + + benchmark_start(); + for (i = 0; i < num; i++) { + if (alarm_fired) + break; + fd = open(path, O_RDONLY); + if (fd < 0) + err(-1, "test_open_close: %s", path); + close(fd); + } + benchmark_stop(); + return (i); } -void -test_dup(int num) +uint64_t +test_open_read_close(uint64_t num, uint64_t int_arg, const char *string_arg) +{ + char buf[int_arg]; + uint64_t i; + int fd; + + fd = open(string_arg, O_RDONLY); + if (fd < 0) + err(-1, "test_open_close: %s", string_arg); + (void)read(fd, buf, int_arg); + close(fd); + + benchmark_start(); + for (i = 0; i < num; i++) { + if (alarm_fired) + break; + fd = open(string_arg, O_RDONLY); + if (fd < 0) + err(-1, "test_open_close: %s", string_arg); + (void)read(fd, buf, int_arg); + close(fd); + } + benchmark_stop(); + return (i); +} + +uint64_t +test_dup(uint64_t num, uint64_t int_arg, const char *string_arg) { int fd, i, shmfd; @@ -224,18 +321,21 @@ test_dup(int num) close(fd); benchmark_start(); for (i = 0; i < num; i++) { + if (alarm_fired) + break; fd = dup(shmfd); if (fd >= 0) close(fd); } benchmark_stop(); close(shmfd); + return (i); } -void -test_shmfd(int num) +uint64_t +test_shmfd(uint64_t num, uint64_t int_arg, const char *string_arg) { - int i, shmfd; + uint64_t i, shmfd; shmfd = shm_open(SHM_ANON, O_CREAT | O_RDWR, 0600); if (shmfd < 0) @@ -243,19 +343,22 @@ test_shmfd(int num) close(shmfd); benchmark_start(); for (i = 0; i < num; i++) { + if (alarm_fired) + break; shmfd = shm_open(SHM_ANON, O_CREAT | O_RDWR, 0600); if (shmfd < 0) err(-1, "test_shmfd: shm_open"); close(shmfd); } benchmark_stop(); + return (i); } -void -test_fstat_shmfd(int num) +uint64_t +test_fstat_shmfd(uint64_t num, uint64_t int_arg, const char *string_arg) { struct stat sb; - int i, shmfd; + uint64_t i, shmfd; shmfd = shm_open(SHM_ANON, O_CREAT | O_RDWR, 0600); if (shmfd < 0) @@ -263,17 +366,21 @@ test_fstat_shmfd(int num) if (fstat(shmfd, &sb) < 0) err(-1, "test_fstat_shmfd: fstat"); benchmark_start(); - for (i = 0; i < num; i++) + for (i = 0; i < num; i++) { + if (alarm_fired) + break; (void)fstat(shmfd, &sb); + } benchmark_stop(); close(shmfd); + return (i); } -void -test_fork(int num) +uint64_t +test_fork(uint64_t num, uint64_t int_arg, const char *string_arg) { pid_t pid; - int i; + uint64_t i; pid = fork(); if (pid < 0) @@ -284,6 +391,8 @@ test_fork(int num) err(-1, "test_fork: waitpid"); benchmark_start(); for (i = 0; i < num; i++) { + if (alarm_fired) + break; pid = fork(); if (pid < 0) err(-1, "test_fork: fork"); @@ -293,13 +402,14 @@ test_fork(int num) err(-1, "test_fork: waitpid"); } benchmark_stop(); + return (i); } -void -test_vfork(int num) +uint64_t +test_vfork(uint64_t num, uint64_t int_arg, const char *string_arg) { pid_t pid; - int i; + uint64_t i; pid = vfork(); if (pid < 0) @@ -310,6 +420,8 @@ test_vfork(int num) err(-1, "test_vfork: waitpid"); benchmark_start(); for (i = 0; i < num; i++) { + if (alarm_fired) + break; pid = vfork(); if (pid < 0) err(-1, "test_vfork: vfork"); @@ -319,17 +431,18 @@ test_vfork(int num) err(-1, "test_vfork: waitpid"); } benchmark_stop(); + return (i); } #define USR_BIN_TRUE "/usr/bin/true" static char *execve_args[] = { USR_BIN_TRUE, NULL}; extern char **environ; -void -test_fork_exec(int num) +uint64_t +test_fork_exec(uint64_t num, uint64_t int_arg, const char *string_arg) { pid_t pid; - int i; + uint64_t i; pid = fork(); if (pid < 0) @@ -342,6 +455,8 @@ test_fork_exec(int num) err(-1, "test_fork: waitpid"); benchmark_start(); for (i = 0; i < num; i++) { + if (alarm_fired) + break; pid = fork(); if (pid < 0) err(-1, "test_fork_exec: fork"); @@ -353,13 +468,14 @@ test_fork_exec(int num) err(-1, "test_fork_exec: waitpid"); } benchmark_stop(); + return (i); } -void -test_vfork_exec(int num) +uint64_t +test_vfork_exec(uint64_t num, uint64_t int_arg, const char *string_arg) { pid_t pid; - int i; + uint64_t i; pid = vfork(); if (pid < 0) @@ -372,6 +488,8 @@ test_vfork_exec(int num) err(-1, "test_vfork_exec: waitpid"); benchmark_start(); for (i = 0; i < num; i++) { + if (alarm_fired) + break; pid = vfork(); if (pid < 0) err(-1, "test_vfork_exec: vfork"); @@ -383,43 +501,52 @@ test_vfork_exec(int num) err(-1, "test_vfork_exec: waitpid"); } benchmark_stop(); + return (i); } -void -test_chroot(int num) +uint64_t +test_chroot(uint64_t num, uint64_t int_arg, const char *string_arg) { - int i; + uint64_t i; if (chroot("/") < 0) err(-1, "test_chroot: chroot"); benchmark_start(); for (i = 0; i < num; i++) { + if (alarm_fired) + break; if (chroot("/") < 0) err(-1, "test_chroot: chroot"); } benchmark_stop(); + return (i); } -void -test_setuid(int num) +uint64_t +test_setuid(uint64_t num, uint64_t int_arg, const char *string_arg) { uid_t uid; - int i; + uint64_t i; uid = getuid(); if (setuid(uid) < 0) err(-1, "test_setuid: setuid"); benchmark_start(); for (i = 0; i < num; i++) { + if (alarm_fired) + break; if (setuid(uid) < 0) err(-1, "test_setuid: setuid"); } benchmark_stop(); + return (i); } struct test { const char *t_name; - void (*t_func)(int); + uint64_t (*t_func)(uint64_t, uint64_t, const char *); + uint64_t t_int; + const char *t_string; }; static const struct test tests[] = { @@ -427,10 +554,26 @@ static const struct test tests[] = { { "getppid", test_getppid }, { "clock_gettime", test_clock_gettime }, { "pipe", test_pipe }, - { "socket_stream", test_socket_stream }, - { "socket_dgram", test_socket_dgram }, + { "socket_local_stream", test_socket_stream, .t_int = PF_LOCAL }, + { "socket_local_dgram", test_socket_dgram, .t_int = PF_LOCAL }, { "socketpair_stream", test_socketpair_stream }, { "socketpair_dgram", test_socketpair_dgram }, + { "socket_tcp", test_socket_stream, .t_int = PF_INET }, + { "socket_udp", test_socket_dgram, .t_int = PF_INET }, + { "open_close_devnull", test_open_close, .t_string = "/dev/null" }, + { "open_close_devzero", test_open_close, .t_string = "/dev/zero" }, + { "open_read_close_devzero_1", test_open_read_close, + .t_string = "/dev/zero", .t_int = 1 }, + { "open_read_close_devzero_10", test_open_read_close, + .t_string = "/dev/zero", .t_int = 10 }, + { "open_read_close_devzero_100", test_open_read_close, + .t_string = "/dev/zero", .t_int = 100 }, + { "open_read_close_devzero_1000", test_open_read_close, + .t_string = "/dev/zero", .t_int = 1000 }, + { "open_read_close_devzero_10000", test_open_read_close, + .t_string = "/dev/zero", .t_int = 10000 }, + { "open_read_close_devzero_100000", test_open_read_close, + .t_string = "/dev/zero", .t_int = 100000 }, { "dup", test_dup }, { "shmfd", test_shmfd }, { "fstat_shmfd", test_fstat_shmfd }, @@ -448,7 +591,8 @@ usage(void) { int i; - fprintf(stderr, "syscall_timing [iterations] [loops] [test]\n"); + fprintf(stderr, "syscall_timing [-i iterations] [-l loops] " + "[-s seconds] test\n"); for (i = 0; i < tests_count; i++) fprintf(stderr, " %s\n", tests[i].t_name); exit(-1); @@ -461,28 +605,61 @@ main(int argc, char *argv[]) const struct test *the_test; long long ll; char *endp; - int i, j, k; - int iterations, loops; + int ch, i, j, k; + uint64_t iterations, loops; - if (argc < 4) - usage(); + alarm_timeout = 0; + iterations = 0; + loops = 0; + while ((ch = getopt(argc, argv, "i:l:s:")) != -1) { + switch (ch) { + case 'i': + ll = strtol(optarg, &endp, 10); + if (*endp != 0 || ll < 1 || ll > 100000) + usage(); + iterations = ll; + break; + + case 'l': + ll = strtol(optarg, &endp, 10); + if (*endp != 0 || ll < 1 || ll > 100000) + usage(); + loops = ll; + break; + + case 's': + ll = strtol(optarg, &endp, 10); + if (*endp != 0 || ll < 1 || ll > 60*60) + usage(); + alarm_timeout = ll; + break; + + case '?': + default: + usage(); + } + } + argc -= optind; + argv += optind; - ll = strtoll(argv[1], &endp, 10); - if (*endp != 0 || ll < 0 || ll > 100000) + if (iterations < 1 && alarm_timeout < 1) usage(); - iterations = ll; + if (iterations < 1) + iterations = UINT64_MAX; + if (loops < 1) + loops = 1; - ll = strtoll(argv[2], &endp, 10); - if (*endp != 0 || ll < 0 || ll > 100000) + if (argc != 1) usage(); - loops = ll; assert(clock_getres(CLOCK_REALTIME, &ts_res) == 0); - printf("Clock resolution: %ju.%ju\n", (uintmax_t)ts_res.tv_sec, + printf("Clock resolution: %ju.%08ju\n", (uintmax_t)ts_res.tv_sec, (uintmax_t)ts_res.tv_nsec); printf("test\tloop\ttotal\titerations\tperiteration\n"); - for (j = 3; j < argc; j++) { + for (j = 0; j < argc; j++) { + uint64_t calls; + the_test = NULL; for (i = 0; i < tests_count; i++) { if (strcmp(argv[j], tests[i].t_name) == 0) @@ -494,13 +671,15 @@ main(int argc, char *argv[]) /* * Run one warmup, then do the real thing (loops) times. */ - the_test->t_func(iterations); + calls = the_test->t_func(iterations, the_test->t_int, + the_test->t_string); for (k = 0; k < loops; k++) { - the_test->t_func(iterations); + the_test->t_func(iterations, the_test->t_int, + the_test->t_string); timespecsub(&ts_end, &ts_start); printf("%s\t%d\t", the_test->t_name, k); printf("%ju.%09ju\t%d\t", (uintmax_t)ts_end.tv_sec, - (uintmax_t)ts_end.tv_nsec, iterations); + (uintmax_t)ts_end.tv_nsec, calls); /* * Note. This assumes that each iteration takes less than @@ -508,9 +687,9 @@ main(int argc, char *argv[]) * the room in our arithmetic unit. Fine for system calls, * but not for long things. */ - ts_end.tv_sec *= 1000000000 / iterations; + ts_end.tv_sec *= 1000000000 / calls; printf("0.%09ju\n", (uintmax_t)(ts_end.tv_sec + - ts_end.tv_nsec / iterations)); + ts_end.tv_nsec / calls)); } } return (0); From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 17:29:18 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6EB5F1065670; Thu, 21 Oct 2010 17:29:18 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5E0B28FC14; Thu, 21 Oct 2010 17:29:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LHTIOo097993; Thu, 21 Oct 2010 17:29:18 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LHTIEM097991; Thu, 21 Oct 2010 17:29:18 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201010211729.o9LHTIEM097991@svn.freebsd.org> From: Warner Losh Date: Thu, 21 Oct 2010 17:29:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214143 - head/usr.sbin/pc-sysinstall/backend X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 17:29:18 -0000 Author: imp Date: Thu Oct 21 17:29:18 2010 New Revision: 214143 URL: http://svn.freebsd.org/changeset/base/214143 Log: Left over from prior patch removed. Submitted by: John Hixon PR: 151442 (but the patch was backwards there) Modified: head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Modified: head/usr.sbin/pc-sysinstall/backend/functions-disk.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Thu Oct 21 17:27:39 2010 (r214142) +++ head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Thu Oct 21 17:29:18 2010 (r214143) @@ -507,17 +507,6 @@ setup_disk_slice() DEST="${DISK}" fi - if iscompressed "${IMAGE}" - then - local COMPRESSION - - get_compression_type "${IMAGE}" - COMPRESSION="${VAL}" - - decompress_file "${IMAGE}" "${COMPRESSION}" - IMAGE="${VAL}" - fi - write_image "${IMAGE}" "${DEST}" check_disk_layout "${DEST}" fi From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 17:29:33 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 40FF710656B5; Thu, 21 Oct 2010 17:29:33 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 310408FC1A; Thu, 21 Oct 2010 17:29:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LHTX5b098035; Thu, 21 Oct 2010 17:29:33 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LHTXEv098032; Thu, 21 Oct 2010 17:29:33 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201010211729.o9LHTXEv098032@svn.freebsd.org> From: John Baldwin Date: Thu, 21 Oct 2010 17:29:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214144 - head/sys/vm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 17:29:33 -0000 Author: jhb Date: Thu Oct 21 17:29:32 2010 New Revision: 214144 URL: http://svn.freebsd.org/changeset/base/214144 Log: - Make 'vm_refcnt' volatile so that compilers won't be tempted to treat its value as a loop invariant. Currently this is a no-op because 'atomic_cmpset_int()' clobbers all memory on current architectures. - Use atomic_fetchadd_int() instead of an atomic_cmpset_int() loop to drop a reference in vmspace_free(). Reviewed by: alc MFC after: 1 month Modified: head/sys/vm/vm_map.c head/sys/vm/vm_map.h Modified: head/sys/vm/vm_map.c ============================================================================== --- head/sys/vm/vm_map.c Thu Oct 21 17:29:18 2010 (r214143) +++ head/sys/vm/vm_map.c Thu Oct 21 17:29:32 2010 (r214144) @@ -339,15 +339,11 @@ vmspace_dofree(struct vmspace *vm) void vmspace_free(struct vmspace *vm) { - int refcnt; if (vm->vm_refcnt == 0) panic("vmspace_free: attempt to free already freed vmspace"); - do - refcnt = vm->vm_refcnt; - while (!atomic_cmpset_int(&vm->vm_refcnt, refcnt, refcnt - 1)); - if (refcnt == 1) + if (atomic_fetchadd_int(&vm->vm_refcnt, -1) == 1) vmspace_dofree(vm); } Modified: head/sys/vm/vm_map.h ============================================================================== --- head/sys/vm/vm_map.h Thu Oct 21 17:29:18 2010 (r214143) +++ head/sys/vm/vm_map.h Thu Oct 21 17:29:32 2010 (r214144) @@ -236,7 +236,7 @@ struct vmspace { caddr_t vm_taddr; /* (c) user virtual address of text */ caddr_t vm_daddr; /* (c) user virtual address of data */ caddr_t vm_maxsaddr; /* user VA at max stack growth */ - int vm_refcnt; /* number of references */ + volatile int vm_refcnt; /* number of references */ /* * Keep the PMAP last, so that CPU-specific variations of that * structure on a single architecture don't result in offset From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 17:35:09 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 476FB106564A; Thu, 21 Oct 2010 17:35:09 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 36F3A8FC12; Thu, 21 Oct 2010 17:35:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LHZ9r7098218; Thu, 21 Oct 2010 17:35:09 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LHZ9au098216; Thu, 21 Oct 2010 17:35:09 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <201010211735.o9LHZ9au098216@svn.freebsd.org> From: Robert Watson Date: Thu, 21 Oct 2010 17:35:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214145 - head/tools/tools/syscall_timing X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 17:35:09 -0000 Author: rwatson Date: Thu Oct 21 17:35:08 2010 New Revision: 214145 URL: http://svn.freebsd.org/changeset/base/214145 Log: Fix bug in recent syscall_timing change: measure the number of iterations each loop, rather than once up front. The distinction is unimportant when doing a fix iteration count, but when using a timer, it should vary. Sponsored by: Google, Inc. MFC after: 2 weeks Modified: head/tools/tools/syscall_timing/syscall_timing.c Modified: head/tools/tools/syscall_timing/syscall_timing.c ============================================================================== --- head/tools/tools/syscall_timing/syscall_timing.c Thu Oct 21 17:29:32 2010 (r214144) +++ head/tools/tools/syscall_timing/syscall_timing.c Thu Oct 21 17:35:08 2010 (r214145) @@ -671,11 +671,12 @@ main(int argc, char *argv[]) /* * Run one warmup, then do the real thing (loops) times. */ - calls = the_test->t_func(iterations, the_test->t_int, + the_test->t_func(iterations, the_test->t_int, the_test->t_string); + calls = 0; for (k = 0; k < loops; k++) { - the_test->t_func(iterations, the_test->t_int, - the_test->t_string); + calls = the_test->t_func(iterations, + the_test->t_int, the_test->t_string); timespecsub(&ts_end, &ts_start); printf("%s\t%d\t", the_test->t_name, k); printf("%ju.%09ju\t%d\t", (uintmax_t)ts_end.tv_sec, From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 17:46:24 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1B7621065695; Thu, 21 Oct 2010 17:46:24 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0B5B58FC12; Thu, 21 Oct 2010 17:46:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LHkNxg098454; Thu, 21 Oct 2010 17:46:23 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LHkN95098452; Thu, 21 Oct 2010 17:46:23 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201010211746.o9LHkN95098452@svn.freebsd.org> From: John Baldwin Date: Thu, 21 Oct 2010 17:46:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214146 - head/sys/dev/pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 17:46:24 -0000 Author: jhb Date: Thu Oct 21 17:46:23 2010 New Revision: 214146 URL: http://svn.freebsd.org/changeset/base/214146 Log: Clarify a misleading comment. The test in pci_reserve_map() was meant to ignore BARs that are invalid due to having a size of zero, not to ignore BARs with an existing base of zero. While here, reorganize the code slightly to make the intent clearer. Reported by: avg MFC after: 1 week Modified: head/sys/dev/pci/pci.c Modified: head/sys/dev/pci/pci.c ============================================================================== --- head/sys/dev/pci/pci.c Thu Oct 21 17:35:08 2010 (r214145) +++ head/sys/dev/pci/pci.c Thu Oct 21 17:46:23 2010 (r214146) @@ -3664,9 +3664,15 @@ pci_reserve_map(device_t dev, device_t c res = NULL; pci_read_bar(child, *rid, &map, &testval); - /* Ignore a BAR with a base of 0. */ - if ((*rid == PCIR_BIOS && pci_rombase(testval) == 0) || - pci_mapbase(testval) == 0) + /* + * Determine the size of the BAR and ignore BARs with a size + * of 0. Device ROM BARs use a different mask value. + */ + if (*rid == PCIR_BIOS) + mapsize = pci_romsize(testval); + else + mapsize = pci_mapsize(testval); + if (mapsize == 0) goto out; if (PCI_BAR_MEM(testval) || *rid == PCIR_BIOS) { @@ -3695,13 +3701,7 @@ pci_reserve_map(device_t dev, device_t c * actually uses and we would otherwise have a * situation where we might allocate the excess to * another driver, which won't work. - * - * Device ROM BARs use a different mask value. */ - if (*rid == PCIR_BIOS) - mapsize = pci_romsize(testval); - else - mapsize = pci_mapsize(testval); count = 1UL << mapsize; if (RF_ALIGNMENT(flags) < mapsize) flags = (flags & ~RF_ALIGNMENT_MASK) | RF_ALIGNMENT_LOG2(mapsize); From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 18:19:22 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 90132106567A; Thu, 21 Oct 2010 18:19:22 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: from mx0.hoeg.nl (unknown [IPv6:2a01:4f8:101:5343::aa]) by mx1.freebsd.org (Postfix) with ESMTP id 178A18FC14; Thu, 21 Oct 2010 18:19:22 +0000 (UTC) Received: by mx0.hoeg.nl (Postfix, from userid 1000) id 6C4012A28D20; Thu, 21 Oct 2010 20:19:21 +0200 (CEST) Date: Thu, 21 Oct 2010 20:19:21 +0200 From: Ed Schouten To: John Baldwin Message-ID: <20101021181921.GG77125@hoeg.nl> References: <201010211729.o9LHTXEv098032@svn.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="9/eUdp+dLtKXvemk" Content-Disposition: inline In-Reply-To: <201010211729.o9LHTXEv098032@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r214144 - head/sys/vm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 18:19:22 -0000 --9/eUdp+dLtKXvemk Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi John, * John Baldwin , 20101021 19:29: > + if (atomic_fetchadd_int(&vm->vm_refcnt, -1) =3D=3D 1) > vmspace_dofree(vm); Not that it's that useful, but maybe it would be good to use refcount_release() here? --=20 Ed Schouten WWW: http://80386.nl/ --9/eUdp+dLtKXvemk Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (FreeBSD) iEYEARECAAYFAkzAhCkACgkQ52SDGA2eCwU5RQCfft74i3D52CDSSGG6GDl2L/Uk xYwAn0nAZlfqfl3zcg1DoFXHYgK3EEr3 =S9MC -----END PGP SIGNATURE----- --9/eUdp+dLtKXvemk-- From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 18:21:19 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8FA4C106566B; Thu, 21 Oct 2010 18:21:19 +0000 (UTC) (envelope-from bcr@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7F4D58FC0C; Thu, 21 Oct 2010 18:21:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LILJJ6099141; Thu, 21 Oct 2010 18:21:19 GMT (envelope-from bcr@svn.freebsd.org) Received: (from bcr@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LILJfG099139; Thu, 21 Oct 2010 18:21:19 GMT (envelope-from bcr@svn.freebsd.org) Message-Id: <201010211821.o9LILJfG099139@svn.freebsd.org> From: Benedict Reuschling Date: Thu, 21 Oct 2010 18:21:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214147 - head/lib/libc/stdlib X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 18:21:19 -0000 Author: bcr (doc committer) Date: Thu Oct 21 18:21:19 2010 New Revision: 214147 URL: http://svn.freebsd.org/changeset/base/214147 Log: Sync with OpenBSD rev. 1.13: strtonum does not require limits.h Obtained from: OpenBSD Discussed with: ru@ MFC after: 5 days Modified: head/lib/libc/stdlib/strtonum.3 Modified: head/lib/libc/stdlib/strtonum.3 ============================================================================== --- head/lib/libc/stdlib/strtonum.3 Thu Oct 21 17:46:23 2010 (r214146) +++ head/lib/libc/stdlib/strtonum.3 Thu Oct 21 18:21:19 2010 (r214147) @@ -12,7 +12,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.\" $OpenBSD: strtonum.3,v 1.12 2005/10/26 11:37:58 jmc Exp $ +.\" $OpenBSD: strtonum.3,v 1.13 2006/04/25 05:15:42 tedu Exp $ .\" $FreeBSD$ .\" .Dd April 29, 2004 @@ -23,7 +23,6 @@ .Nd "reliably convert string value to an integer" .Sh SYNOPSIS .In stdlib.h -.In limits.h .Ft long long .Fo strtonum .Fa "const char *nptr" From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 18:30:49 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3F0661065694; Thu, 21 Oct 2010 18:30:49 +0000 (UTC) (envelope-from bcr@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2EFDA8FC27; Thu, 21 Oct 2010 18:30:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LIUnYb099340; Thu, 21 Oct 2010 18:30:49 GMT (envelope-from bcr@svn.freebsd.org) Received: (from bcr@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LIUnYA099338; Thu, 21 Oct 2010 18:30:49 GMT (envelope-from bcr@svn.freebsd.org) Message-Id: <201010211830.o9LIUnYA099338@svn.freebsd.org> From: Benedict Reuschling Date: Thu, 21 Oct 2010 18:30:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214148 - head/lib/libc/stdlib X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 18:30:49 -0000 Author: bcr (doc committer) Date: Thu Oct 21 18:30:48 2010 New Revision: 214148 URL: http://svn.freebsd.org/changeset/base/214148 Log: Document strtonum()s behavior of setting errno to 0 when no error is found. PR: docs/143330 Submitted by: Efstratios Karatzas (gpf dot kira at gmail dot com) Discussed with: ru@ MFC after: 7 days Modified: head/lib/libc/stdlib/strtonum.3 Modified: head/lib/libc/stdlib/strtonum.3 ============================================================================== --- head/lib/libc/stdlib/strtonum.3 Thu Oct 21 18:21:19 2010 (r214147) +++ head/lib/libc/stdlib/strtonum.3 Thu Oct 21 18:30:48 2010 (r214148) @@ -83,6 +83,8 @@ is set, and .Fa errstr will point to an error message. On success, +.Va errno +is set to 0 and .Fa *errstr will be set to .Dv NULL ; From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 18:41:32 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2035B1065696; Thu, 21 Oct 2010 18:41:32 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id E66C08FC22; Thu, 21 Oct 2010 18:41:31 +0000 (UTC) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id 84E5046B3B; Thu, 21 Oct 2010 14:41:31 -0400 (EDT) Received: from jhbbsd.localnet (smtp.hudson-trading.com [209.249.190.9]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 9E05F8A009; Thu, 21 Oct 2010 14:41:30 -0400 (EDT) From: John Baldwin To: Ed Schouten Date: Thu, 21 Oct 2010 14:30:08 -0400 User-Agent: KMail/1.13.5 (FreeBSD/7.3-CBSD-20100819; KDE/4.4.5; amd64; ; ) References: <201010211729.o9LHTXEv098032@svn.freebsd.org> <20101021181921.GG77125@hoeg.nl> In-Reply-To: <20101021181921.GG77125@hoeg.nl> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201010211430.08219.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6 (bigwig.baldwin.cx); Thu, 21 Oct 2010 14:41:30 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.96.3 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-1.9 required=4.2 tests=BAYES_00 autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on bigwig.baldwin.cx Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r214144 - head/sys/vm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 18:41:32 -0000 On Thursday, October 21, 2010 2:19:21 pm Ed Schouten wrote: > Hi John, > > * John Baldwin , 20101021 19:29: > > + if (atomic_fetchadd_int(&vm->vm_refcnt, -1) == 1) > > vmspace_dofree(vm); > > Not that it's that useful, but maybe it would be good to use > refcount_release() here? Not in this case because the other places do not use the refcount API. Specifically, the code in vmspace_exit() is a bit tortuous. I'd rather code only use the refcount API if it is going to always use it. -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 18:49:12 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7C66A1065672; Thu, 21 Oct 2010 18:49:12 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6BE628FC12; Thu, 21 Oct 2010 18:49:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LInCIu099777; Thu, 21 Oct 2010 18:49:12 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LInC4j099775; Thu, 21 Oct 2010 18:49:12 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201010211849.o9LInC4j099775@svn.freebsd.org> From: Rick Macklem Date: Thu, 21 Oct 2010 18:49:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214149 - head/sys/fs/nfsserver X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 18:49:12 -0000 Author: rmacklem Date: Thu Oct 21 18:49:12 2010 New Revision: 214149 URL: http://svn.freebsd.org/changeset/base/214149 Log: Modify the experimental NFS server in a manner analagous to r214049 for the regular NFS server, so that it will not do a VOP_LOOKUP() of ".." when at the root of a file system when performing a ReaddirPlus RPC. MFC after: 10 days Modified: head/sys/fs/nfsserver/nfs_nfsdport.c Modified: head/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdport.c Thu Oct 21 18:30:48 2010 (r214148) +++ head/sys/fs/nfsserver/nfs_nfsdport.c Thu Oct 21 18:49:12 2010 (r214149) @@ -1933,7 +1933,15 @@ again: vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); - r = VOP_LOOKUP(vp, &nvp, &cn); + if ((vp->v_vflag & VV_ROOT) != 0 + && (cn.cn_flags & ISDOTDOT) + != 0) { + vref(vp); + nvp = vp; + r = 0; + } else + r = VOP_LOOKUP(vp, &nvp, + &cn); } } if (!r) { From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 18:59:06 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 634AE1065679; Thu, 21 Oct 2010 18:59:06 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 38D9F8FC23; Thu, 21 Oct 2010 18:59:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LIx6m1000151; Thu, 21 Oct 2010 18:59:06 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LIx6Dp000150; Thu, 21 Oct 2010 18:59:06 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <201010211859.o9LIx6Dp000150@svn.freebsd.org> From: Ed Schouten Date: Thu, 21 Oct 2010 18:59:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214150 - in vendor/compiler-rt: . dist X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 18:59:06 -0000 Author: ed Date: Thu Oct 21 18:59:05 2010 New Revision: 214150 URL: http://svn.freebsd.org/changeset/base/214150 Log: Add a directory for compiler-rt to the vendor space. Added: vendor/compiler-rt/ vendor/compiler-rt/dist/ From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 19:02:00 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2837110656AC; Thu, 21 Oct 2010 19:02:00 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 15F718FC26; Thu, 21 Oct 2010 19:02:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LJ1xmK000320; Thu, 21 Oct 2010 19:01:59 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LJ1x0b000318; Thu, 21 Oct 2010 19:01:59 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <201010211901.o9LJ1x0b000318@svn.freebsd.org> From: Robert Watson Date: Thu, 21 Oct 2010 19:01:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214151 - head/tools/tools/syscall_timing X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 19:02:00 -0000 Author: rwatson Date: Thu Oct 21 19:01:59 2010 New Revision: 214151 URL: http://svn.freebsd.org/changeset/base/214151 Log: Further syscall_timing improvements: allow an arbitrary "path" string argument to be passed on the command line, allowing file-related tests to be pointed at wherever desired. Sponsored by: Google, Inc. MFC after: 2 weeks Modified: head/tools/tools/syscall_timing/syscall_timing.c Modified: head/tools/tools/syscall_timing/syscall_timing.c ============================================================================== --- head/tools/tools/syscall_timing/syscall_timing.c Thu Oct 21 18:59:05 2010 (r214150) +++ head/tools/tools/syscall_timing/syscall_timing.c Thu Oct 21 19:01:59 2010 (r214151) @@ -85,7 +85,7 @@ benchmark_stop(void) } uint64_t -test_getuid(uint64_t num, uint64_t int_arg, const char *string_arg) +test_getuid(uint64_t num, uint64_t int_arg, const char *path) { uint64_t i; @@ -104,7 +104,7 @@ test_getuid(uint64_t num, uint64_t int_a } uint64_t -test_getppid(uint64_t num, uint64_t int_arg, const char *string_arg) +test_getppid(uint64_t num, uint64_t int_arg, const char *path) { uint64_t i; @@ -123,7 +123,7 @@ test_getppid(uint64_t num, uint64_t int_ } uint64_t -test_clock_gettime(uint64_t num, uint64_t int_arg, const char *string_arg) +test_clock_gettime(uint64_t num, uint64_t int_arg, const char *path) { struct timespec ts; uint64_t i; @@ -139,7 +139,7 @@ test_clock_gettime(uint64_t num, uint64_ } uint64_t -test_pipe(uint64_t num, uint64_t int_arg, const char *string_arg) +test_pipe(uint64_t num, uint64_t int_arg, const char *path) { int fd[2], i; @@ -167,7 +167,7 @@ test_pipe(uint64_t num, uint64_t int_arg } uint64_t -test_socket_stream(uint64_t num, uint64_t int_arg, const char *string_arg) +test_socket_stream(uint64_t num, uint64_t int_arg, const char *path) { uint64_t i, so; @@ -189,7 +189,7 @@ test_socket_stream(uint64_t num, uint64_ } uint64_t -test_socket_dgram(uint64_t num, uint64_t int_arg, const char *string_arg) +test_socket_dgram(uint64_t num, uint64_t int_arg, const char *path) { uint64_t i, so; @@ -211,7 +211,7 @@ test_socket_dgram(uint64_t num, uint64_t } uint64_t -test_socketpair_stream(uint64_t num, uint64_t int_arg, const char *string_arg) +test_socketpair_stream(uint64_t num, uint64_t int_arg, const char *path) { uint64_t i; int so[2]; @@ -234,7 +234,7 @@ test_socketpair_stream(uint64_t num, uin } uint64_t -test_socketpair_dgram(uint64_t num, uint64_t int_arg, const char *string_arg) +test_socketpair_dgram(uint64_t num, uint64_t int_arg, const char *path) { uint64_t i; int so[2]; @@ -257,9 +257,8 @@ test_socketpair_dgram(uint64_t num, uint } uint64_t -test_open_close(uint64_t num, uint64_t int_arg, const char *string_arg) +test_open_close(uint64_t num, uint64_t int_arg, const char *path) { - const char *path = string_arg; uint64_t i; int fd; @@ -282,15 +281,15 @@ test_open_close(uint64_t num, uint64_t i } uint64_t -test_open_read_close(uint64_t num, uint64_t int_arg, const char *string_arg) +test_open_read_close(uint64_t num, uint64_t int_arg, const char *path) { char buf[int_arg]; uint64_t i; int fd; - fd = open(string_arg, O_RDONLY); + fd = open(path, O_RDONLY); if (fd < 0) - err(-1, "test_open_close: %s", string_arg); + err(-1, "test_open_close: %s", path); (void)read(fd, buf, int_arg); close(fd); @@ -298,9 +297,9 @@ test_open_read_close(uint64_t num, uint6 for (i = 0; i < num; i++) { if (alarm_fired) break; - fd = open(string_arg, O_RDONLY); + fd = open(path, O_RDONLY); if (fd < 0) - err(-1, "test_open_close: %s", string_arg); + err(-1, "test_open_close: %s", path); (void)read(fd, buf, int_arg); close(fd); } @@ -309,7 +308,7 @@ test_open_read_close(uint64_t num, uint6 } uint64_t -test_dup(uint64_t num, uint64_t int_arg, const char *string_arg) +test_dup(uint64_t num, uint64_t int_arg, const char *path) { int fd, i, shmfd; @@ -333,7 +332,7 @@ test_dup(uint64_t num, uint64_t int_arg, } uint64_t -test_shmfd(uint64_t num, uint64_t int_arg, const char *string_arg) +test_shmfd(uint64_t num, uint64_t int_arg, const char *path) { uint64_t i, shmfd; @@ -355,7 +354,7 @@ test_shmfd(uint64_t num, uint64_t int_ar } uint64_t -test_fstat_shmfd(uint64_t num, uint64_t int_arg, const char *string_arg) +test_fstat_shmfd(uint64_t num, uint64_t int_arg, const char *path) { struct stat sb; uint64_t i, shmfd; @@ -377,7 +376,7 @@ test_fstat_shmfd(uint64_t num, uint64_t } uint64_t -test_fork(uint64_t num, uint64_t int_arg, const char *string_arg) +test_fork(uint64_t num, uint64_t int_arg, const char *path) { pid_t pid; uint64_t i; @@ -406,7 +405,7 @@ test_fork(uint64_t num, uint64_t int_arg } uint64_t -test_vfork(uint64_t num, uint64_t int_arg, const char *string_arg) +test_vfork(uint64_t num, uint64_t int_arg, const char *path) { pid_t pid; uint64_t i; @@ -439,7 +438,7 @@ static char *execve_args[] = { USR_BIN_T extern char **environ; uint64_t -test_fork_exec(uint64_t num, uint64_t int_arg, const char *string_arg) +test_fork_exec(uint64_t num, uint64_t int_arg, const char *path) { pid_t pid; uint64_t i; @@ -472,7 +471,7 @@ test_fork_exec(uint64_t num, uint64_t in } uint64_t -test_vfork_exec(uint64_t num, uint64_t int_arg, const char *string_arg) +test_vfork_exec(uint64_t num, uint64_t int_arg, const char *path) { pid_t pid; uint64_t i; @@ -505,7 +504,7 @@ test_vfork_exec(uint64_t num, uint64_t i } uint64_t -test_chroot(uint64_t num, uint64_t int_arg, const char *string_arg) +test_chroot(uint64_t num, uint64_t int_arg, const char *path) { uint64_t i; @@ -523,7 +522,7 @@ test_chroot(uint64_t num, uint64_t int_a } uint64_t -test_setuid(uint64_t num, uint64_t int_arg, const char *string_arg) +test_setuid(uint64_t num, uint64_t int_arg, const char *path) { uid_t uid; uint64_t i; @@ -546,7 +545,6 @@ struct test { const char *t_name; uint64_t (*t_func)(uint64_t, uint64_t, const char *); uint64_t t_int; - const char *t_string; }; static const struct test tests[] = { @@ -560,20 +558,13 @@ static const struct test tests[] = { { "socketpair_dgram", test_socketpair_dgram }, { "socket_tcp", test_socket_stream, .t_int = PF_INET }, { "socket_udp", test_socket_dgram, .t_int = PF_INET }, - { "open_close_devnull", test_open_close, .t_string = "/dev/null" }, - { "open_close_devzero", test_open_close, .t_string = "/dev/zero" }, - { "open_read_close_devzero_1", test_open_read_close, - .t_string = "/dev/zero", .t_int = 1 }, - { "open_read_close_devzero_10", test_open_read_close, - .t_string = "/dev/zero", .t_int = 10 }, - { "open_read_close_devzero_100", test_open_read_close, - .t_string = "/dev/zero", .t_int = 100 }, - { "open_read_close_devzero_1000", test_open_read_close, - .t_string = "/dev/zero", .t_int = 1000 }, - { "open_read_close_devzero_10000", test_open_read_close, - .t_string = "/dev/zero", .t_int = 10000 }, - { "open_read_close_devzero_100000", test_open_read_close, - .t_string = "/dev/zero", .t_int = 100000 }, + { "open_close", test_open_close }, + { "open_read_close_1", test_open_read_close, .t_int = 1 }, + { "open_read_close_10", test_open_read_close, .t_int = 10 }, + { "open_read_close_100", test_open_read_close, .t_int = 100 }, + { "open_read_close_1000", test_open_read_close, .t_int = 1000 }, + { "open_read_close_10000", test_open_read_close, .t_int = 10000 }, + { "open_read_close_100000", test_open_read_close, .t_int = 100000 }, { "dup", test_dup }, { "shmfd", test_shmfd }, { "fstat_shmfd", test_fstat_shmfd }, @@ -592,7 +583,7 @@ usage(void) int i; fprintf(stderr, "syscall_timing [-i iterations] [-l loops] " - "[-s seconds] test\n"); + "[-p path] [-s seconds] test\n"); for (i = 0; i < tests_count; i++) fprintf(stderr, " %s\n", tests[i].t_name); exit(-1); @@ -603,6 +594,7 @@ main(int argc, char *argv[]) { struct timespec ts_res; const struct test *the_test; + const char *path; long long ll; char *endp; int ch, i, j, k; @@ -611,7 +603,8 @@ main(int argc, char *argv[]) alarm_timeout = 0; iterations = 0; loops = 0; - while ((ch = getopt(argc, argv, "i:l:s:")) != -1) { + path = NULL; + while ((ch = getopt(argc, argv, "i:l:p:s:")) != -1) { switch (ch) { case 'i': ll = strtol(optarg, &endp, 10); @@ -627,6 +620,10 @@ main(int argc, char *argv[]) loops = ll; break; + case 'p': + path = optarg; + break; + case 's': ll = strtol(optarg, &endp, 10); if (*endp != 0 || ll < 1 || ll > 60*60) @@ -671,12 +668,11 @@ main(int argc, char *argv[]) /* * Run one warmup, then do the real thing (loops) times. */ - the_test->t_func(iterations, the_test->t_int, - the_test->t_string); + the_test->t_func(iterations, the_test->t_int, path); calls = 0; for (k = 0; k < loops; k++) { - calls = the_test->t_func(iterations, - the_test->t_int, the_test->t_string); + calls = the_test->t_func(iterations, the_test->t_int, + path); timespecsub(&ts_end, &ts_start); printf("%s\t%d\t", the_test->t_name, k); printf("%ju.%09ju\t%d\t", (uintmax_t)ts_end.tv_sec, From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 19:02:04 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7BDB21065767; Thu, 21 Oct 2010 19:02:02 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B14BD8FC35; Thu, 21 Oct 2010 19:02:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LJ226f000346; Thu, 21 Oct 2010 19:02:02 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LJ22dd000337; Thu, 21 Oct 2010 19:02:02 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <201010211902.o9LJ22dd000337@svn.freebsd.org> From: Ed Schouten Date: Thu, 21 Oct 2010 19:02:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214152 - in vendor/compiler-rt/dist: . BlocksRuntime BlocksRuntime/tests cmake cmake/Modules lib lib/arm lib/i386 lib/ppc lib/sparc64 lib/x86_64 make make/platform make/test test test/... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 19:02:04 -0000 Author: ed Date: Thu Oct 21 19:02:02 2010 New Revision: 214152 URL: http://svn.freebsd.org/changeset/base/214152 Log: Import compiler-rt r117047. Added: vendor/compiler-rt/dist/.gitignore vendor/compiler-rt/dist/BlocksRuntime/ vendor/compiler-rt/dist/BlocksRuntime/Block.h vendor/compiler-rt/dist/BlocksRuntime/Block_private.h vendor/compiler-rt/dist/BlocksRuntime/CMakeLists.txt vendor/compiler-rt/dist/BlocksRuntime/data.c vendor/compiler-rt/dist/BlocksRuntime/runtime.c vendor/compiler-rt/dist/BlocksRuntime/tests/ vendor/compiler-rt/dist/BlocksRuntime/tests/block-static.c vendor/compiler-rt/dist/BlocksRuntime/tests/blockimport.c vendor/compiler-rt/dist/BlocksRuntime/tests/byrefaccess.c vendor/compiler-rt/dist/BlocksRuntime/tests/byrefcopy.c vendor/compiler-rt/dist/BlocksRuntime/tests/byrefcopycopy.c vendor/compiler-rt/dist/BlocksRuntime/tests/byrefcopyinner.c vendor/compiler-rt/dist/BlocksRuntime/tests/byrefcopyint.c vendor/compiler-rt/dist/BlocksRuntime/tests/byrefcopystack.c vendor/compiler-rt/dist/BlocksRuntime/tests/byrefsanity.c vendor/compiler-rt/dist/BlocksRuntime/tests/byrefstruct.c vendor/compiler-rt/dist/BlocksRuntime/tests/c99.c vendor/compiler-rt/dist/BlocksRuntime/tests/cast.c vendor/compiler-rt/dist/BlocksRuntime/tests/constassign.c vendor/compiler-rt/dist/BlocksRuntime/tests/copy-block-literal-rdar6439600.c vendor/compiler-rt/dist/BlocksRuntime/tests/copyconstructor.C vendor/compiler-rt/dist/BlocksRuntime/tests/copynull.c vendor/compiler-rt/dist/BlocksRuntime/tests/dispatch_async.c vendor/compiler-rt/dist/BlocksRuntime/tests/dispatch_call_Block_with_release.c vendor/compiler-rt/dist/BlocksRuntime/tests/fail.c vendor/compiler-rt/dist/BlocksRuntime/tests/flagsisa.c vendor/compiler-rt/dist/BlocksRuntime/tests/globalexpression.c vendor/compiler-rt/dist/BlocksRuntime/tests/goto.c vendor/compiler-rt/dist/BlocksRuntime/tests/hasdescriptor.c vendor/compiler-rt/dist/BlocksRuntime/tests/josh.C vendor/compiler-rt/dist/BlocksRuntime/tests/k-and-r.c vendor/compiler-rt/dist/BlocksRuntime/tests/large-struct.c vendor/compiler-rt/dist/BlocksRuntime/tests/localisglobal.c vendor/compiler-rt/dist/BlocksRuntime/tests/macro.c vendor/compiler-rt/dist/BlocksRuntime/tests/makefile vendor/compiler-rt/dist/BlocksRuntime/tests/modglobal.c vendor/compiler-rt/dist/BlocksRuntime/tests/nestedimport.c vendor/compiler-rt/dist/BlocksRuntime/tests/nullblockisa.c vendor/compiler-rt/dist/BlocksRuntime/tests/objectRRGC.c vendor/compiler-rt/dist/BlocksRuntime/tests/objectassign.c vendor/compiler-rt/dist/BlocksRuntime/tests/orbars.c vendor/compiler-rt/dist/BlocksRuntime/tests/rdar6396238.c vendor/compiler-rt/dist/BlocksRuntime/tests/rdar6405500.c vendor/compiler-rt/dist/BlocksRuntime/tests/rdar6414583.c vendor/compiler-rt/dist/BlocksRuntime/tests/recursive-block.c vendor/compiler-rt/dist/BlocksRuntime/tests/recursive-test.c vendor/compiler-rt/dist/BlocksRuntime/tests/recursiveassign.c vendor/compiler-rt/dist/BlocksRuntime/tests/reference.C vendor/compiler-rt/dist/BlocksRuntime/tests/rettypepromotion.c vendor/compiler-rt/dist/BlocksRuntime/tests/returnfunctionptr.c vendor/compiler-rt/dist/BlocksRuntime/tests/shorthandexpression.c vendor/compiler-rt/dist/BlocksRuntime/tests/sizeof.c vendor/compiler-rt/dist/BlocksRuntime/tests/small-struct.c vendor/compiler-rt/dist/BlocksRuntime/tests/structmember.c vendor/compiler-rt/dist/BlocksRuntime/tests/testfilerunner.h vendor/compiler-rt/dist/BlocksRuntime/tests/testfilerunner.m vendor/compiler-rt/dist/BlocksRuntime/tests/varargs-bad-assign.c vendor/compiler-rt/dist/BlocksRuntime/tests/varargs.c vendor/compiler-rt/dist/BlocksRuntime/tests/variadic.c vendor/compiler-rt/dist/BlocksRuntime/tests/voidarg.c vendor/compiler-rt/dist/CMakeLists.txt vendor/compiler-rt/dist/CREDITS.TXT vendor/compiler-rt/dist/LICENSE.TXT vendor/compiler-rt/dist/Makefile vendor/compiler-rt/dist/README.txt vendor/compiler-rt/dist/cmake/ vendor/compiler-rt/dist/cmake/ConfigureChecks.cmake vendor/compiler-rt/dist/cmake/Modules/ vendor/compiler-rt/dist/cmake/Modules/DefineCompilerFlags.cmake vendor/compiler-rt/dist/cmake/Modules/MacroAddCheckTest.cmake vendor/compiler-rt/dist/cmake/Modules/MacroEnsureOutOfSourceBuild.cmake vendor/compiler-rt/dist/cmake/config.h.cmake vendor/compiler-rt/dist/lib/ vendor/compiler-rt/dist/lib/CMakeLists.txt vendor/compiler-rt/dist/lib/Makefile.mk vendor/compiler-rt/dist/lib/absvdi2.c vendor/compiler-rt/dist/lib/absvsi2.c vendor/compiler-rt/dist/lib/absvti2.c vendor/compiler-rt/dist/lib/adddf3.c vendor/compiler-rt/dist/lib/addsf3.c vendor/compiler-rt/dist/lib/addvdi3.c vendor/compiler-rt/dist/lib/addvsi3.c vendor/compiler-rt/dist/lib/addvti3.c vendor/compiler-rt/dist/lib/apple_versioning.c vendor/compiler-rt/dist/lib/arm/ vendor/compiler-rt/dist/lib/arm/CMakeLists.txt vendor/compiler-rt/dist/lib/arm/Makefile.mk vendor/compiler-rt/dist/lib/arm/adddf3vfp.S vendor/compiler-rt/dist/lib/arm/addsf3vfp.S vendor/compiler-rt/dist/lib/arm/bswapdi2.S vendor/compiler-rt/dist/lib/arm/bswapsi2.S vendor/compiler-rt/dist/lib/arm/comparesf2.S vendor/compiler-rt/dist/lib/arm/divdf3vfp.S vendor/compiler-rt/dist/lib/arm/divsf3vfp.S vendor/compiler-rt/dist/lib/arm/eqdf2vfp.S vendor/compiler-rt/dist/lib/arm/eqsf2vfp.S vendor/compiler-rt/dist/lib/arm/extendsfdf2vfp.S vendor/compiler-rt/dist/lib/arm/fixdfsivfp.S vendor/compiler-rt/dist/lib/arm/fixsfsivfp.S vendor/compiler-rt/dist/lib/arm/fixunsdfsivfp.S vendor/compiler-rt/dist/lib/arm/fixunssfsivfp.S vendor/compiler-rt/dist/lib/arm/floatsidfvfp.S vendor/compiler-rt/dist/lib/arm/floatsisfvfp.S vendor/compiler-rt/dist/lib/arm/floatunssidfvfp.S vendor/compiler-rt/dist/lib/arm/floatunssisfvfp.S vendor/compiler-rt/dist/lib/arm/gedf2vfp.S vendor/compiler-rt/dist/lib/arm/gesf2vfp.S vendor/compiler-rt/dist/lib/arm/gtdf2vfp.S vendor/compiler-rt/dist/lib/arm/gtsf2vfp.S vendor/compiler-rt/dist/lib/arm/ledf2vfp.S vendor/compiler-rt/dist/lib/arm/lesf2vfp.S vendor/compiler-rt/dist/lib/arm/ltdf2vfp.S vendor/compiler-rt/dist/lib/arm/ltsf2vfp.S vendor/compiler-rt/dist/lib/arm/modsi3.S vendor/compiler-rt/dist/lib/arm/muldf3vfp.S vendor/compiler-rt/dist/lib/arm/mulsf3vfp.S vendor/compiler-rt/dist/lib/arm/nedf2vfp.S vendor/compiler-rt/dist/lib/arm/negdf2vfp.S vendor/compiler-rt/dist/lib/arm/negsf2vfp.S vendor/compiler-rt/dist/lib/arm/nesf2vfp.S vendor/compiler-rt/dist/lib/arm/restore_vfp_d8_d15_regs.S vendor/compiler-rt/dist/lib/arm/save_vfp_d8_d15_regs.S vendor/compiler-rt/dist/lib/arm/subdf3vfp.S vendor/compiler-rt/dist/lib/arm/subsf3vfp.S vendor/compiler-rt/dist/lib/arm/switch16.S vendor/compiler-rt/dist/lib/arm/switch32.S vendor/compiler-rt/dist/lib/arm/switch8.S vendor/compiler-rt/dist/lib/arm/switchu8.S vendor/compiler-rt/dist/lib/arm/sync_synchronize.S vendor/compiler-rt/dist/lib/arm/truncdfsf2vfp.S vendor/compiler-rt/dist/lib/arm/unorddf2vfp.S vendor/compiler-rt/dist/lib/arm/unordsf2vfp.S vendor/compiler-rt/dist/lib/ashldi3.c vendor/compiler-rt/dist/lib/ashlti3.c vendor/compiler-rt/dist/lib/ashrdi3.c vendor/compiler-rt/dist/lib/ashrti3.c vendor/compiler-rt/dist/lib/assembly.h vendor/compiler-rt/dist/lib/clear_cache.c vendor/compiler-rt/dist/lib/clzdi2.c vendor/compiler-rt/dist/lib/clzsi2.c vendor/compiler-rt/dist/lib/clzti2.c vendor/compiler-rt/dist/lib/cmpdi2.c vendor/compiler-rt/dist/lib/cmpti2.c vendor/compiler-rt/dist/lib/comparedf2.c vendor/compiler-rt/dist/lib/comparesf2.c vendor/compiler-rt/dist/lib/ctzdi2.c vendor/compiler-rt/dist/lib/ctzsi2.c vendor/compiler-rt/dist/lib/ctzti2.c vendor/compiler-rt/dist/lib/divdc3.c vendor/compiler-rt/dist/lib/divdf3.c vendor/compiler-rt/dist/lib/divdi3.c vendor/compiler-rt/dist/lib/divsc3.c vendor/compiler-rt/dist/lib/divsf3.c vendor/compiler-rt/dist/lib/divsi3.c vendor/compiler-rt/dist/lib/divti3.c vendor/compiler-rt/dist/lib/divxc3.c vendor/compiler-rt/dist/lib/enable_execute_stack.c vendor/compiler-rt/dist/lib/endianness.h vendor/compiler-rt/dist/lib/eprintf.c vendor/compiler-rt/dist/lib/extendsfdf2.c vendor/compiler-rt/dist/lib/ffsdi2.c vendor/compiler-rt/dist/lib/ffsti2.c vendor/compiler-rt/dist/lib/fixdfdi.c vendor/compiler-rt/dist/lib/fixdfsi.c vendor/compiler-rt/dist/lib/fixdfti.c vendor/compiler-rt/dist/lib/fixsfdi.c vendor/compiler-rt/dist/lib/fixsfsi.c vendor/compiler-rt/dist/lib/fixsfti.c vendor/compiler-rt/dist/lib/fixunsdfdi.c vendor/compiler-rt/dist/lib/fixunsdfsi.c vendor/compiler-rt/dist/lib/fixunsdfti.c vendor/compiler-rt/dist/lib/fixunssfdi.c vendor/compiler-rt/dist/lib/fixunssfsi.c vendor/compiler-rt/dist/lib/fixunssfti.c vendor/compiler-rt/dist/lib/fixunsxfdi.c vendor/compiler-rt/dist/lib/fixunsxfsi.c vendor/compiler-rt/dist/lib/fixunsxfti.c vendor/compiler-rt/dist/lib/fixxfdi.c vendor/compiler-rt/dist/lib/fixxfti.c vendor/compiler-rt/dist/lib/floatdidf.c vendor/compiler-rt/dist/lib/floatdisf.c vendor/compiler-rt/dist/lib/floatdixf.c vendor/compiler-rt/dist/lib/floatsidf.c vendor/compiler-rt/dist/lib/floatsisf.c vendor/compiler-rt/dist/lib/floattidf.c vendor/compiler-rt/dist/lib/floattisf.c vendor/compiler-rt/dist/lib/floattixf.c vendor/compiler-rt/dist/lib/floatundidf.c vendor/compiler-rt/dist/lib/floatundisf.c vendor/compiler-rt/dist/lib/floatundixf.c vendor/compiler-rt/dist/lib/floatunsidf.c vendor/compiler-rt/dist/lib/floatunsisf.c vendor/compiler-rt/dist/lib/floatuntidf.c vendor/compiler-rt/dist/lib/floatuntisf.c vendor/compiler-rt/dist/lib/floatuntixf.c vendor/compiler-rt/dist/lib/fp_lib.h vendor/compiler-rt/dist/lib/gcc_personality_v0.c vendor/compiler-rt/dist/lib/i386/ vendor/compiler-rt/dist/lib/i386/CMakeLists.txt vendor/compiler-rt/dist/lib/i386/Makefile.mk vendor/compiler-rt/dist/lib/i386/ashldi3.S vendor/compiler-rt/dist/lib/i386/ashrdi3.S vendor/compiler-rt/dist/lib/i386/divdi3.S vendor/compiler-rt/dist/lib/i386/floatdidf.S vendor/compiler-rt/dist/lib/i386/floatdisf.S vendor/compiler-rt/dist/lib/i386/floatdixf.S vendor/compiler-rt/dist/lib/i386/floatundidf.S vendor/compiler-rt/dist/lib/i386/floatundisf.S vendor/compiler-rt/dist/lib/i386/floatundixf.S vendor/compiler-rt/dist/lib/i386/lshrdi3.S vendor/compiler-rt/dist/lib/i386/moddi3.S vendor/compiler-rt/dist/lib/i386/muldi3.S vendor/compiler-rt/dist/lib/i386/udivdi3.S vendor/compiler-rt/dist/lib/i386/umoddi3.S vendor/compiler-rt/dist/lib/int_lib.h vendor/compiler-rt/dist/lib/lshrdi3.c vendor/compiler-rt/dist/lib/lshrti3.c vendor/compiler-rt/dist/lib/moddi3.c vendor/compiler-rt/dist/lib/modsi3.c vendor/compiler-rt/dist/lib/modti3.c vendor/compiler-rt/dist/lib/muldc3.c vendor/compiler-rt/dist/lib/muldf3.c vendor/compiler-rt/dist/lib/muldi3.c vendor/compiler-rt/dist/lib/mulsc3.c vendor/compiler-rt/dist/lib/mulsf3.c vendor/compiler-rt/dist/lib/multi3.c vendor/compiler-rt/dist/lib/mulvdi3.c vendor/compiler-rt/dist/lib/mulvsi3.c vendor/compiler-rt/dist/lib/mulvti3.c vendor/compiler-rt/dist/lib/mulxc3.c vendor/compiler-rt/dist/lib/negdf2.c vendor/compiler-rt/dist/lib/negdi2.c vendor/compiler-rt/dist/lib/negsf2.c vendor/compiler-rt/dist/lib/negti2.c vendor/compiler-rt/dist/lib/negvdi2.c vendor/compiler-rt/dist/lib/negvsi2.c vendor/compiler-rt/dist/lib/negvti2.c vendor/compiler-rt/dist/lib/paritydi2.c vendor/compiler-rt/dist/lib/paritysi2.c vendor/compiler-rt/dist/lib/parityti2.c vendor/compiler-rt/dist/lib/popcountdi2.c vendor/compiler-rt/dist/lib/popcountsi2.c vendor/compiler-rt/dist/lib/popcountti2.c vendor/compiler-rt/dist/lib/powidf2.c vendor/compiler-rt/dist/lib/powisf2.c vendor/compiler-rt/dist/lib/powitf2.c vendor/compiler-rt/dist/lib/powixf2.c vendor/compiler-rt/dist/lib/ppc/ vendor/compiler-rt/dist/lib/ppc/CMakeLists.txt vendor/compiler-rt/dist/lib/ppc/DD.h vendor/compiler-rt/dist/lib/ppc/Makefile.mk vendor/compiler-rt/dist/lib/ppc/divtc3.c vendor/compiler-rt/dist/lib/ppc/fixtfdi.c vendor/compiler-rt/dist/lib/ppc/fixunstfdi.c vendor/compiler-rt/dist/lib/ppc/floatditf.c vendor/compiler-rt/dist/lib/ppc/floatunditf.c vendor/compiler-rt/dist/lib/ppc/gcc_qadd.c vendor/compiler-rt/dist/lib/ppc/gcc_qdiv.c vendor/compiler-rt/dist/lib/ppc/gcc_qmul.c vendor/compiler-rt/dist/lib/ppc/gcc_qsub.c vendor/compiler-rt/dist/lib/ppc/multc3.c vendor/compiler-rt/dist/lib/ppc/restFP.S vendor/compiler-rt/dist/lib/ppc/saveFP.S vendor/compiler-rt/dist/lib/sparc64/ vendor/compiler-rt/dist/lib/subvdi3.c vendor/compiler-rt/dist/lib/subvsi3.c vendor/compiler-rt/dist/lib/subvti3.c vendor/compiler-rt/dist/lib/trampoline_setup.c vendor/compiler-rt/dist/lib/truncdfsf2.c vendor/compiler-rt/dist/lib/ucmpdi2.c vendor/compiler-rt/dist/lib/ucmpti2.c vendor/compiler-rt/dist/lib/udivdi3.c vendor/compiler-rt/dist/lib/udivmoddi4.c vendor/compiler-rt/dist/lib/udivmodti4.c vendor/compiler-rt/dist/lib/udivsi3.c vendor/compiler-rt/dist/lib/udivti3.c vendor/compiler-rt/dist/lib/umoddi3.c vendor/compiler-rt/dist/lib/umodsi3.c vendor/compiler-rt/dist/lib/umodti3.c vendor/compiler-rt/dist/lib/x86_64/ vendor/compiler-rt/dist/lib/x86_64/CMakeLists.txt vendor/compiler-rt/dist/lib/x86_64/Makefile.mk vendor/compiler-rt/dist/lib/x86_64/floatdidf.c vendor/compiler-rt/dist/lib/x86_64/floatdisf.c vendor/compiler-rt/dist/lib/x86_64/floatdixf.c vendor/compiler-rt/dist/lib/x86_64/floatundidf.S vendor/compiler-rt/dist/lib/x86_64/floatundisf.S vendor/compiler-rt/dist/lib/x86_64/floatundixf.S vendor/compiler-rt/dist/make/ vendor/compiler-rt/dist/make/AppleBI.mk vendor/compiler-rt/dist/make/config.mk vendor/compiler-rt/dist/make/filter-inputs (contents, props changed) vendor/compiler-rt/dist/make/lib_info.mk vendor/compiler-rt/dist/make/lib_platforms.mk vendor/compiler-rt/dist/make/lib_util.mk vendor/compiler-rt/dist/make/options.mk vendor/compiler-rt/dist/make/platform/ vendor/compiler-rt/dist/make/platform/clang_darwin.mk vendor/compiler-rt/dist/make/platform/darwin_bni.mk vendor/compiler-rt/dist/make/platform/darwin_fat.mk vendor/compiler-rt/dist/make/platform/multi_arch.mk vendor/compiler-rt/dist/make/subdir.mk vendor/compiler-rt/dist/make/test/ vendor/compiler-rt/dist/make/test/test-util.mk vendor/compiler-rt/dist/make/util.mk vendor/compiler-rt/dist/test/ vendor/compiler-rt/dist/test/CMakeLists.txt vendor/compiler-rt/dist/test/Unit/ vendor/compiler-rt/dist/test/Unit/absvdi2_test.c vendor/compiler-rt/dist/test/Unit/absvsi2_test.c vendor/compiler-rt/dist/test/Unit/absvti2_test.c vendor/compiler-rt/dist/test/Unit/adddf3vfp_test.c vendor/compiler-rt/dist/test/Unit/addsf3vfp_test.c vendor/compiler-rt/dist/test/Unit/addvdi3_test.c vendor/compiler-rt/dist/test/Unit/addvsi3_test.c vendor/compiler-rt/dist/test/Unit/addvti3_test.c vendor/compiler-rt/dist/test/Unit/ashldi3_test.c vendor/compiler-rt/dist/test/Unit/ashlti3_test.c vendor/compiler-rt/dist/test/Unit/ashrdi3_test.c vendor/compiler-rt/dist/test/Unit/ashrti3_test.c vendor/compiler-rt/dist/test/Unit/bswapdi2_test.c vendor/compiler-rt/dist/test/Unit/bswapsi2_test.c vendor/compiler-rt/dist/test/Unit/clear_cache_test.c vendor/compiler-rt/dist/test/Unit/clzdi2_test.c vendor/compiler-rt/dist/test/Unit/clzsi2_test.c vendor/compiler-rt/dist/test/Unit/clzti2_test.c vendor/compiler-rt/dist/test/Unit/cmpdi2_test.c vendor/compiler-rt/dist/test/Unit/cmpti2_test.c vendor/compiler-rt/dist/test/Unit/comparedf2_test.c vendor/compiler-rt/dist/test/Unit/comparesf2_test.c vendor/compiler-rt/dist/test/Unit/ctzdi2_test.c vendor/compiler-rt/dist/test/Unit/ctzsi2_test.c vendor/compiler-rt/dist/test/Unit/ctzti2_test.c vendor/compiler-rt/dist/test/Unit/divdc3_test.c vendor/compiler-rt/dist/test/Unit/divdf3vfp_test.c vendor/compiler-rt/dist/test/Unit/divdi3_test.c vendor/compiler-rt/dist/test/Unit/divsc3_test.c vendor/compiler-rt/dist/test/Unit/divsf3vfp_test.c vendor/compiler-rt/dist/test/Unit/divsi3_test.c vendor/compiler-rt/dist/test/Unit/divtc3_test.c vendor/compiler-rt/dist/test/Unit/divti3_test.c vendor/compiler-rt/dist/test/Unit/divxc3_test.c vendor/compiler-rt/dist/test/Unit/enable_execute_stack_test.c vendor/compiler-rt/dist/test/Unit/endianness.h vendor/compiler-rt/dist/test/Unit/eqdf2vfp_test.c vendor/compiler-rt/dist/test/Unit/eqsf2vfp_test.c vendor/compiler-rt/dist/test/Unit/extebdsfdf2vfp_test.c vendor/compiler-rt/dist/test/Unit/ffsdi2_test.c vendor/compiler-rt/dist/test/Unit/ffsti2_test.c vendor/compiler-rt/dist/test/Unit/fixdfdi_test.c vendor/compiler-rt/dist/test/Unit/fixdfsivfp_test.c vendor/compiler-rt/dist/test/Unit/fixdfti_test.c vendor/compiler-rt/dist/test/Unit/fixsfdi_test.c vendor/compiler-rt/dist/test/Unit/fixsfsivfp_test.c vendor/compiler-rt/dist/test/Unit/fixsfti_test.c vendor/compiler-rt/dist/test/Unit/fixunsdfdi_test.c vendor/compiler-rt/dist/test/Unit/fixunsdfsi_test.c vendor/compiler-rt/dist/test/Unit/fixunsdfsivfp_test.c vendor/compiler-rt/dist/test/Unit/fixunsdfti_test.c vendor/compiler-rt/dist/test/Unit/fixunssfdi_test.c vendor/compiler-rt/dist/test/Unit/fixunssfsi_test.c vendor/compiler-rt/dist/test/Unit/fixunssfsivfp_test.c vendor/compiler-rt/dist/test/Unit/fixunssfti_test.c vendor/compiler-rt/dist/test/Unit/fixunstfdi_test.c vendor/compiler-rt/dist/test/Unit/fixunsxfdi_test.c vendor/compiler-rt/dist/test/Unit/fixunsxfsi_test.c vendor/compiler-rt/dist/test/Unit/fixunsxfti_test.c vendor/compiler-rt/dist/test/Unit/fixxfdi_test.c vendor/compiler-rt/dist/test/Unit/fixxfti_test.c vendor/compiler-rt/dist/test/Unit/floatdidf_test.c vendor/compiler-rt/dist/test/Unit/floatdisf_test.c vendor/compiler-rt/dist/test/Unit/floatdixf_test.c vendor/compiler-rt/dist/test/Unit/floatsidfvfp_test.c vendor/compiler-rt/dist/test/Unit/floatsisfvfp_test.c vendor/compiler-rt/dist/test/Unit/floattidf_test.c vendor/compiler-rt/dist/test/Unit/floattisf_test.c vendor/compiler-rt/dist/test/Unit/floattixf_test.c vendor/compiler-rt/dist/test/Unit/floatundidf_test.c vendor/compiler-rt/dist/test/Unit/floatundisf_test.c vendor/compiler-rt/dist/test/Unit/floatundixf_test.c vendor/compiler-rt/dist/test/Unit/floatunssidfvfp_test.c vendor/compiler-rt/dist/test/Unit/floatunssisfvfp_test.c vendor/compiler-rt/dist/test/Unit/floatuntidf_test.c vendor/compiler-rt/dist/test/Unit/floatuntisf_test.c vendor/compiler-rt/dist/test/Unit/floatuntixf_test.c vendor/compiler-rt/dist/test/Unit/gcc_personality_test.c vendor/compiler-rt/dist/test/Unit/gcc_personality_test_helper.cxx vendor/compiler-rt/dist/test/Unit/gedf2vfp_test.c vendor/compiler-rt/dist/test/Unit/gesf2vfp_test.c vendor/compiler-rt/dist/test/Unit/gtdf2vfp_test.c vendor/compiler-rt/dist/test/Unit/gtsf2vfp_test.c vendor/compiler-rt/dist/test/Unit/ledf2vfp_test.c vendor/compiler-rt/dist/test/Unit/lesf2vfp_test.c vendor/compiler-rt/dist/test/Unit/lshrdi3_test.c vendor/compiler-rt/dist/test/Unit/lshrti3_test.c vendor/compiler-rt/dist/test/Unit/ltdf2vfp_test.c vendor/compiler-rt/dist/test/Unit/ltsf2vfp_test.c vendor/compiler-rt/dist/test/Unit/moddi3_test.c vendor/compiler-rt/dist/test/Unit/modsi3_test.c vendor/compiler-rt/dist/test/Unit/modti3_test.c vendor/compiler-rt/dist/test/Unit/muldc3_test.c vendor/compiler-rt/dist/test/Unit/muldf3vfp_test.c vendor/compiler-rt/dist/test/Unit/muldi3_test.c vendor/compiler-rt/dist/test/Unit/mulsc3_test.c vendor/compiler-rt/dist/test/Unit/mulsf3vfp_test.c vendor/compiler-rt/dist/test/Unit/multc3_test.c vendor/compiler-rt/dist/test/Unit/multi3_test.c vendor/compiler-rt/dist/test/Unit/mulvdi3_test.c vendor/compiler-rt/dist/test/Unit/mulvsi3_test.c vendor/compiler-rt/dist/test/Unit/mulvti3_test.c vendor/compiler-rt/dist/test/Unit/mulxc3_test.c vendor/compiler-rt/dist/test/Unit/nedf2vfp_test.c vendor/compiler-rt/dist/test/Unit/negdf2vfp_test.c vendor/compiler-rt/dist/test/Unit/negdi2_test.c vendor/compiler-rt/dist/test/Unit/negsf2vfp_test.c vendor/compiler-rt/dist/test/Unit/negti2_test.c vendor/compiler-rt/dist/test/Unit/negvdi2_test.c vendor/compiler-rt/dist/test/Unit/negvsi2_test.c vendor/compiler-rt/dist/test/Unit/negvti2_test.c vendor/compiler-rt/dist/test/Unit/nesf2vfp_test.c vendor/compiler-rt/dist/test/Unit/paritydi2_test.c vendor/compiler-rt/dist/test/Unit/paritysi2_test.c vendor/compiler-rt/dist/test/Unit/parityti2_test.c vendor/compiler-rt/dist/test/Unit/popcountdi2_test.c vendor/compiler-rt/dist/test/Unit/popcountsi2_test.c vendor/compiler-rt/dist/test/Unit/popcountti2_test.c vendor/compiler-rt/dist/test/Unit/powidf2_test.c vendor/compiler-rt/dist/test/Unit/powisf2_test.c vendor/compiler-rt/dist/test/Unit/powitf2_test.c vendor/compiler-rt/dist/test/Unit/powixf2_test.c vendor/compiler-rt/dist/test/Unit/ppc/ vendor/compiler-rt/dist/test/Unit/ppc/CMakeLists.txt vendor/compiler-rt/dist/test/Unit/ppc/DD.h vendor/compiler-rt/dist/test/Unit/ppc/fixtfdi_test.c vendor/compiler-rt/dist/test/Unit/ppc/floatditf_test.c vendor/compiler-rt/dist/test/Unit/ppc/floatditf_test.h vendor/compiler-rt/dist/test/Unit/ppc/floatunditf_test.c vendor/compiler-rt/dist/test/Unit/ppc/floatunditf_test.h vendor/compiler-rt/dist/test/Unit/ppc/qadd_test.c vendor/compiler-rt/dist/test/Unit/ppc/qdiv_test.c vendor/compiler-rt/dist/test/Unit/ppc/qmul_test.c vendor/compiler-rt/dist/test/Unit/ppc/qsub_test.c vendor/compiler-rt/dist/test/Unit/ppc/test (contents, props changed) vendor/compiler-rt/dist/test/Unit/subdf3vfp_test.c vendor/compiler-rt/dist/test/Unit/subsf3vfp_test.c vendor/compiler-rt/dist/test/Unit/subvdi3_test.c vendor/compiler-rt/dist/test/Unit/subvsi3_test.c vendor/compiler-rt/dist/test/Unit/subvti3_test.c vendor/compiler-rt/dist/test/Unit/test (contents, props changed) vendor/compiler-rt/dist/test/Unit/trampoline_setup_test.c vendor/compiler-rt/dist/test/Unit/truncdfsf2vfp_test.c vendor/compiler-rt/dist/test/Unit/ucmpdi2_test.c vendor/compiler-rt/dist/test/Unit/ucmpti2_test.c vendor/compiler-rt/dist/test/Unit/udivdi3_test.c vendor/compiler-rt/dist/test/Unit/udivmoddi4_test.c vendor/compiler-rt/dist/test/Unit/udivmodti4_test.c vendor/compiler-rt/dist/test/Unit/udivsi3_test.c vendor/compiler-rt/dist/test/Unit/udivti3_test.c vendor/compiler-rt/dist/test/Unit/umoddi3_test.c vendor/compiler-rt/dist/test/Unit/umodsi3_test.c vendor/compiler-rt/dist/test/Unit/umodti3_test.c vendor/compiler-rt/dist/test/Unit/unorddf2vfp_test.c vendor/compiler-rt/dist/test/Unit/unordsf2vfp_test.c vendor/compiler-rt/dist/test/timing/ vendor/compiler-rt/dist/test/timing/CMakeLists.txt vendor/compiler-rt/dist/test/timing/ashldi3.c vendor/compiler-rt/dist/test/timing/ashrdi3.c vendor/compiler-rt/dist/test/timing/divdi3.c vendor/compiler-rt/dist/test/timing/floatdidf.c vendor/compiler-rt/dist/test/timing/floatdisf.c vendor/compiler-rt/dist/test/timing/floatdixf.c vendor/compiler-rt/dist/test/timing/floatundidf.c vendor/compiler-rt/dist/test/timing/floatundisf.c vendor/compiler-rt/dist/test/timing/floatundixf.c vendor/compiler-rt/dist/test/timing/lshrdi3.c vendor/compiler-rt/dist/test/timing/moddi3.c vendor/compiler-rt/dist/test/timing/muldi3.c vendor/compiler-rt/dist/test/timing/negdi2.c vendor/compiler-rt/dist/test/timing/time (contents, props changed) vendor/compiler-rt/dist/test/timing/timing.h vendor/compiler-rt/dist/test/timing/udivdi3.c vendor/compiler-rt/dist/test/timing/umoddi3.c vendor/compiler-rt/dist/www/ vendor/compiler-rt/dist/www/content.css vendor/compiler-rt/dist/www/index.html vendor/compiler-rt/dist/www/menu.css vendor/compiler-rt/dist/www/menu.html.incl Added: vendor/compiler-rt/dist/.gitignore ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/compiler-rt/dist/.gitignore Thu Oct 21 19:02:02 2010 (r214152) @@ -0,0 +1,4 @@ +*~ +Debug +Release +Profile Added: vendor/compiler-rt/dist/BlocksRuntime/Block.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/compiler-rt/dist/BlocksRuntime/Block.h Thu Oct 21 19:02:02 2010 (r214152) @@ -0,0 +1,59 @@ +/* + * Block.h + * + * Copyright 2008-2010 Apple, Inc. Permission is hereby granted, free of charge, + * to any person obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without restriction, + * including without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to permit + * persons to whom the Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ + +#ifndef _BLOCK_H_ +#define _BLOCK_H_ + +#if !defined(BLOCK_EXPORT) +# if defined(__cplusplus) +# define BLOCK_EXPORT extern "C" +# else +# define BLOCK_EXPORT extern +# endif +#endif + +#if defined(__cplusplus) +extern "C" { +#endif + +/* Create a heap based copy of a Block or simply add a reference to an existing one. + * This must be paired with Block_release to recover memory, even when running + * under Objective-C Garbage Collection. + */ +BLOCK_EXPORT void *_Block_copy(const void *aBlock); + +/* Lose the reference, and if heap based and last reference, recover the memory. */ +BLOCK_EXPORT void _Block_release(const void *aBlock); + +#if defined(__cplusplus) +} +#endif + +/* Type correct macros. */ + +#define Block_copy(...) ((__typeof(__VA_ARGS__))_Block_copy((const void *)(__VA_ARGS__))) +#define Block_release(...) _Block_release((const void *)(__VA_ARGS__)) + + +#endif Added: vendor/compiler-rt/dist/BlocksRuntime/Block_private.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/compiler-rt/dist/BlocksRuntime/Block_private.h Thu Oct 21 19:02:02 2010 (r214152) @@ -0,0 +1,179 @@ +/* + * Block_private.h + * + * Copyright 2008-2010 Apple, Inc. Permission is hereby granted, free of charge, + * to any person obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without restriction, + * including without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to permit + * persons to whom the Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ + +#ifndef _BLOCK_PRIVATE_H_ +#define _BLOCK_PRIVATE_H_ + +#if !defined(BLOCK_EXPORT) +# if defined(__cplusplus) +# define BLOCK_EXPORT extern "C" +# else +# define BLOCK_EXPORT extern +# endif +#endif + +#ifndef _MSC_VER +#include +#else +/* MSVC doesn't have . Compensate. */ +typedef char bool; +#define true (bool)1 +#define false (bool)0 +#endif + +#if defined(__cplusplus) +extern "C" { +#endif + + +enum { + BLOCK_REFCOUNT_MASK = (0xffff), + BLOCK_NEEDS_FREE = (1 << 24), + BLOCK_HAS_COPY_DISPOSE = (1 << 25), + BLOCK_HAS_CTOR = (1 << 26), /* Helpers have C++ code. */ + BLOCK_IS_GC = (1 << 27), + BLOCK_IS_GLOBAL = (1 << 28), + BLOCK_HAS_DESCRIPTOR = (1 << 29) +}; + + +/* Revised new layout. */ +struct Block_descriptor { + unsigned long int reserved; + unsigned long int size; + void (*copy)(void *dst, void *src); + void (*dispose)(void *); +}; + + +struct Block_layout { + void *isa; + int flags; + int reserved; + void (*invoke)(void *, ...); + struct Block_descriptor *descriptor; + /* Imported variables. */ +}; + + +struct Block_byref { + void *isa; + struct Block_byref *forwarding; + int flags; /* refcount; */ + int size; + void (*byref_keep)(struct Block_byref *dst, struct Block_byref *src); + void (*byref_destroy)(struct Block_byref *); + /* long shared[0]; */ +}; + + +struct Block_byref_header { + void *isa; + struct Block_byref *forwarding; + int flags; + int size; +}; + + +/* Runtime support functions used by compiler when generating copy/dispose helpers. */ + +enum { + /* See function implementation for a more complete description of these fields and combinations */ + BLOCK_FIELD_IS_OBJECT = 3, /* id, NSObject, __attribute__((NSObject)), block, ... */ + BLOCK_FIELD_IS_BLOCK = 7, /* a block variable */ + BLOCK_FIELD_IS_BYREF = 8, /* the on stack structure holding the __block variable */ + BLOCK_FIELD_IS_WEAK = 16, /* declared __weak, only used in byref copy helpers */ + BLOCK_BYREF_CALLER = 128 /* called from __block (byref) copy/dispose support routines. */ +}; + +/* Runtime entry point called by compiler when assigning objects inside copy helper routines */ +BLOCK_EXPORT void _Block_object_assign(void *destAddr, const void *object, const int flags); + /* BLOCK_FIELD_IS_BYREF is only used from within block copy helpers */ + + +/* runtime entry point called by the compiler when disposing of objects inside dispose helper routine */ +BLOCK_EXPORT void _Block_object_dispose(const void *object, const int flags); + + + +/* Other support functions */ + +/* Runtime entry to get total size of a closure */ +BLOCK_EXPORT unsigned long int Block_size(void *block_basic); + + + +/* the raw data space for runtime classes for blocks */ +/* class+meta used for stack, malloc, and collectable based blocks */ +BLOCK_EXPORT void * _NSConcreteStackBlock[32]; +BLOCK_EXPORT void * _NSConcreteMallocBlock[32]; +BLOCK_EXPORT void * _NSConcreteAutoBlock[32]; +BLOCK_EXPORT void * _NSConcreteFinalizingBlock[32]; +BLOCK_EXPORT void * _NSConcreteGlobalBlock[32]; +BLOCK_EXPORT void * _NSConcreteWeakBlockVariable[32]; + + +/* the intercept routines that must be used under GC */ +BLOCK_EXPORT void _Block_use_GC( void *(*alloc)(const unsigned long, const bool isOne, const bool isObject), + void (*setHasRefcount)(const void *, const bool), + void (*gc_assign_strong)(void *, void **), + void (*gc_assign_weak)(const void *, void *), + void (*gc_memmove)(void *, void *, unsigned long)); + +/* earlier version, now simply transitional */ +BLOCK_EXPORT void _Block_use_GC5( void *(*alloc)(const unsigned long, const bool isOne, const bool isObject), + void (*setHasRefcount)(const void *, const bool), + void (*gc_assign_strong)(void *, void **), + void (*gc_assign_weak)(const void *, void *)); + +BLOCK_EXPORT void _Block_use_RR( void (*retain)(const void *), + void (*release)(const void *)); + +/* make a collectable GC heap based Block. Not useful under non-GC. */ +BLOCK_EXPORT void *_Block_copy_collectable(const void *aBlock); + +/* thread-unsafe diagnostic */ +BLOCK_EXPORT const char *_Block_dump(const void *block); + + +/* Obsolete */ + +/* first layout */ +struct Block_basic { + void *isa; + int Block_flags; /* int32_t */ + int Block_size; /* XXX should be packed into Block_flags */ + void (*Block_invoke)(void *); + void (*Block_copy)(void *dst, void *src); /* iff BLOCK_HAS_COPY_DISPOSE */ + void (*Block_dispose)(void *); /* iff BLOCK_HAS_COPY_DISPOSE */ + /* long params[0]; // where const imports, __block storage references, etc. get laid down */ +}; + + +#if defined(__cplusplus) +} +#endif + + +#endif /* _BLOCK_PRIVATE_H_ */ Added: vendor/compiler-rt/dist/BlocksRuntime/CMakeLists.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/compiler-rt/dist/BlocksRuntime/CMakeLists.txt Thu Oct 21 19:02:02 2010 (r214152) @@ -0,0 +1,13 @@ +PROJECT( BlocksRuntime C ) + +SET( SRCS + runtime.c + data.c + ) + +ADD_LIBRARY( ${PROJECT_NAME} SHARED ${SRCS}) +SET_TARGET_PROPERTIES( ${PROJECT_NAME} PROPERTIES + INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/lib ) + +INSTALL( TARGETS ${PROJECT_NAME} DESTINATION lib ) +INSTALL( FILES Block.h Block_private.h DESTINATION include ) Added: vendor/compiler-rt/dist/BlocksRuntime/data.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/compiler-rt/dist/BlocksRuntime/data.c Thu Oct 21 19:02:02 2010 (r214152) @@ -0,0 +1,41 @@ +/* + * data.c + * + * Copyright 2008-2010 Apple, Inc. Permission is hereby granted, free of charge, + * to any person obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without restriction, + * including without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to permit + * persons to whom the Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ + +/******************** +NSBlock support + +We allocate space and export a symbol to be used as the Class for the on-stack and malloc'ed copies until ObjC arrives on the scene. These data areas are set up by Foundation to link in as real classes post facto. + +We keep these in a separate file so that we can include the runtime code in test subprojects but not include the data so that compiled code that sees the data in libSystem doesn't get confused by a second copy. Somehow these don't get unified in a common block. +**********************/ + +void * _NSConcreteStackBlock[32] = { 0 }; +void * _NSConcreteMallocBlock[32] = { 0 }; +void * _NSConcreteAutoBlock[32] = { 0 }; +void * _NSConcreteFinalizingBlock[32] = { 0 }; +void * _NSConcreteGlobalBlock[32] = { 0 }; +void * _NSConcreteWeakBlockVariable[32] = { 0 }; + +void _Block_copy_error(void) { +} Added: vendor/compiler-rt/dist/BlocksRuntime/runtime.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/compiler-rt/dist/BlocksRuntime/runtime.c Thu Oct 21 19:02:02 2010 (r214152) @@ -0,0 +1,700 @@ +/* + * runtime.c + * + * Copyright 2008-2010 Apple, Inc. Permission is hereby granted, free of charge, + * to any person obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without restriction, + * including without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to permit + * persons to whom the Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ + +#include "Block_private.h" +#include +#include +#include +#include + +#include "config.h" + +#ifdef HAVE_AVAILABILITY_MACROS_H +#include +#endif /* HAVE_AVAILABILITY_MACROS_H */ + +#ifdef HAVE_TARGET_CONDITIONALS_H +#include +#endif /* HAVE_TARGET_CONDITIONALS_H */ + +#if defined(HAVE_OSATOMIC_COMPARE_AND_SWAP_INT) && defined(HAVE_OSATOMIC_COMPARE_AND_SWAP_LONG) + +#ifdef HAVE_LIBKERN_OSATOMIC_H +#include +#endif /* HAVE_LIBKERN_OSATOMIC_H */ + +#elif defined(__WIN32__) || defined(_WIN32) +#define _CRT_SECURE_NO_WARNINGS 1 +#include + +static __inline bool OSAtomicCompareAndSwapLong(long oldl, long newl, long volatile *dst) { + /* fixme barrier is overkill -- see objc-os.h */ + long original = InterlockedCompareExchange(dst, newl, oldl); + return (original == oldl); +} + +static __inline bool OSAtomicCompareAndSwapInt(int oldi, int newi, int volatile *dst) { + /* fixme barrier is overkill -- see objc-os.h */ + int original = InterlockedCompareExchange(dst, newi, oldi); + return (original == oldi); +} + +/* + * Check to see if the GCC atomic built-ins are available. If we're on + * a 64-bit system, make sure we have an 8-byte atomic function + * available. + * + */ + +#elif defined(HAVE_SYNC_BOOL_COMPARE_AND_SWAP_INT) && defined(HAVE_SYNC_BOOL_COMPARE_AND_SWAP_LONG) + +static __inline bool OSAtomicCompareAndSwapLong(long oldl, long newl, long volatile *dst) { + return __sync_bool_compare_and_swap(dst, oldl, newl); +} + +static __inline bool OSAtomicCompareAndSwapInt(int oldi, int newi, int volatile *dst) { + return __sync_bool_compare_and_swap(dst, oldi, newi); +} + +#else +#error unknown atomic compare-and-swap primitive +#endif /* HAVE_OSATOMIC_COMPARE_AND_SWAP_INT && HAVE_OSATOMIC_COMPARE_AND_SWAP_LONG */ + + +/* + * Globals: + */ + +static void *_Block_copy_class = _NSConcreteMallocBlock; +static void *_Block_copy_finalizing_class = _NSConcreteMallocBlock; +static int _Block_copy_flag = BLOCK_NEEDS_FREE; +static int _Byref_flag_initial_value = BLOCK_NEEDS_FREE | 2; + +static const int WANTS_ONE = (1 << 16); + +static bool isGC = false; + +/* + * Internal Utilities: + */ + +#if 0 +static unsigned long int latching_incr_long(unsigned long int *where) { + while (1) { + unsigned long int old_value = *(volatile unsigned long int *)where; + if ((old_value & BLOCK_REFCOUNT_MASK) == BLOCK_REFCOUNT_MASK) { + return BLOCK_REFCOUNT_MASK; + } + if (OSAtomicCompareAndSwapLong(old_value, old_value+1, (volatile long int *)where)) { + return old_value+1; + } + } +} +#endif /* if 0 */ + +static int latching_incr_int(int *where) { + while (1) { + int old_value = *(volatile int *)where; + if ((old_value & BLOCK_REFCOUNT_MASK) == BLOCK_REFCOUNT_MASK) { + return BLOCK_REFCOUNT_MASK; + } + if (OSAtomicCompareAndSwapInt(old_value, old_value+1, (volatile int *)where)) { + return old_value+1; + } + } +} + +#if 0 +static int latching_decr_long(unsigned long int *where) { + while (1) { + unsigned long int old_value = *(volatile int *)where; + if ((old_value & BLOCK_REFCOUNT_MASK) == BLOCK_REFCOUNT_MASK) { + return BLOCK_REFCOUNT_MASK; + } + if ((old_value & BLOCK_REFCOUNT_MASK) == 0) { + return 0; + } + if (OSAtomicCompareAndSwapLong(old_value, old_value-1, (volatile long int *)where)) { + return old_value-1; + } + } +} +#endif /* if 0 */ + +static int latching_decr_int(int *where) { + while (1) { + int old_value = *(volatile int *)where; + if ((old_value & BLOCK_REFCOUNT_MASK) == BLOCK_REFCOUNT_MASK) { + return BLOCK_REFCOUNT_MASK; + } + if ((old_value & BLOCK_REFCOUNT_MASK) == 0) { + return 0; + } + if (OSAtomicCompareAndSwapInt(old_value, old_value-1, (volatile int *)where)) { + return old_value-1; + } + } +} + + +/* + * GC support stub routines: + */ +#if 0 +#pragma mark GC Support Routines +#endif /* if 0 */ + + +static void *_Block_alloc_default(const unsigned long size, const bool initialCountIsOne, const bool isObject) { + return malloc(size); +} + +static void _Block_assign_default(void *value, void **destptr) { + *destptr = value; +} + +static void _Block_setHasRefcount_default(const void *ptr, const bool hasRefcount) { +} + +static void _Block_do_nothing(const void *aBlock) { } + +static void _Block_retain_object_default(const void *ptr) { + if (!ptr) return; +} + +static void _Block_release_object_default(const void *ptr) { + if (!ptr) return; +} + +static void _Block_assign_weak_default(const void *ptr, void *dest) { + *(void **)dest = (void *)ptr; +} + +static void _Block_memmove_default(void *dst, void *src, unsigned long size) { + memmove(dst, src, (size_t)size); +} + +static void _Block_memmove_gc_broken(void *dest, void *src, unsigned long size) { + void **destp = (void **)dest; + void **srcp = (void **)src; + while (size) { + _Block_assign_default(*srcp, destp); + destp++; + srcp++; + size -= sizeof(void *); + } +} + +/* + * GC support callout functions - initially set to stub routines: + */ + +static void *(*_Block_allocator)(const unsigned long, const bool isOne, const bool isObject) = _Block_alloc_default; +static void (*_Block_deallocator)(const void *) = (void (*)(const void *))free; +static void (*_Block_assign)(void *value, void **destptr) = _Block_assign_default; +static void (*_Block_setHasRefcount)(const void *ptr, const bool hasRefcount) = _Block_setHasRefcount_default; +static void (*_Block_retain_object)(const void *ptr) = _Block_retain_object_default; +static void (*_Block_release_object)(const void *ptr) = _Block_release_object_default; +static void (*_Block_assign_weak)(const void *dest, void *ptr) = _Block_assign_weak_default; +static void (*_Block_memmove)(void *dest, void *src, unsigned long size) = _Block_memmove_default; + + +/* + * GC support SPI functions - called from ObjC runtime and CoreFoundation: + */ + +/* Public SPI + * Called from objc-auto to turn on GC. + * version 3, 4 arg, but changed 1st arg + */ +void _Block_use_GC( void *(*alloc)(const unsigned long, const bool isOne, const bool isObject), + void (*setHasRefcount)(const void *, const bool), + void (*gc_assign)(void *, void **), + void (*gc_assign_weak)(const void *, void *), + void (*gc_memmove)(void *, void *, unsigned long)) { + + isGC = true; + _Block_allocator = alloc; + _Block_deallocator = _Block_do_nothing; + _Block_assign = gc_assign; + _Block_copy_flag = BLOCK_IS_GC; + _Block_copy_class = _NSConcreteAutoBlock; + /* blocks with ctors & dtors need to have the dtor run from a class with a finalizer */ + _Block_copy_finalizing_class = _NSConcreteFinalizingBlock; + _Block_setHasRefcount = setHasRefcount; + _Byref_flag_initial_value = BLOCK_IS_GC; // no refcount + _Block_retain_object = _Block_do_nothing; + _Block_release_object = _Block_do_nothing; + _Block_assign_weak = gc_assign_weak; + _Block_memmove = gc_memmove; +} + +/* transitional */ +void _Block_use_GC5( void *(*alloc)(const unsigned long, const bool isOne, const bool isObject), + void (*setHasRefcount)(const void *, const bool), + void (*gc_assign)(void *, void **), + void (*gc_assign_weak)(const void *, void *)) { + /* until objc calls _Block_use_GC it will call us; supply a broken internal memmove implementation until then */ + _Block_use_GC(alloc, setHasRefcount, gc_assign, gc_assign_weak, _Block_memmove_gc_broken); +} + + +/* + * Called from objc-auto to alternatively turn on retain/release. + * Prior to this the only "object" support we can provide is for those + * super special objects that live in libSystem, namely dispatch queues. + * Blocks and Block_byrefs have their own special entry points. + * + */ +void _Block_use_RR( void (*retain)(const void *), + void (*release)(const void *)) { + _Block_retain_object = retain; + _Block_release_object = release; +} + +/* + * Internal Support routines for copying: + */ + +#if 0 +#pragma mark Copy/Release support +#endif /* if 0 */ + +/* Copy, or bump refcount, of a block. If really copying, call the copy helper if present. */ +static void *_Block_copy_internal(const void *arg, const int flags) { + struct Block_layout *aBlock; + const bool wantsOne = (WANTS_ONE & flags) == WANTS_ONE; + + //printf("_Block_copy_internal(%p, %x)\n", arg, flags); + if (!arg) return NULL; + + + // The following would be better done as a switch statement + aBlock = (struct Block_layout *)arg; + if (aBlock->flags & BLOCK_NEEDS_FREE) { + // latches on high + latching_incr_int(&aBlock->flags); + return aBlock; + } + else if (aBlock->flags & BLOCK_IS_GC) { + // GC refcounting is expensive so do most refcounting here. + if (wantsOne && ((latching_incr_int(&aBlock->flags) & BLOCK_REFCOUNT_MASK) == 1)) { + // Tell collector to hang on this - it will bump the GC refcount version + _Block_setHasRefcount(aBlock, true); + } + return aBlock; + } + else if (aBlock->flags & BLOCK_IS_GLOBAL) { + return aBlock; + } + + // Its a stack block. Make a copy. + if (!isGC) { + struct Block_layout *result = malloc(aBlock->descriptor->size); + if (!result) return (void *)0; + memmove(result, aBlock, aBlock->descriptor->size); // bitcopy first + // reset refcount + result->flags &= ~(BLOCK_REFCOUNT_MASK); // XXX not needed + result->flags |= BLOCK_NEEDS_FREE | 1; + result->isa = _NSConcreteMallocBlock; + if (result->flags & BLOCK_HAS_COPY_DISPOSE) { + //printf("calling block copy helper %p(%p, %p)...\n", aBlock->descriptor->copy, result, aBlock); + (*aBlock->descriptor->copy)(result, aBlock); // do fixup + } + return result; + } + else { + // Under GC want allocation with refcount 1 so we ask for "true" if wantsOne + // This allows the copy helper routines to make non-refcounted block copies under GC + unsigned long int flags = aBlock->flags; + bool hasCTOR = (flags & BLOCK_HAS_CTOR) != 0; + struct Block_layout *result = _Block_allocator(aBlock->descriptor->size, wantsOne, hasCTOR); + if (!result) return (void *)0; + memmove(result, aBlock, aBlock->descriptor->size); // bitcopy first + // reset refcount + // if we copy a malloc block to a GC block then we need to clear NEEDS_FREE. + flags &= ~(BLOCK_NEEDS_FREE|BLOCK_REFCOUNT_MASK); // XXX not needed + if (wantsOne) + flags |= BLOCK_IS_GC | 1; + else + flags |= BLOCK_IS_GC; + result->flags = flags; + if (flags & BLOCK_HAS_COPY_DISPOSE) { + //printf("calling block copy helper...\n"); + (*aBlock->descriptor->copy)(result, aBlock); // do fixup + } + if (hasCTOR) { + result->isa = _NSConcreteFinalizingBlock; + } + else { + result->isa = _NSConcreteAutoBlock; + } + return result; + } +} + + +/* + * Runtime entry points for maintaining the sharing knowledge of byref data blocks. + * + * A closure has been copied and its fixup routine is asking us to fix up the reference to the shared byref data + * Closures that aren't copied must still work, so everyone always accesses variables after dereferencing the forwarding ptr. + * We ask if the byref pointer that we know about has already been copied to the heap, and if so, increment it. + * Otherwise we need to copy it and update the stack forwarding pointer + * XXX We need to account for weak/nonretained read-write barriers. + */ + +static void _Block_byref_assign_copy(void *dest, const void *arg, const int flags) { + struct Block_byref **destp = (struct Block_byref **)dest; + struct Block_byref *src = (struct Block_byref *)arg; + + //printf("_Block_byref_assign_copy called, byref destp %p, src %p, flags %x\n", destp, src, flags); + //printf("src dump: %s\n", _Block_byref_dump(src)); + if (src->forwarding->flags & BLOCK_IS_GC) { + ; // don't need to do any more work + } + else if ((src->forwarding->flags & BLOCK_REFCOUNT_MASK) == 0) { + //printf("making copy\n"); + // src points to stack + bool isWeak = ((flags & (BLOCK_FIELD_IS_BYREF|BLOCK_FIELD_IS_WEAK)) == (BLOCK_FIELD_IS_BYREF|BLOCK_FIELD_IS_WEAK)); + // if its weak ask for an object (only matters under GC) + struct Block_byref *copy = (struct Block_byref *)_Block_allocator(src->size, false, isWeak); + copy->flags = src->flags | _Byref_flag_initial_value; // non-GC one for caller, one for stack + copy->forwarding = copy; // patch heap copy to point to itself (skip write-barrier) + src->forwarding = copy; // patch stack to point to heap copy + copy->size = src->size; + if (isWeak) { + copy->isa = &_NSConcreteWeakBlockVariable; // mark isa field so it gets weak scanning + } + if (src->flags & BLOCK_HAS_COPY_DISPOSE) { + // Trust copy helper to copy everything of interest + // If more than one field shows up in a byref block this is wrong XXX + copy->byref_keep = src->byref_keep; + copy->byref_destroy = src->byref_destroy; + (*src->byref_keep)(copy, src); + } + else { + // just bits. Blast 'em using _Block_memmove in case they're __strong + _Block_memmove( + (void *)©->byref_keep, + (void *)&src->byref_keep, + src->size - sizeof(struct Block_byref_header)); + } + } + // already copied to heap + else if ((src->forwarding->flags & BLOCK_NEEDS_FREE) == BLOCK_NEEDS_FREE) { + latching_incr_int(&src->forwarding->flags); + } + // assign byref data block pointer into new Block + _Block_assign(src->forwarding, (void **)destp); +} + +// Old compiler SPI +static void _Block_byref_release(const void *arg) { + struct Block_byref *shared_struct = (struct Block_byref *)arg; + int refcount; + + // dereference the forwarding pointer since the compiler isn't doing this anymore (ever?) + shared_struct = shared_struct->forwarding; + + //printf("_Block_byref_release %p called, flags are %x\n", shared_struct, shared_struct->flags); + // To support C++ destructors under GC we arrange for there to be a finalizer for this + // by using an isa that directs the code to a finalizer that calls the byref_destroy method. + if ((shared_struct->flags & BLOCK_NEEDS_FREE) == 0) { + return; // stack or GC or global + } + refcount = shared_struct->flags & BLOCK_REFCOUNT_MASK; + if (refcount <= 0) { + printf("_Block_byref_release: Block byref data structure at %p underflowed\n", arg); + } + else if ((latching_decr_int(&shared_struct->flags) & BLOCK_REFCOUNT_MASK) == 0) { + //printf("disposing of heap based byref block\n"); + if (shared_struct->flags & BLOCK_HAS_COPY_DISPOSE) { + //printf("calling out to helper\n"); + (*shared_struct->byref_destroy)(shared_struct); + } + _Block_deallocator((struct Block_layout *)shared_struct); + } +} + + +/* + * + * API supporting SPI + * _Block_copy, _Block_release, and (old) _Block_destroy + * + */ + +#if 0 +#pragma mark SPI/API +#endif /* if 0 */ + +void *_Block_copy(const void *arg) { + return _Block_copy_internal(arg, WANTS_ONE); +} + + +// API entry point to release a copied Block +void _Block_release(void *arg) { + struct Block_layout *aBlock = (struct Block_layout *)arg; + int32_t newCount; + if (!aBlock) return; + newCount = latching_decr_int(&aBlock->flags) & BLOCK_REFCOUNT_MASK; + if (newCount > 0) return; + // Hit zero + if (aBlock->flags & BLOCK_IS_GC) { + // Tell GC we no longer have our own refcounts. GC will decr its refcount + // and unless someone has done a CFRetain or marked it uncollectable it will + // now be subject to GC reclamation. + _Block_setHasRefcount(aBlock, false); + } + else if (aBlock->flags & BLOCK_NEEDS_FREE) { + if (aBlock->flags & BLOCK_HAS_COPY_DISPOSE)(*aBlock->descriptor->dispose)(aBlock); + _Block_deallocator(aBlock); + } + else if (aBlock->flags & BLOCK_IS_GLOBAL) { + ; + } + else { + printf("Block_release called upon a stack Block: %p, ignored\n", (void *)aBlock); + } +} + + + +// Old Compiler SPI point to release a copied Block used by the compiler in dispose helpers +static void _Block_destroy(const void *arg) { + struct Block_layout *aBlock; + if (!arg) return; + aBlock = (struct Block_layout *)arg; + if (aBlock->flags & BLOCK_IS_GC) { + // assert(aBlock->Block_flags & BLOCK_HAS_CTOR); + return; // ignore, we are being called because of a DTOR + } + _Block_release(aBlock); +} + + + +/* + * + * SPI used by other layers + * + */ + +// SPI, also internal. Called from NSAutoBlock only under GC +void *_Block_copy_collectable(const void *aBlock) { + return _Block_copy_internal(aBlock, 0); +} + + +// SPI +unsigned long int Block_size(void *arg) { + return ((struct Block_layout *)arg)->descriptor->size; +} + + +#if 0 +#pragma mark Compiler SPI entry points +#endif /* if 0 */ + + +/******************************************************* + +Entry points used by the compiler - the real API! + + +A Block can reference four different kinds of things that require help when the Block is copied to the heap. +1) C++ stack based objects +2) References to Objective-C objects +3) Other Blocks +4) __block variables + +In these cases helper functions are synthesized by the compiler for use in Block_copy and Block_release, called the copy and dispose helpers. The copy helper emits a call to the C++ const copy constructor for C++ stack based objects and for the rest calls into the runtime support function _Block_object_assign. The dispose helper has a call to the C++ destructor for case 1 and a call into _Block_object_dispose for the rest. + +The flags parameter of _Block_object_assign and _Block_object_dispose is set to + * BLOCK_FIELD_IS_OBJECT (3), for the case of an Objective-C Object, + * BLOCK_FIELD_IS_BLOCK (7), for the case of another Block, and + * BLOCK_FIELD_IS_BYREF (8), for the case of a __block variable. +If the __block variable is marked weak the compiler also or's in BLOCK_FIELD_IS_WEAK (16). + +So the Block copy/dispose helpers should only ever generate the four flag values of 3, 7, 8, and 24. + +When a __block variable is either a C++ object, an Objective-C object, or another Block then the compiler also generates copy/dispose helper functions. Similarly to the Block copy helper, the "__block" copy helper (formerly and still a.k.a. "byref" copy helper) will do a C++ copy constructor (not a const one though!) and the dispose helper will do the destructor. And similarly the helpers will call into the same two support functions with the same values for objects and Blocks with the additional BLOCK_BYREF_CALLER (128) bit of information supplied. + +So the __block copy/dispose helpers will generate flag values of 3 or 7 for objects and Blocks respectively, with BLOCK_FIELD_IS_WEAK (16) or'ed as appropriate and always 128 or'd in, for the following set of possibilities: + __block id 128+3 + __weak block id 128+3+16 + __block (^Block) 128+7 + __weak __block (^Block) 128+7+16 + +The implementation of the two routines would be improved by switch statements enumerating the eight cases. + +********************************************************/ + +/* + * When Blocks or Block_byrefs hold objects then their copy routine helpers use this entry point + * to do the assignment. + */ +void _Block_object_assign(void *destAddr, const void *object, const int flags) { + //printf("_Block_object_assign(*%p, %p, %x)\n", destAddr, object, flags); + if ((flags & BLOCK_BYREF_CALLER) == BLOCK_BYREF_CALLER) { + if ((flags & BLOCK_FIELD_IS_WEAK) == BLOCK_FIELD_IS_WEAK) { + _Block_assign_weak(object, destAddr); + } + else { + // do *not* retain or *copy* __block variables whatever they are + _Block_assign((void *)object, destAddr); + } + } + else if ((flags & BLOCK_FIELD_IS_BYREF) == BLOCK_FIELD_IS_BYREF) { + // copying a __block reference from the stack Block to the heap + // flags will indicate if it holds a __weak reference and needs a special isa + _Block_byref_assign_copy(destAddr, object, flags); + } + // (this test must be before next one) + else if ((flags & BLOCK_FIELD_IS_BLOCK) == BLOCK_FIELD_IS_BLOCK) { + // copying a Block declared variable from the stack Block to the heap + _Block_assign(_Block_copy_internal(object, flags), destAddr); + } + // (this test must be after previous one) + else if ((flags & BLOCK_FIELD_IS_OBJECT) == BLOCK_FIELD_IS_OBJECT) { + //printf("retaining object at %p\n", object); + _Block_retain_object(object); + //printf("done retaining object at %p\n", object); + _Block_assign((void *)object, destAddr); + } +} + +// When Blocks or Block_byrefs hold objects their destroy helper routines call this entry point +// to help dispose of the contents +// Used initially only for __attribute__((NSObject)) marked pointers. +void _Block_object_dispose(const void *object, const int flags) { + //printf("_Block_object_dispose(%p, %x)\n", object, flags); + if (flags & BLOCK_FIELD_IS_BYREF) { + // get rid of the __block data structure held in a Block + _Block_byref_release(object); + } + else if ((flags & (BLOCK_FIELD_IS_BLOCK|BLOCK_BYREF_CALLER)) == BLOCK_FIELD_IS_BLOCK) { + // get rid of a referenced Block held by this Block + // (ignore __block Block variables, compiler doesn't need to call us) + _Block_destroy(object); + } + else if ((flags & (BLOCK_FIELD_IS_WEAK|BLOCK_FIELD_IS_BLOCK|BLOCK_BYREF_CALLER)) == BLOCK_FIELD_IS_OBJECT) { + // get rid of a referenced object held by this Block + // (ignore __block object variables, compiler doesn't need to call us) + _Block_release_object(object); + } +} + + +/* + * Debugging support: + */ +#if 0 +#pragma mark Debugging +#endif /* if 0 */ + + +const char *_Block_dump(const void *block) { + struct Block_layout *closure = (struct Block_layout *)block; + static char buffer[512]; + char *cp = buffer; + if (closure == NULL) { + sprintf(cp, "NULL passed to _Block_dump\n"); + return buffer; + } + if (! (closure->flags & BLOCK_HAS_DESCRIPTOR)) { + printf("Block compiled by obsolete compiler, please recompile source for this Block\n"); + exit(1); + } + cp += sprintf(cp, "^%p (new layout) =\n", (void *)closure); + if (closure->isa == NULL) { + cp += sprintf(cp, "isa: NULL\n"); + } + else if (closure->isa == _NSConcreteStackBlock) { + cp += sprintf(cp, "isa: stack Block\n"); + } + else if (closure->isa == _NSConcreteMallocBlock) { + cp += sprintf(cp, "isa: malloc heap Block\n"); + } + else if (closure->isa == _NSConcreteAutoBlock) { + cp += sprintf(cp, "isa: GC heap Block\n"); + } + else if (closure->isa == _NSConcreteGlobalBlock) { + cp += sprintf(cp, "isa: global Block\n"); + } + else if (closure->isa == _NSConcreteFinalizingBlock) { + cp += sprintf(cp, "isa: finalizing Block\n"); + } + else { + cp += sprintf(cp, "isa?: %p\n", (void *)closure->isa); + } + cp += sprintf(cp, "flags:"); + if (closure->flags & BLOCK_HAS_DESCRIPTOR) { + cp += sprintf(cp, " HASDESCRIPTOR"); + } + if (closure->flags & BLOCK_NEEDS_FREE) { + cp += sprintf(cp, " FREEME"); + } + if (closure->flags & BLOCK_IS_GC) { + cp += sprintf(cp, " ISGC"); + } + if (closure->flags & BLOCK_HAS_COPY_DISPOSE) { + cp += sprintf(cp, " HASHELP"); + } + if (closure->flags & BLOCK_HAS_CTOR) { + cp += sprintf(cp, " HASCTOR"); + } + cp += sprintf(cp, "\nrefcount: %u\n", closure->flags & BLOCK_REFCOUNT_MASK); + cp += sprintf(cp, "invoke: %p\n", (void *)(uintptr_t)closure->invoke); + { + struct Block_descriptor *dp = closure->descriptor; + cp += sprintf(cp, "descriptor: %p\n", (void *)dp); + cp += sprintf(cp, "descriptor->reserved: %lu\n", dp->reserved); + cp += sprintf(cp, "descriptor->size: %lu\n", dp->size); + + if (closure->flags & BLOCK_HAS_COPY_DISPOSE) { + cp += sprintf(cp, "descriptor->copy helper: %p\n", (void *)(uintptr_t)dp->copy); + cp += sprintf(cp, "descriptor->dispose helper: %p\n", (void *)(uintptr_t)dp->dispose); + } + } + return buffer; +} + + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 19:03:14 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2F85D10656BF; Thu, 21 Oct 2010 19:03:14 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E94908FC21; Thu, 21 Oct 2010 19:03:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LJ3DQ7000423; Thu, 21 Oct 2010 19:03:13 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LJ3DkU000422; Thu, 21 Oct 2010 19:03:13 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <201010211903.o9LJ3DkU000422@svn.freebsd.org> From: Ed Schouten Date: Thu, 21 Oct 2010 19:03:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214153 - vendor/compiler-rt/compiler-rt-r117047 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 19:03:14 -0000 Author: ed Date: Thu Oct 21 19:03:13 2010 New Revision: 214153 URL: http://svn.freebsd.org/changeset/base/214153 Log: Tag compiler-rt r117047. Added: vendor/compiler-rt/compiler-rt-r117047/ - copied from r214152, vendor/compiler-rt/dist/ From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 19:03:24 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 621F710656A3; Thu, 21 Oct 2010 19:03:24 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 51B638FC1D; Thu, 21 Oct 2010 19:03:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LJ3Odp000463; Thu, 21 Oct 2010 19:03:24 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LJ3O8D000461; Thu, 21 Oct 2010 19:03:24 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <201010211903.o9LJ3O8D000461@svn.freebsd.org> From: Robert Watson Date: Thu, 21 Oct 2010 19:03:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214154 - head/tools/tools/syscall_timing X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 19:03:24 -0000 Author: rwatson Date: Thu Oct 21 19:03:24 2010 New Revision: 214154 URL: http://svn.freebsd.org/changeset/base/214154 Log: Add Cambridge/Google tag since the copyright has been updated. MFC after: 2 weeks Modified: head/tools/tools/syscall_timing/syscall_timing.c Modified: head/tools/tools/syscall_timing/syscall_timing.c ============================================================================== --- head/tools/tools/syscall_timing/syscall_timing.c Thu Oct 21 19:03:13 2010 (r214153) +++ head/tools/tools/syscall_timing/syscall_timing.c Thu Oct 21 19:03:24 2010 (r214154) @@ -2,6 +2,9 @@ * Copyright (c) 2003-2004, 2010 Robert N. M. Watson * All rights reserved. * + * Portions of this software were developed at the University of Cambridge + * Computer Laboratory with support from a grant from Google, Inc. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 19:08:29 2010 Return-Path: Delivered-To: svn-src-all@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5393D106566B; Thu, 21 Oct 2010 19:08:29 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from tarsier.geekcn.org (tarsier.geekcn.org [IPv6:2001:470:a803::1]) by mx1.freebsd.org (Postfix) with ESMTP id BE9108FC0C; Thu, 21 Oct 2010 19:08:28 +0000 (UTC) Received: from mail.geekcn.org (tarsier.geekcn.org [211.166.10.233]) by tarsier.geekcn.org (Postfix) with ESMTP id 5E197A7E65A; Fri, 22 Oct 2010 03:08:26 +0800 (CST) X-Virus-Scanned: amavisd-new at geekcn.org Received: from tarsier.geekcn.org ([211.166.10.233]) by mail.geekcn.org (mail.geekcn.org [211.166.10.233]) (amavisd-new, port 10024) with LMTP id ME7bAtVfFzo4; Fri, 22 Oct 2010 03:08:20 +0800 (CST) Received: from delta.delphij.net (drawbridge.ixsystems.com [206.40.55.65]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tarsier.geekcn.org (Postfix) with ESMTPSA id 3BF18A7E663; Fri, 22 Oct 2010 03:08:16 +0800 (CST) DomainKey-Signature: a=rsa-sha1; s=default; d=delphij.net; c=nofws; q=dns; h=message-id:date:from:reply-to:organization:user-agent: mime-version:to:cc:subject:references:in-reply-to: x-enigmail-version:openpgp:content-type; b=v7VFcPZ0eNNpvcNNrNOShVfm1f6Jmud5h9pqYo7i/dz/tHVbavXAahRdNrNZzCnFp X+rD1NPCtWJc2rnW1ZPdQ== Message-ID: <4CC08F9C.5010804@delphij.net> Date: Thu, 21 Oct 2010 12:08:12 -0700 From: Xin LI Organization: The FreeBSD Project User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.1.14) Gecko/20101020 Thunderbird/3.0.9 ThunderBrowse/3.3.2 MIME-Version: 1.0 To: John Baldwin References: <201010210857.o9L8vPVQ084307@svn.freebsd.org> <201010210746.41227.jhb@freebsd.org> In-Reply-To: <201010210746.41227.jhb@freebsd.org> X-Enigmail-Version: 1.0.1 OpenPGP: id=3FCA37C1; url=http://www.delphij.net/delphij.asc Content-Type: multipart/mixed; boundary="------------080107040006070001050407" Cc: svn-src-head@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, src-committers@FreeBSD.ORG, Xin LI Subject: Re: svn commit: r214125 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: d@delphij.net List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 19:08:29 -0000 This is a multi-part message in MIME format. --------------080107040006070001050407 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 10/21/10 04:46, John Baldwin wrote: > On Thursday, October 21, 2010 4:57:25 am Xin LI wrote: >> Author: delphij >> Date: Thu Oct 21 08:57:25 2010 >> New Revision: 214125 >> URL: http://svn.freebsd.org/changeset/base/214125 >> >> Log: >> In syscall_module_handler(): all switch branches return, remove >> unreached code as pointed out in a Chinese forum [1]. >> >> [1] http://www.freebsdchina.org/forum/viewtopic.php?t=50619 >> >> Pointed out by: btw616 >> MFC after: 1 month > > I think this exposes a bug though in that the default case doesn't pass > through to chainevh. The default case should look more like the removed code > (except returning EOPNOTSUPP instead of 0 if there is no chainevh). Hmm... It sounds reasonable in theory (so that modules can handle events other than MOD_LOAD/UNLOAD) at least, while I don't think it's really being used anywhere. Will the attached patch look reasonable? (If data->chainevh is NULL then operation is not supported, if not then delegate to the module). Cheers, - -- Xin LI http://www.delphij.net/ FreeBSD - The Power to Serve! Live free or die -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (FreeBSD) iQEcBAEBCAAGBQJMwI+cAAoJEATO+BI/yjfBADUH/21dtdgSziij8hNi8ef5xOZH QMbGRoHNUREVfuAnAevGNDotSonaRv+VEs5k9raRqqYFdtst6KzNjVQuumJsskmq +6j7rSPXQvAmgEf6JgEZmjU/WzRbs4lozMjUOx0TW6ZSTtiXq+PSvmMe7q9iydiT YKOj8E/itVFjKY2qMGNkAQ893qzIWvptDR9QGJP+m+8usTnYvAlk8vQw3XhfR/ws MNE726rDNwD2sblH2IZI0dt/xy8i6mD5Ef1aM4KEkeussBjGlLAktSS6qFB71lql JpGC9SCelhJRci6gLTvAbAyIe9hoFf8C7P+AbFXgVNMQxYWIHSzQr5BktwxSpc0= =C6jc -----END PGP SIGNATURE----- --------------080107040006070001050407 Content-Type: text/plain; name="kern_syscalls.c.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="kern_syscalls.c.diff" SW5kZXg6IHN5cy9rZXJuL2tlcm5fc3lzY2FsbHMuYwo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMv a2Vybi9rZXJuX3N5c2NhbGxzLmMJKHJldmlzaW9uIDIxNDE0NikKKysrIHN5cy9rZXJuL2tl cm5fc3lzY2FsbHMuYwkod29ya2luZyBjb3B5KQpAQCAtMTgxLDcgKzE4MSw5IEBACiAJCWVy cm9yID0gc3lzY2FsbF9kZXJlZ2lzdGVyKGRhdGEtPm9mZnNldCwgJmRhdGEtPm9sZF9zeXNl bnQpOwogCQlyZXR1cm4gKGVycm9yKTsKIAlkZWZhdWx0OgotCQlyZXR1cm4gRU9QTk9UU1VQ UDsKKwkJaWYgKGRhdGEtPmNoYWluZXZoKQorCQkJcmV0dXJuIChkYXRhLT5jaGFpbmV2aCht b2QsIHdoYXQsIGRhdGEtPmNoYWluYXJnKSk7CisJCXJldHVybiAoRU9QTk9UU1VQUCk7CiAJ fQogCiAJLyogTk9UUkVBQ0hFRCAqLwo= --------------080107040006070001050407-- From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 19:17:40 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A43EF1065693; Thu, 21 Oct 2010 19:17:40 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 92EBB8FC20; Thu, 21 Oct 2010 19:17:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LJHeYn000951; Thu, 21 Oct 2010 19:17:40 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LJHeYi000944; Thu, 21 Oct 2010 19:17:40 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201010211917.o9LJHeYi000944@svn.freebsd.org> From: John Baldwin Date: Thu, 21 Oct 2010 19:17:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214158 - in head/sys: kern sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 19:17:40 -0000 Author: jhb Date: Thu Oct 21 19:17:40 2010 New Revision: 214158 URL: http://svn.freebsd.org/changeset/base/214158 Log: - When disabling ktracing on a process, free any pending requests that may be left. This fixes a memory leak that can occur when tracing is disabled on a process via disabling tracing of a specific file (or if an I/O error occurs with the tracefile) if the process's next system call is exit(). The trace disabling code clears p_traceflag, so exit1() doesn't do any KTRACE-related cleanup leading to the leak. I chose to make the free'ing of pending records synchronous rather than patching exit1(). - Move KTRACE-specific logic out of kern_(exec|exit|fork).c and into kern_ktrace.c instead. Make ktrace_mtx private to kern_ktrace.c as a result. MFC after: 1 month Modified: head/sys/kern/kern_exec.c head/sys/kern/kern_exit.c head/sys/kern/kern_fork.c head/sys/kern/kern_ktrace.c head/sys/sys/ktrace.h Modified: head/sys/kern/kern_exec.c ============================================================================== --- head/sys/kern/kern_exec.c Thu Oct 21 19:11:14 2010 (r214157) +++ head/sys/kern/kern_exec.c Thu Oct 21 19:17:40 2010 (r214158) @@ -655,16 +655,8 @@ interpret: setsugid(p); #ifdef KTRACE - if (p->p_tracevp != NULL && - priv_check_cred(oldcred, PRIV_DEBUG_DIFFCRED, 0)) { - mtx_lock(&ktrace_mtx); - p->p_traceflag = 0; - tracevp = p->p_tracevp; - p->p_tracevp = NULL; - tracecred = p->p_tracecred; - p->p_tracecred = NULL; - mtx_unlock(&ktrace_mtx); - } + if (priv_check_cred(oldcred, PRIV_DEBUG_DIFFCRED, 0)) + ktrprocexec(p, &tracecred, &tracevp); #endif /* * Close any file descriptors 0..2 that reference procfs, Modified: head/sys/kern/kern_exit.c ============================================================================== --- head/sys/kern/kern_exit.c Thu Oct 21 19:11:14 2010 (r214157) +++ head/sys/kern/kern_exit.c Thu Oct 21 19:17:40 2010 (r214158) @@ -121,10 +121,6 @@ exit1(struct thread *td, int rv) struct proc *p, *nq, *q; struct vnode *vtmp; struct vnode *ttyvp = NULL; -#ifdef KTRACE - struct vnode *tracevp; - struct ucred *tracecred; -#endif struct plimit *plim; int locked; @@ -356,33 +352,7 @@ exit1(struct thread *td, int rv) if (ttyvp != NULL) vrele(ttyvp); #ifdef KTRACE - /* - * Disable tracing, then drain any pending records and release - * the trace file. - */ - if (p->p_traceflag != 0) { - PROC_LOCK(p); - mtx_lock(&ktrace_mtx); - p->p_traceflag = 0; - mtx_unlock(&ktrace_mtx); - PROC_UNLOCK(p); - ktrprocexit(td); - PROC_LOCK(p); - mtx_lock(&ktrace_mtx); - tracevp = p->p_tracevp; - p->p_tracevp = NULL; - tracecred = p->p_tracecred; - p->p_tracecred = NULL; - mtx_unlock(&ktrace_mtx); - PROC_UNLOCK(p); - if (tracevp != NULL) { - locked = VFS_LOCK_GIANT(tracevp->v_mount); - vrele(tracevp); - VFS_UNLOCK_GIANT(locked); - } - if (tracecred != NULL) - crfree(tracecred); - } + ktrprocexit(td); #endif /* * Release reference to text vnode Modified: head/sys/kern/kern_fork.c ============================================================================== --- head/sys/kern/kern_fork.c Thu Oct 21 19:11:14 2010 (r214157) +++ head/sys/kern/kern_fork.c Thu Oct 21 19:17:40 2010 (r214158) @@ -645,21 +645,7 @@ again: callout_init(&p2->p_itcallout, CALLOUT_MPSAFE); #ifdef KTRACE - /* - * Copy traceflag and tracefile if enabled. - */ - mtx_lock(&ktrace_mtx); - KASSERT(p2->p_tracevp == NULL, ("new process has a ktrace vnode")); - if (p1->p_traceflag & KTRFAC_INHERIT) { - p2->p_traceflag = p1->p_traceflag; - if ((p2->p_tracevp = p1->p_tracevp) != NULL) { - VREF(p2->p_tracevp); - KASSERT(p1->p_tracecred != NULL, - ("ktrace vnode with no cred")); - p2->p_tracecred = crhold(p1->p_tracecred); - } - } - mtx_unlock(&ktrace_mtx); + ktrprocfork(p1, p2); #endif /* Modified: head/sys/kern/kern_ktrace.c ============================================================================== --- head/sys/kern/kern_ktrace.c Thu Oct 21 19:11:14 2010 (r214157) +++ head/sys/kern/kern_ktrace.c Thu Oct 21 19:17:40 2010 (r214158) @@ -126,7 +126,7 @@ SYSCTL_UINT(_kern_ktrace, OID_AUTO, geni 0, "Maximum size of genio event payload"); static int print_message = 1; -struct mtx ktrace_mtx; +static struct mtx ktrace_mtx; static struct sx ktrace_sx; static void ktrace_init(void *dummy); @@ -134,7 +134,10 @@ static int sysctl_kern_ktrace_request_po static u_int ktrace_resize_pool(u_int newsize); static struct ktr_request *ktr_getrequest(int type); static void ktr_submitrequest(struct thread *td, struct ktr_request *req); +static void ktr_freeproc(struct proc *p, struct ucred **uc, + struct vnode **vp); static void ktr_freerequest(struct ktr_request *req); +static void ktr_freerequest_locked(struct ktr_request *req); static void ktr_writerequest(struct thread *td, struct ktr_request *req); static int ktrcanset(struct thread *,struct proc *); static int ktrsetchildren(struct thread *,struct proc *,int,int,struct vnode *); @@ -375,11 +378,43 @@ static void ktr_freerequest(struct ktr_request *req) { + mtx_lock(&ktrace_mtx); + ktr_freerequest_locked(req); + mtx_unlock(&ktrace_mtx); +} + +static void +ktr_freerequest_locked(struct ktr_request *req) +{ + + mtx_assert(&ktrace_mtx, MA_OWNED); if (req->ktr_buffer != NULL) free(req->ktr_buffer, M_KTRACE); - mtx_lock(&ktrace_mtx); STAILQ_INSERT_HEAD(&ktr_free, req, ktr_list); - mtx_unlock(&ktrace_mtx); +} + +/* + * Disable tracing for a process and release all associated resources. + * The caller is responsible for releasing a reference on the returned + * vnode and credentials. + */ +static void +ktr_freeproc(struct proc *p, struct ucred **uc, struct vnode **vp) +{ + struct ktr_request *req; + + PROC_LOCK_ASSERT(p, MA_OWNED); + mtx_assert(&ktrace_mtx, MA_OWNED); + *uc = p->p_tracecred; + p->p_tracecred = NULL; + if (vp != NULL) + *vp = p->p_tracevp; + p->p_tracevp = NULL; + p->p_traceflag = 0; + while ((req = STAILQ_FIRST(&p->p_ktr)) != NULL) { + STAILQ_REMOVE_HEAD(&p->p_ktr, ktr_list); + ktr_freerequest_locked(req); + } } void @@ -432,20 +467,79 @@ ktrsysret(code, error, retval) } /* - * When a process exits, drain per-process asynchronous trace records. + * When a setuid process execs, disable tracing. + * + * XXX: We toss any pending asynchronous records. + */ +void +ktrprocexec(struct proc *p, struct ucred **uc, struct vnode **vp) +{ + + PROC_LOCK_ASSERT(p, MA_OWNED); + mtx_lock(&ktrace_mtx); + ktr_freeproc(p, uc, vp); + mtx_unlock(&ktrace_mtx); +} + +/* + * When a process exits, drain per-process asynchronous trace records + * and disable tracing. */ void ktrprocexit(struct thread *td) { + struct proc *p; + struct ucred *cred; + struct vnode *vp; + int vfslocked; + + p = td->td_proc; + if (p->p_traceflag == 0) + return; ktrace_enter(td); sx_xlock(&ktrace_sx); ktr_drain(td); sx_xunlock(&ktrace_sx); + PROC_LOCK(p); + mtx_lock(&ktrace_mtx); + ktr_freeproc(p, &cred, &vp); + mtx_unlock(&ktrace_mtx); + PROC_UNLOCK(p); + if (vp != NULL) { + vfslocked = VFS_LOCK_GIANT(vp->v_mount); + vrele(vp); + VFS_UNLOCK_GIANT(vfslocked); + } + if (cred != NULL) + crfree(cred); ktrace_exit(td); } /* + * When a process forks, enable tracing in the new process if needed. + */ +void +ktrprocfork(struct proc *p1, struct proc *p2) +{ + + PROC_LOCK_ASSERT(p1, MA_OWNED); + PROC_LOCK_ASSERT(p2, MA_OWNED); + mtx_lock(&ktrace_mtx); + KASSERT(p2->p_tracevp == NULL, ("new process has a ktrace vnode")); + if (p1->p_traceflag & KTRFAC_INHERIT) { + p2->p_traceflag = p1->p_traceflag; + if ((p2->p_tracevp = p1->p_tracevp) != NULL) { + VREF(p2->p_tracevp); + KASSERT(p1->p_tracecred != NULL, + ("ktrace vnode with no cred")); + p2->p_tracecred = crhold(p1->p_tracecred); + } + } + mtx_unlock(&ktrace_mtx); +} + +/* * When a thread returns, drain any asynchronous records generated by the * system call. */ @@ -694,10 +788,7 @@ ktrace(td, uap) if (p->p_tracevp == vp) { if (ktrcanset(td, p)) { mtx_lock(&ktrace_mtx); - cred = p->p_tracecred; - p->p_tracecred = NULL; - p->p_tracevp = NULL; - p->p_traceflag = 0; + ktr_freeproc(p, &cred, NULL); mtx_unlock(&ktrace_mtx); vrele_count++; crfree(cred); @@ -864,14 +955,9 @@ ktrops(td, p, ops, facs, vp) p->p_traceflag |= KTRFAC_ROOT; } else { /* KTROP_CLEAR */ - if (((p->p_traceflag &= ~facs) & KTRFAC_MASK) == 0) { + if (((p->p_traceflag &= ~facs) & KTRFAC_MASK) == 0) /* no more tracing */ - p->p_traceflag = 0; - tracevp = p->p_tracevp; - p->p_tracevp = NULL; - tracecred = p->p_tracecred; - p->p_tracecred = NULL; - } + ktr_freeproc(p, &tracecred, &tracevp); } mtx_unlock(&ktrace_mtx); PROC_UNLOCK(p); @@ -1036,10 +1122,7 @@ ktr_writerequest(struct thread *td, stru PROC_LOCK(p); if (p->p_tracevp == vp) { mtx_lock(&ktrace_mtx); - p->p_tracevp = NULL; - p->p_traceflag = 0; - cred = p->p_tracecred; - p->p_tracecred = NULL; + ktr_freeproc(p, &cred, NULL); mtx_unlock(&ktrace_mtx); vrele_count++; } @@ -1051,11 +1134,6 @@ ktr_writerequest(struct thread *td, stru } sx_sunlock(&allproc_lock); - /* - * We can't clear any pending requests in threads that have cached - * them but not yet committed them, as those are per-thread. The - * thread will have to clear it itself on system call return. - */ vfslocked = VFS_LOCK_GIANT(vp->v_mount); while (vrele_count-- > 0) vrele(vp); Modified: head/sys/sys/ktrace.h ============================================================================== --- head/sys/sys/ktrace.h Thu Oct 21 19:11:14 2010 (r214157) +++ head/sys/sys/ktrace.h Thu Oct 21 19:17:40 2010 (r214158) @@ -191,8 +191,6 @@ struct stat; #define KTRFAC_DROP 0x20000000 /* last event was dropped */ #ifdef _KERNEL -extern struct mtx ktrace_mtx; - void ktrnamei(char *); void ktrcsw(int, int); void ktrpsig(int, sig_t, sigset_t *, int); @@ -200,7 +198,9 @@ void ktrgenio(int, enum uio_rw, struct u void ktrsyscall(int, int narg, register_t args[]); void ktrsysctl(int *name, u_int namelen); void ktrsysret(int, int, register_t); +void ktrprocexec(struct proc *, struct ucred **, struct vnode **); void ktrprocexit(struct thread *); +void ktrprocfork(struct proc *, struct proc *); void ktruserret(struct thread *); void ktrstruct(const char *, void *, size_t); #define ktrsockaddr(s) \ From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 19:28:53 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 26AFF106566B; Thu, 21 Oct 2010 19:28:53 +0000 (UTC) (envelope-from bschmidt@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 162E28FC15; Thu, 21 Oct 2010 19:28:53 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LJSqh4001277; Thu, 21 Oct 2010 19:28:52 GMT (envelope-from bschmidt@svn.freebsd.org) Received: (from bschmidt@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LJSqgS001275; Thu, 21 Oct 2010 19:28:52 GMT (envelope-from bschmidt@svn.freebsd.org) Message-Id: <201010211928.o9LJSqgS001275@svn.freebsd.org> From: Bernhard Schmidt Date: Thu, 21 Oct 2010 19:28:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214160 - head/sys/dev/iwi X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 19:28:53 -0000 Author: bschmidt Date: Thu Oct 21 19:28:52 2010 New Revision: 214160 URL: http://svn.freebsd.org/changeset/base/214160 Log: Instead of calling return when reaching the end of the assoc notification break the loop instead. We want to run the code after the while loop to set an associd and capinfo. If we don't do this net80211 will drop frames because it assumes the node has not yet been associated. MFC after: 1 week Modified: head/sys/dev/iwi/if_iwi.c Modified: head/sys/dev/iwi/if_iwi.c ============================================================================== --- head/sys/dev/iwi/if_iwi.c Thu Oct 21 19:27:27 2010 (r214159) +++ head/sys/dev/iwi/if_iwi.c Thu Oct 21 19:28:52 2010 (r214160) @@ -1356,7 +1356,7 @@ iwi_checkforqos(struct ieee80211vap *vap wme = NULL; while (frm < efrm) { - IEEE80211_VERIFY_LENGTH(efrm - frm, frm[1], return); + IEEE80211_VERIFY_LENGTH(efrm - frm, frm[1], break); switch (*frm) { case IEEE80211_ELEMID_VENDOR: if (iswmeoui(frm)) From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 19:30:55 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D67D9106566C; Thu, 21 Oct 2010 19:30:55 +0000 (UTC) (envelope-from bschmidt@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C61E38FC12; Thu, 21 Oct 2010 19:30:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LJUtOO001399; Thu, 21 Oct 2010 19:30:55 GMT (envelope-from bschmidt@svn.freebsd.org) Received: (from bschmidt@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LJUtim001397; Thu, 21 Oct 2010 19:30:55 GMT (envelope-from bschmidt@svn.freebsd.org) Message-Id: <201010211930.o9LJUtim001397@svn.freebsd.org> From: Bernhard Schmidt Date: Thu, 21 Oct 2010 19:30:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214162 - head/sys/dev/iwi X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 19:30:55 -0000 Author: bschmidt Date: Thu Oct 21 19:30:55 2010 New Revision: 214162 URL: http://svn.freebsd.org/changeset/base/214162 Log: The firmware always sets bit 14 and 15, to get the real associd we need to clear those bits. MFC after: 1 week Modified: head/sys/dev/iwi/if_iwi.c Modified: head/sys/dev/iwi/if_iwi.c ============================================================================== --- head/sys/dev/iwi/if_iwi.c Thu Oct 21 19:29:20 2010 (r214161) +++ head/sys/dev/iwi/if_iwi.c Thu Oct 21 19:30:55 2010 (r214162) @@ -1368,7 +1368,7 @@ iwi_checkforqos(struct ieee80211vap *vap ni = vap->iv_bss; ni->ni_capinfo = capinfo; - ni->ni_associd = associd; + ni->ni_associd = associd & 0x3fff; if (wme != NULL) ni->ni_flags |= IEEE80211_NODE_QOS; else From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 19:44:28 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6990C1065675; Thu, 21 Oct 2010 19:44:28 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 583BA8FC08; Thu, 21 Oct 2010 19:44:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LJiSsm001710; Thu, 21 Oct 2010 19:44:28 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LJiSnk001707; Thu, 21 Oct 2010 19:44:28 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010211944.o9LJiSnk001707@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Thu, 21 Oct 2010 19:44:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214163 - head/sys/geom/eli X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 19:44:28 -0000 Author: pjd Date: Thu Oct 21 19:44:28 2010 New Revision: 214163 URL: http://svn.freebsd.org/changeset/base/214163 Log: Free opencrypto sessions on suspend, as they also might keep encryption keys. Modified: head/sys/geom/eli/g_eli.c head/sys/geom/eli/g_eli.h Modified: head/sys/geom/eli/g_eli.c ============================================================================== --- head/sys/geom/eli/g_eli.c Thu Oct 21 19:30:55 2010 (r214162) +++ head/sys/geom/eli/g_eli.c Thu Oct 21 19:44:28 2010 (r214163) @@ -314,6 +314,69 @@ g_eli_start(struct bio *bp) } } +static int +g_eli_newsession(struct g_eli_worker *wr) +{ + struct g_eli_softc *sc; + struct cryptoini crie, cria; + int error; + + sc = wr->w_softc; + + bzero(&crie, sizeof(crie)); + crie.cri_alg = sc->sc_ealgo; + crie.cri_klen = sc->sc_ekeylen; + if (sc->sc_ealgo == CRYPTO_AES_XTS) + crie.cri_klen <<= 1; + crie.cri_key = sc->sc_ekeys[0]; + if (sc->sc_flags & G_ELI_FLAG_AUTH) { + bzero(&cria, sizeof(cria)); + cria.cri_alg = sc->sc_aalgo; + cria.cri_klen = sc->sc_akeylen; + cria.cri_key = sc->sc_akey; + crie.cri_next = &cria; + } + + switch (sc->sc_crypto) { + case G_ELI_CRYPTO_SW: + error = crypto_newsession(&wr->w_sid, &crie, + CRYPTOCAP_F_SOFTWARE); + break; + case G_ELI_CRYPTO_HW: + error = crypto_newsession(&wr->w_sid, &crie, + CRYPTOCAP_F_HARDWARE); + break; + case G_ELI_CRYPTO_UNKNOWN: + error = crypto_newsession(&wr->w_sid, &crie, + CRYPTOCAP_F_HARDWARE); + if (error == 0) { + mtx_lock(&sc->sc_queue_mtx); + if (sc->sc_crypto == G_ELI_CRYPTO_UNKNOWN) + sc->sc_crypto = G_ELI_CRYPTO_HW; + mtx_unlock(&sc->sc_queue_mtx); + } else { + error = crypto_newsession(&wr->w_sid, &crie, + CRYPTOCAP_F_SOFTWARE); + mtx_lock(&sc->sc_queue_mtx); + if (sc->sc_crypto == G_ELI_CRYPTO_UNKNOWN) + sc->sc_crypto = G_ELI_CRYPTO_SW; + mtx_unlock(&sc->sc_queue_mtx); + } + break; + default: + panic("%s: invalid condition", __func__); + } + + return (error); +} + +static void +g_eli_freesession(struct g_eli_worker *wr) +{ + + crypto_freesession(wr->w_sid); +} + static void g_eli_cancel(struct g_eli_softc *sc) { @@ -361,6 +424,7 @@ g_eli_worker(void *arg) struct g_eli_softc *sc; struct g_eli_worker *wr; struct bio *bp; + int error; wr = arg; sc = wr->w_softc; @@ -388,7 +452,7 @@ again: if (sc->sc_flags & G_ELI_FLAG_DESTROY) { g_eli_cancel(sc); LIST_REMOVE(wr, w_next); - crypto_freesession(wr->w_sid); + g_eli_freesession(wr); free(wr, M_ELI); G_ELI_DEBUG(1, "Thread %s exiting.", curthread->td_proc->p_comm); @@ -411,12 +475,21 @@ again: * Suspend requested, mark the worker as * suspended and go to sleep. */ - wr->w_active = 0; + if (wr->w_active) { + g_eli_freesession(wr); + wr->w_active = FALSE; + } wakeup(&sc->sc_workers); msleep(sc, &sc->sc_queue_mtx, PRIBIO, "geli:suspend", 0); - if (!(sc->sc_flags & G_ELI_FLAG_SUSPEND)) - wr->w_active = 1; + if (!wr->w_active && + !(sc->sc_flags & G_ELI_FLAG_SUSPEND)) { + error = g_eli_newsession(wr); + KASSERT(error == 0, + ("g_eli_newsession() failed on resume (error=%d)", + error)); + wr->w_active = TRUE; + } goto again; } msleep(sc, &sc->sc_queue_mtx, PDROP, "geli:w", 0); @@ -630,7 +703,6 @@ g_eli_create(struct gctl_req *req, struc struct g_geom *gp; struct g_provider *pp; struct g_consumer *cp; - struct cryptoini crie, cria; u_int i, threads; int error; @@ -658,7 +730,7 @@ g_eli_create(struct gctl_req *req, struc gp->access = g_std_access; sc->sc_inflight = 0; - sc->sc_crypto = G_ELI_CRYPTO_SW; + sc->sc_crypto = G_ELI_CRYPTO_UNKNOWN; sc->sc_flags = md->md_flags; /* Backward compatibility. */ if (md->md_version < 4) @@ -772,20 +844,6 @@ g_eli_create(struct gctl_req *req, struc LIST_INIT(&sc->sc_workers); - bzero(&crie, sizeof(crie)); - crie.cri_alg = sc->sc_ealgo; - crie.cri_klen = sc->sc_ekeylen; - if (sc->sc_ealgo == CRYPTO_AES_XTS) - crie.cri_klen <<= 1; - crie.cri_key = sc->sc_ekeys[0]; - if (sc->sc_flags & G_ELI_FLAG_AUTH) { - bzero(&cria, sizeof(cria)); - cria.cri_alg = sc->sc_aalgo; - cria.cri_klen = sc->sc_akeylen; - cria.cri_key = sc->sc_akey; - crie.cri_next = &cria; - } - threads = g_eli_threads; if (threads == 0) threads = mp_ncpus; @@ -805,20 +863,7 @@ g_eli_create(struct gctl_req *req, struc wr->w_number = i; wr->w_active = TRUE; - /* - * If this is the first pass, try to get hardware support. - * Use software cryptography, if we cannot get it. - */ - if (LIST_EMPTY(&sc->sc_workers)) { - error = crypto_newsession(&wr->w_sid, &crie, - CRYPTOCAP_F_HARDWARE); - if (error == 0) - sc->sc_crypto = G_ELI_CRYPTO_HW; - } - if (sc->sc_crypto == G_ELI_CRYPTO_SW) { - error = crypto_newsession(&wr->w_sid, &crie, - CRYPTOCAP_F_SOFTWARE); - } + error = g_eli_newsession(wr); if (error != 0) { free(wr, M_ELI); if (req != NULL) { @@ -834,7 +879,7 @@ g_eli_create(struct gctl_req *req, struc error = kproc_create(g_eli_worker, wr, &wr->w_proc, 0, 0, "g_eli[%u] %s", i, bpp->name); if (error != 0) { - crypto_freesession(wr->w_sid); + g_eli_freesession(wr); free(wr, M_ELI); if (req != NULL) { gctl_error(req, "Cannot create kernel thread " Modified: head/sys/geom/eli/g_eli.h ============================================================================== --- head/sys/geom/eli/g_eli.h Thu Oct 21 19:30:55 2010 (r214162) +++ head/sys/geom/eli/g_eli.h Thu Oct 21 19:44:28 2010 (r214163) @@ -113,6 +113,7 @@ extern int g_eli_debug; extern u_int g_eli_overwrites; extern u_int g_eli_batch; +#define G_ELI_CRYPTO_UNKNOWN 0 #define G_ELI_CRYPTO_HW 1 #define G_ELI_CRYPTO_SW 2 From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 20:05:19 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A848E1065670; Thu, 21 Oct 2010 20:05:19 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 75C448FC19; Thu, 21 Oct 2010 20:05:19 +0000 (UTC) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id 19A5446BC3; Thu, 21 Oct 2010 16:05:19 -0400 (EDT) Received: from jhbbsd.localnet (smtp.hudson-trading.com [209.249.190.9]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id D67798A009; Thu, 21 Oct 2010 16:05:17 -0400 (EDT) From: John Baldwin To: d@delphij.net Date: Thu, 21 Oct 2010 16:03:59 -0400 User-Agent: KMail/1.13.5 (FreeBSD/7.3-CBSD-20100819; KDE/4.4.5; amd64; ; ) References: <201010210857.o9L8vPVQ084307@svn.freebsd.org> <201010210746.41227.jhb@freebsd.org> <4CC08F9C.5010804@delphij.net> In-Reply-To: <4CC08F9C.5010804@delphij.net> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201010211604.00120.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6 (bigwig.baldwin.cx); Thu, 21 Oct 2010 16:05:17 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.96.3 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-1.9 required=4.2 tests=BAYES_00 autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on bigwig.baldwin.cx Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Xin LI Subject: Re: svn commit: r214125 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 20:05:19 -0000 On Thursday, October 21, 2010 3:08:12 pm Xin LI wrote: > On 10/21/10 04:46, John Baldwin wrote: > > On Thursday, October 21, 2010 4:57:25 am Xin LI wrote: > >> Author: delphij > >> Date: Thu Oct 21 08:57:25 2010 > >> New Revision: 214125 > >> URL: http://svn.freebsd.org/changeset/base/214125 > >> > >> Log: > >> In syscall_module_handler(): all switch branches return, remove > >> unreached code as pointed out in a Chinese forum [1]. > >> > >> [1] http://www.freebsdchina.org/forum/viewtopic.php?t=50619 > >> > >> Pointed out by: btw616 > >> MFC after: 1 month > > > > I think this exposes a bug though in that the default case doesn't pass > > through to chainevh. The default case should look more like the removed code > > (except returning EOPNOTSUPP instead of 0 if there is no chainevh). > > Hmm... It sounds reasonable in theory (so that modules can handle > events other than MOD_LOAD/UNLOAD) at least, while I don't think it's > really being used anywhere. Yes, I agree it probably isn't used, but it'd be a weird surprise if someone tried to make use of it in the future for MOD_QUIESCE or the like. > Will the attached patch look reasonable? (If data->chainevh is NULL > then operation is not supported, if not then delegate to the module). Yes, I think this is fine. -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 20:22:00 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CE604106566B; Thu, 21 Oct 2010 20:22:00 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BD2FE8FC16; Thu, 21 Oct 2010 20:22:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LKM0RH002989; Thu, 21 Oct 2010 20:22:00 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LKM0xE002987; Thu, 21 Oct 2010 20:22:00 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201010212022.o9LKM0xE002987@svn.freebsd.org> From: Gleb Smirnoff Date: Thu, 21 Oct 2010 20:22:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214174 - head/usr.bin/unzip X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 20:22:00 -0000 Author: glebius Date: Thu Oct 21 20:22:00 2010 New Revision: 214174 URL: http://svn.freebsd.org/changeset/base/214174 Log: Fix typo in last commit. Submitted by: bcr Modified: head/usr.bin/unzip/unzip.1 Modified: head/usr.bin/unzip/unzip.1 ============================================================================== --- head/usr.bin/unzip/unzip.1 Thu Oct 21 20:21:36 2010 (r214173) +++ head/usr.bin/unzip/unzip.1 Thu Oct 21 20:22:00 2010 (r214174) @@ -111,7 +111,7 @@ Note that only one of and .Fl u may be specified. -Is specified filename is +If specified filename is .Va Qq - , then data is read from .Va stdin . From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 20:31:51 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 50D561065695; Thu, 21 Oct 2010 20:31:51 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4057A8FC12; Thu, 21 Oct 2010 20:31:51 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LKVpUS003458; Thu, 21 Oct 2010 20:31:51 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LKVpFP003456; Thu, 21 Oct 2010 20:31:51 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201010212031.o9LKVpFP003456@svn.freebsd.org> From: Xin LI Date: Thu, 21 Oct 2010 20:31:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214181 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 20:31:51 -0000 Author: delphij Date: Thu Oct 21 20:31:50 2010 New Revision: 214181 URL: http://svn.freebsd.org/changeset/base/214181 Log: Call chainevh callback when we are invoked with neither MOD_LOAD nor MOD_UNLOAD. This makes it possible to add custom hooks for other module events. Return EOPNOTSUPP when there is no callback available. Pointed out by: jhb Reviewed by: jhb MFC after: 1 month Modified: head/sys/kern/kern_syscalls.c Modified: head/sys/kern/kern_syscalls.c ============================================================================== --- head/sys/kern/kern_syscalls.c Thu Oct 21 20:30:35 2010 (r214180) +++ head/sys/kern/kern_syscalls.c Thu Oct 21 20:31:50 2010 (r214181) @@ -181,7 +181,9 @@ syscall_module_handler(struct module *mo error = syscall_deregister(data->offset, &data->old_sysent); return (error); default: - return EOPNOTSUPP; + if (data->chainevh) + return (data->chainevh(mod, what, data->chainarg)); + return (EOPNOTSUPP); } /* NOTREACHED */ From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 20:51:17 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CFE5B106564A; Thu, 21 Oct 2010 20:51:17 +0000 (UTC) (envelope-from jilles@stack.nl) Received: from mx1.stack.nl (relay02.stack.nl [IPv6:2001:610:1108:5010::104]) by mx1.freebsd.org (Postfix) with ESMTP id 92F228FC08; Thu, 21 Oct 2010 20:51:17 +0000 (UTC) Received: from turtle.stack.nl (turtle.stack.nl [IPv6:2001:610:1108:5010::132]) by mx1.stack.nl (Postfix) with ESMTP id A124235992C; Thu, 21 Oct 2010 22:51:16 +0200 (CEST) Received: by turtle.stack.nl (Postfix, from userid 1677) id 95C431729C; Thu, 21 Oct 2010 22:51:16 +0200 (CEST) Date: Thu, 21 Oct 2010 22:51:16 +0200 From: Jilles Tjoelker To: "David E. O'Brien" Message-ID: <20101021205116.GA58084@stack.nl> References: <201010210113.o9L1Df79074263@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201010210113.o9L1Df79074263@svn.freebsd.org> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-8@freebsd.org Subject: Re: svn commit: r214123 - stable/8/bin/sh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 20:51:17 -0000 On Thu, Oct 21, 2010 at 01:13:41AM +0000, David E. O'Brien wrote: > Author: obrien > Date: Thu Oct 21 01:13:41 2010 > New Revision: 214123 > URL: http://svn.freebsd.org/changeset/base/214123 > Log: > MFC > r213925: use rather than Hmm, it looks like this was not merged except for adding the mergeinfo. r213925 was a fix for a problem introduced in r213775 which became visible because a local patch of mine added #include in another header file. However, r213775 was not MFCed to stable/8. -- Jilles Tjoelker From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 21:08:12 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E24B6106566B; Thu, 21 Oct 2010 21:08:12 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CFCDA8FC0A; Thu, 21 Oct 2010 21:08:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LL8Cs5004309; Thu, 21 Oct 2010 21:08:12 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LL8CYF004307; Thu, 21 Oct 2010 21:08:12 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <201010212108.o9LL8CYF004307@svn.freebsd.org> From: Robert Watson Date: Thu, 21 Oct 2010 21:08:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214185 - head/tools/tools/syscall_timing X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 21:08:13 -0000 Author: rwatson Date: Thu Oct 21 21:08:12 2010 New Revision: 214185 URL: http://svn.freebsd.org/changeset/base/214185 Log: Universally use uintmax_t in syscall_timing; rearrange arithmetic to suffer fewer rounding errors with smaller numbers; fix argc validation so multiple tests run on a single command line. Sponsored by: Google, Inc. MFC after: 2 weeks Modified: head/tools/tools/syscall_timing/syscall_timing.c Modified: head/tools/tools/syscall_timing/syscall_timing.c ============================================================================== --- head/tools/tools/syscall_timing/syscall_timing.c Thu Oct 21 20:34:29 2010 (r214184) +++ head/tools/tools/syscall_timing/syscall_timing.c Thu Oct 21 21:08:12 2010 (r214185) @@ -87,10 +87,10 @@ benchmark_stop(void) assert(clock_gettime(CLOCK_REALTIME, &ts_end) == 0); } -uint64_t -test_getuid(uint64_t num, uint64_t int_arg, const char *path) +uintmax_t +test_getuid(uintmax_t num, uintmax_t int_arg, const char *path) { - uint64_t i; + uintmax_t i; /* * Thread-local data should require no locking if system @@ -106,10 +106,10 @@ test_getuid(uint64_t num, uint64_t int_a return (i); } -uint64_t -test_getppid(uint64_t num, uint64_t int_arg, const char *path) +uintmax_t +test_getppid(uintmax_t num, uintmax_t int_arg, const char *path) { - uint64_t i; + uintmax_t i; /* * This is process-local, but can change, so will require a @@ -125,11 +125,11 @@ test_getppid(uint64_t num, uint64_t int_ return (i); } -uint64_t -test_clock_gettime(uint64_t num, uint64_t int_arg, const char *path) +uintmax_t +test_clock_gettime(uintmax_t num, uintmax_t int_arg, const char *path) { struct timespec ts; - uint64_t i; + uintmax_t i; benchmark_start(); for (i = 0; i < num; i++) { @@ -141,8 +141,8 @@ test_clock_gettime(uint64_t num, uint64_ return (i); } -uint64_t -test_pipe(uint64_t num, uint64_t int_arg, const char *path) +uintmax_t +test_pipe(uintmax_t num, uintmax_t int_arg, const char *path) { int fd[2], i; @@ -169,10 +169,10 @@ test_pipe(uint64_t num, uint64_t int_arg return (i); } -uint64_t -test_socket_stream(uint64_t num, uint64_t int_arg, const char *path) +uintmax_t +test_socket_stream(uintmax_t num, uintmax_t int_arg, const char *path) { - uint64_t i, so; + uintmax_t i, so; so = socket(int_arg, SOCK_STREAM, 0); if (so < 0) @@ -191,10 +191,10 @@ test_socket_stream(uint64_t num, uint64_ return (i); } -uint64_t -test_socket_dgram(uint64_t num, uint64_t int_arg, const char *path) +uintmax_t +test_socket_dgram(uintmax_t num, uintmax_t int_arg, const char *path) { - uint64_t i, so; + uintmax_t i, so; so = socket(int_arg, SOCK_DGRAM, 0); if (so < 0) @@ -213,10 +213,10 @@ test_socket_dgram(uint64_t num, uint64_t return (i); } -uint64_t -test_socketpair_stream(uint64_t num, uint64_t int_arg, const char *path) +uintmax_t +test_socketpair_stream(uintmax_t num, uintmax_t int_arg, const char *path) { - uint64_t i; + uintmax_t i; int so[2]; if (socketpair(PF_LOCAL, SOCK_STREAM, 0, so) == -1) @@ -236,10 +236,10 @@ test_socketpair_stream(uint64_t num, uin return (i); } -uint64_t -test_socketpair_dgram(uint64_t num, uint64_t int_arg, const char *path) +uintmax_t +test_socketpair_dgram(uintmax_t num, uintmax_t int_arg, const char *path) { - uint64_t i; + uintmax_t i; int so[2]; if (socketpair(PF_LOCAL, SOCK_DGRAM, 0, so) == -1) @@ -259,10 +259,10 @@ test_socketpair_dgram(uint64_t num, uint return (i); } -uint64_t -test_open_close(uint64_t num, uint64_t int_arg, const char *path) +uintmax_t +test_open_close(uintmax_t num, uintmax_t int_arg, const char *path) { - uint64_t i; + uintmax_t i; int fd; fd = open(path, O_RDONLY); @@ -283,11 +283,11 @@ test_open_close(uint64_t num, uint64_t i return (i); } -uint64_t -test_open_read_close(uint64_t num, uint64_t int_arg, const char *path) +uintmax_t +test_open_read_close(uintmax_t num, uintmax_t int_arg, const char *path) { char buf[int_arg]; - uint64_t i; + uintmax_t i; int fd; fd = open(path, O_RDONLY); @@ -310,8 +310,8 @@ test_open_read_close(uint64_t num, uint6 return (i); } -uint64_t -test_dup(uint64_t num, uint64_t int_arg, const char *path) +uintmax_t +test_dup(uintmax_t num, uintmax_t int_arg, const char *path) { int fd, i, shmfd; @@ -334,10 +334,10 @@ test_dup(uint64_t num, uint64_t int_arg, return (i); } -uint64_t -test_shmfd(uint64_t num, uint64_t int_arg, const char *path) +uintmax_t +test_shmfd(uintmax_t num, uintmax_t int_arg, const char *path) { - uint64_t i, shmfd; + uintmax_t i, shmfd; shmfd = shm_open(SHM_ANON, O_CREAT | O_RDWR, 0600); if (shmfd < 0) @@ -356,11 +356,11 @@ test_shmfd(uint64_t num, uint64_t int_ar return (i); } -uint64_t -test_fstat_shmfd(uint64_t num, uint64_t int_arg, const char *path) +uintmax_t +test_fstat_shmfd(uintmax_t num, uintmax_t int_arg, const char *path) { struct stat sb; - uint64_t i, shmfd; + uintmax_t i, shmfd; shmfd = shm_open(SHM_ANON, O_CREAT | O_RDWR, 0600); if (shmfd < 0) @@ -378,11 +378,11 @@ test_fstat_shmfd(uint64_t num, uint64_t return (i); } -uint64_t -test_fork(uint64_t num, uint64_t int_arg, const char *path) +uintmax_t +test_fork(uintmax_t num, uintmax_t int_arg, const char *path) { pid_t pid; - uint64_t i; + uintmax_t i; pid = fork(); if (pid < 0) @@ -407,11 +407,11 @@ test_fork(uint64_t num, uint64_t int_arg return (i); } -uint64_t -test_vfork(uint64_t num, uint64_t int_arg, const char *path) +uintmax_t +test_vfork(uintmax_t num, uintmax_t int_arg, const char *path) { pid_t pid; - uint64_t i; + uintmax_t i; pid = vfork(); if (pid < 0) @@ -440,11 +440,11 @@ test_vfork(uint64_t num, uint64_t int_ar static char *execve_args[] = { USR_BIN_TRUE, NULL}; extern char **environ; -uint64_t -test_fork_exec(uint64_t num, uint64_t int_arg, const char *path) +uintmax_t +test_fork_exec(uintmax_t num, uintmax_t int_arg, const char *path) { pid_t pid; - uint64_t i; + uintmax_t i; pid = fork(); if (pid < 0) @@ -473,11 +473,11 @@ test_fork_exec(uint64_t num, uint64_t in return (i); } -uint64_t -test_vfork_exec(uint64_t num, uint64_t int_arg, const char *path) +uintmax_t +test_vfork_exec(uintmax_t num, uintmax_t int_arg, const char *path) { pid_t pid; - uint64_t i; + uintmax_t i; pid = vfork(); if (pid < 0) @@ -506,10 +506,10 @@ test_vfork_exec(uint64_t num, uint64_t i return (i); } -uint64_t -test_chroot(uint64_t num, uint64_t int_arg, const char *path) +uintmax_t +test_chroot(uintmax_t num, uintmax_t int_arg, const char *path) { - uint64_t i; + uintmax_t i; if (chroot("/") < 0) err(-1, "test_chroot: chroot"); @@ -524,11 +524,11 @@ test_chroot(uint64_t num, uint64_t int_a return (i); } -uint64_t -test_setuid(uint64_t num, uint64_t int_arg, const char *path) +uintmax_t +test_setuid(uintmax_t num, uintmax_t int_arg, const char *path) { uid_t uid; - uint64_t i; + uintmax_t i; uid = getuid(); if (setuid(uid) < 0) @@ -546,8 +546,8 @@ test_setuid(uint64_t num, uint64_t int_a struct test { const char *t_name; - uint64_t (*t_func)(uint64_t, uint64_t, const char *); - uint64_t t_int; + uintmax_t (*t_func)(uintmax_t, uintmax_t, const char *); + uintmax_t t_int; }; static const struct test tests[] = { @@ -601,7 +601,7 @@ main(int argc, char *argv[]) long long ll; char *endp; int ch, i, j, k; - uint64_t iterations, loops; + uintmax_t iterations, loops; alarm_timeout = 0; iterations = 0; @@ -649,16 +649,16 @@ main(int argc, char *argv[]) if (loops < 1) loops = 1; - if (argc != 1) + if (argc < 1) usage(); assert(clock_getres(CLOCK_REALTIME, &ts_res) == 0); - printf("Clock resolution: %ju.%08ju\n", (uintmax_t)ts_res.tv_sec, + printf("Clock resolution: %ju.%09ju\n", (uintmax_t)ts_res.tv_sec, (uintmax_t)ts_res.tv_nsec); printf("test\tloop\ttotal\titerations\tperiteration\n"); for (j = 0; j < argc; j++) { - uint64_t calls; + uintmax_t calls, nsecsperit; the_test = NULL; for (i = 0; i < tests_count; i++) { @@ -687,9 +687,10 @@ main(int argc, char *argv[]) * the room in our arithmetic unit. Fine for system calls, * but not for long things. */ - ts_end.tv_sec *= 1000000000 / calls; - printf("0.%09ju\n", (uintmax_t)(ts_end.tv_sec + - ts_end.tv_nsec / calls)); + nsecsperit = ts_end.tv_sec * 1000000000; + nsecsperit += ts_end.tv_nsec; + nsecsperit /= calls; + printf("0.%09ju\n", (uintmax_t)nsecsperit); } } return (0); From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 22:33:50 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 93448106566C; Thu, 21 Oct 2010 22:33:50 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 67CB48FC08; Thu, 21 Oct 2010 22:33:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LMXoKH006040; Thu, 21 Oct 2010 22:33:50 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LMXol1006038; Thu, 21 Oct 2010 22:33:50 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201010212233.o9LMXol1006038@svn.freebsd.org> From: Warner Losh Date: Thu, 21 Oct 2010 22:33:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214187 - head/usr.sbin/pc-sysinstall/backend X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 22:33:50 -0000 Author: imp Date: Thu Oct 21 22:33:50 2010 New Revision: 214187 URL: http://svn.freebsd.org/changeset/base/214187 Log: Minor tweaks in compression support: o We need an eval here to get the right expansion of the command o bs=128k doesn't work in some cases, so eliminate it and cope with the minor performance hit. Submitted by: john hixson Modified: head/usr.sbin/pc-sysinstall/backend/functions.sh Modified: head/usr.sbin/pc-sysinstall/backend/functions.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend/functions.sh Thu Oct 21 22:18:12 2010 (r214186) +++ head/usr.sbin/pc-sysinstall/backend/functions.sh Thu Oct 21 22:33:50 2010 (r214187) @@ -138,7 +138,7 @@ rc_halt() fi echo "Running: ${CMD}" >>${LOGOUT} - ${CMD} >>${LOGOUT} 2>>${LOGOUT} + eval ${CMD} >>${LOGOUT} 2>>${LOGOUT} STATUS="$?" if [ "${STATUS}" != "0" ] then @@ -364,37 +364,37 @@ write_image() case "${COMPRESSION}" in lzw) - rc_halt "uncompress ${IMAGE_FILE} -c | dd of=${DEVICE_FILE} bs=128k" + rc_halt "uncompress ${IMAGE_FILE} -c | dd of=${DEVICE_FILE}" IMAGE_FILE="${IMAGE_FILE%.Z}" ;; lzo) - rc_halt "lzop -d $IMAGE_{FILE} -c | dd of=${DEVICE_FILE} bs=128k" + rc_halt "lzop -d $IMAGE_{FILE} -c | dd of=${DEVICE_FILE}" IMAGE_FILE="${IMAGE_FILE%.lzo}" ;; lzma) - rc_halt "lzma -d ${IMAGE_FILE} -c | dd of=${DEVICE_FILE} bs=128k" + rc_halt "lzma -d ${IMAGE_FILE} -c | dd of=${DEVICE_FILE}" IMAGE_FILE="${IMAGE_FILE%.lzma}" ;; gzip) - rc_halt "gunzip ${IMAGE_FILE} -c | dd of=${DEVICE_FILE} bs=128k" + rc_halt "gunzip ${IMAGE_FILE} -c | dd of=${DEVICE_FILE}" IMAGE_FILE="${IMAGE_FILE%.gz}" ;; bzip2) - rc_halt "bunzip2 ${IMAGE_FILE} -c | dd of=${DEVICE_FILE} bs=128k" + rc_halt "bunzip2 ${IMAGE_FILE} -c | dd of=${DEVICE_FILE}" IMAGE_FILE="${IMAGE_FILE%.bz2}" ;; xz) - rc_halt "xz -d ${IMAGE_FILE} -c | dd of=${DEVICE_FILE} bs=128k" + rc_halt "xz -d ${IMAGE_FILE} -c | dd of=${DEVICE_FILE}" IMAGE_FILE="${IMAGE_FILE%.xz}" ;; zip) - rc_halt "unzip ${IMAGE_FILE} -c | dd of=${DEVICE_FILE} bs=128k" + rc_halt "unzip ${IMAGE_FILE} -c | dd of=${DEVICE_FILE}" IMAGE_FILE="${IMAGE_FILE%.zip}" ;; @@ -404,7 +404,7 @@ write_image() esac else - rc_halt "dd if=${IMAGE_FILE} of=${DEVICE_FILE} bs=128k" + rc_halt "dd if=${IMAGE_FILE} of=${DEVICE_FILE}" fi }; From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 22:46:11 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0A6331065673; Thu, 21 Oct 2010 22:46:11 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id ED34C8FC17; Thu, 21 Oct 2010 22:46:10 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LMkAek006347; Thu, 21 Oct 2010 22:46:10 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LMkAMs006345; Thu, 21 Oct 2010 22:46:10 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201010212246.o9LMkAMs006345@svn.freebsd.org> From: Warner Losh Date: Thu, 21 Oct 2010 22:46:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214188 - head/usr.sbin/pc-sysinstall/backend X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 22:46:11 -0000 Author: imp Date: Thu Oct 21 22:46:10 2010 New Revision: 214188 URL: http://svn.freebsd.org/changeset/base/214188 Log: More support for IMAGE installations Modified: head/usr.sbin/pc-sysinstall/backend/functions-bsdlabel.sh Modified: head/usr.sbin/pc-sysinstall/backend/functions-bsdlabel.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend/functions-bsdlabel.sh Thu Oct 21 22:33:50 2010 (r214187) +++ head/usr.sbin/pc-sysinstall/backend/functions-bsdlabel.sh Thu Oct 21 22:46:10 2010 (r214188) @@ -219,9 +219,17 @@ setup_mbr_partitions() USINGENCROOT="0" ; export USINGENCROOT fi + if [ -n "${IMAGE}" ] + then + FS="IMAGE" + SIZE=`ls -l "${IMAGE}" | awk '{ print $5 }'` + MNT=`echo $STRING | tr -s '\t' ' ' | cut -d ' ' -f 2` + SIZE=`convert_byte_to_megabyte $SIZE` + fi + # Now check that these values are sane case $FS in - UFS|UFS+S|UFS+J|UFS+SUJ|ZFS|SWAP) ;; + UFS|UFS+S|UFS+J|UFS+SUJ|ZFS|SWAP|IMAGE) ;; *) exit_err "ERROR: Invalid file system specified on $line" ;; esac From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 23:08:42 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 85536106564A; Thu, 21 Oct 2010 23:08:42 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 742718FC1B; Thu, 21 Oct 2010 23:08:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LN8gJP006817; Thu, 21 Oct 2010 23:08:42 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LN8gVE006815; Thu, 21 Oct 2010 23:08:42 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201010212308.o9LN8gVE006815@svn.freebsd.org> From: Warner Losh Date: Thu, 21 Oct 2010 23:08:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214189 - head/usr.sbin/pc-sysinstall/backend X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 23:08:42 -0000 Author: imp Date: Thu Oct 21 23:08:42 2010 New Revision: 214189 URL: http://svn.freebsd.org/changeset/base/214189 Log: Fix two typos Submitted by: Benedict Reuschling Modified: head/usr.sbin/pc-sysinstall/backend/functions-extractimage.sh Modified: head/usr.sbin/pc-sysinstall/backend/functions-extractimage.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend/functions-extractimage.sh Thu Oct 21 22:46:10 2010 (r214188) +++ head/usr.sbin/pc-sysinstall/backend/functions-extractimage.sh Thu Oct 21 23:08:42 2010 (r214189) @@ -70,7 +70,7 @@ start_extract_uzip_tar() if [ "$?" != "0" ] then cd / - echo "TAR failure occured:" >>${LOGOUT} + echo "TAR failure occurred:" >>${LOGOUT} cat ${FSMNT}/.tar-extract.log | grep "tar:" >>${LOGOUT} umount ${FSMNT}.uzip mdconfig -d -u ${MDDEVICE} @@ -275,7 +275,7 @@ EOF INSFILE="${OUTFILE}" ; export INSFILE } -# Function which does the rsync download from the server specifed in cfg +# Function which does the rsync download from the server specified in cfg start_rsync_copy() { # Load our rsync config values From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 23:31:49 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CD01B1065673; Thu, 21 Oct 2010 23:31:49 +0000 (UTC) (envelope-from obrien@NUXI.org) Received: from dragon.nuxi.org (trang.nuxi.org [74.95.12.85]) by mx1.freebsd.org (Postfix) with ESMTP id AAB378FC0A; Thu, 21 Oct 2010 23:31:49 +0000 (UTC) Received: from dragon.nuxi.org (obrien@localhost [127.0.0.1]) by dragon.nuxi.org (8.14.4/8.14.4) with ESMTP id o9LNVmxv089945; Thu, 21 Oct 2010 16:31:48 -0700 (PDT) (envelope-from obrien@dragon.nuxi.org) Received: (from obrien@localhost) by dragon.nuxi.org (8.14.4/8.14.4/Submit) id o9LNVm2N089944; Thu, 21 Oct 2010 16:31:48 -0700 (PDT) (envelope-from obrien) Date: Thu, 21 Oct 2010 16:31:48 -0700 From: "David O'Brien" To: Jilles Tjoelker Message-ID: <20101021233148.GA89895@dragon.NUXI.org> References: <201010210113.o9L1Df79074263@svn.freebsd.org> <20101021205116.GA58084@stack.nl> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20101021205116.GA58084@stack.nl> X-Operating-System: FreeBSD 9.0-CURRENT X-to-the-FBI-CIA-and-NSA: HI! HOW YA DOIN? User-Agent: Mutt/1.5.16 (2007-06-09) Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-8@freebsd.org Subject: Re: svn commit: r214123 - stable/8/bin/sh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: obrien@freebsd.org List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 23:31:49 -0000 On Thu, Oct 21, 2010 at 10:51:16PM +0200, Jilles Tjoelker wrote: > On Thu, Oct 21, 2010 at 01:13:41AM +0000, David E. O'Brien wrote: > > MFC > > r213925: use rather than > > Hmm, it looks like this was not merged except for adding the mergeinfo. Hi Jilles, You are correct. Doing a merge of that results in a meaningless situation as the base isn't there.conflict. So I am blocking that particular revision from being a merge candidate and that could be merged in the future. http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.branchmerge.advanced.blockchanges -- -- David (obrien@FreeBSD.org) From owner-svn-src-all@FreeBSD.ORG Thu Oct 21 23:45:58 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 53D8A106566C; Thu, 21 Oct 2010 23:45:58 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3ED4D8FC15; Thu, 21 Oct 2010 23:45:58 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9LNjwSc007521; Thu, 21 Oct 2010 23:45:58 GMT (envelope-from obrien@svn.freebsd.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9LNjw6W007514; Thu, 21 Oct 2010 23:45:58 GMT (envelope-from obrien@svn.freebsd.org) Message-Id: <201010212345.o9LNjw6W007514@svn.freebsd.org> From: "David E. O'Brien" Date: Thu, 21 Oct 2010 23:45:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214190 - in stable/8: . bin/sh contrib/top etc/periodic/daily gnu/usr.bin lib/libusb release/picobsd/floppy.tree/sbin sbin/geom/class/sched tools/regression/bin/sh/expansion tools/regr... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 23:45:58 -0000 Author: obrien Date: Thu Oct 21 23:45:57 2010 New Revision: 214190 URL: http://svn.freebsd.org/changeset/base/214190 Log: MFC r213814: Do not assume in growstackstr() that a "precious" character will be immediately written into the stack after the call. Instead let the caller manage the "space left". Added: stable/8/tools/regression/bin/sh/expansion/trim4.0 - copied unchanged from r213814, head/tools/regression/bin/sh/expansion/trim4.0 Modified: stable/8/bin/sh/histedit.c stable/8/bin/sh/memalloc.c stable/8/bin/sh/memalloc.h Directory Properties: stable/8/ (props changed) stable/8/Makefile (props changed) stable/8/Makefile.inc1 (props changed) stable/8/ObsoleteFiles.inc (props changed) stable/8/UPDATING (props changed) stable/8/bin/ (props changed) stable/8/bin/chio/ (props changed) stable/8/bin/chmod/ (props changed) stable/8/bin/cp/ (props changed) stable/8/bin/csh/ (props changed) stable/8/bin/date/ (props changed) stable/8/bin/expr/ (props changed) stable/8/bin/getfacl/ (props changed) stable/8/bin/kill/ (props changed) stable/8/bin/ln/ (props changed) stable/8/bin/ls/ (props changed) stable/8/bin/mv/ (props changed) stable/8/bin/pax/ (props changed) stable/8/bin/pkill/ (props changed) stable/8/bin/ps/ (props changed) stable/8/bin/pwait/ (props changed) stable/8/bin/setfacl/ (props changed) stable/8/bin/sh/ (props changed) stable/8/bin/sleep/ (props changed) stable/8/bin/test/ (props changed) stable/8/cddl/compat/opensolaris/ (props changed) stable/8/cddl/contrib/opensolaris/ (props changed) stable/8/cddl/lib/libnvpair/ (props changed) stable/8/cddl/lib/libzpool/ (props changed) stable/8/contrib/ (props changed) stable/8/contrib/bind9/ (props changed) stable/8/contrib/binutils/ (props changed) stable/8/contrib/bsnmp/ (props changed) stable/8/contrib/bzip2/ (props changed) stable/8/contrib/com_err/ (props changed) stable/8/contrib/csup/ (props changed) stable/8/contrib/ee/ (props changed) stable/8/contrib/expat/ (props changed) stable/8/contrib/file/ (props changed) stable/8/contrib/gcc/ (props changed) stable/8/contrib/gdb/ (props changed) stable/8/contrib/gdtoa/ (props changed) stable/8/contrib/groff/ (props changed) stable/8/contrib/ipfilter/ (props changed) stable/8/contrib/less/ (props changed) stable/8/contrib/libpcap/ (props changed) stable/8/contrib/ncurses/ (props changed) stable/8/contrib/netcat/ (props changed) stable/8/contrib/ntp/ (props changed) stable/8/contrib/nvi/ (props changed) stable/8/contrib/one-true-awk/ (props changed) stable/8/contrib/openbsm/ (props changed) stable/8/contrib/openpam/ (props changed) stable/8/contrib/pf/ (props changed) stable/8/contrib/sendmail/ (props changed) stable/8/contrib/tcp_wrappers/ (props changed) stable/8/contrib/tcpdump/ (props changed) stable/8/contrib/tcsh/ (props changed) stable/8/contrib/telnet/ (props changed) stable/8/contrib/top/ (props changed) stable/8/contrib/top/install-sh (props changed) stable/8/contrib/traceroute/ (props changed) stable/8/contrib/wpa/ (props changed) stable/8/contrib/xz/ (props changed) stable/8/crypto/heimdal/ (props changed) stable/8/crypto/openssh/ (props changed) stable/8/crypto/openssl/ (props changed) stable/8/etc/ (props changed) stable/8/etc/periodic/daily/ (props changed) stable/8/etc/periodic/daily/800.scrub-zfs (props changed) stable/8/games/factor/ (props changed) stable/8/games/fortune/ (props changed) stable/8/games/grdc/ (props changed) stable/8/games/pom/ (props changed) stable/8/gnu/lib/csu/ (props changed) stable/8/gnu/lib/libstdc++/ (props changed) stable/8/gnu/usr.bin/ (props changed) stable/8/gnu/usr.bin/Makefile (props changed) stable/8/gnu/usr.bin/dialog/ (props changed) stable/8/gnu/usr.bin/gdb/ (props changed) stable/8/gnu/usr.bin/gdb/kgdb/ (props changed) stable/8/gnu/usr.bin/groff/ (props changed) stable/8/gnu/usr.bin/patch/ (props changed) stable/8/include/ (props changed) stable/8/kerberos5/lib/libgssapi_krb5/ (props changed) stable/8/kerberos5/lib/libgssapi_spnego/ (props changed) stable/8/kerberos5/usr.bin/kdestroy/ (props changed) stable/8/kerberos5/usr.bin/kpasswd/ (props changed) stable/8/lib/ (props changed) stable/8/lib/bind/ (props changed) stable/8/lib/csu/ (props changed) stable/8/lib/libarchive/ (props changed) stable/8/lib/libbluetooth/ (props changed) stable/8/lib/libc/ (props changed) stable/8/lib/libc/locale/ (props changed) stable/8/lib/libc/stdtime/ (props changed) stable/8/lib/libc/sys/ (props changed) stable/8/lib/libc_r/ (props changed) stable/8/lib/libcam/ (props changed) stable/8/lib/libcompat/ (props changed) stable/8/lib/libdevinfo/ (props changed) stable/8/lib/libdisk/ (props changed) stable/8/lib/libedit/ (props changed) stable/8/lib/libelf/ (props changed) stable/8/lib/libexpat/ (props changed) stable/8/lib/libfetch/ (props changed) stable/8/lib/libgeom/ (props changed) stable/8/lib/libgpib/ (props changed) stable/8/lib/libgssapi/ (props changed) stable/8/lib/libjail/ (props changed) stable/8/lib/libkse/ (props changed) stable/8/lib/libkvm/ (props changed) stable/8/lib/liblzma/ (props changed) stable/8/lib/libmagic/ (props changed) stable/8/lib/libmemstat/ (props changed) stable/8/lib/libpam/ (props changed) stable/8/lib/libpmc/ (props changed) stable/8/lib/libradius/ (props changed) stable/8/lib/librpcsec_gss/ (props changed) stable/8/lib/libsm/ (props changed) stable/8/lib/libstand/ (props changed) stable/8/lib/libtacplus/ (props changed) stable/8/lib/libthr/ (props changed) stable/8/lib/libufs/ (props changed) stable/8/lib/libugidfw/ (props changed) stable/8/lib/libusb/ (props changed) stable/8/lib/libusb/usb.h (props changed) stable/8/lib/libusbhid/ (props changed) stable/8/lib/libutil/ (props changed) stable/8/lib/libz/ (props changed) stable/8/lib/libz/contrib/ (props changed) stable/8/lib/msun/ (props changed) stable/8/libexec/ (props changed) stable/8/libexec/ftpd/ (props changed) stable/8/libexec/rtld-elf/ (props changed) stable/8/libexec/tftpd/ (props changed) stable/8/release/ (props changed) stable/8/release/doc/en_US.ISO8859-1/hardware/ (props changed) stable/8/release/picobsd/ (props changed) stable/8/release/picobsd/floppy.tree/sbin/ (props changed) stable/8/release/picobsd/floppy.tree/sbin/dhclient-script (props changed) stable/8/release/picobsd/qemu/ (props changed) stable/8/release/picobsd/tinyware/login/ (props changed) stable/8/sbin/ (props changed) stable/8/sbin/atacontrol/ (props changed) stable/8/sbin/bsdlabel/ (props changed) stable/8/sbin/camcontrol/ (props changed) stable/8/sbin/ddb/ (props changed) stable/8/sbin/devd/ (props changed) stable/8/sbin/devfs/ (props changed) stable/8/sbin/dhclient/ (props changed) stable/8/sbin/dump/ (props changed) stable/8/sbin/dumpfs/ (props changed) stable/8/sbin/fsck/ (props changed) stable/8/sbin/fsck_ffs/ (props changed) stable/8/sbin/fsck_msdosfs/ (props changed) stable/8/sbin/fsirand/ (props changed) stable/8/sbin/geom/ (props changed) stable/8/sbin/geom/class/part/ (props changed) stable/8/sbin/geom/class/sched/gsched.8 (props changed) stable/8/sbin/geom/class/stripe/ (props changed) stable/8/sbin/ggate/ (props changed) stable/8/sbin/growfs/ (props changed) stable/8/sbin/hastctl/ (props changed) stable/8/sbin/hastd/ (props changed) stable/8/sbin/ifconfig/ (props changed) stable/8/sbin/ipfw/ (props changed) stable/8/sbin/iscontrol/ (props changed) stable/8/sbin/kldload/ (props changed) stable/8/sbin/kldstat/ (props changed) stable/8/sbin/mdconfig/ (props changed) stable/8/sbin/mksnap_ffs/ (props changed) stable/8/sbin/mount/ (props changed) stable/8/sbin/mount_cd9660/ (props changed) stable/8/sbin/mount_msdosfs/ (props changed) stable/8/sbin/mount_nfs/ (props changed) stable/8/sbin/natd/ (props changed) stable/8/sbin/newfs/ (props changed) stable/8/sbin/newfs_msdos/ (props changed) stable/8/sbin/ping6/ (props changed) stable/8/sbin/reboot/ (props changed) stable/8/sbin/restore/ (props changed) stable/8/sbin/routed/ (props changed) stable/8/sbin/setkey/ (props changed) stable/8/sbin/spppcontrol/ (props changed) stable/8/sbin/sysctl/ (props changed) stable/8/sbin/tunefs/ (props changed) stable/8/sbin/umount/ (props changed) stable/8/secure/ (props changed) stable/8/secure/lib/libcrypto/ (props changed) stable/8/secure/lib/libssl/ (props changed) stable/8/secure/usr.bin/bdes/ (props changed) stable/8/secure/usr.bin/openssl/ (props changed) stable/8/share/dict/ (props changed) stable/8/share/examples/ (props changed) stable/8/share/examples/etc/ (props changed) stable/8/share/examples/kld/syscall/ (props changed) stable/8/share/man/ (props changed) stable/8/share/man/man1/ (props changed) stable/8/share/man/man3/ (props changed) stable/8/share/man/man4/ (props changed) stable/8/share/man/man5/ (props changed) stable/8/share/man/man7/ (props changed) stable/8/share/man/man8/ (props changed) stable/8/share/man/man9/ (props changed) stable/8/share/misc/ (props changed) stable/8/share/mk/ (props changed) stable/8/share/termcap/ (props changed) stable/8/share/timedef/ (props changed) stable/8/share/zoneinfo/ (props changed) stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) stable/8/tools/ (props changed) stable/8/tools/build/mk/ (props changed) stable/8/tools/build/options/ (props changed) stable/8/tools/debugscripts/ (props changed) stable/8/tools/kerneldoc/subsys/ (props changed) stable/8/tools/regression/acltools/ (props changed) stable/8/tools/regression/aio/aiotest/ (props changed) stable/8/tools/regression/bin/sh/ (props changed) stable/8/tools/regression/fifo/ (props changed) stable/8/tools/regression/geom/ (props changed) stable/8/tools/regression/lib/libc/ (props changed) stable/8/tools/regression/lib/msun/test-conj.t (props changed) stable/8/tools/regression/mqueue/mqtest1/ (props changed) stable/8/tools/regression/mqueue/mqtest2/ (props changed) stable/8/tools/regression/mqueue/mqtest3/ (props changed) stable/8/tools/regression/mqueue/mqtest4/ (props changed) stable/8/tools/regression/mqueue/mqtest5/ (props changed) stable/8/tools/regression/poll/ (props changed) stable/8/tools/regression/posixsem/ (props changed) stable/8/tools/regression/priv/ (props changed) stable/8/tools/regression/usr.bin/ (props changed) stable/8/tools/regression/usr.bin/pkill/pgrep-_g.t (props changed) stable/8/tools/regression/usr.bin/pkill/pgrep-_s.t (props changed) stable/8/tools/regression/usr.bin/pkill/pkill-_g.t (props changed) stable/8/tools/regression/usr.bin/sed/ (props changed) stable/8/tools/regression/usr.bin/tr/ (props changed) stable/8/tools/test/ (props changed) stable/8/tools/tools/ (props changed) stable/8/tools/tools/ath/ (props changed) stable/8/tools/tools/ath/common/dumpregs.h (props changed) stable/8/tools/tools/ath/common/dumpregs_5210.c (props changed) stable/8/tools/tools/ath/common/dumpregs_5211.c (props changed) stable/8/tools/tools/ath/common/dumpregs_5212.c (props changed) stable/8/tools/tools/ath/common/dumpregs_5416.c (props changed) stable/8/tools/tools/nanobsd/ (props changed) stable/8/tools/tools/netrate/ (props changed) stable/8/tools/tools/netrate/tcpp/ (props changed) stable/8/tools/tools/termcap/termcap.pl (props changed) stable/8/tools/tools/umastat/ (props changed) stable/8/tools/tools/vimage/ (props changed) stable/8/usr.bin/ (props changed) stable/8/usr.bin/apply/ (props changed) stable/8/usr.bin/ar/ (props changed) stable/8/usr.bin/awk/ (props changed) stable/8/usr.bin/biff/ (props changed) stable/8/usr.bin/c89/ (props changed) stable/8/usr.bin/c99/ (props changed) stable/8/usr.bin/calendar/ (props changed) stable/8/usr.bin/catman/ (props changed) stable/8/usr.bin/column/ (props changed) stable/8/usr.bin/comm/ (props changed) stable/8/usr.bin/cpio/ (props changed) stable/8/usr.bin/csup/ (props changed) stable/8/usr.bin/du/ (props changed) stable/8/usr.bin/ee/ (props changed) stable/8/usr.bin/enigma/ (props changed) stable/8/usr.bin/fetch/ (props changed) stable/8/usr.bin/find/ (props changed) stable/8/usr.bin/finger/ (props changed) stable/8/usr.bin/fstat/ (props changed) stable/8/usr.bin/gcore/ (props changed) stable/8/usr.bin/getopt/ (props changed) stable/8/usr.bin/gzip/ (props changed) stable/8/usr.bin/hexdump/ (props changed) stable/8/usr.bin/indent/ (props changed) stable/8/usr.bin/jot/ (props changed) stable/8/usr.bin/kdump/ (props changed) stable/8/usr.bin/killall/ (props changed) stable/8/usr.bin/ktrace/ (props changed) stable/8/usr.bin/locale/ (props changed) stable/8/usr.bin/lockf/ (props changed) stable/8/usr.bin/look/ (props changed) stable/8/usr.bin/mail/ (props changed) stable/8/usr.bin/make/ (props changed) stable/8/usr.bin/makewhatis/ (props changed) stable/8/usr.bin/minigzip/ (props changed) stable/8/usr.bin/ncal/ (props changed) stable/8/usr.bin/netstat/ (props changed) stable/8/usr.bin/pathchk/ (props changed) stable/8/usr.bin/perror/ (props changed) stable/8/usr.bin/procstat/ (props changed) stable/8/usr.bin/rpcgen/ (props changed) stable/8/usr.bin/ruptime/ (props changed) stable/8/usr.bin/script/ (props changed) stable/8/usr.bin/sed/ (props changed) stable/8/usr.bin/sockstat/ (props changed) stable/8/usr.bin/split/ (props changed) stable/8/usr.bin/stat/ (props changed) stable/8/usr.bin/systat/ (props changed) stable/8/usr.bin/tar/ (props changed) stable/8/usr.bin/tftp/ (props changed) stable/8/usr.bin/touch/ (props changed) stable/8/usr.bin/tr/ (props changed) stable/8/usr.bin/truss/ (props changed) stable/8/usr.bin/uname/ (props changed) stable/8/usr.bin/unifdef/ (props changed) stable/8/usr.bin/uniq/ (props changed) stable/8/usr.bin/unzip/ (props changed) stable/8/usr.bin/vmstat/ (props changed) stable/8/usr.bin/w/ (props changed) stable/8/usr.bin/whois/ (props changed) stable/8/usr.bin/xinstall/ (props changed) stable/8/usr.bin/xlint/ (props changed) stable/8/usr.sbin/ (props changed) stable/8/usr.sbin/Makefile (props changed) stable/8/usr.sbin/acpi/ (props changed) stable/8/usr.sbin/arp/ (props changed) stable/8/usr.sbin/asf/ (props changed) stable/8/usr.sbin/bluetooth/ (props changed) stable/8/usr.sbin/bluetooth/bthidcontrol/ (props changed) stable/8/usr.sbin/bluetooth/bthidd/ (props changed) stable/8/usr.sbin/boot0cfg/ (props changed) stable/8/usr.sbin/bsnmpd/ (props changed) stable/8/usr.sbin/burncd/ (props changed) stable/8/usr.sbin/cdcontrol/ (props changed) stable/8/usr.sbin/chown/ (props changed) stable/8/usr.sbin/config/ (props changed) stable/8/usr.sbin/cpucontrol/ (props changed) stable/8/usr.sbin/crashinfo/ (props changed) stable/8/usr.sbin/cron/ (props changed) stable/8/usr.sbin/crunch/examples/ (props changed) stable/8/usr.sbin/ctm/ (props changed) stable/8/usr.sbin/cxgbtool/ (props changed) stable/8/usr.sbin/devinfo/ (props changed) stable/8/usr.sbin/diskinfo/ (props changed) stable/8/usr.sbin/dumpcis/cardinfo.h (props changed) stable/8/usr.sbin/dumpcis/cis.h (props changed) stable/8/usr.sbin/faithd/ (props changed) stable/8/usr.sbin/fdcontrol/ (props changed) stable/8/usr.sbin/fdformat/ (props changed) stable/8/usr.sbin/fdread/ (props changed) stable/8/usr.sbin/fdwrite/ (props changed) stable/8/usr.sbin/fifolog/ (props changed) stable/8/usr.sbin/flowctl/ (props changed) stable/8/usr.sbin/freebsd-update/ (props changed) stable/8/usr.sbin/i2c/ (props changed) stable/8/usr.sbin/inetd/ (props changed) stable/8/usr.sbin/iostat/ (props changed) stable/8/usr.sbin/jail/ (props changed) stable/8/usr.sbin/jls/ (props changed) stable/8/usr.sbin/lpr/ (props changed) stable/8/usr.sbin/mailwrapper/ (props changed) stable/8/usr.sbin/makefs/ffs/ffs_bswap.c (props changed) stable/8/usr.sbin/makefs/ffs/ffs_subr.c (props changed) stable/8/usr.sbin/makefs/ffs/ufs_bswap.h (props changed) stable/8/usr.sbin/makefs/getid.c (props changed) stable/8/usr.sbin/mergemaster/ (props changed) stable/8/usr.sbin/mfiutil/mfiutil.8 (props changed) stable/8/usr.sbin/mountd/ (props changed) stable/8/usr.sbin/moused/ (props changed) stable/8/usr.sbin/mptutil/ (props changed) stable/8/usr.sbin/mtest/ (props changed) stable/8/usr.sbin/mtree/ (props changed) stable/8/usr.sbin/named/ (props changed) stable/8/usr.sbin/ndp/ (props changed) stable/8/usr.sbin/newsyslog/ (props changed) stable/8/usr.sbin/nfsdumpstate/ (props changed) stable/8/usr.sbin/ntp/ (props changed) stable/8/usr.sbin/pciconf/ (props changed) stable/8/usr.sbin/periodic/ (props changed) stable/8/usr.sbin/pmcannotate/ (props changed) stable/8/usr.sbin/pmccontrol/ (props changed) stable/8/usr.sbin/pmcstat/ (props changed) stable/8/usr.sbin/powerd/ (props changed) stable/8/usr.sbin/ppp/ (props changed) stable/8/usr.sbin/pppctl/ (props changed) stable/8/usr.sbin/pstat/ (props changed) stable/8/usr.sbin/rpc.lockd/ (props changed) stable/8/usr.sbin/rpc.umntall/ (props changed) stable/8/usr.sbin/rtsold/ (props changed) stable/8/usr.sbin/sade/ (props changed) stable/8/usr.sbin/service/ (props changed) stable/8/usr.sbin/services_mkdb/ (props changed) stable/8/usr.sbin/setfmac/ (props changed) stable/8/usr.sbin/setpmac/ (props changed) stable/8/usr.sbin/smbmsg/ (props changed) stable/8/usr.sbin/sysinstall/ (props changed) stable/8/usr.sbin/syslogd/ (props changed) stable/8/usr.sbin/traceroute/ (props changed) stable/8/usr.sbin/traceroute6/ (props changed) stable/8/usr.sbin/uathload/ (props changed) stable/8/usr.sbin/ugidfw/ (props changed) stable/8/usr.sbin/uhsoctl/ (props changed) stable/8/usr.sbin/usbconfig/ (props changed) stable/8/usr.sbin/vidcontrol/ (props changed) stable/8/usr.sbin/wpa/ (props changed) stable/8/usr.sbin/ypserv/ (props changed) stable/8/usr.sbin/zic/ (props changed) Modified: stable/8/bin/sh/histedit.c ============================================================================== --- stable/8/bin/sh/histedit.c Thu Oct 21 23:08:42 2010 (r214189) +++ stable/8/bin/sh/histedit.c Thu Oct 21 23:45:57 2010 (r214190) @@ -399,7 +399,7 @@ fc_replace(const char *s, char *p, char } else STPUTC(*s++, dest); } - STACKSTRNUL(dest); + STPUTC('\0', dest); dest = grabstackstr(dest); return (dest); Modified: stable/8/bin/sh/memalloc.c ============================================================================== --- stable/8/bin/sh/memalloc.c Thu Oct 21 23:08:42 2010 (r214189) +++ stable/8/bin/sh/memalloc.c Thu Oct 21 23:45:57 2010 (r214190) @@ -295,6 +295,13 @@ grabstackblock(int len) * is space for at least one character. */ +static char * +growstrstackblock(int n) +{ + growstackblock(); + sstrnleft = stackblocksize() - n; + return stackblock() + n; +} char * growstackstr(void) @@ -304,12 +311,10 @@ growstackstr(void) len = stackblocksize(); if (herefd >= 0 && len >= 1024) { xwrite(herefd, stackblock(), len); - sstrnleft = len - 1; + sstrnleft = len; return stackblock(); } - growstackblock(); - sstrnleft = stackblocksize() - len - 1; - return stackblock() + len; + return growstrstackblock(len); } @@ -323,9 +328,7 @@ makestrspace(void) int len; len = stackblocksize() - sstrnleft; - growstackblock(); - sstrnleft = stackblocksize() - len; - return stackblock() + len; + return growstrstackblock(len); } Modified: stable/8/bin/sh/memalloc.h ============================================================================== --- stable/8/bin/sh/memalloc.h Thu Oct 21 23:08:42 2010 (r214189) +++ stable/8/bin/sh/memalloc.h Thu Oct 21 23:45:57 2010 (r214190) @@ -67,9 +67,16 @@ void ungrabstackstr(char *, char *); #define stackblock() stacknxt #define stackblocksize() stacknleft #define STARTSTACKSTR(p) p = stackblock(), sstrnleft = stackblocksize() -#define STPUTC(c, p) (--sstrnleft >= 0? (*p++ = (c)) : (p = growstackstr(), *p++ = (c))) +#define STPUTC(c, p) (--sstrnleft >= 0? (*p++ = (c)) : (p = growstackstr(), --sstrnleft, *p++ = (c))) #define CHECKSTRSPACE(n, p) { if (sstrnleft < n) p = makestrspace(); } #define USTPUTC(c, p) (--sstrnleft, *p++ = (c)) +/* + * STACKSTRNUL's use is where we want to be able to turn a stack + * (non-sentinel, character counting string) into a C string, + * and later pretend the NUL is not there. + * Note: Because of STACKSTRNUL's semantics, STACKSTRNUL cannot be used + * on a stack that will grabstackstr()ed. + */ #define STACKSTRNUL(p) (sstrnleft == 0? (p = growstackstr(), *p = '\0') : (*p = '\0')) #define STUNPUTC(p) (++sstrnleft, --p) #define STTOPC(p) p[-1] Copied: stable/8/tools/regression/bin/sh/expansion/trim4.0 (from r213814, head/tools/regression/bin/sh/expansion/trim4.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/8/tools/regression/bin/sh/expansion/trim4.0 Thu Oct 21 23:45:57 2010 (r214190, copy of r213814, head/tools/regression/bin/sh/expansion/trim4.0) @@ -0,0 +1,15 @@ +# $FreeBSD$ + +v1=/homes/SOME_USER +v2= +v3=C123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 + +# Trigger bug in VSTRIMRIGHT processing STADJUST() call in expand.c:subevalvar() +while [ ${#v2} -lt 2000 ]; do + v4="${v2} ${v1%/*} $v3" + if [ ${#v4} -ne $((${#v2} + ${#v3} + 8)) ]; then + echo bad: ${#v4} -ne $((${#v2} + ${#v3} + 8)) + fi + v2=x$v2 + v3=y$v3 +done From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 00:10:49 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 07B6A106566B; Fri, 22 Oct 2010 00:10:49 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EA9758FC17; Fri, 22 Oct 2010 00:10:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9M0AmNo008046; Fri, 22 Oct 2010 00:10:48 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9M0AmPk008044; Fri, 22 Oct 2010 00:10:48 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201010220010.o9M0AmPk008044@svn.freebsd.org> From: Warner Losh Date: Fri, 22 Oct 2010 00:10:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214191 - head/usr.sbin/pc-sysinstall/backend-query X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 00:10:49 -0000 Author: imp Date: Fri Oct 22 00:10:48 2010 New Revision: 214191 URL: http://svn.freebsd.org/changeset/base/214191 Log: Remove unnecessary variable. Submitted by: Alex Kozlov Modified: head/usr.sbin/pc-sysinstall/backend-query/query-langs.sh Modified: head/usr.sbin/pc-sysinstall/backend-query/query-langs.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend-query/query-langs.sh Thu Oct 21 23:45:57 2010 (r214190) +++ head/usr.sbin/pc-sysinstall/backend-query/query-langs.sh Fri Oct 22 00:10:48 2010 (r214191) @@ -25,8 +25,6 @@ # # $FreeBSD$ -FOUND="0" - cat ${PROGDIR}/conf/avail-langs exit 0 From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 00:11:55 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E22511065672; Fri, 22 Oct 2010 00:11:55 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B69898FC17; Fri, 22 Oct 2010 00:11:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9M0BtE3008118; Fri, 22 Oct 2010 00:11:55 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9M0Bt2E008115; Fri, 22 Oct 2010 00:11:55 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201010220011.o9M0Bt2E008115@svn.freebsd.org> From: Warner Losh Date: Fri, 22 Oct 2010 00:11:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214192 - head/usr.sbin/pc-sysinstall/backend-query X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 00:11:56 -0000 Author: imp Date: Fri Oct 22 00:11:55 2010 New Revision: 214192 URL: http://svn.freebsd.org/changeset/base/214192 Log: More simplifications Submitted by: Alex Kozlov Modified: head/usr.sbin/pc-sysinstall/backend-query/disk-info.sh head/usr.sbin/pc-sysinstall/backend-query/test-live.sh Modified: head/usr.sbin/pc-sysinstall/backend-query/disk-info.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend-query/disk-info.sh Fri Oct 22 00:10:48 2010 (r214191) +++ head/usr.sbin/pc-sysinstall/backend-query/disk-info.sh Fri Oct 22 00:11:55 2010 (r214192) @@ -26,25 +26,16 @@ # $FreeBSD$ # Query a disk for partitions and display them -############################# +############################################################################# -. ${PROGDIR}/backend/functions.sh . ${PROGDIR}/backend/functions-disk.sh -if [ -z "${1}" ] -then - echo "Error: No disk specified!" - exit 1 -fi - -if [ ! -e "/dev/${1}" ] -then - echo "Error: Disk /dev/${1} does not exist!" - exit 1 -fi - DISK="${1}" +[ -z "${DISK}" ] && { echo 'Error: No disk specified!'; exit 1; } +[ ! -e "/dev/${DISK}" ] && \ + { echo "Error: Disk /dev/${DISK} does not exist!"; exit 1; } + get_disk_cyl "${DISK}" CYLS="${VAL}" Modified: head/usr.sbin/pc-sysinstall/backend-query/test-live.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend-query/test-live.sh Fri Oct 22 00:10:48 2010 (r214191) +++ head/usr.sbin/pc-sysinstall/backend-query/test-live.sh Fri Oct 22 00:11:55 2010 (r214192) @@ -28,13 +28,6 @@ # Script which checks if we are running from install media, or real system ############################################################################# -dmesg | grep "md0: Preloaded image" >/dev/null 2>/dev/null -if [ "$?" = "0" ] -then - echo "INSTALL-MEDIA" - exit 0 -else - echo "REAL-DISK" - exit 1 -fi +dmesg | grep -q 'md0: Preloaded image' || { echo 'REAL-DISK'; exit 1; } +echo 'INSTALL-MEDIA' From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 01:31:26 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ABADF106566B; Fri, 22 Oct 2010 01:31:26 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail09.syd.optusnet.com.au (mail09.syd.optusnet.com.au [211.29.132.190]) by mx1.freebsd.org (Postfix) with ESMTP id 41AE28FC12; Fri, 22 Oct 2010 01:31:25 +0000 (UTC) Received: from c122-106-146-165.carlnfd1.nsw.optusnet.com.au (c122-106-146-165.carlnfd1.nsw.optusnet.com.au [122.106.146.165]) by mail09.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id o9M1VKQ2000495 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 22 Oct 2010 12:31:22 +1100 Date: Fri, 22 Oct 2010 12:31:20 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Gleb Smirnoff In-Reply-To: <201010211705.o9LH5GH5097260@svn.freebsd.org> Message-ID: <20101022120523.R1230@besplex.bde.org> References: <201010211705.o9LH5GH5097260@svn.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r214137 - head/usr.bin/unzip X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 01:31:26 -0000 On Thu, 21 Oct 2010, Gleb Smirnoff wrote: > Log: > Make it possible to read input from stdin. > > Without this change I don't see a way to > unpack a multivolume archive without wasting > disk space for a temporary file. What's wrong with the canonical "cat foo*.zip | unzip /dev/stdin"? This is better for light use than engooping utilities with support for "-". This failed for an old ports version of unzip because it stat'ed /dev/stdin.zip and /dev/stdin.ZIP and found neither. Bogus. Then I tried foo.zip where foo.zip is a symlink to /dev/stdin. (This hack is also useful for broken disk utilities that want disk names in /dev with special names.) This failed because unzip first tried to seek on the pipe (failure ignored), then tried to read 0 bytes from the pipe (the read succeeded but failure to find the central directory followed, apparently because it used st_size as the size of the file. These bugs seem to be missing in the current version. /dev/stdin works, and so does a symlink to /dev/stdin although it does some lstats which probably break in other cases for symlinks. The not-unused md5 utility is still broken on device files but not on pipes using similar techniques in its library (MDXFileChunk()). First it does an fstat to get st_size. Then it tries to seek, and if the seek fails it uses a method that actually works and necessarily doesn't use st_size. Old versions used a working method in all cases. So you have to use a hack like "cat /dev/ad0 | md5" to checksum a disk device, else you get the same checksum for all disks as for all devices and all empty files. Bruce From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 04:24:27 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8068B106564A; Fri, 22 Oct 2010 04:24:27 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from gw01.mail.saunalahti.fi (gw01.mail.saunalahti.fi [195.197.172.115]) by mx1.freebsd.org (Postfix) with ESMTP id 388AB8FC12; Fri, 22 Oct 2010 04:24:26 +0000 (UTC) Received: from a91-153-123-205.elisa-laajakaista.fi (a91-153-123-205.elisa-laajakaista.fi [91.153.123.205]) by gw01.mail.saunalahti.fi (Postfix) with SMTP id 299C015150C; Fri, 22 Oct 2010 07:24:20 +0300 (EEST) Date: Fri, 22 Oct 2010 07:24:20 +0300 From: Jaakko Heinonen To: Benedict Reuschling Message-ID: <20101022042420.GA1389@a91-153-123-205.elisa-laajakaista.fi> References: <201010211830.o9LIUnYA099338@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201010211830.o9LIUnYA099338@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r214148 - head/lib/libc/stdlib X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 04:24:27 -0000 On 2010-10-21, Benedict Reuschling wrote: > Document strtonum()s behavior of setting errno to 0 when no error is found. strtonum(3) doesn't behave like this. Anyway setting errno to 0 in a library function would violate the C99 standard. %%% #include #include #include #include int main() { errno = EDOOFUS; if (strtonum("1", 1, 10, NULL) == 0) err(1, "failed"); printf("%d\n", errno); return (0); } %%% $ cc test.c $ ./a.out 88 -- Jaakko From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 04:43:05 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2FF001065673; Fri, 22 Oct 2010 04:43:05 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 13D798FC12; Fri, 22 Oct 2010 04:43:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9M4h4gV013522; Fri, 22 Oct 2010 04:43:04 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9M4h4u6013519; Fri, 22 Oct 2010 04:43:04 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201010220443.o9M4h4u6013519@svn.freebsd.org> From: Marcel Moolenaar Date: Fri, 22 Oct 2010 04:43:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214194 - in head/libexec/rtld-elf: . ia64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 04:43:05 -0000 Author: marcel Date: Fri Oct 22 04:43:04 2010 New Revision: 214194 URL: http://svn.freebsd.org/changeset/base/214194 Log: Unbreak ia64. With r169630 I disabled symbol versioning because it broke rtld. With r211706 rtld got broken for ia64 & powerpc64. It was fixed for powerpc64 with r212497. In between, r211749 removed the exports table because the version script handled the exports. But wait, symbol versioning was disabled on ia64. With exports controlled by the version script and symbol versioning disabled, all symbols are exported and too many symbols bind to the definition in rtld. Let's just say that waird things happen. So, enable symbol versioning on ia64 and apply a work-around for the SIGSEGV that triggered r169630 to begin with: when rtld relocates itself, it comes across r_debug_state and for some reason can't find the definition. This causes a failure, relocation aborts and null pointers galore. The work-around is to ignore the missing definition when rtld is relocating itself and keep going. Maybe with the next binutils this will all go away. Maybe not, in which case I still need to figure out why r_debug_state cannot be found. BTW: r_debug_state is in the symbol map -- I don't think any other rtld symbols that rtld references are in the symbol map... Modified: head/libexec/rtld-elf/Makefile head/libexec/rtld-elf/ia64/reloc.c Modified: head/libexec/rtld-elf/Makefile ============================================================================== --- head/libexec/rtld-elf/Makefile Fri Oct 22 03:05:34 2010 (r214193) +++ head/libexec/rtld-elf/Makefile Fri Oct 22 04:43:04 2010 (r214194) @@ -34,7 +34,6 @@ LDFLAGS+= -shared -Wl,-Bsymbolic DPADD= ${LIBC_PIC} LDADD= -lc_pic -lssp_nonshared -.if ${MACHINE_CPUARCH} != "ia64" .if ${MK_SYMVER} == "yes" LIBCDIR= ${.CURDIR}/../../lib/libc VERSION_DEF= ${LIBCDIR}/Versions.def @@ -48,7 +47,6 @@ ${PROG}: ${VERSION_MAP} SYMBOL_MAPS+= ${.CURDIR}/${RTLD_ARCH}/Symbol.map .endif .endif -.endif .sinclude "${.CURDIR}/${RTLD_ARCH}/Makefile.inc" Modified: head/libexec/rtld-elf/ia64/reloc.c ============================================================================== --- head/libexec/rtld-elf/ia64/reloc.c Fri Oct 22 03:05:34 2010 (r214193) +++ head/libexec/rtld-elf/ia64/reloc.c Fri Oct 22 04:43:04 2010 (r214194) @@ -195,9 +195,22 @@ reloc_non_plt_obj(Obj_Entry *obj_rtld, O int sym_index; def = find_symdef(ELF_R_SYM(rela->r_info), obj, &defobj, - false, cache); - if (def == NULL) - return -1; + true, cache); + if (def == NULL) { + /* + * XXX r_debug_state is problematic and find_symdef() + * returns NULL for it. This probably has something to + * do with symbol versioning (r_debug_state is in the + * symbol map). If we return -1 in that case we abort + * relocating rtld, which typically is fatal. So, for + * now just skip the symbol when we're relocating + * rtld. We don't care about r_debug_state unless we + * are being debugged. + */ + if (obj != obj_rtld) + return -1; + break; + } if (def->st_shndx != SHN_UNDEF) { target = (Elf_Addr)(defobj->relocbase + def->st_value); From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 06:56:11 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DA5F6106566C; Fri, 22 Oct 2010 06:56:11 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C8B1B8FC16; Fri, 22 Oct 2010 06:56:11 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9M6uBZF016340; Fri, 22 Oct 2010 06:56:11 GMT (envelope-from obrien@svn.freebsd.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9M6uBLF016338; Fri, 22 Oct 2010 06:56:11 GMT (envelope-from obrien@svn.freebsd.org) Message-Id: <201010220656.o9M6uBLF016338@svn.freebsd.org> From: "David E. O'Brien" Date: Fri, 22 Oct 2010 06:56:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214196 - stable/8/bin/sh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 06:56:12 -0000 Author: obrien Date: Fri Oct 22 06:56:11 2010 New Revision: 214196 URL: http://svn.freebsd.org/changeset/base/214196 Log: Reduce diff to 9-CURRENT. Modified: stable/8/bin/sh/expand.c Modified: stable/8/bin/sh/expand.c ============================================================================== --- stable/8/bin/sh/expand.c Fri Oct 22 06:39:14 2010 (r214195) +++ stable/8/bin/sh/expand.c Fri Oct 22 06:56:11 2010 (r214196) @@ -1084,15 +1084,14 @@ ifsbreakup(char *string, struct arglist } +static char expdir[PATH_MAX]; +#define expdir_end (expdir + sizeof(expdir)) + /* * Perform pathname generation and remove control characters. * At this point, the only control characters should be CTLESC and CTLQUOTEMARK. * The results are stored in the list exparg. */ - -static char expdir[PATH_MAX]; -#define expdir_end (expdir + sizeof(expdir)) - static void expandmeta(struct strlist *str, int flag __unused) { From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 08:36:26 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 90CB9106566B; Fri, 22 Oct 2010 08:36:26 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7EFB28FC1A; Fri, 22 Oct 2010 08:36:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9M8aQFS019257; Fri, 22 Oct 2010 08:36:26 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9M8aQ6a019255; Fri, 22 Oct 2010 08:36:26 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201010220836.o9M8aQ6a019255@svn.freebsd.org> From: Andriy Gapon Date: Fri, 22 Oct 2010 08:36:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214197 - stable/8/sys/sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 08:36:26 -0000 Author: avg Date: Fri Oct 22 08:36:26 2010 New Revision: 214197 URL: http://svn.freebsd.org/changeset/base/214197 Log: MFC r204955,205885: Various and sundry style, whitespace, and comment fixes. On behalf of: jhb Modified: stable/8/sys/sys/pcpu.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/sys/pcpu.h ============================================================================== --- stable/8/sys/sys/pcpu.h Fri Oct 22 06:56:11 2010 (r214196) +++ stable/8/sys/sys/pcpu.h Fri Oct 22 08:36:26 2010 (r214197) @@ -42,22 +42,19 @@ #include #include -struct pcb; -struct thread; - /* * Define a set for pcpu data. * * We don't use SET_DECLARE because it defines the set as 'a' when we - * want 'aw'. GCC considers uninitialized data in a seperate section - * writable and there is no generic zero initializer that works for + * want 'aw'. gcc considers uninitialized data in a separate section + * writable, and there is no generic zero initializer that works for * structs and scalars. */ extern uintptr_t *__start_set_pcpu; extern uintptr_t *__stop_set_pcpu; __asm__( -#if defined(__arm__) +#ifdef __arm__ ".section set_pcpu, \"aw\", %progbits\n" #else ".section set_pcpu, \"aw\", @progbits\n" @@ -73,8 +70,8 @@ extern uintptr_t dpcpu_off[]; /* * Convenience defines. */ -#define DPCPU_START (uintptr_t)&__start_set_pcpu -#define DPCPU_STOP (uintptr_t)&__stop_set_pcpu +#define DPCPU_START ((uintptr_t)&__start_set_pcpu) +#define DPCPU_STOP ((uintptr_t)&__stop_set_pcpu) #define DPCPU_BYTES (DPCPU_STOP - DPCPU_START) #define DPCPU_MODMIN 2048 #define DPCPU_SIZE roundup2(DPCPU_BYTES, PAGE_SIZE) @@ -146,8 +143,8 @@ extern uintptr_t dpcpu_off[]; /* * XXXUPS remove as soon as we have per cpu variable - * linker sets and can define rm_queue in _rm_lock.h -*/ + * linker sets and can define rm_queue in _rm_lock.h + */ struct rm_queue { struct rm_queue* volatile rmq_next; struct rm_queue* volatile rmq_prev; @@ -155,7 +152,6 @@ struct rm_queue { #define PCPU_NAME_LEN (sizeof("CPU ") + sizeof(__XSTRING(MAXCPU) + 1)) - /* * This structure maps out the global data that needs to be kept on a * per-cpu basis. The members are accessed via the PCPU_GET/SET/PTR @@ -168,43 +164,40 @@ struct pcpu { struct thread *pc_fpcurthread; /* Fp state owner */ struct thread *pc_deadthread; /* Zombie thread or NULL */ struct pcb *pc_curpcb; /* Current pcb */ - uint64_t pc_switchtime; - int pc_switchticks; + uint64_t pc_switchtime; /* cpu_ticks() at last csw */ + int pc_switchticks; /* `ticks' at last csw */ u_int pc_cpuid; /* This cpu number */ cpumask_t pc_cpumask; /* This cpu mask */ cpumask_t pc_other_cpus; /* Mask of all other cpus */ SLIST_ENTRY(pcpu) pc_allcpu; struct lock_list_entry *pc_spinlocks; #ifdef KTR - char pc_name[PCPU_NAME_LEN]; /* String name for KTR. */ + char pc_name[PCPU_NAME_LEN]; /* String name for KTR */ #endif struct vmmeter pc_cnt; /* VM stats counters */ long pc_cp_time[CPUSTATES]; /* statclock ticks */ struct device *pc_device; - void *pc_netisr; /* netisr SWI cookie. */ + void *pc_netisr; /* netisr SWI cookie */ - /* + /* * Stuff for read mostly lock - * + * * XXXUPS remove as soon as we have per cpu variable * linker sets. */ - struct rm_queue pc_rm_queue; + struct rm_queue pc_rm_queue; - /* - * Dynamic per-cpu data area. - */ - uintptr_t pc_dynamic; + uintptr_t pc_dynamic; /* Dynamic per-cpu data area */ /* * Keep MD fields last, so that CPU-specific variations on a * single architecture don't result in offset variations of - * the machine-independent fields of the pcpu. Even though + * the machine-independent fields of the pcpu. Even though * the pcpu structure is private to the kernel, some ports - * (e.g. lsof, part of gtop) define _KERNEL and include this - * header. While strictly speaking this is wrong, there's no - * reason not to keep the offsets of the MI fields contants. - * If only to make kernel debugging easier... + * (e.g., lsof, part of gtop) define _KERNEL and include this + * header. While strictly speaking this is wrong, there's no + * reason not to keep the offsets of the MI fields constant + * if only to make kernel debugging easier. */ PCPU_MD_FIELDS; } __aligned(128); @@ -214,6 +207,7 @@ struct pcpu { SLIST_HEAD(cpuhead, pcpu); extern struct cpuhead cpuhead; +extern struct pcpu *cpuid_to_pcpu[MAXCPU]; #define curcpu PCPU_GET(cpuid) #define curproc (curthread->td_proc) @@ -228,21 +222,17 @@ extern struct cpuhead cpuhead; * db_show_mdpcpu() is responsible for handling machine dependent * fields for the DDB 'show pcpu' command. */ - -extern struct pcpu *cpuid_to_pcpu[MAXCPU]; - - void cpu_pcpu_init(struct pcpu *pcpu, int cpuid, size_t size); void db_show_mdpcpu(struct pcpu *pcpu); -void pcpu_destroy(struct pcpu *pcpu); -struct pcpu *pcpu_find(u_int cpuid); -void pcpu_init(struct pcpu *pcpu, int cpuid, size_t size); void *dpcpu_alloc(int size); void dpcpu_copy(void *s, int size); void dpcpu_free(void *s, int size); void dpcpu_init(void *dpcpu, int cpuid); +void pcpu_destroy(struct pcpu *pcpu); +struct pcpu *pcpu_find(u_int cpuid); +void pcpu_init(struct pcpu *pcpu, int cpuid, size_t size); -#endif /* _KERNEL */ +#endif /* _KERNEL */ #endif /* !_SYS_PCPU_H_ */ From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 08:42:44 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D2C531065675; Fri, 22 Oct 2010 08:42:44 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C1B2A8FC16; Fri, 22 Oct 2010 08:42:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9M8giCf019693; Fri, 22 Oct 2010 08:42:44 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9M8gicQ019691; Fri, 22 Oct 2010 08:42:44 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201010220842.o9M8gicQ019691@svn.freebsd.org> From: Andriy Gapon Date: Fri, 22 Oct 2010 08:42:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214198 - stable/8/sys/sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 08:42:44 -0000 Author: avg Date: Fri Oct 22 08:42:44 2010 New Revision: 214198 URL: http://svn.freebsd.org/changeset/base/214198 Log: MFC r212647: sys/pcpu.h: remove a workaround for a fixed ld bug Modified: stable/8/sys/sys/pcpu.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/sys/pcpu.h ============================================================================== --- stable/8/sys/sys/pcpu.h Fri Oct 22 08:36:26 2010 (r214197) +++ stable/8/sys/sys/pcpu.h Fri Oct 22 08:42:44 2010 (r214198) @@ -44,24 +44,10 @@ /* * Define a set for pcpu data. - * - * We don't use SET_DECLARE because it defines the set as 'a' when we - * want 'aw'. gcc considers uninitialized data in a separate section - * writable, and there is no generic zero initializer that works for - * structs and scalars. */ extern uintptr_t *__start_set_pcpu; extern uintptr_t *__stop_set_pcpu; -__asm__( -#ifdef __arm__ - ".section set_pcpu, \"aw\", %progbits\n" -#else - ".section set_pcpu, \"aw\", @progbits\n" -#endif - "\t.p2align " __XSTRING(CACHE_LINE_SHIFT) "\n" - "\t.previous"); - /* * Array of dynamic pcpu base offsets. Indexed by id. */ From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 08:46:23 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2B021106564A; Fri, 22 Oct 2010 08:46:23 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1A0728FC13; Fri, 22 Oct 2010 08:46:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9M8kMpR020058; Fri, 22 Oct 2010 08:46:22 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9M8kMEo020056; Fri, 22 Oct 2010 08:46:22 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201010220846.o9M8kMEo020056@svn.freebsd.org> From: Andriy Gapon Date: Fri, 22 Oct 2010 08:46:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214199 - stable/8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 08:46:23 -0000 Author: avg Date: Fri Oct 22 08:46:22 2010 New Revision: 214199 URL: http://svn.freebsd.org/changeset/base/214199 Log: add UPDATING entry for r214198: removed ld bug workaround This is a direct commit to the branch. Modified: stable/8/UPDATING Modified: stable/8/UPDATING ============================================================================== --- stable/8/UPDATING Fri Oct 22 08:42:44 2010 (r214198) +++ stable/8/UPDATING Fri Oct 22 08:46:22 2010 (r214199) @@ -15,6 +15,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8. debugging tools present in HEAD were left in place because sun4v support still needs work to become production ready. +20101022: + A workaround for a fixed ld bug has been removed in kernel code, + so make sure that your system ld is built from sources after + revision 211583 (r210245 if building stable/8 kernel on head, + r211584 for stable/7). A symptom of incorrect ld version is + different addresses for set_pcpu section and __start_set_pcpu + symbol in kernel and/or modules. + 20100915: A new version of ZFS (version 15) has been merged. This version uses a python library for the following subcommands: From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 08:51:50 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4C591106567A; Fri, 22 Oct 2010 08:51:50 +0000 (UTC) (envelope-from bcr@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3BC8A8FC21; Fri, 22 Oct 2010 08:51:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9M8poiX020494; Fri, 22 Oct 2010 08:51:50 GMT (envelope-from bcr@svn.freebsd.org) Received: (from bcr@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9M8poQZ020492; Fri, 22 Oct 2010 08:51:50 GMT (envelope-from bcr@svn.freebsd.org) Message-Id: <201010220851.o9M8poQZ020492@svn.freebsd.org> From: Benedict Reuschling Date: Fri, 22 Oct 2010 08:51:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214200 - head/lib/libc/stdlib X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 08:51:50 -0000 Author: bcr (doc committer) Date: Fri Oct 22 08:51:49 2010 New Revision: 214200 URL: http://svn.freebsd.org/changeset/base/214200 Log: Revert to r214147, errno is not clobbered as originally thought. Modified: head/lib/libc/stdlib/strtonum.3 Modified: head/lib/libc/stdlib/strtonum.3 ============================================================================== --- head/lib/libc/stdlib/strtonum.3 Fri Oct 22 08:46:22 2010 (r214199) +++ head/lib/libc/stdlib/strtonum.3 Fri Oct 22 08:51:49 2010 (r214200) @@ -83,8 +83,6 @@ is set, and .Fa errstr will point to an error message. On success, -.Va errno -is set to 0 and .Fa *errstr will be set to .Dv NULL ; From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 08:57:26 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 46335106564A; Fri, 22 Oct 2010 08:57:26 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 34AD08FC21; Fri, 22 Oct 2010 08:57:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9M8vQHq020927; Fri, 22 Oct 2010 08:57:26 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9M8vQv4020925; Fri, 22 Oct 2010 08:57:26 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201010220857.o9M8vQv4020925@svn.freebsd.org> From: Andriy Gapon Date: Fri, 22 Oct 2010 08:57:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214201 - stable/8/sys/cddl/compat/opensolaris/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 08:57:26 -0000 Author: avg Date: Fri Oct 22 08:57:25 2010 New Revision: 214201 URL: http://svn.freebsd.org/changeset/base/214201 Log: MFC r213528: opensolaris_kmem kmem_size(): report lesser of vm_kmem_size and available physical memory Modified: stable/8/sys/cddl/compat/opensolaris/kern/opensolaris_kmem.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/cddl/compat/opensolaris/kern/opensolaris_kmem.c ============================================================================== --- stable/8/sys/cddl/compat/opensolaris/kern/opensolaris_kmem.c Fri Oct 22 08:51:49 2010 (r214200) +++ stable/8/sys/cddl/compat/opensolaris/kern/opensolaris_kmem.c Fri Oct 22 08:57:25 2010 (r214201) @@ -112,18 +112,30 @@ zfs_kmem_free(void *buf, size_t size __u free(buf, M_SOLARIS); } +static uint64_t kmem_size_val; + +static void +kmem_size_init(void *unused __unused) +{ + + kmem_size_val = (uint64_t)cnt.v_page_count * PAGE_SIZE; + if (kmem_size_val > vm_kmem_size) + kmem_size_val = vm_kmem_size; +} +SYSINIT(kmem_size_init, SI_SUB_KMEM, SI_ORDER_ANY, kmem_size_init, NULL); + uint64_t kmem_size(void) { - return ((uint64_t)vm_kmem_size); + return (kmem_size_val); } uint64_t kmem_used(void) { - return ((uint64_t)kmem_map->size); + return (kmem_map->size); } static int From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 11:22:19 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DA0241065673; Fri, 22 Oct 2010 11:22:19 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C7DEC8FC1E; Fri, 22 Oct 2010 11:22:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9MBMJM2035345; Fri, 22 Oct 2010 11:22:19 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9MBMJfI035343; Fri, 22 Oct 2010 11:22:19 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <201010221122.o9MBMJfI035343@svn.freebsd.org> From: Robert Watson Date: Fri, 22 Oct 2010 11:22:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214202 - head/tools/tools/syscall_timing X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 11:22:19 -0000 Author: rwatson Date: Fri Oct 22 11:22:19 2010 New Revision: 214202 URL: http://svn.freebsd.org/changeset/base/214202 Log: Validate syscall_timing test names before starting to provide earlier feedback regarding user error. Provide default loop and timing settings. Add a new test that just times pread() without the open()/close(). Mark tests requiring a path argument so we can provide better feedback to the user than EFAULT on (null). Sponsored by: Google, Inc. MFC after: 2 weeks Modified: head/tools/tools/syscall_timing/syscall_timing.c Modified: head/tools/tools/syscall_timing/syscall_timing.c ============================================================================== --- head/tools/tools/syscall_timing/syscall_timing.c Fri Oct 22 08:57:25 2010 (r214201) +++ head/tools/tools/syscall_timing/syscall_timing.c Fri Oct 22 11:22:19 2010 (r214202) @@ -284,6 +284,29 @@ test_open_close(uintmax_t num, uintmax_t } uintmax_t +test_read(uintmax_t num, uintmax_t int_arg, const char *path) +{ + char buf[int_arg]; + uintmax_t i; + int fd; + + fd = open(path, O_RDONLY); + if (fd < 0) + err(-1, "test_open_close: %s", path); + (void)pread(fd, buf, int_arg, 0); + + benchmark_start(); + for (i = 0; i < num; i++) { + if (alarm_fired) + break; + (void)pread(fd, buf, int_arg, 0); + } + benchmark_stop(); + close(fd); + return (i); +} + +uintmax_t test_open_read_close(uintmax_t num, uintmax_t int_arg, const char *path) { char buf[int_arg]; @@ -547,9 +570,12 @@ test_setuid(uintmax_t num, uintmax_t int struct test { const char *t_name; uintmax_t (*t_func)(uintmax_t, uintmax_t, const char *); + int t_flags; uintmax_t t_int; }; +#define FLAG_PATH 0x00000001 + static const struct test tests[] = { { "getuid", test_getuid }, { "getppid", test_getppid }, @@ -561,13 +587,28 @@ static const struct test tests[] = { { "socketpair_dgram", test_socketpair_dgram }, { "socket_tcp", test_socket_stream, .t_int = PF_INET }, { "socket_udp", test_socket_dgram, .t_int = PF_INET }, - { "open_close", test_open_close }, - { "open_read_close_1", test_open_read_close, .t_int = 1 }, - { "open_read_close_10", test_open_read_close, .t_int = 10 }, - { "open_read_close_100", test_open_read_close, .t_int = 100 }, - { "open_read_close_1000", test_open_read_close, .t_int = 1000 }, - { "open_read_close_10000", test_open_read_close, .t_int = 10000 }, - { "open_read_close_100000", test_open_read_close, .t_int = 100000 }, + { "open_close", test_open_close, .t_flags = FLAG_PATH }, + { "open_read_close_1", test_open_read_close, .t_flags = FLAG_PATH, + .t_int = 1 }, + { "open_read_close_10", test_open_read_close, .t_flags = FLAG_PATH, + .t_int = 10 }, + { "open_read_close_100", test_open_read_close, .t_flags = FLAG_PATH, + .t_int = 100 }, + { "open_read_close_1000", test_open_read_close, .t_flags = FLAG_PATH, + .t_int = 1000 }, + { "open_read_close_10000", test_open_read_close, + .t_flags = FLAG_PATH, .t_int = 10000 }, + { "open_read_close_100000", test_open_read_close, + .t_flags = FLAG_PATH, .t_int = 100000 }, + { "open_read_close_1000000", test_open_read_close, + .t_flags = FLAG_PATH, .t_int = 1000000 }, + { "read_1", test_read, .t_flags = FLAG_PATH, .t_int = 1 }, + { "read_10", test_read, .t_flags = FLAG_PATH, .t_int = 10 }, + { "read_100", test_read, .t_flags = FLAG_PATH, .t_int = 100 }, + { "read_1000", test_read, .t_flags = FLAG_PATH, .t_int = 1000 }, + { "read_10000", test_read, .t_flags = FLAG_PATH, .t_int = 10000 }, + { "read_100000", test_read, .t_flags = FLAG_PATH, .t_int = 100000 }, + { "read_1000000", test_read, .t_flags = FLAG_PATH, .t_int = 1000000 }, { "dup", test_dup }, { "shmfd", test_shmfd }, { "fstat_shmfd", test_fstat_shmfd }, @@ -603,9 +644,9 @@ main(int argc, char *argv[]) int ch, i, j, k; uintmax_t iterations, loops; - alarm_timeout = 0; + alarm_timeout = 1; iterations = 0; - loops = 0; + loops = 10; path = NULL; while ((ch = getopt(argc, argv, "i:l:p:s:")) != -1) { switch (ch) { @@ -652,10 +693,27 @@ main(int argc, char *argv[]) if (argc < 1) usage(); + /* + * Validate test list and that, if a path is required, it is + * defined. + */ + for (j = 0; j < argc; j++) { + the_test = NULL; + for (i = 0; i < tests_count; i++) { + if (strcmp(argv[j], tests[i].t_name) == 0) + the_test = &tests[i]; + } + if (the_test == NULL) + usage(); + if ((the_test->t_flags & FLAG_PATH) && (path == NULL)) { + errx(-1, "%s requires -p", the_test->t_name); + } + } + assert(clock_getres(CLOCK_REALTIME, &ts_res) == 0); printf("Clock resolution: %ju.%09ju\n", (uintmax_t)ts_res.tv_sec, (uintmax_t)ts_res.tv_nsec); - printf("test\tloop\ttotal\titerations\tperiteration\n"); + printf("test\tloop\ttime\titerations\tperiteration\n"); for (j = 0; j < argc; j++) { uintmax_t calls, nsecsperit; @@ -665,8 +723,6 @@ main(int argc, char *argv[]) if (strcmp(argv[j], tests[i].t_name) == 0) the_test = &tests[i]; } - if (the_test == NULL) - usage(); /* * Run one warmup, then do the real thing (loops) times. From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 11:42:03 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 52D35106566B; Fri, 22 Oct 2010 11:42:03 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 278EA8FC16; Fri, 22 Oct 2010 11:42:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9MBg3NG037234; Fri, 22 Oct 2010 11:42:03 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9MBg3hA037232; Fri, 22 Oct 2010 11:42:03 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201010221142.o9MBg3hA037232@svn.freebsd.org> From: John Baldwin Date: Fri, 22 Oct 2010 11:42:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214203 - head/sys/dev/pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 11:42:03 -0000 Author: jhb Date: Fri Oct 22 11:42:02 2010 New Revision: 214203 URL: http://svn.freebsd.org/changeset/base/214203 Log: - Add a new PCI quirk to whitelist an old chipset that doesn't support PCI-express or PCI-X capabilities if we are running in a virtual machine. - Whitelist the Intel 82440 chipset used by QEMU. Tested by: jfv MFC after: 1 week Modified: head/sys/dev/pci/pci.c Modified: head/sys/dev/pci/pci.c ============================================================================== --- head/sys/dev/pci/pci.c Fri Oct 22 11:22:19 2010 (r214202) +++ head/sys/dev/pci/pci.c Fri Oct 22 11:42:02 2010 (r214203) @@ -182,6 +182,7 @@ struct pci_quirk { int type; #define PCI_QUIRK_MAP_REG 1 /* PCI map register in weird place */ #define PCI_QUIRK_DISABLE_MSI 2 /* MSI/MSI-X doesn't work */ +#define PCI_QUIRK_ENABLE_MSI_VM 3 /* Older chipset in VM where MSI works */ int arg1; int arg2; }; @@ -218,6 +219,12 @@ struct pci_quirk pci_quirks[] = { */ { 0x74501022, PCI_QUIRK_DISABLE_MSI, 0, 0 }, + /* + * Some virtualization environments emulate an older chipset + * but support MSI just fine. QEMU uses the Intel 82440. + */ + { 0x12378086, PCI_QUIRK_ENABLE_MSI_VM, 0, 0 }, + { 0 } }; @@ -1834,6 +1841,23 @@ pci_msi_device_blacklisted(device_t dev) } /* + * Returns true if a specified chipset supports MSI when it is + * emulated hardware in a virtual machine. + */ +static int +pci_msi_vm_chipset(device_t dev) +{ + struct pci_quirk *q; + + for (q = &pci_quirks[0]; q->devid; q++) { + if (q->devid == pci_get_devid(dev) && + q->type == PCI_QUIRK_ENABLE_MSI_VM) + return (1); + } + return (0); +} + +/* * Determine if MSI is blacklisted globally on this sytem. Currently, * we just check for blacklisted chipsets as represented by the * host-PCI bridge at device 0:0:0. In the future, it may become @@ -1849,8 +1873,14 @@ pci_msi_blacklisted(void) return (0); /* Blacklist all non-PCI-express and non-PCI-X chipsets. */ - if (!(pcie_chipset || pcix_chipset)) + if (!(pcie_chipset || pcix_chipset)) { + if (vm_guest != VM_GUEST_NO) { + dev = pci_find_bsf(0, 0, 0); + if (dev != NULL) + return (pci_msi_vm_chipset(dev) == 0); + } return (1); + } dev = pci_find_bsf(0, 0, 0); if (dev != NULL) From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 16:00:01 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 385FE10656E6; Fri, 22 Oct 2010 16:00:01 +0000 (UTC) (envelope-from mdf@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 177188FC15; Fri, 22 Oct 2010 16:00:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9MG003I059123; Fri, 22 Oct 2010 16:00:00 GMT (envelope-from mdf@svn.freebsd.org) Received: (from mdf@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9MG00a7059121; Fri, 22 Oct 2010 16:00:00 GMT (envelope-from mdf@svn.freebsd.org) Message-Id: <201010221600.o9MG00a7059121@svn.freebsd.org> From: Matthew D Fleming Date: Fri, 22 Oct 2010 16:00:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214206 - in stable/8: share/man/man9 sys/vm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 16:00:01 -0000 Author: mdf Date: Fri Oct 22 16:00:00 2010 New Revision: 214206 URL: http://svn.freebsd.org/changeset/base/214206 Log: MFC r214062: uma_zfree(zone, NULL) should do nothing, to match free(9). Noticed by: Ron Steinke Modified: stable/8/share/man/man9/zone.9 stable/8/sys/vm/uma_core.c Directory Properties: stable/8/share/man/man9/ (props changed) stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/share/man/man9/zone.9 ============================================================================== --- stable/8/share/man/man9/zone.9 Fri Oct 22 14:07:12 2010 (r214205) +++ stable/8/share/man/man9/zone.9 Fri Oct 22 16:00:00 2010 (r214206) @@ -147,6 +147,13 @@ Items are released back to the zone from calling .Fn uma_zfree with a pointer to the zone and a pointer to the item. +If +.Fa item +is +.Dv NULL , +then +.Fn uma_zfree +does nothing. .Pp The variations .Fn uma_zalloc_arg Modified: stable/8/sys/vm/uma_core.c ============================================================================== --- stable/8/sys/vm/uma_core.c Fri Oct 22 14:07:12 2010 (r214205) +++ stable/8/sys/vm/uma_core.c Fri Oct 22 16:00:00 2010 (r214206) @@ -2519,6 +2519,10 @@ uma_zfree_arg(uma_zone_t zone, void *ite CTR2(KTR_UMA, "uma_zfree_arg thread %x zone %s", curthread, zone->uz_name); + /* uma_zfree(..., NULL) does nothing, to match free(9). */ + if (item == NULL) + return; + if (zone->uz_dtor) zone->uz_dtor(item, zone->uz_size, udata); From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 16:00:46 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 02CF01065701; Fri, 22 Oct 2010 16:00:46 +0000 (UTC) (envelope-from mdf@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E569F8FC21; Fri, 22 Oct 2010 16:00:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9MG0jhx059186; Fri, 22 Oct 2010 16:00:45 GMT (envelope-from mdf@svn.freebsd.org) Received: (from mdf@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9MG0jD4059183; Fri, 22 Oct 2010 16:00:45 GMT (envelope-from mdf@svn.freebsd.org) Message-Id: <201010221600.o9MG0jD4059183@svn.freebsd.org> From: Matthew D Fleming Date: Fri, 22 Oct 2010 16:00:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214207 - in stable/7: share/man/man9 sys/vm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 16:00:46 -0000 Author: mdf Date: Fri Oct 22 16:00:45 2010 New Revision: 214207 URL: http://svn.freebsd.org/changeset/base/214207 Log: MFC r214062: uma_zfree(zone, NULL) should do nothing, to match free(9). Noticed by: Ron Steinke Modified: stable/7/share/man/man9/zone.9 stable/7/sys/vm/uma_core.c Directory Properties: stable/7/share/man/man9/ (props changed) stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/share/man/man9/zone.9 ============================================================================== --- stable/7/share/man/man9/zone.9 Fri Oct 22 16:00:00 2010 (r214206) +++ stable/7/share/man/man9/zone.9 Fri Oct 22 16:00:45 2010 (r214207) @@ -147,6 +147,13 @@ Items are released back to the zone from calling .Fn uma_zfree with a pointer to the zone and a pointer to the item. +If +.Fa item +is +.Dv NULL , +then +.Fn uma_zfree +does nothing. .Pp The variations .Fn uma_zalloc_arg Modified: stable/7/sys/vm/uma_core.c ============================================================================== --- stable/7/sys/vm/uma_core.c Fri Oct 22 16:00:00 2010 (r214206) +++ stable/7/sys/vm/uma_core.c Fri Oct 22 16:00:45 2010 (r214207) @@ -2250,6 +2250,10 @@ uma_zfree_arg(uma_zone_t zone, void *ite CTR2(KTR_UMA, "uma_zfree_arg thread %x zone %s", curthread, zone->uz_name); + /* uma_zfree(..., NULL) does nothing, to match free(9). */ + if (item == NULL) + return; + if (zone->uz_dtor) zone->uz_dtor(item, keg->uk_size, udata); #ifdef INVARIANTS From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 17:49:11 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BA50B10656C6; Fri, 22 Oct 2010 17:49:11 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A83F18FC1D; Fri, 22 Oct 2010 17:49:11 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9MHnBKo061241; Fri, 22 Oct 2010 17:49:11 GMT (envelope-from obrien@svn.freebsd.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9MHnBrJ061238; Fri, 22 Oct 2010 17:49:11 GMT (envelope-from obrien@svn.freebsd.org) Message-Id: <201010221749.o9MHnBrJ061238@svn.freebsd.org> From: "David E. O'Brien" Date: Fri, 22 Oct 2010 17:49:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214208 - stable/7/bin/sh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 17:49:11 -0000 Author: obrien Date: Fri Oct 22 17:49:11 2010 New Revision: 214208 URL: http://svn.freebsd.org/changeset/base/214208 Log: MFC r212243: improve comments in expand.c r214100: MFC r213815: only need to look as far as '..' to find 'test/' r214104: r213774: DEBUG_FLAGS should be used to enable extra debugging rather than frobbing CFLAGS directly. r213798: do not inline static functions if debugging Modified: stable/7/bin/sh/Makefile stable/7/bin/sh/expand.c Directory Properties: stable/7/bin/sh/ (props changed) Modified: stable/7/bin/sh/Makefile ============================================================================== --- stable/7/bin/sh/Makefile Fri Oct 22 16:00:45 2010 (r214207) +++ stable/7/bin/sh/Makefile Fri Oct 22 17:49:11 2010 (r214208) @@ -21,12 +21,12 @@ LDADD= -ll -ledit -ltermcap LFLAGS= -8 # 8-bit lex scanner for arithmetic CFLAGS+=-DSHELL -I. -I${.CURDIR} # for debug: -# CFLAGS+= -g -DDEBUG=2 +# DEBUG_FLAGS+= -g -DDEBUG=2 -fno-inline WARNS?= 2 WFORMAT=0 .PATH: ${.CURDIR}/bltin \ - ${.CURDIR}/../../bin/test + ${.CURDIR}/../test CLEANFILES+= mkinit mkinit.o mknodes mknodes.o \ mksyntax mksyntax.o Modified: stable/7/bin/sh/expand.c ============================================================================== --- stable/7/bin/sh/expand.c Fri Oct 22 16:00:45 2010 (r214207) +++ stable/7/bin/sh/expand.c Fri Oct 22 17:49:11 2010 (r214208) @@ -139,12 +139,18 @@ expandhere(union node *arg, int fd) /* - * Perform variable substitution and command substitution on an argument, - * placing the resulting list of arguments in arglist. If EXP_FULL is true, - * perform splitting and file name expansion. When arglist is NULL, perform - * here document expansion. + * Perform expansions on an argument, placing the resulting list of arguments + * in arglist. Parameter expansion, command substitution and arithmetic + * expansion are always performed; additional expansions can be requested + * via flag (EXP_*). + * The result is left in the stack string. + * When arglist is NULL, perform here document expansion. A partial result + * may be written to herefd, which is then not included in the stack string. + * + * Caution: this function uses global state and is not reentrant. + * However, a new invocation after an interrupted invocation is safe + * and will reset the global state for the new call. */ - void expandarg(union node *arg, struct arglist *arglist, int flag) { @@ -196,11 +202,14 @@ expandarg(union node *arg, struct arglis /* - * Perform variable and command substitution. If EXP_FULL is set, output CTLESC - * characters to allow for further processing. Otherwise treat - * $@ like $* since no splitting will be performed. + * Perform parameter expansion, command substitution and arithmetic + * expansion, and tilde expansion if requested via EXP_TILDE/EXP_VARTILDE. + * Processing ends at a CTLENDVAR character as well as '\0'. + * This is used to expand word in ${var+word} etc. + * If EXP_FULL, EXP_CASE or EXP_REDIR are set, keep and/or generate CTLESC + * characters to allow for further processing. + * If EXP_FULL is set, also preserve CTLQUOTEMARK characters. */ - STATIC void argstr(char *p, int flag) { @@ -213,7 +222,7 @@ argstr(char *p, int flag) for (;;) { switch (c = *p++) { case '\0': - case CTLENDVAR: /* ??? */ + case CTLENDVAR: goto breakloop; case CTLQUOTEMARK: /* "$@" syntax adherence hack */ @@ -263,6 +272,10 @@ argstr(char *p, int flag) breakloop:; } +/* + * Perform tilde expansion, placing the result in the stack string and + * returning the next position in the input string to process. + */ STATIC char * exptilde(char *p, int flag) { @@ -363,12 +376,11 @@ expari(int flag) int quotes = flag & (EXP_FULL | EXP_CASE | EXP_REDIR); int quoted; - /* * This routine is slightly over-complicated for * efficiency. First we make sure there is * enough space for the result, which may be bigger - * than the expression if we add exponentiation. Next we + * than the expression. Next we * scan backwards looking for the start of arithmetic. If the * next previous character is a CTLESC character, then we * have to rescan starting from the beginning since CTLESC @@ -407,9 +419,8 @@ expari(int flag) /* - * Expand stuff in backwards quotes. + * Perform command substitution. */ - STATIC void expbackq(union node *cmd, int quoted, int flag) { @@ -961,6 +972,12 @@ recordregion(int start, int end, int nul * Break the argument string into pieces based upon IFS and add the * strings to the argument list. The regions of the string to be * searched for IFS characters have been stored by recordregion. + * CTLESC characters are preserved but have little effect in this pass + * other than escaping CTL* characters. In particular, they do not escape + * IFS characters: that should be done with the ifsregion mechanism. + * CTLQUOTEMARK characters are used to preserve empty quoted strings. + * This pass treats them as a regular character, making the string non-empty. + * Later, they are removed along with the other CTL* characters. */ STATIC void ifsbreakup(char *string, struct arglist *arglist) @@ -1048,15 +1065,14 @@ ifsbreakup(char *string, struct arglist } - -/* - * Expand shell metacharacters. At this point, the only control characters - * should be escapes. The results are stored in the list exparg. - */ - STATIC char expdir[PATH_MAX]; #define expdir_end (expdir + sizeof(expdir)) +/* + * Perform pathname generation and remove control characters. + * At this point, the only control characters should be CTLESC and CTLQUOTEMARK. + * The results are stored in the list exparg. + */ STATIC void expandmeta(struct strlist *str, int flag __unused) { @@ -1456,7 +1472,7 @@ breakloop: /* - * Remove any CTLESC characters from a string. + * Remove any CTLESC and CTLQUOTEMARK characters from a string. */ void From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 18:07:22 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7EAE1106566B; Fri, 22 Oct 2010 18:07:21 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6DFC18FC17; Fri, 22 Oct 2010 18:07:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9MI7L8K061659; Fri, 22 Oct 2010 18:07:21 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9MI7LD8061657; Fri, 22 Oct 2010 18:07:21 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <201010221807.o9MI7LD8061657@svn.freebsd.org> From: Roman Divacky Date: Fri, 22 Oct 2010 18:07:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214210 - head/sys/boot/i386/boot2 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 18:07:22 -0000 Author: rdivacky Date: Fri Oct 22 18:07:21 2010 New Revision: 214210 URL: http://svn.freebsd.org/changeset/base/214210 Log: Avoid using memcpy() for copying 32bit chunks. This shrinks the resulting code a little. Approved by: rpaulo (mentor) Reviewed by: jhb Modified: head/sys/boot/i386/boot2/boot2.c Modified: head/sys/boot/i386/boot2/boot2.c ============================================================================== --- head/sys/boot/i386/boot2/boot2.c Fri Oct 22 18:06:58 2010 (r214209) +++ head/sys/boot/i386/boot2/boot2.c Fri Oct 22 18:07:21 2010 (r214210) @@ -348,7 +348,7 @@ load(void) return; p += hdr.ex.a_data + roundup2(hdr.ex.a_bss, PAGE_SIZE); bootinfo.bi_symtab = VTOP(p); - memcpy(p, &hdr.ex.a_syms, sizeof(hdr.ex.a_syms)); + *(uint32_t*)p = hdr.ex.a_syms; p += sizeof(hdr.ex.a_syms); if (hdr.ex.a_syms) { if (xfsread(ino, p, hdr.ex.a_syms)) @@ -385,7 +385,7 @@ load(void) if (xfsread(ino, &es, sizeof(es))) return; for (i = 0; i < 2; i++) { - memcpy(p, &es[i].sh_size, sizeof(es[i].sh_size)); + *(Elf32_Word *)p = es[i].sh_size; p += sizeof(es[i].sh_size); fs_off = es[i].sh_offset; if (xfsread(ino, p, es[i].sh_size)) From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 18:31:45 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 50B861065673; Fri, 22 Oct 2010 18:31:45 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4064B8FC1C; Fri, 22 Oct 2010 18:31:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9MIVjwD062430; Fri, 22 Oct 2010 18:31:45 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9MIVj85062427; Fri, 22 Oct 2010 18:31:45 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201010221831.o9MIVj85062427@svn.freebsd.org> From: Pyun YongHyeon Date: Fri, 22 Oct 2010 18:31:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214216 - head/sys/dev/bge X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 18:31:45 -0000 Author: yongari Date: Fri Oct 22 18:31:44 2010 New Revision: 214216 URL: http://svn.freebsd.org/changeset/base/214216 Log: Enable TX MAC state machine lockup fix for both BCM5755 or higher and BCM5906. Publicly available data sheet just says it may happen due to corrupted TxMbuf. Modified: head/sys/dev/bge/if_bge.c head/sys/dev/bge/if_bgereg.h Modified: head/sys/dev/bge/if_bge.c ============================================================================== --- head/sys/dev/bge/if_bge.c Fri Oct 22 18:14:25 2010 (r214215) +++ head/sys/dev/bge/if_bge.c Fri Oct 22 18:31:44 2010 (r214216) @@ -4409,6 +4409,7 @@ bge_init_locked(struct bge_softc *sc) { struct ifnet *ifp; uint16_t *m; + uint32_t mode; BGE_LOCK_ASSERT(sc); @@ -4514,8 +4515,12 @@ bge_init_locked(struct bge_softc *sc) /* Init TX ring. */ bge_init_tx_ring(sc); + /* Enable TX MAC state machine lockup fix. */ + mode = CSR_READ_4(sc, BGE_TX_MODE); + if (BGE_IS_5755_PLUS(sc) || sc->bge_asicrev == BGE_ASICREV_BCM5906) + mode |= BGE_TXMODE_MBUF_LOCKUP_FIX; /* Turn on transmitter. */ - BGE_SETBIT(sc, BGE_TX_MODE, BGE_TXMODE_ENABLE); + CSR_WRITE_4(sc, BGE_TX_MODE, mode | BGE_TXMODE_ENABLE); /* Turn on receiver. */ BGE_SETBIT(sc, BGE_RX_MODE, BGE_RXMODE_ENABLE); Modified: head/sys/dev/bge/if_bgereg.h ============================================================================== --- head/sys/dev/bge/if_bgereg.h Fri Oct 22 18:14:25 2010 (r214215) +++ head/sys/dev/bge/if_bgereg.h Fri Oct 22 18:31:44 2010 (r214216) @@ -765,6 +765,7 @@ #define BGE_TXMODE_FLOWCTL_ENABLE 0x00000010 #define BGE_TXMODE_BIGBACKOFF_ENABLE 0x00000020 #define BGE_TXMODE_LONGPAUSE_ENABLE 0x00000040 +#define BGE_TXMODE_MBUF_LOCKUP_FIX 0x00000100 /* Transmit MAC status register */ #define BGE_TXSTAT_RX_XOFFED 0x00000001 From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 18:54:09 2010 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DE4EB1065672; Fri, 22 Oct 2010 18:54:09 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 89F728FC0C; Fri, 22 Oct 2010 18:54:09 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id o9MIke0V059441; Fri, 22 Oct 2010 12:46:40 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Fri, 22 Oct 2010 12:46:40 -0600 (MDT) Message-Id: <20101022.124640.74690513.imp@bsdimp.com> To: rdivacky@FreeBSD.org From: Warner Losh In-Reply-To: <201010221807.o9MI7LD8061657@svn.freebsd.org> References: <201010221807.o9MI7LD8061657@svn.freebsd.org> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r214210 - head/sys/boot/i386/boot2 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 18:54:10 -0000 > Avoid using memcpy() for copying 32bit chunks. This shrinks > the resulting code a little. I think I put the memcpy code in when I was porting to ARM to reduce the diffs since it is needed there... Warner From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 19:30:57 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1542F1065670; Fri, 22 Oct 2010 19:30:57 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 04C438FC16; Fri, 22 Oct 2010 19:30:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9MJUuw9063790; Fri, 22 Oct 2010 19:30:56 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9MJUuR1063787; Fri, 22 Oct 2010 19:30:56 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201010221930.o9MJUuR1063787@svn.freebsd.org> From: Pyun YongHyeon Date: Fri, 22 Oct 2010 19:30:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214219 - head/sys/dev/bge X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 19:30:57 -0000 Author: yongari Date: Fri Oct 22 19:30:56 2010 New Revision: 214219 URL: http://svn.freebsd.org/changeset/base/214219 Log: Add workaround for BCM5906 A1 controller silicon bug. When auto-negotiation results in half-duplex operation, excess collision on the ethernet link may cause internal chip delays that may result in subsequent valid frames being dropped due to insufficient receive buffer resources. The workaround is to choose de-pipeline method as a flow control decision for SDI. De-pipeline method allows only 1 data in TxMbuf at a time such that a request to RDMA from SDI is made only when TxMbuf is empty. Thanks for david for providing detailed errata information. Modified: head/sys/dev/bge/if_bge.c head/sys/dev/bge/if_bgereg.h Modified: head/sys/dev/bge/if_bge.c ============================================================================== --- head/sys/dev/bge/if_bge.c Fri Oct 22 19:18:48 2010 (r214218) +++ head/sys/dev/bge/if_bge.c Fri Oct 22 19:30:56 2010 (r214219) @@ -1693,6 +1693,11 @@ bge_blockinit(struct bge_softc *sc) bge_writembx(sc, BGE_MBX_RX_MINI_PROD_LO, 0); } + /* Choose de-pipeline mode for BCM5906 A1. */ + if (sc->bge_asicrev == BGE_ASICREV_BCM5906 && + sc->bge_chiprev == BGE_CHIPID_BCM5906_A1) + CSR_WRITE_4(sc, BGE_ISO_PKT_TX, + (CSR_READ_4(sc, BGE_ISO_PKT_TX) & ~3) | 2); /* * The BD ring replenish thresholds control how often the * hardware fetches new BD's from the producer rings in host Modified: head/sys/dev/bge/if_bgereg.h ============================================================================== --- head/sys/dev/bge/if_bgereg.h Fri Oct 22 19:18:48 2010 (r214218) +++ head/sys/dev/bge/if_bgereg.h Fri Oct 22 19:30:56 2010 (r214219) @@ -880,6 +880,7 @@ #define BGE_SDI_STATS_CTL 0x0C08 #define BGE_SDI_STATS_ENABLE_MASK 0x0C0C #define BGE_SDI_STATS_INCREMENT_MASK 0x0C10 +#define BGE_ISO_PKT_TX 0x0C20 #define BGE_LOCSTATS_COS0 0x0C80 #define BGE_LOCSTATS_COS1 0x0C84 #define BGE_LOCSTATS_COS2 0x0C88 From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 19:53:38 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 15F471065674 for ; Fri, 22 Oct 2010 19:53:38 +0000 (UTC) (envelope-from joerg@britannica.bec.de) Received: from www.sonnenberger.org (www.sonnenberger.org [92.79.50.50]) by mx1.freebsd.org (Postfix) with ESMTP id C0BA78FC1A for ; Fri, 22 Oct 2010 19:53:37 +0000 (UTC) Received: from britannica.bec.de (www.sonnenberger.org [192.168.1.10]) by www.sonnenberger.org (Postfix) with ESMTP id 054A6666BB for ; Fri, 22 Oct 2010 21:53:35 +0200 (CEST) Received: by britannica.bec.de (Postfix, from userid 1000) id 00FD1116E60; Fri, 22 Oct 2010 21:54:17 +0200 (CEST) Date: Fri, 22 Oct 2010 21:54:17 +0200 From: Joerg Sonnenberger To: svn-src-all@freebsd.org Message-ID: <20101022195417.GA20186@britannica.bec.de> References: <201010221807.o9MI7LD8061657@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201010221807.o9MI7LD8061657@svn.freebsd.org> User-Agent: Mutt/1.5.20 (2009-06-14) Subject: Re: svn commit: r214210 - head/sys/boot/i386/boot2 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 19:53:38 -0000 On Fri, Oct 22, 2010 at 06:07:21PM +0000, Roman Divacky wrote: > Log: > Avoid using memcpy() for copying 32bit chunks. This shrinks > the resulting code a little. Can't you force the use of the builtin memcpy for this? Joerg From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 19:54:17 2010 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5C315106566C; Fri, 22 Oct 2010 19:54:17 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (cl-327.ede-01.nl.sixxs.net [IPv6:2001:7b8:2ff:146::2]) by mx1.freebsd.org (Postfix) with ESMTP id 19E7A8FC1B; Fri, 22 Oct 2010 19:54:17 +0000 (UTC) Received: from [IPv6:2001:7b8:3a7:0:d078:763c:c1b4:ed0d] (unknown [IPv6:2001:7b8:3a7:0:d078:763c:c1b4:ed0d]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 014835C43; Fri, 22 Oct 2010 21:54:15 +0200 (CEST) Message-ID: <4CC1EBEB.2020309@FreeBSD.org> Date: Fri, 22 Oct 2010 21:54:19 +0200 From: Dimitry Andric Organization: The FreeBSD Project User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.2.12pre) Gecko/20101016 Lanikai/3.1.6pre MIME-Version: 1.0 To: Warner Losh References: <201010221807.o9MI7LD8061657@svn.freebsd.org> <20101022.124640.74690513.imp@bsdimp.com> In-Reply-To: <20101022.124640.74690513.imp@bsdimp.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@FreeBSD.org, rdivacky@FreeBSD.org, src-committers@FreeBSD.org, svn-src-all@FreeBSD.org Subject: Re: svn commit: r214210 - head/sys/boot/i386/boot2 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 19:54:17 -0000 On 2010-10-22 20:46, Warner Losh wrote: >> Avoid using memcpy() for copying 32bit chunks. This shrinks >> the resulting code a little. > > I think I put the memcpy code in when I was porting to ARM to reduce > the diffs since it is needed there... Due to alignment problems otherwise? From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 20:13:45 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F124A106564A; Fri, 22 Oct 2010 20:13:45 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DFDBB8FC0C; Fri, 22 Oct 2010 20:13:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9MKDjKi064998; Fri, 22 Oct 2010 20:13:45 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9MKDjiO064995; Fri, 22 Oct 2010 20:13:45 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201010222013.o9MKDjiO064995@svn.freebsd.org> From: Hans Petter Selasky Date: Fri, 22 Oct 2010 20:13:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214221 - head/sys/dev/usb X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 20:13:46 -0000 Author: hselasky Date: Fri Oct 22 20:13:45 2010 New Revision: 214221 URL: http://svn.freebsd.org/changeset/base/214221 Log: Add possibility to generate devctl notifications regardless of UGEN presence. Submitted by: Nick Hibma Approved by: thompsa (mentor) Modified: head/sys/dev/usb/usb_device.c head/sys/dev/usb/usb_freebsd.h Modified: head/sys/dev/usb/usb_device.c ============================================================================== --- head/sys/dev/usb/usb_device.c Fri Oct 22 20:02:18 2010 (r214220) +++ head/sys/dev/usb/usb_device.c Fri Oct 22 20:13:45 2010 (r214221) @@ -98,8 +98,10 @@ static void usb_suspend_resume_sub(struc static void usbd_clear_stall_proc(struct usb_proc_msg *_pm); static usb_error_t usb_config_parse(struct usb_device *, uint8_t, uint8_t); static void usbd_set_device_strings(struct usb_device *); -#if USB_HAVE_UGEN +#if USB_HAVE_DEVCTL static void usb_notify_addq(const char *type, struct usb_device *); +#endif +#if USB_HAVE_UGEN static void usb_fifo_free_wrap(struct usb_device *, uint8_t, uint8_t); static struct cdev *usb_make_dev(struct usb_device *, int, int); static void usb_cdev_create(struct usb_device *); @@ -1858,7 +1860,9 @@ config_done: printf("%s: <%s> at %s\n", udev->ugen_name, usb_get_manufacturer(udev), device_get_nameunit(udev->bus->bdev)); +#endif +#if USB_HAVE_DEVCTL usb_notify_addq("ATTACH", udev); #endif done: @@ -2004,9 +2008,11 @@ usb_free_device(struct usb_device *udev, bus = udev->bus; usb_set_device_state(udev, USB_STATE_DETACHED); -#if USB_HAVE_UGEN +#if USB_HAVE_DEVCTL usb_notify_addq("DETACH", udev); +#endif +#if USB_HAVE_UGEN printf("%s: <%s> at %s (disconnected)\n", udev->ugen_name, usb_get_manufacturer(udev), device_get_nameunit(bus->bdev)); @@ -2373,7 +2379,7 @@ usbd_get_device_index(struct usb_device return (udev->device_index); } -#if USB_HAVE_UGEN +#if USB_HAVE_DEVCTL /*------------------------------------------------------------------------* * usb_notify_addq * @@ -2409,7 +2415,9 @@ usb_notify_addq_compat(const char *type, /* String it all together. */ snprintf(data, buf_size, "%s" +#if USB_HAVE_UGEN "%s " +#endif "vendor=0x%04x " "product=0x%04x " "devclass=0x%02x " @@ -2418,20 +2426,27 @@ usb_notify_addq_compat(const char *type, "release=0x%04x " "at " "port=%u " - "on " - "%s\n", +#if USB_HAVE_UGEN + "on %s\n" +#endif + "", ntype, +#if USB_HAVE_UGEN udev->ugen_name, +#endif UGETW(udev->ddesc.idVendor), UGETW(udev->ddesc.idProduct), udev->ddesc.bDeviceClass, udev->ddesc.bDeviceSubClass, usb_get_serial(udev), UGETW(udev->ddesc.bcdDevice), - udev->port_no, - udev->parent_hub != NULL ? + udev->port_no +#if USB_HAVE_UGEN + , udev->parent_hub != NULL ? udev->parent_hub->ugen_name : - device_get_nameunit(device_get_parent(udev->bus->bdev))); + device_get_nameunit(device_get_parent(udev->bus->bdev)) +#endif + ); devctl_queue_data(data); } @@ -2451,7 +2466,9 @@ usb_notify_addq(const char *type, struct /* announce the device */ sb = sbuf_new_auto(); sbuf_printf(sb, - "cdev=%s " +#if USB_HAVE_UGEN + "ugen=%s " +#endif "vendor=0x%04x " "product=0x%04x " "devclass=0x%02x " @@ -2460,8 +2477,13 @@ usb_notify_addq(const char *type, struct "release=0x%04x " "mode=%s " "port=%u " - "parent=%s\n", +#if USB_HAVE_UGEN + "parent=%s\n" +#endif + "", +#if USB_HAVE_UGEN udev->ugen_name, +#endif UGETW(udev->ddesc.idVendor), UGETW(udev->ddesc.idProduct), udev->ddesc.bDeviceClass, @@ -2469,10 +2491,13 @@ usb_notify_addq(const char *type, struct usb_get_serial(udev), UGETW(udev->ddesc.bcdDevice), (udev->flags.usb_mode == USB_MODE_HOST) ? "host" : "device", - udev->port_no, - udev->parent_hub != NULL ? - udev->parent_hub->ugen_name : - device_get_nameunit(device_get_parent(udev->bus->bdev))); + udev->port_no +#if USB_HAVE_UGEN + , udev->parent_hub != NULL ? + udev->parent_hub->ugen_name : + device_get_nameunit(device_get_parent(udev->bus->bdev)) +#endif + ); sbuf_finish(sb); devctl_notify("USB", "DEVICE", type, sbuf_data(sb)); sbuf_delete(sb); @@ -2487,7 +2512,9 @@ usb_notify_addq(const char *type, struct sb = sbuf_new_auto(); sbuf_printf(sb, - "cdev=%s " +#if USB_HAVE_UGEN + "ugen=%s " +#endif "vendor=0x%04x " "product=0x%04x " "devclass=0x%02x " @@ -2500,7 +2527,9 @@ usb_notify_addq(const char *type, struct "intclass=0x%02x " "intsubclass=0x%02x " "intprotocol=0x%02x\n", +#if USB_HAVE_UGEN udev->ugen_name, +#endif UGETW(udev->ddesc.idVendor), UGETW(udev->ddesc.idProduct), udev->ddesc.bDeviceClass, @@ -2518,7 +2547,9 @@ usb_notify_addq(const char *type, struct sbuf_delete(sb); } } +#endif +#if USB_HAVE_UGEN /*------------------------------------------------------------------------* * usb_fifo_free_wrap * Modified: head/sys/dev/usb/usb_freebsd.h ============================================================================== --- head/sys/dev/usb/usb_freebsd.h Fri Oct 22 20:02:18 2010 (r214220) +++ head/sys/dev/usb/usb_freebsd.h Fri Oct 22 20:13:45 2010 (r214221) @@ -33,6 +33,7 @@ /* Default USB configuration */ #define USB_HAVE_UGEN 1 +#define USB_HAVE_DEVCTL 1 #define USB_HAVE_BUSDMA 1 #define USB_HAVE_COMPAT_LINUX 1 #define USB_HAVE_USER_IO 1 From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 20:13:59 2010 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 52D9E1065703; Fri, 22 Oct 2010 20:13:59 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id EECA98FC14; Fri, 22 Oct 2010 20:13:58 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id o9MK38gG060604; Fri, 22 Oct 2010 14:03:08 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Fri, 22 Oct 2010 14:03:08 -0600 (MDT) Message-Id: <20101022.140308.487226281.imp@bsdimp.com> To: dim@FreeBSD.org From: Warner Losh In-Reply-To: <4CC1EBEB.2020309@FreeBSD.org> References: <201010221807.o9MI7LD8061657@svn.freebsd.org> <20101022.124640.74690513.imp@bsdimp.com> <4CC1EBEB.2020309@FreeBSD.org> X-Mailer: Mew version 6.3 on Emacs 23.2 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: svn-src-head@FreeBSD.org, rdivacky@FreeBSD.org, src-committers@FreeBSD.org, svn-src-all@FreeBSD.org Subject: Re: svn commit: r214210 - head/sys/boot/i386/boot2 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 20:13:59 -0000 In message: <4CC1EBEB.2020309@FreeBSD.org> Dimitry Andric writes: : On 2010-10-22 20:46, Warner Losh wrote: : >> Avoid using memcpy() for copying 32bit chunks. This shrinks : >> the resulting code a little. : > : > I think I put the memcpy code in when I was porting to ARM to reduce : > the diffs since it is needed there... : Due to alignment problems otherwise? Yes. At the time it didn't make a difference to the size of boot2. Now I know that we're looking for every byte to trim... Warner From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 21:38:56 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DBEBA106566B; Fri, 22 Oct 2010 21:38:56 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B02088FC16; Fri, 22 Oct 2010 21:38:56 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9MLcu3e066854; Fri, 22 Oct 2010 21:38:56 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9MLcuLY066850; Fri, 22 Oct 2010 21:38:56 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201010222138.o9MLcuLY066850@svn.freebsd.org> From: Rick Macklem Date: Fri, 22 Oct 2010 21:38:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214224 - in head/sys/fs: nfs nfsserver X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 21:38:57 -0000 Author: rmacklem Date: Fri Oct 22 21:38:56 2010 New Revision: 214224 URL: http://svn.freebsd.org/changeset/base/214224 Log: Modify the file handle hash function in the experimental NFS server so that it will work better for non-UFS file systems. The new function simply sums the bytes of the fh_fid field of fhandle_t. MFC after: 10 days Modified: head/sys/fs/nfs/nfs_var.h head/sys/fs/nfs/nfsdport.h head/sys/fs/nfsserver/nfs_nfsdport.c Modified: head/sys/fs/nfs/nfs_var.h ============================================================================== --- head/sys/fs/nfs/nfs_var.h Fri Oct 22 20:46:08 2010 (r214223) +++ head/sys/fs/nfs/nfs_var.h Fri Oct 22 21:38:56 2010 (r214224) @@ -576,6 +576,7 @@ void nfsvno_unlockvfs(mount_t); int nfsvno_lockvfs(mount_t); int nfsrv_v4rootexport(void *, struct ucred *, NFSPROC_T *); int nfsvno_testexp(struct nfsrv_descript *, struct nfsexstuff *); +int nfsrv_hashfh(fhandle_t *); /* nfs_commonkrpc.c */ int newnfs_nmcancelreqs(struct nfsmount *); Modified: head/sys/fs/nfs/nfsdport.h ============================================================================== --- head/sys/fs/nfs/nfsdport.h Fri Oct 22 20:46:08 2010 (r214223) +++ head/sys/fs/nfs/nfsdport.h Fri Oct 22 21:38:56 2010 (r214224) @@ -73,7 +73,7 @@ struct nfsexstuff { bcmp(&(f1)->fh_fid, &(f2)->fh_fid, sizeof(struct fid)) == 0) #define NFSLOCKHASH(f) \ - (&nfslockhash[(*((u_int32_t *)((f)->fh_fid.fid_data))) % NFSLOCKHASHSIZE]) + (&nfslockhash[nfsrv_hashfh(f) % NFSLOCKHASHSIZE]) #define NFSFPVNODE(f) ((struct vnode *)((f)->f_data)) #define NFSFPCRED(f) ((f)->f_cred) Modified: head/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdport.c Fri Oct 22 20:46:08 2010 (r214223) +++ head/sys/fs/nfsserver/nfs_nfsdport.c Fri Oct 22 21:38:56 2010 (r214224) @@ -3087,6 +3087,21 @@ nfsvno_testexp(struct nfsrv_descript *nd return (1); } +/* + * Calculate a hash value for the fid in a file handle. + */ +int +nfsrv_hashfh(fhandle_t *fhp) +{ + int hashval = 0, i; + uint8_t *cp; + + cp = (uint8_t *)&fhp->fh_fid; + for (i = 0; i < sizeof(struct fid); i++) + hashval += *cp++; + return (hashval); +} + extern int (*nfsd_call_nfsd)(struct thread *, struct nfssvc_args *); /* From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 22:13:12 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E95391065675; Fri, 22 Oct 2010 22:13:11 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D80878FC13; Fri, 22 Oct 2010 22:13:11 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9MMDBWU067591; Fri, 22 Oct 2010 22:13:11 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9MMDBii067587; Fri, 22 Oct 2010 22:13:11 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010222213.o9MMDBii067587@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Fri, 22 Oct 2010 22:13:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214225 - head/sys/geom/eli X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 22:13:12 -0000 Author: pjd Date: Fri Oct 22 22:13:11 2010 New Revision: 214225 URL: http://svn.freebsd.org/changeset/base/214225 Log: Move sc_akeyctx and sc_ivctx initialization to the g_eli_mkey_propagate() function which eliminates code duplication and will ensure proper order of operation. Modified: head/sys/geom/eli/g_eli.c head/sys/geom/eli/g_eli_ctl.c head/sys/geom/eli/g_eli_key.c Modified: head/sys/geom/eli/g_eli.c ============================================================================== --- head/sys/geom/eli/g_eli.c Fri Oct 22 21:38:56 2010 (r214224) +++ head/sys/geom/eli/g_eli.c Fri Oct 22 22:13:11 2010 (r214225) @@ -817,30 +817,6 @@ g_eli_create(struct gctl_req *req, struc */ g_eli_mkey_propagate(sc, mkey); sc->sc_ekeylen = md->md_keylen; - if (sc->sc_flags & G_ELI_FLAG_AUTH) { - /* - * Precalculate SHA256 for HMAC key generation. - * This is expensive operation and we can do it only once now or - * for every access to sector, so now will be much better. - */ - SHA256_Init(&sc->sc_akeyctx); - SHA256_Update(&sc->sc_akeyctx, sc->sc_akey, - sizeof(sc->sc_akey)); - } - /* - * Precalculate SHA256 for IV generation. - * This is expensive operation and we can do it only once now or for - * every access to sector, so now will be much better. - */ - switch (sc->sc_ealgo) { - case CRYPTO_AES_XTS: - break; - default: - SHA256_Init(&sc->sc_ivctx); - SHA256_Update(&sc->sc_ivctx, sc->sc_ivkey, - sizeof(sc->sc_ivkey)); - break; - } LIST_INIT(&sc->sc_workers); Modified: head/sys/geom/eli/g_eli_ctl.c ============================================================================== --- head/sys/geom/eli/g_eli_ctl.c Fri Oct 22 21:38:56 2010 (r214224) +++ head/sys/geom/eli/g_eli_ctl.c Fri Oct 22 22:13:11 2010 (r214225) @@ -882,26 +882,10 @@ g_eli_ctl_resume(struct gctl_req *req, s mtx_lock(&sc->sc_queue_mtx); /* Restore sc_mkey, sc_ekeys, sc_akey and sc_ivkey. */ g_eli_mkey_propagate(sc, mkey); - bzero(mkey, sizeof(mkey)); - bzero(&md, sizeof(md)); - /* Restore sc_akeyctx. */ - if (sc->sc_flags & G_ELI_FLAG_AUTH) { - SHA256_Init(&sc->sc_akeyctx); - SHA256_Update(&sc->sc_akeyctx, sc->sc_akey, - sizeof(sc->sc_akey)); - } - /* Restore sc_ivctx. */ - switch (sc->sc_ealgo) { - case CRYPTO_AES_XTS: - break; - default: - SHA256_Init(&sc->sc_ivctx); - SHA256_Update(&sc->sc_ivctx, sc->sc_ivkey, - sizeof(sc->sc_ivkey)); - break; - } sc->sc_flags &= ~G_ELI_FLAG_SUSPEND; mtx_unlock(&sc->sc_queue_mtx); + bzero(mkey, sizeof(mkey)); + bzero(&md, sizeof(md)); G_ELI_DEBUG(1, "Resumed %s.", pp->name); wakeup(sc); } Modified: head/sys/geom/eli/g_eli_key.c ============================================================================== --- head/sys/geom/eli/g_eli_key.c Fri Oct 22 21:38:56 2010 (r214224) +++ head/sys/geom/eli/g_eli_key.c Fri Oct 22 22:13:11 2010 (r214225) @@ -264,5 +264,30 @@ g_eli_mkey_propagate(struct g_eli_softc /* Generate all encryption keys. */ g_eli_ekeys_generate(sc); } + + if (sc->sc_flags & G_ELI_FLAG_AUTH) { + /* + * Precalculate SHA256 for HMAC key generation. + * This is expensive operation and we can do it only once now or + * for every access to sector, so now will be much better. + */ + SHA256_Init(&sc->sc_akeyctx); + SHA256_Update(&sc->sc_akeyctx, sc->sc_akey, + sizeof(sc->sc_akey)); + } + /* + * Precalculate SHA256 for IV generation. + * This is expensive operation and we can do it only once now or for + * every access to sector, so now will be much better. + */ + switch (sc->sc_ealgo) { + case CRYPTO_AES_XTS: + break; + default: + SHA256_Init(&sc->sc_ivctx); + SHA256_Update(&sc->sc_ivctx, sc->sc_ivkey, + sizeof(sc->sc_ivkey)); + break; + } } #endif From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 22:44:09 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8F26A106566B; Fri, 22 Oct 2010 22:44:09 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7E49C8FC13; Fri, 22 Oct 2010 22:44:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9MMi9Ex068400; Fri, 22 Oct 2010 22:44:09 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9MMi96J068398; Fri, 22 Oct 2010 22:44:09 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010222244.o9MMi96J068398@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Fri, 22 Oct 2010 22:44:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214226 - head/sys/geom/eli X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 22:44:09 -0000 Author: pjd Date: Fri Oct 22 22:44:09 2010 New Revision: 214226 URL: http://svn.freebsd.org/changeset/base/214226 Log: Encryption keys array might be NULL if device is suspended. Check for this, so we don't panic when we detach suspended device. Modified: head/sys/geom/eli/g_eli.c Modified: head/sys/geom/eli/g_eli.c ============================================================================== --- head/sys/geom/eli/g_eli.c Fri Oct 22 22:13:11 2010 (r214225) +++ head/sys/geom/eli/g_eli.c Fri Oct 22 22:44:09 2010 (r214226) @@ -952,9 +952,12 @@ g_eli_destroy(struct g_eli_softc *sc, bo } mtx_destroy(&sc->sc_queue_mtx); gp->softc = NULL; - bzero(sc->sc_ekeys, - sc->sc_nekeys * (sizeof(uint8_t *) + G_ELI_DATAKEYLEN)); - free(sc->sc_ekeys, M_ELI); + if (sc->sc_ekeys != NULL) { + /* The sc_ekeys field can be NULL is device is suspended. */ + bzero(sc->sc_ekeys, + sc->sc_nekeys * (sizeof(uint8_t *) + G_ELI_DATAKEYLEN)); + free(sc->sc_ekeys, M_ELI); + } bzero(sc, sizeof(*sc)); free(sc, M_ELI); From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 22:45:27 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4F53C1065672; Fri, 22 Oct 2010 22:45:27 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3E7F58FC19; Fri, 22 Oct 2010 22:45:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9MMjRGL068466; Fri, 22 Oct 2010 22:45:27 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9MMjRTl068464; Fri, 22 Oct 2010 22:45:27 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010222245.o9MMjRTl068464@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Fri, 22 Oct 2010 22:45:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214227 - head/sys/geom/eli X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 22:45:27 -0000 Author: pjd Date: Fri Oct 22 22:45:26 2010 New Revision: 214227 URL: http://svn.freebsd.org/changeset/base/214227 Log: Add State tag, so 'geli status' will report active/suspended status, eg: # geli status Name Status Components da0.eli SUSPENDED da0 da1.eli ACTIVE da1 Modified: head/sys/geom/eli/g_eli.c Modified: head/sys/geom/eli/g_eli.c ============================================================================== --- head/sys/geom/eli/g_eli.c Fri Oct 22 22:44:09 2010 (r214226) +++ head/sys/geom/eli/g_eli.c Fri Oct 22 22:45:26 2010 (r214227) @@ -1247,6 +1247,8 @@ g_eli_dumpconf(struct sbuf *sb, const ch sc->sc_ekeylen); sbuf_printf(sb, "%s%s\n", indent, g_eli_algo2str(sc->sc_ealgo)); + sbuf_printf(sb, "%s%s\n", indent, + (sc->sc_flags & G_ELI_FLAG_SUSPEND) ? "SUSPENDED" : "ACTIVE"); } static void From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 22:54:26 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A6ABF106566B; Fri, 22 Oct 2010 22:54:26 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 95AC78FC08; Fri, 22 Oct 2010 22:54:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9MMsQ9n068660; Fri, 22 Oct 2010 22:54:26 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9MMsQkl068658; Fri, 22 Oct 2010 22:54:26 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010222254.o9MMsQkl068658@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Fri, 22 Oct 2010 22:54:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214228 - head/sys/geom/eli X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 22:54:26 -0000 Author: pjd Date: Fri Oct 22 22:54:26 2010 New Revision: 214228 URL: http://svn.freebsd.org/changeset/base/214228 Log: Close a race between checking if device is already suspended and suspending it. Modified: head/sys/geom/eli/g_eli_ctl.c Modified: head/sys/geom/eli/g_eli_ctl.c ============================================================================== --- head/sys/geom/eli/g_eli_ctl.c Fri Oct 22 22:45:26 2010 (r214227) +++ head/sys/geom/eli/g_eli_ctl.c Fri Oct 22 22:54:26 2010 (r214228) @@ -840,10 +840,6 @@ g_eli_ctl_resume(struct gctl_req *req, s gctl_error(req, "Provider %s is invalid.", name); return; } - if (!(sc->sc_flags & G_ELI_FLAG_SUSPEND)) { - gctl_error(req, "Provider %s not suspended.", name); - return; - } cp = LIST_FIRST(&sc->sc_geom->consumer); pp = cp->provider; error = g_eli_read_metadata(mp, pp, &md); @@ -880,14 +876,18 @@ g_eli_ctl_resume(struct gctl_req *req, s G_ELI_DEBUG(1, "Using Master Key %u for %s.", nkey, pp->name); mtx_lock(&sc->sc_queue_mtx); - /* Restore sc_mkey, sc_ekeys, sc_akey and sc_ivkey. */ - g_eli_mkey_propagate(sc, mkey); - sc->sc_flags &= ~G_ELI_FLAG_SUSPEND; + if (!(sc->sc_flags & G_ELI_FLAG_SUSPEND)) + gctl_error(req, "Device %s is not suspended.", name); + else { + /* Restore sc_mkey, sc_ekeys, sc_akey and sc_ivkey. */ + g_eli_mkey_propagate(sc, mkey); + sc->sc_flags &= ~G_ELI_FLAG_SUSPEND; + G_ELI_DEBUG(1, "Resumed %s.", pp->name); + wakeup(sc); + } mtx_unlock(&sc->sc_queue_mtx); bzero(mkey, sizeof(mkey)); bzero(&md, sizeof(md)); - G_ELI_DEBUG(1, "Resumed %s.", pp->name); - wakeup(sc); } static int From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 22:58:00 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DD265106564A; Fri, 22 Oct 2010 22:58:00 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B18A18FC15; Fri, 22 Oct 2010 22:58:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9MMw0Ws068768; Fri, 22 Oct 2010 22:58:00 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9MMw0kX068766; Fri, 22 Oct 2010 22:58:00 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010222258.o9MMw0kX068766@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Fri, 22 Oct 2010 22:58:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214229 - head/sys/geom/eli X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 22:58:01 -0000 Author: pjd Date: Fri Oct 22 22:58:00 2010 New Revision: 214229 URL: http://svn.freebsd.org/changeset/base/214229 Log: - Improve error messages, so instead of 'Not fully done', the user will get information that device is already suspended or that device is using one-time key and suspend is not supported. - 'geli suspend -a' silently skips devices that use one-time key, this is fine, but because we log which device were suspended on the console, log also which devices were skipped. Modified: head/sys/geom/eli/g_eli_ctl.c Modified: head/sys/geom/eli/g_eli_ctl.c ============================================================================== --- head/sys/geom/eli/g_eli_ctl.c Fri Oct 22 22:54:26 2010 (r214228) +++ head/sys/geom/eli/g_eli_ctl.c Fri Oct 22 22:58:00 2010 (r214229) @@ -699,22 +699,28 @@ g_eli_ctl_delkey(struct gctl_req *req, s G_ELI_DEBUG(1, "Key %d removed from %s.", nkey, pp->name); } -static int -g_eli_suspend_one(struct g_eli_softc *sc) +static void +g_eli_suspend_one(struct g_eli_softc *sc, struct gctl_req *req) { struct g_eli_worker *wr; g_topology_assert(); - if (sc == NULL) - return (ENOENT); - if (sc->sc_flags & G_ELI_FLAG_ONETIME) - return (EOPNOTSUPP); + KASSERT(sc != NULL, ("NULL sc")); + + if (sc->sc_flags & G_ELI_FLAG_ONETIME) { + gctl_error(req, + "Device %s is using one-time key, suspend not supported.", + sc->sc_name); + return; + } mtx_lock(&sc->sc_queue_mtx); if (sc->sc_flags & G_ELI_FLAG_SUSPEND) { mtx_unlock(&sc->sc_queue_mtx); - return (EALREADY); + gctl_error(req, "Device %s already suspended.", + sc->sc_name); + return; } sc->sc_flags |= G_ELI_FLAG_SUSPEND; wakeup(sc); @@ -742,8 +748,7 @@ g_eli_suspend_one(struct g_eli_softc *sc bzero(sc->sc_ivkey, sizeof(sc->sc_ivkey)); bzero(&sc->sc_ivctx, sizeof(sc->sc_ivctx)); mtx_unlock(&sc->sc_queue_mtx); - G_ELI_DEBUG(0, "%s has been suspended.", sc->sc_name); - return (0); + G_ELI_DEBUG(0, "Device %s has been suspended.", sc->sc_name); } static void @@ -751,7 +756,6 @@ g_eli_ctl_suspend(struct gctl_req *req, { struct g_eli_softc *sc; int *all, *nargs; - int error; g_topology_assert(); @@ -775,11 +779,13 @@ g_eli_ctl_suspend(struct gctl_req *req, LIST_FOREACH_SAFE(gp, &mp->geom, geom, gp2) { sc = gp->softc; - if (sc->sc_flags & G_ELI_FLAG_ONETIME) + if (sc->sc_flags & G_ELI_FLAG_ONETIME) { + G_ELI_DEBUG(0, + "Device %s is using one-time key, suspend not supported, skipping.", + sc->sc_name); continue; - error = g_eli_suspend_one(sc); - if (error != 0) - gctl_error(req, "Not fully done."); + } + g_eli_suspend_one(sc, req); } } else { const char *prov; @@ -799,9 +805,7 @@ g_eli_ctl_suspend(struct gctl_req *req, G_ELI_DEBUG(0, "No such provider: %s.", prov); continue; } - error = g_eli_suspend_one(sc); - if (error != 0) - gctl_error(req, "Not fully done."); + g_eli_suspend_one(sc, req); } } } From owner-svn-src-all@FreeBSD.ORG Fri Oct 22 23:12:46 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4CC00106566B; Fri, 22 Oct 2010 23:12:46 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 37BAF8FC1C; Fri, 22 Oct 2010 23:12:46 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9MNCk0t069123; Fri, 22 Oct 2010 23:12:46 GMT (envelope-from obrien@svn.freebsd.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9MNCkWB069114; Fri, 22 Oct 2010 23:12:46 GMT (envelope-from obrien@svn.freebsd.org) Message-Id: <201010222312.o9MNCkWB069114@svn.freebsd.org> From: "David E. O'Brien" Date: Fri, 22 Oct 2010 23:12:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214230 - in stable/7: . bin/sh contrib/wpa_supplicant gnu/usr.bin/groff/tmac share/misc tools/regression/bin/sh tools/regression/bin/sh/builtins tools/regression/bin/sh/errors tools/re... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Oct 2010 23:12:46 -0000 Author: obrien Date: Fri Oct 22 23:12:45 2010 New Revision: 214230 URL: http://svn.freebsd.org/changeset/base/214230 Log: MFC r213738: allow one to regression test 'sh' changes without having to install a potentially bad /bin/sh first. r213903: default to 'sh' from PATH if 'SH' env is not set. Modified: stable/7/bin/sh/Makefile stable/7/tools/regression/bin/sh/Makefile stable/7/tools/regression/bin/sh/builtins/var-assign.0 stable/7/tools/regression/bin/sh/errors/option-error.0 stable/7/tools/regression/bin/sh/errors/redirection-error.0 stable/7/tools/regression/bin/sh/execution/func1.0 stable/7/tools/regression/bin/sh/regress.sh stable/7/tools/regression/bin/sh/regress.t Directory Properties: stable/7/ (props changed) stable/7/COPYRIGHT (props changed) stable/7/Makefile (props changed) stable/7/Makefile.inc1 (props changed) stable/7/ObsoleteFiles.inc (props changed) stable/7/UPDATING (props changed) stable/7/bin/ (props changed) stable/7/bin/chflags/ (props changed) stable/7/bin/chio/ (props changed) stable/7/bin/cp/ (props changed) stable/7/bin/csh/ (props changed) stable/7/bin/dd/ (props changed) stable/7/bin/df/ (props changed) stable/7/bin/expr/ (props changed) stable/7/bin/kill/ (props changed) stable/7/bin/ln/ (props changed) stable/7/bin/ls/ (props changed) stable/7/bin/pax/ (props changed) stable/7/bin/ps/ (props changed) stable/7/bin/rm/ (props changed) stable/7/bin/sh/ (props changed) stable/7/bin/test/ (props changed) stable/7/cddl/contrib/opensolaris/ (props changed) stable/7/cddl/lib/libzpool/ (props changed) stable/7/contrib/ (props changed) stable/7/contrib/bind9/ (props changed) stable/7/contrib/binutils/ (props changed) stable/7/contrib/bsnmp/ (props changed) stable/7/contrib/cpio/ (props changed) stable/7/contrib/csup/ (props changed) stable/7/contrib/expat/ (props changed) stable/7/contrib/gcc/ (props changed) stable/7/contrib/gdb/ (props changed) stable/7/contrib/gdtoa/ (props changed) stable/7/contrib/groff/ (props changed) stable/7/contrib/ipfilter/ (props changed) stable/7/contrib/less/ (props changed) stable/7/contrib/libpcap/ (props changed) stable/7/contrib/ncurses/ (props changed) stable/7/contrib/netcat/ (props changed) stable/7/contrib/ntp/ (props changed) stable/7/contrib/nvi/ (props changed) stable/7/contrib/pf/ (props changed) stable/7/contrib/sendmail/ (props changed) stable/7/contrib/smbfs/ (props changed) stable/7/contrib/tcp_wrappers/ (props changed) stable/7/contrib/tcsh/ (props changed) stable/7/contrib/telnet/ (props changed) stable/7/contrib/top/ (props changed) stable/7/contrib/traceroute/ (props changed) stable/7/contrib/wpa_supplicant/ (props changed) stable/7/contrib/wpa_supplicant/wpa_supplicant.conf (props changed) stable/7/crypto/openssh/ (props changed) stable/7/etc/ (props changed) stable/7/games/factor/ (props changed) stable/7/games/fortune/ (props changed) stable/7/games/grdc/ (props changed) stable/7/gnu/ (props changed) stable/7/gnu/lib/libstdc++/ (props changed) stable/7/gnu/usr.bin/ (props changed) stable/7/gnu/usr.bin/cc/ (props changed) stable/7/gnu/usr.bin/cpio/ (props changed) stable/7/gnu/usr.bin/cvs/ (props changed) stable/7/gnu/usr.bin/gdb/ (props changed) stable/7/gnu/usr.bin/gdb/kgdb/ (props changed) stable/7/gnu/usr.bin/grep/ (props changed) stable/7/gnu/usr.bin/groff/ (props changed) stable/7/gnu/usr.bin/groff/tmac/mdoc.local (props changed) stable/7/gnu/usr.bin/man/ (props changed) stable/7/gnu/usr.bin/sort/ (props changed) stable/7/include/ (props changed) stable/7/kerberos5/ (props changed) stable/7/lib/ (props changed) stable/7/lib/bind/ (props changed) stable/7/lib/csu/ (props changed) stable/7/lib/libarchive/ (props changed) stable/7/lib/libbluetooth/ (props changed) stable/7/lib/libc/ (props changed) stable/7/lib/libc/stdtime/ (props changed) stable/7/lib/libc_r/ (props changed) stable/7/lib/libcam/ (props changed) stable/7/lib/libdisk/ (props changed) stable/7/lib/libdwarf/ (props changed) stable/7/lib/libelf/ (props changed) stable/7/lib/libexpat/ (props changed) stable/7/lib/libfetch/ (props changed) stable/7/lib/libftpio/ (props changed) stable/7/lib/libgeom/ (props changed) stable/7/lib/libgssapi/ (props changed) stable/7/lib/libkse/ (props changed) stable/7/lib/libkvm/ (props changed) stable/7/lib/libmagic/ (props changed) stable/7/lib/libmemstat/ (props changed) stable/7/lib/libpmc/ (props changed) stable/7/lib/libradius/ (props changed) stable/7/lib/libsm/ (props changed) stable/7/lib/libstand/ (props changed) stable/7/lib/libthr/ (props changed) stable/7/lib/libthread_db/ (props changed) stable/7/lib/libufs/ (props changed) stable/7/lib/libutil/ (props changed) stable/7/lib/msun/ (props changed) stable/7/libexec/ (props changed) stable/7/libexec/ftpd/ (props changed) stable/7/libexec/rpc.rquotad/ (props changed) stable/7/libexec/rpc.rstatd/ (props changed) stable/7/libexec/rtld-elf/ (props changed) stable/7/libexec/tftpd/ (props changed) stable/7/release/ (props changed) stable/7/release/doc/ (props changed) stable/7/release/doc/en_US.ISO8859-1/hardware/ (props changed) stable/7/release/picobsd/tinyware/login/ (props changed) stable/7/rescue/ (props changed) stable/7/sbin/ (props changed) stable/7/sbin/atacontrol/ (props changed) stable/7/sbin/bsdlabel/ (props changed) stable/7/sbin/clri/ (props changed) stable/7/sbin/ddb/ (props changed) stable/7/sbin/devd/ (props changed) stable/7/sbin/devfs/ (props changed) stable/7/sbin/dhclient/ (props changed) stable/7/sbin/dumpfs/ (props changed) stable/7/sbin/fdisk/ (props changed) stable/7/sbin/fdisk_pc98/ (props changed) stable/7/sbin/fsck/ (props changed) stable/7/sbin/fsck_ffs/ (props changed) stable/7/sbin/fsck_msdosfs/ (props changed) stable/7/sbin/geom/ (props changed) stable/7/sbin/geom/class/label/ (props changed) stable/7/sbin/geom/class/part/ (props changed) stable/7/sbin/geom/class/stripe/ (props changed) stable/7/sbin/geom/misc/ (props changed) stable/7/sbin/growfs/ (props changed) stable/7/sbin/ifconfig/ (props changed) stable/7/sbin/init/ (props changed) stable/7/sbin/ipf/ (props changed) stable/7/sbin/ipfw/ (props changed) stable/7/sbin/md5/ (props changed) stable/7/sbin/mdconfig/ (props changed) stable/7/sbin/mksnap_ffs/ (props changed) stable/7/sbin/mount/ (props changed) stable/7/sbin/mount_msdosfs/ (props changed) stable/7/sbin/natd/ (props changed) stable/7/sbin/newfs/ (props changed) stable/7/sbin/newfs_msdos/ (props changed) stable/7/sbin/ping6/ (props changed) stable/7/sbin/reboot/ (props changed) stable/7/sbin/restore/ (props changed) stable/7/sbin/route/ (props changed) stable/7/sbin/savecore/ (props changed) stable/7/sbin/sconfig/ (props changed) stable/7/sbin/shutdown/ (props changed) stable/7/sbin/sysctl/ (props changed) stable/7/sbin/tunefs/ (props changed) stable/7/secure/lib/libssh/ (props changed) stable/7/secure/libexec/sftp-server/ (props changed) stable/7/secure/usr.bin/bdes/ (props changed) stable/7/secure/usr.bin/ssh/ (props changed) stable/7/secure/usr.sbin/sshd/ (props changed) stable/7/share/ (props changed) stable/7/share/colldef/ (props changed) stable/7/share/dict/ (props changed) stable/7/share/doc/bind9/ (props changed) stable/7/share/examples/ (props changed) stable/7/share/man/ (props changed) stable/7/share/man/man1/ (props changed) stable/7/share/man/man3/ (props changed) stable/7/share/man/man4/ (props changed) stable/7/share/man/man5/ (props changed) stable/7/share/man/man7/ (props changed) stable/7/share/man/man8/ (props changed) stable/7/share/man/man9/ (props changed) stable/7/share/misc/ (props changed) stable/7/share/misc/iso639 (props changed) stable/7/share/misc/pci_vendors (props changed) stable/7/share/mk/ (props changed) stable/7/share/mklocale/ (props changed) stable/7/share/monetdef/ (props changed) stable/7/share/msgdef/ (props changed) stable/7/share/numericdef/ (props changed) stable/7/share/sendmail/ (props changed) stable/7/share/syscons/ (props changed) stable/7/share/syscons/keymaps/ (props changed) stable/7/share/termcap/ (props changed) stable/7/share/timedef/ (props changed) stable/7/share/zoneinfo/ (props changed) stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) stable/7/tools/ (props changed) stable/7/tools/build/ (props changed) stable/7/tools/build/options/ (props changed) stable/7/tools/debugscripts/ (props changed) stable/7/tools/regression/atm/ (props changed) stable/7/tools/regression/bin/sh/ (props changed) stable/7/tools/regression/file/ (props changed) stable/7/tools/regression/file/flock/ (props changed) stable/7/tools/regression/usr.bin/ (props changed) stable/7/tools/regression/usr.bin/jot/ (props changed) stable/7/tools/regression/usr.bin/tr/ (props changed) stable/7/tools/sched/ (props changed) stable/7/tools/test/ (props changed) stable/7/tools/tools/ (props changed) stable/7/tools/tools/aac/ (props changed) stable/7/tools/tools/crypto/ (props changed) stable/7/tools/tools/editing/ (props changed) stable/7/tools/tools/nanobsd/ (props changed) stable/7/tools/tools/nanobsd/FlashDevice.sub (props changed) stable/7/tools/tools/nanobsd/nanobsd.sh (props changed) stable/7/tools/tools/netrate/ (props changed) stable/7/tools/tools/umastat/ (props changed) stable/7/tools/tools/usb/ (props changed) stable/7/usr.bin/ (props changed) stable/7/usr.bin/basename/ (props changed) stable/7/usr.bin/bluetooth/rfcomm_sppd/ (props changed) stable/7/usr.bin/calendar/ (props changed) stable/7/usr.bin/catman/ (props changed) stable/7/usr.bin/cksum/ (props changed) stable/7/usr.bin/comm/ (props changed) stable/7/usr.bin/cpuset/ (props changed) stable/7/usr.bin/csup/ (props changed) stable/7/usr.bin/dirname/ (props changed) stable/7/usr.bin/du/ (props changed) stable/7/usr.bin/fetch/ (props changed) stable/7/usr.bin/file/ (props changed) stable/7/usr.bin/find/ (props changed) stable/7/usr.bin/finger/ (props changed) stable/7/usr.bin/fstat/ (props changed) stable/7/usr.bin/gcore/ (props changed) stable/7/usr.bin/gprof/ (props changed) stable/7/usr.bin/gzip/ (props changed) stable/7/usr.bin/hexdump/ (props changed) stable/7/usr.bin/id/ (props changed) stable/7/usr.bin/indent/ (props changed) stable/7/usr.bin/ipcrm/ (props changed) stable/7/usr.bin/ipcs/ (props changed) stable/7/usr.bin/jot/ (props changed) stable/7/usr.bin/kdump/ (props changed) stable/7/usr.bin/ktrace/ (props changed) stable/7/usr.bin/ldd/ (props changed) stable/7/usr.bin/less/ (props changed) stable/7/usr.bin/locate/ (props changed) stable/7/usr.bin/lockf/ (props changed) stable/7/usr.bin/logger/ (props changed) stable/7/usr.bin/make/ (props changed) stable/7/usr.bin/ncal/ (props changed) stable/7/usr.bin/netstat/ (props changed) stable/7/usr.bin/newgrp/ (props changed) stable/7/usr.bin/nsupdate/ (props changed) stable/7/usr.bin/pkill/ (props changed) stable/7/usr.bin/procstat/ (props changed) stable/7/usr.bin/quota/ (props changed) stable/7/usr.bin/rpcgen/ (props changed) stable/7/usr.bin/ruptime/ (props changed) stable/7/usr.bin/script/ (props changed) stable/7/usr.bin/sed/ (props changed) stable/7/usr.bin/shar/ (props changed) stable/7/usr.bin/sockstat/ (props changed) stable/7/usr.bin/stat/ (props changed) stable/7/usr.bin/su/ (props changed) stable/7/usr.bin/systat/ (props changed) stable/7/usr.bin/tail/ (props changed) stable/7/usr.bin/tar/ (props changed) stable/7/usr.bin/tftp/ (props changed) stable/7/usr.bin/tip/ (props changed) stable/7/usr.bin/top/ (props changed) stable/7/usr.bin/truncate/ (props changed) stable/7/usr.bin/truss/ (props changed) stable/7/usr.bin/uname/ (props changed) stable/7/usr.bin/unifdef/ (props changed) stable/7/usr.bin/units/ (props changed) stable/7/usr.bin/vmstat/ (props changed) stable/7/usr.bin/w/ (props changed) stable/7/usr.bin/wc/ (props changed) stable/7/usr.bin/whereis/ (props changed) stable/7/usr.bin/whois/ (props changed) stable/7/usr.bin/window/ (props changed) stable/7/usr.bin/xargs/ (props changed) stable/7/usr.bin/ypcat/ (props changed) stable/7/usr.bin/ypmatch/ (props changed) stable/7/usr.bin/ypwhich/ (props changed) stable/7/usr.sbin/ (props changed) stable/7/usr.sbin/Makefile (props changed) stable/7/usr.sbin/acpi/ (props changed) stable/7/usr.sbin/adduser/ (props changed) stable/7/usr.sbin/arp/ (props changed) stable/7/usr.sbin/bluetooth/ (props changed) stable/7/usr.sbin/bluetooth/btpand/ (props changed) stable/7/usr.sbin/bluetooth/hcsecd/ (props changed) stable/7/usr.sbin/bluetooth/hcseriald/ (props changed) stable/7/usr.sbin/bluetooth/rfcomm_pppd/ (props changed) stable/7/usr.sbin/bluetooth/sdpd/ (props changed) stable/7/usr.sbin/boot0cfg/ (props changed) stable/7/usr.sbin/bsnmpd/modules/snmp_pf/ (props changed) stable/7/usr.sbin/burncd/ (props changed) stable/7/usr.sbin/cdcontrol/ (props changed) stable/7/usr.sbin/chown/ (props changed) stable/7/usr.sbin/chroot/ (props changed) stable/7/usr.sbin/config/ (props changed) stable/7/usr.sbin/cpucontrol/ (props changed) stable/7/usr.sbin/crashinfo/ (props changed) stable/7/usr.sbin/cron/ (props changed) stable/7/usr.sbin/cron/cron/ (props changed) stable/7/usr.sbin/crunch/ (props changed) stable/7/usr.sbin/cxgbtool/ (props changed) stable/7/usr.sbin/eeprom/ (props changed) stable/7/usr.sbin/extattr/ (props changed) stable/7/usr.sbin/faithd/ (props changed) stable/7/usr.sbin/fdcontrol/ (props changed) stable/7/usr.sbin/fdformat/ (props changed) stable/7/usr.sbin/fdread/ (props changed) stable/7/usr.sbin/fdwrite/ (props changed) stable/7/usr.sbin/fifolog/ (props changed) stable/7/usr.sbin/freebsd-update/ (props changed) stable/7/usr.sbin/fwcontrol/ (props changed) stable/7/usr.sbin/gstat/ (props changed) stable/7/usr.sbin/iostat/ (props changed) stable/7/usr.sbin/jail/ (props changed) stable/7/usr.sbin/jexec/ (props changed) stable/7/usr.sbin/jls/ (props changed) stable/7/usr.sbin/lpr/ (props changed) stable/7/usr.sbin/mailwrapper/ (props changed) stable/7/usr.sbin/makefs/ (props changed) stable/7/usr.sbin/makefs/ffs/ffs_bswap.c (props changed) stable/7/usr.sbin/makefs/ffs/ffs_subr.c (props changed) stable/7/usr.sbin/makefs/ffs/ufs_bswap.h (props changed) stable/7/usr.sbin/makefs/getid.c (props changed) stable/7/usr.sbin/mergemaster/ (props changed) stable/7/usr.sbin/mfiutil/ (props changed) stable/7/usr.sbin/mfiutil/mfiutil.8 (props changed) stable/7/usr.sbin/mountd/ (props changed) stable/7/usr.sbin/mptutil/ (props changed) stable/7/usr.sbin/mtree/ (props changed) stable/7/usr.sbin/ndiscvt/ (props changed) stable/7/usr.sbin/ndp/ (props changed) stable/7/usr.sbin/newsyslog/ (props changed) stable/7/usr.sbin/nscd/ (props changed) stable/7/usr.sbin/ntp/ (props changed) stable/7/usr.sbin/pciconf/ (props changed) stable/7/usr.sbin/pkg_install/ (props changed) stable/7/usr.sbin/pmccontrol/ (props changed) stable/7/usr.sbin/pmcstat/ (props changed) stable/7/usr.sbin/portsnap/ (props changed) stable/7/usr.sbin/powerd/ (props changed) stable/7/usr.sbin/ppp/ (props changed) stable/7/usr.sbin/pstat/ (props changed) stable/7/usr.sbin/pw/ (props changed) stable/7/usr.sbin/pwd_mkdb/ (props changed) stable/7/usr.sbin/rpc.lockd/ (props changed) stable/7/usr.sbin/rpc.statd/ (props changed) stable/7/usr.sbin/rpc.yppasswdd/ (props changed) stable/7/usr.sbin/rtsold/ (props changed) stable/7/usr.sbin/sade/ (props changed) stable/7/usr.sbin/service/ (props changed) stable/7/usr.sbin/setfib/ (props changed) stable/7/usr.sbin/sysinstall/ (props changed) stable/7/usr.sbin/syslogd/ (props changed) stable/7/usr.sbin/traceroute/ (props changed) stable/7/usr.sbin/traceroute6/ (props changed) stable/7/usr.sbin/tzsetup/ (props changed) stable/7/usr.sbin/ugidfw/ (props changed) stable/7/usr.sbin/wpa/wpa_supplicant/ (props changed) stable/7/usr.sbin/ypserv/ (props changed) stable/7/usr.sbin/zic/ (props changed) Modified: stable/7/bin/sh/Makefile ============================================================================== --- stable/7/bin/sh/Makefile Fri Oct 22 22:58:00 2010 (r214229) +++ stable/7/bin/sh/Makefile Fri Oct 22 23:12:45 2010 (r214230) @@ -62,4 +62,7 @@ syntax.c syntax.h: mksyntax token.h: mktokens sh ${.CURDIR}/mktokens +regress: + cd ${.CURDIR}/../../tools/regression/bin/sh && ${MAKE} SH=${.OBJDIR}/sh + .include Modified: stable/7/tools/regression/bin/sh/Makefile ============================================================================== --- stable/7/tools/regression/bin/sh/Makefile Fri Oct 22 22:58:00 2010 (r214229) +++ stable/7/tools/regression/bin/sh/Makefile Fri Oct 22 23:12:45 2010 (r214230) @@ -1,4 +1,7 @@ # $FreeBSD$ +# Allow one to specify the 'sh' to regress. +SH?= /bin/sh + all: - sh regress.sh + env SH=${SH} ${SH} regress.sh Modified: stable/7/tools/regression/bin/sh/builtins/var-assign.0 ============================================================================== --- stable/7/tools/regression/bin/sh/builtins/var-assign.0 Fri Oct 22 22:58:00 2010 (r214229) +++ stable/7/tools/regression/bin/sh/builtins/var-assign.0 Fri Oct 22 23:12:45 2010 (r214230) @@ -44,12 +44,12 @@ set -e set -- ${SPECIAL} for cmd in "$@" do - sh -c "VAR=1; VAR=0 ${cmd}; exit \${VAR}" >/dev/null 2>&1 + ${SH} -c "VAR=1; VAR=0 ${cmd}; exit \${VAR}" >/dev/null 2>&1 done # For other built-ins and utilites they do not. set -- ${UTILS} for cmd in "$@" do - sh -c "VAR=0; VAR=1 ${cmd}; exit \${VAR}" >/dev/null 2>&1 + ${SH} -c "VAR=0; VAR=1 ${cmd}; exit \${VAR}" >/dev/null 2>&1 done Modified: stable/7/tools/regression/bin/sh/errors/option-error.0 ============================================================================== --- stable/7/tools/regression/bin/sh/errors/option-error.0 Fri Oct 22 22:58:00 2010 (r214229) +++ stable/7/tools/regression/bin/sh/errors/option-error.0 Fri Oct 22 23:12:45 2010 (r214230) @@ -35,12 +35,12 @@ UTILS="alias -y,\ set -- ${SPECIAL} for cmd in "$@" do - sh -c "${cmd}; exit 0" 2>/dev/null && exit 1 + ${SH} -c "${cmd}; exit 0" 2>/dev/null && exit 1 done # Other utilities must not abort. set -- ${UTILS} for cmd in "$@" do - sh -c "${cmd}; exit 0" 2>/dev/null || exit 1 + ${SH} -c "${cmd}; exit 0" 2>/dev/null || exit 1 done Modified: stable/7/tools/regression/bin/sh/errors/redirection-error.0 ============================================================================== --- stable/7/tools/regression/bin/sh/errors/redirection-error.0 Fri Oct 22 22:58:00 2010 (r214229) +++ stable/7/tools/regression/bin/sh/errors/redirection-error.0 Fri Oct 22 23:12:45 2010 (r214230) @@ -42,12 +42,12 @@ UTILS="alias,\ set -- ${SPECIAL} for cmd in "$@" do - sh -c "${cmd} > /; exit 0" 2>/dev/null && exit 1 + ${SH} -c "${cmd} > /; exit 0" 2>/dev/null && exit 1 done # Other utilities must not abort. set -- ${UTILS} for cmd in "$@" do - sh -c "${cmd} > /; exit 0" 2>/dev/null || exit 1 + ${SH} -c "${cmd} > /; exit 0" 2>/dev/null || exit 1 done Modified: stable/7/tools/regression/bin/sh/execution/func1.0 ============================================================================== --- stable/7/tools/regression/bin/sh/execution/func1.0 Fri Oct 22 22:58:00 2010 (r214229) +++ stable/7/tools/regression/bin/sh/execution/func1.0 Fri Oct 22 23:12:45 2010 (r214230) @@ -1,4 +1,4 @@ # $FreeBSD$ -MALLOC_OPTIONS=J sh -c 'g() { g() { :; }; :; }; g' && -MALLOC_OPTIONS=J sh -c 'g() { unset -f g; :; }; g' +MALLOC_OPTIONS=J ${SH} -c 'g() { g() { :; }; :; }; g' && +MALLOC_OPTIONS=J ${SH} -c 'g() { unset -f g; :; }; g' Modified: stable/7/tools/regression/bin/sh/regress.sh ============================================================================== --- stable/7/tools/regression/bin/sh/regress.sh Fri Oct 22 22:58:00 2010 (r214229) +++ stable/7/tools/regression/bin/sh/regress.sh Fri Oct 22 23:12:45 2010 (r214230) @@ -1,12 +1,18 @@ # $FreeBSD$ +if [ -z "${SH}" ]; then + echo '${SH} is not set, please correct and re-run.' + exit 1 +fi +export SH=${SH} + COUNTER=1 do_test() { local c c=${COUNTER} COUNTER=$((COUNTER+1)) - sh $1 > tmp.stdout 2> tmp.stderr + ${SH} $1 > tmp.stdout 2> tmp.stderr if [ $? -ne $2 ]; then echo "not ok ${c} - ${1} # wrong exit status" rm tmp.stdout tmp.stderr Modified: stable/7/tools/regression/bin/sh/regress.t ============================================================================== --- stable/7/tools/regression/bin/sh/regress.t Fri Oct 22 22:58:00 2010 (r214229) +++ stable/7/tools/regression/bin/sh/regress.t Fri Oct 22 23:12:45 2010 (r214230) @@ -1,6 +1,8 @@ #!/bin/sh # $FreeBSD$ +export SH="${SH:-sh}" + cd `dirname $0` -sh regress.sh +${SH} regress.sh From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 00:41:26 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A3AED106564A; Sat, 23 Oct 2010 00:41:26 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 91E158FC0A; Sat, 23 Oct 2010 00:41:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9N0fQDX070951; Sat, 23 Oct 2010 00:41:26 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9N0fQrR070949; Sat, 23 Oct 2010 00:41:26 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201010230041.o9N0fQrR070949@svn.freebsd.org> From: Pyun YongHyeon Date: Sat, 23 Oct 2010 00:41:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214231 - stable/8/sys/dev/sis X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 00:41:27 -0000 Author: yongari Date: Sat Oct 23 00:41:26 2010 New Revision: 214231 URL: http://svn.freebsd.org/changeset/base/214231 Log: MFC r214089: Correct handling of shared interrupt in sis_intr(). r212116 incorrectly released a drver lock for shared interrupt case such that it caused panic. While I'm here check whether driver is still running before serving TX/RX handler. Reported by: Jerahmy Pocott < QUAKENET1 <> optusnet dot com dot au > Tested by: Jerahmy Pocott < QUAKENET1 <> optusnet dot com dot au > Modified: stable/8/sys/dev/sis/if_sis.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/dev/sis/if_sis.c ============================================================================== --- stable/8/sys/dev/sis/if_sis.c Fri Oct 22 23:12:45 2010 (r214230) +++ stable/8/sys/dev/sis/if_sis.c Sat Oct 23 00:41:26 2010 (r214231) @@ -1795,12 +1795,15 @@ sis_intr(void *arg) if ((status & SIS_INTRS) == 0) { /* Not ours. */ SIS_UNLOCK(sc); + return; } /* Disable interrupts. */ CSR_WRITE_4(sc, SIS_IER, 0); for (;(status & SIS_INTRS) != 0;) { + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + break; if (status & (SIS_ISR_TX_DESC_OK | SIS_ISR_TX_ERR | SIS_ISR_TX_OK | SIS_ISR_TX_IDLE) ) @@ -1825,11 +1828,13 @@ sis_intr(void *arg) status = CSR_READ_4(sc, SIS_ISR); } - /* Re-enable interrupts. */ - CSR_WRITE_4(sc, SIS_IER, 1); + if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + /* Re-enable interrupts. */ + CSR_WRITE_4(sc, SIS_IER, 1); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) - sis_startl(ifp); + if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + sis_startl(ifp); + } SIS_UNLOCK(sc); } From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 00:44:17 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3F5E1106566B; Sat, 23 Oct 2010 00:44:17 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2DB688FC0C; Sat, 23 Oct 2010 00:44:17 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9N0iHI7071060; Sat, 23 Oct 2010 00:44:17 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9N0iHSg071058; Sat, 23 Oct 2010 00:44:17 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201010230044.o9N0iHSg071058@svn.freebsd.org> From: Pyun YongHyeon Date: Sat, 23 Oct 2010 00:44:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214232 - stable/7/sys/dev/sis X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 00:44:17 -0000 Author: yongari Date: Sat Oct 23 00:44:16 2010 New Revision: 214232 URL: http://svn.freebsd.org/changeset/base/214232 Log: MFC r214089: Correct handling of shared interrupt in sis_intr(). r212116 incorrectly released a drver lock for shared interrupt case such that it caused panic. While I'm here check whether driver is still running before serving TX/RX handler. Reported by: Jerahmy Pocott < QUAKENET1 <> optusnet dot com dot au > Tested by: Jerahmy Pocott < QUAKENET1 <> optusnet dot com dot au > Modified: stable/7/sys/dev/sis/if_sis.c Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/dev/sis/if_sis.c ============================================================================== --- stable/7/sys/dev/sis/if_sis.c Sat Oct 23 00:41:26 2010 (r214231) +++ stable/7/sys/dev/sis/if_sis.c Sat Oct 23 00:44:16 2010 (r214232) @@ -1791,12 +1791,15 @@ sis_intr(void *arg) if ((status & SIS_INTRS) == 0) { /* Not ours. */ SIS_UNLOCK(sc); + return; } /* Disable interrupts. */ CSR_WRITE_4(sc, SIS_IER, 0); for (;(status & SIS_INTRS) != 0;) { + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + break; if (status & (SIS_ISR_TX_DESC_OK | SIS_ISR_TX_ERR | SIS_ISR_TX_OK | SIS_ISR_TX_IDLE) ) @@ -1821,11 +1824,13 @@ sis_intr(void *arg) status = CSR_READ_4(sc, SIS_ISR); } - /* Re-enable interrupts. */ - CSR_WRITE_4(sc, SIS_IER, 1); + if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + /* Re-enable interrupts. */ + CSR_WRITE_4(sc, SIS_IER, 1); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) - sis_startl(ifp); + if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + sis_startl(ifp); + } SIS_UNLOCK(sc); } From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 09:23:58 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1A671106564A; Sat, 23 Oct 2010 09:23:58 +0000 (UTC) (envelope-from gleb.kurtsou@gmail.com) Received: from mail-ey0-f182.google.com (mail-ey0-f182.google.com [209.85.215.182]) by mx1.freebsd.org (Postfix) with ESMTP id 272E88FC14; Sat, 23 Oct 2010 09:23:56 +0000 (UTC) Received: by eyb7 with SMTP id 7so849666eyb.13 for ; Sat, 23 Oct 2010 02:23:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:date:from:to:cc:subject :message-id:references:mime-version:content-type:content-disposition :in-reply-to:user-agent; bh=9AuxMN3XpmPEzcKbcSQnaOVWCI79NlF0NhtmX5YrDIw=; b=CIGHtA0nbbD6WXOR8zLGx0HcbcPXsvWHukRjradAYeacbcasqRCs1dZku6sWVERELz C0DVFViE0F/hHmMYgIQC1BKRiJCgH1TcTF8eyQeTGfDhIrntzs9gbqHorkjC439wciQt zxIlb0rs90FyUOw6BT4UIr7e/h2W1Tuy+rbQE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; b=W+bkd84Dkf2TnswhKg/V6/kJZ5XRucITw9thkl3xQCSJl5vkLNwFdNE7vlTEqjtkYH S4OCWEgx6O2ziSJj+EVEyv6OQyfFkBnpdeJdLFUUNj2YZy0aFIc3CEMIO52Sv3nkQP1p OtyqF/C9mxrvpWFRsm9LPsbG6zjNF0LREGPOQ= Received: by 10.213.31.134 with SMTP id y6mr4121696ebc.82.1287824445951; Sat, 23 Oct 2010 02:00:45 -0700 (PDT) Received: from localhost ([212.98.186.134]) by mx.google.com with ESMTPS id q58sm4485429eeh.21.2010.10.23.02.00.43 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sat, 23 Oct 2010 02:00:44 -0700 (PDT) Date: Sat, 23 Oct 2010 12:00:40 +0300 From: Gleb Kurtsou To: Rick Macklem Message-ID: <20101023090040.GA67039@tops> References: <201010222138.o9MLcuLY066850@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <201010222138.o9MLcuLY066850@svn.freebsd.org> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r214224 - in head/sys/fs: nfs nfsserver X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 09:23:58 -0000 On (22/10/2010 21:38), Rick Macklem wrote: > Author: rmacklem > Date: Fri Oct 22 21:38:56 2010 > New Revision: 214224 > URL: http://svn.freebsd.org/changeset/base/214224 > > Log: > Modify the file handle hash function in the experimental NFS > server so that it will work better for non-UFS file systems. > The new function simply sums the bytes of the fh_fid field > of fhandle_t. > > MFC after: 10 days > > Modified: > head/sys/fs/nfs/nfs_var.h > head/sys/fs/nfs/nfsdport.h > head/sys/fs/nfsserver/nfs_nfsdport.c > > Modified: head/sys/fs/nfs/nfs_var.h > ============================================================================== > --- head/sys/fs/nfs/nfs_var.h Fri Oct 22 20:46:08 2010 (r214223) > +++ head/sys/fs/nfs/nfs_var.h Fri Oct 22 21:38:56 2010 (r214224) > @@ -576,6 +576,7 @@ void nfsvno_unlockvfs(mount_t); > int nfsvno_lockvfs(mount_t); > int nfsrv_v4rootexport(void *, struct ucred *, NFSPROC_T *); > int nfsvno_testexp(struct nfsrv_descript *, struct nfsexstuff *); > +int nfsrv_hashfh(fhandle_t *); > > /* nfs_commonkrpc.c */ > int newnfs_nmcancelreqs(struct nfsmount *); > > Modified: head/sys/fs/nfs/nfsdport.h > ============================================================================== > --- head/sys/fs/nfs/nfsdport.h Fri Oct 22 20:46:08 2010 (r214223) > +++ head/sys/fs/nfs/nfsdport.h Fri Oct 22 21:38:56 2010 (r214224) > @@ -73,7 +73,7 @@ struct nfsexstuff { > bcmp(&(f1)->fh_fid, &(f2)->fh_fid, sizeof(struct fid)) == 0) > > #define NFSLOCKHASH(f) \ > - (&nfslockhash[(*((u_int32_t *)((f)->fh_fid.fid_data))) % NFSLOCKHASHSIZE]) > + (&nfslockhash[nfsrv_hashfh(f) % NFSLOCKHASHSIZE]) > > #define NFSFPVNODE(f) ((struct vnode *)((f)->f_data)) > #define NFSFPCRED(f) ((f)->f_cred) > > Modified: head/sys/fs/nfsserver/nfs_nfsdport.c > ============================================================================== > --- head/sys/fs/nfsserver/nfs_nfsdport.c Fri Oct 22 20:46:08 2010 (r214223) > +++ head/sys/fs/nfsserver/nfs_nfsdport.c Fri Oct 22 21:38:56 2010 (r214224) > @@ -3087,6 +3087,21 @@ nfsvno_testexp(struct nfsrv_descript *nd > return (1); > } > > +/* > + * Calculate a hash value for the fid in a file handle. > + */ > +int > +nfsrv_hashfh(fhandle_t *fhp) > +{ > + int hashval = 0, i; > + uint8_t *cp; > + > + cp = (uint8_t *)&fhp->fh_fid; > + for (i = 0; i < sizeof(struct fid); i++) > + hashval += *cp++; > + return (hashval); > +} > + Is there a reason not to use fnv_32_buf() from sys/fnv_hash.h or hash32_buf() from sys/hash.h? Just summing up bytes for hash is not generally helpful. Thanks, Gleb. > extern int (*nfsd_call_nfsd)(struct thread *, struct nfssvc_args *); > > /* > _______________________________________________ > svn-src-all@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/svn-src-all > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 10:05:00 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D8FBB1065670; Sat, 23 Oct 2010 10:05:00 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id AC92F8FC15; Sat, 23 Oct 2010 10:05:00 +0000 (UTC) Received: from fledge.watson.org (fledge.watson.org [65.122.17.41]) by cyrus.watson.org (Postfix) with ESMTPS id 35C4246BA7; Sat, 23 Oct 2010 06:05:00 -0400 (EDT) Date: Sat, 23 Oct 2010 11:05:00 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Andriy Gapon In-Reply-To: <201010220846.o9M8kMEo020056@svn.freebsd.org> Message-ID: References: <201010220846.o9M8kMEo020056@svn.freebsd.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-8@freebsd.org Subject: Re: svn commit: r214199 - stable/8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 10:05:01 -0000 On Fri, 22 Oct 2010, Andriy Gapon wrote: > +20101022: > + A workaround for a fixed ld bug has been removed in kernel code, > + so make sure that your system ld is built from sources after > + revision 211583 (r210245 if building stable/8 kernel on head, > + r211584 for stable/7). A symptom of incorrect ld version is > + different addresses for set_pcpu section and __start_set_pcpu > + symbol in kernel and/or modules. Since many of our users still rely on cvsup to update FreeBSD source, it might be useful to provide rough date thresholds for the branches in addition to the Subversion changeset numbers (which are less easy to deal with when checking out with cvsup/cvs). Thanks! Robert From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 11:26:23 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0FA4F1065674; Sat, 23 Oct 2010 11:26:23 +0000 (UTC) (envelope-from bschmidt@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F2C938FC16; Sat, 23 Oct 2010 11:26:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9NBQMvf085608; Sat, 23 Oct 2010 11:26:22 GMT (envelope-from bschmidt@svn.freebsd.org) Received: (from bschmidt@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9NBQMod085606; Sat, 23 Oct 2010 11:26:22 GMT (envelope-from bschmidt@svn.freebsd.org) Message-Id: <201010231126.o9NBQMod085606@svn.freebsd.org> From: Bernhard Schmidt Date: Sat, 23 Oct 2010 11:26:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214236 - head/sys/dev/iwi X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 11:26:23 -0000 Author: bschmidt Date: Sat Oct 23 11:26:22 2010 New Revision: 214236 URL: http://svn.freebsd.org/changeset/base/214236 Log: The firmware does pad notifications to an even number of bytes (at least the association notification), the included information though always contains an elem block with an odd number of bytes. We handle the last byte as if it might contain a whole elem block, this of course is not true as one byte is not enough to hold a block, we therefore discard the complete frame. The solution here is to subtract one from the actual notification length, this is also what the Linux driver does. With this change the frames ends exactly where the last elem block ends. This commit also reverts r214160 which is no longer required and now even wrong. MFC after: 1 week Modified: head/sys/dev/iwi/if_iwi.c Modified: head/sys/dev/iwi/if_iwi.c ============================================================================== --- head/sys/dev/iwi/if_iwi.c Sat Oct 23 10:46:11 2010 (r214235) +++ head/sys/dev/iwi/if_iwi.c Sat Oct 23 11:26:22 2010 (r214236) @@ -1356,7 +1356,7 @@ iwi_checkforqos(struct ieee80211vap *vap wme = NULL; while (frm < efrm) { - IEEE80211_VERIFY_LENGTH(efrm - frm, frm[1], break); + IEEE80211_VERIFY_LENGTH(efrm - frm, frm[1], return); switch (*frm) { case IEEE80211_ELEMID_VENDOR: if (iswmeoui(frm)) @@ -1483,7 +1483,7 @@ iwi_notification_intr(struct iwi_softc * IWI_STATE_END(sc, IWI_FW_ASSOCIATING); iwi_checkforqos(vap, (const struct ieee80211_frame *)(assoc+1), - le16toh(notif->len) - sizeof(*assoc)); + le16toh(notif->len) - sizeof(*assoc) - 1); ieee80211_new_state(vap, IEEE80211_S_RUN, -1); break; case IWI_ASSOC_INIT: From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 12:27:39 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8DDB01065694; Sat, 23 Oct 2010 12:27:39 +0000 (UTC) (envelope-from uqs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7CEDB8FC0C; Sat, 23 Oct 2010 12:27:39 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9NCRdsL086806; Sat, 23 Oct 2010 12:27:39 GMT (envelope-from uqs@svn.freebsd.org) Received: (from uqs@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9NCRdTa086804; Sat, 23 Oct 2010 12:27:39 GMT (envelope-from uqs@svn.freebsd.org) Message-Id: <201010231227.o9NCRdTa086804@svn.freebsd.org> From: Ulrich Spoerlein Date: Sat, 23 Oct 2010 12:27:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214237 - head/contrib/bsnmp/snmpd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 12:27:39 -0000 Author: uqs Date: Sat Oct 23 12:27:39 2010 New Revision: 214237 URL: http://svn.freebsd.org/changeset/base/214237 Log: Remove mention of non-existant -o flag for debugging options. MFC after: 3 days Modified: head/contrib/bsnmp/snmpd/bsnmpd.1 Modified: head/contrib/bsnmp/snmpd/bsnmpd.1 ============================================================================== --- head/contrib/bsnmp/snmpd/bsnmpd.1 Sat Oct 23 11:26:22 2010 (r214236) +++ head/contrib/bsnmp/snmpd/bsnmpd.1 Sat Oct 23 12:27:39 2010 (r214237) @@ -31,7 +31,7 @@ .\" .\" $Begemot: bsnmp/snmpd/bsnmpd.1,v 1.12 2006/02/27 09:50:03 brandt_h Exp $ .\" -.Dd August 16, 2010 +.Dd October 23, 2010 .Dt BSNMPD 1 .Os .Sh NAME @@ -68,11 +68,9 @@ Use .Ar file as configuration file instead of the standard one. .It Fl D Ar options -Debugging options are specified with a -.Fl o -flag followed by a comma separated string of options. +Debugging options are specified as a comma separated string. The following options are available. -.Bl -tag -width ".It Cm trace Ns Cm = Ns Cm level" +.Bl -tag -width "trace=level" .It Cm dump Dump all sent and received PDUs to the terminal. .It Cm events From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 13:15:08 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C4B4C1065670; Sat, 23 Oct 2010 13:15:08 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.cksoft.de (mail.cksoft.de [IPv6:2001:4068:10::3]) by mx1.freebsd.org (Postfix) with ESMTP id E4B7F8FC1D; Sat, 23 Oct 2010 13:15:07 +0000 (UTC) Received: from localhost (amavis.fra.cksoft.de [192.168.74.71]) by mail.cksoft.de (Postfix) with ESMTP id E0BEC41C7BE; Sat, 23 Oct 2010 15:15:06 +0200 (CEST) X-Virus-Scanned: amavisd-new at cksoft.de Received: from mail.cksoft.de ([192.168.74.103]) by localhost (amavis.fra.cksoft.de [192.168.74.71]) (amavisd-new, port 10024) with ESMTP id QwZE-uMMHTBf; Sat, 23 Oct 2010 15:15:06 +0200 (CEST) Received: by mail.cksoft.de (Postfix, from userid 66) id 2655341C7B8; Sat, 23 Oct 2010 15:15:06 +0200 (CEST) Received: from maildrop.int.zabbadoz.net (maildrop.int.zabbadoz.net [10.111.66.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.int.zabbadoz.net (Postfix) with ESMTP id 959E54448F3; Sat, 23 Oct 2010 13:10:58 +0000 (UTC) Date: Sat, 23 Oct 2010 13:10:58 +0000 (UTC) From: "Bjoern A. Zeeb" X-X-Sender: bz@maildrop.int.zabbadoz.net To: Andre Oppermann In-Reply-To: <201009172205.o8HM5RPG043265@svn.freebsd.org> Message-ID: <20101023131021.C66242@maildrop.int.zabbadoz.net> References: <201009172205.o8HM5RPG043265@svn.freebsd.org> X-OpenPGP-Key: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r212803 - head/sys/netinet X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 13:15:08 -0000 On Fri, 17 Sep 2010, Andre Oppermann wrote: > Author: andre > Date: Fri Sep 17 22:05:27 2010 > New Revision: 212803 > URL: http://svn.freebsd.org/changeset/base/212803 > > Log: > Rearrange the TSO code to make it more readable and to clearly > separate the decision logic, of whether we can do TSO, and the > calculation of the burst length into two distinct parts. > > Change the way the TSO burst length calculation is done. While > TSO could do bursts of 65535 bytes that can't be represented in > ip_len together with the IP and TCP header. Account for that and > use IP_MAXPACKET instead of TCP_MAXWIN as base constant (both > have the same value of 64K). When more data is available prevent > less than MSS sized segments from being sent during the current > TSO burst. > > Add two more KASSERTs to ensure the integrity of the packets. > > Tested by: Ben Wilber > MFC after: 10 days As this hasn't happned yet, please do not do. It breaks things. I'll follow-up later as soon as I have more details. > Modified: > head/sys/netinet/tcp_output.c > > Modified: head/sys/netinet/tcp_output.c > ============================================================================== > --- head/sys/netinet/tcp_output.c Fri Sep 17 21:53:56 2010 (r212802) > +++ head/sys/netinet/tcp_output.c Fri Sep 17 22:05:27 2010 (r212803) > @@ -465,9 +465,8 @@ after_sack_rexmit: > } > > /* > - * Truncate to the maximum segment length or enable TCP Segmentation > - * Offloading (if supported by hardware) and ensure that FIN is removed > - * if the length no longer contains the last data byte. > + * Decide if we can use TCP Segmentation Offloading (if supported by > + * hardware). > * > * TSO may only be used if we are in a pure bulk sending state. The > * presence of TCP-MD5, SACK retransmits, SACK advertizements and > @@ -475,10 +474,6 @@ after_sack_rexmit: > * (except for the sequence number) for all generated packets. This > * makes it impossible to transmit any options which vary per generated > * segment or packet. > - * > - * The length of TSO bursts is limited to TCP_MAXWIN. That limit and > - * removal of FIN (if not already catched here) are handled later after > - * the exact length of the TCP options are known. > */ > #ifdef IPSEC > /* > @@ -487,22 +482,15 @@ after_sack_rexmit: > */ > ipsec_optlen = ipsec_hdrsiz_tcp(tp); > #endif > - if (len > tp->t_maxseg) { > - if ((tp->t_flags & TF_TSO) && V_tcp_do_tso && > - ((tp->t_flags & TF_SIGNATURE) == 0) && > - tp->rcv_numsacks == 0 && sack_rxmit == 0 && > - tp->t_inpcb->inp_options == NULL && > - tp->t_inpcb->in6p_options == NULL > + if ((tp->t_flags & TF_TSO) && V_tcp_do_tso && len > tp->t_maxseg && > + ((tp->t_flags & TF_SIGNATURE) == 0) && > + tp->rcv_numsacks == 0 && sack_rxmit == 0 && > #ifdef IPSEC > - && ipsec_optlen == 0 > + ipsec_optlen == 0 && > #endif > - ) { > - tso = 1; > - } else { > - len = tp->t_maxseg; > - sendalot = 1; > - } > - } > + tp->t_inpcb->inp_options == NULL && > + tp->t_inpcb->in6p_options == NULL) > + tso = 1; > > if (sack_rxmit) { > if (SEQ_LT(p->rxmit + len, tp->snd_una + so->so_snd.sb_cc)) > @@ -732,28 +720,53 @@ send: > * bump the packet length beyond the t_maxopd length. > * Clear the FIN bit because we cut off the tail of > * the segment. > - * > - * When doing TSO limit a burst to TCP_MAXWIN minus the > - * IP, TCP and Options length to keep ip->ip_len from > - * overflowing. Prevent the last segment from being > - * fractional thus making them all equal sized and set > - * the flag to continue sending. TSO is disabled when > - * IP options or IPSEC are present. > */ > if (len + optlen + ipoptlen > tp->t_maxopd) { > flags &= ~TH_FIN; > + > if (tso) { > - if (len > TCP_MAXWIN - hdrlen - optlen) { > - len = TCP_MAXWIN - hdrlen - optlen; > - len = len - (len % (tp->t_maxopd - optlen)); > + KASSERT(ipoptlen == 0, > + ("%s: TSO can't do IP options", __func__)); > + > + /* > + * Limit a burst to IP_MAXPACKET minus IP, > + * TCP and options length to keep ip->ip_len > + * from overflowing. > + */ > + if (len > IP_MAXPACKET - hdrlen) { > + len = IP_MAXPACKET - hdrlen; > + sendalot = 1; > + } > + > + /* > + * Prevent the last segment from being > + * fractional unless the send sockbuf can > + * be emptied. > + */ > + if (sendalot && off + len < so->so_snd.sb_cc) { > + len -= len % (tp->t_maxopd - optlen); > sendalot = 1; > - } else if (tp->t_flags & TF_NEEDFIN) > + } > + > + /* > + * Send the FIN in a separate segment > + * after the bulk sending is done. > + * We don't trust the TSO implementations > + * to clear the FIN flag on all but the > + * last segment. > + */ > + if (tp->t_flags & TF_NEEDFIN) > sendalot = 1; > + > } else { > len = tp->t_maxopd - optlen - ipoptlen; > sendalot = 1; > } > - } > + } else > + tso = 0; > + > + KASSERT(len + hdrlen + ipoptlen <= IP_MAXPACKET, > + ("%s: len > IP_MAXPACKET", __func__)); > > /*#ifdef DIAGNOSTIC*/ > #ifdef INET6 > @@ -1068,6 +1081,9 @@ send: > m->m_pkthdr.tso_segsz = tp->t_maxopd - optlen; > } > > + KASSERT(len + hdrlen + ipoptlen == m_length(m, NULL), > + ("%s: mbuf chain shorter than expected", __func__)); > + > /* > * In transmit state, time the transmission and arrange for > * the retransmit. In persist state, just set snd_max. > -- Bjoern A. Zeeb Welcome a new stage of life. Going to jail sucks -- All my daemons like it! http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails.html From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 13:16:40 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 41A14106566B; Sat, 23 Oct 2010 13:16:40 +0000 (UTC) (envelope-from davidxu@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 167918FC1E; Sat, 23 Oct 2010 13:16:39 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9NDGd9C087834; Sat, 23 Oct 2010 13:16:39 GMT (envelope-from davidxu@svn.freebsd.org) Received: (from davidxu@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9NDGd1B087831; Sat, 23 Oct 2010 13:16:39 GMT (envelope-from davidxu@svn.freebsd.org) Message-Id: <201010231316.o9NDGd1B087831@svn.freebsd.org> From: David Xu Date: Sat, 23 Oct 2010 13:16:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214238 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 13:16:40 -0000 Author: davidxu Date: Sat Oct 23 13:16:39 2010 New Revision: 214238 URL: http://svn.freebsd.org/changeset/base/214238 Log: In thr_exit() and kthread_exit(), only remove thread from hash if it can directly exit, otherwise let exit1() do it. The change should be in r213950, but for unknown reason, it was lost. Modified: head/sys/kern/kern_kthread.c head/sys/kern/kern_thr.c Modified: head/sys/kern/kern_kthread.c ============================================================================== --- head/sys/kern/kern_kthread.c Sat Oct 23 12:27:39 2010 (r214237) +++ head/sys/kern/kern_kthread.c Sat Oct 23 13:16:39 2010 (r214238) @@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -315,17 +316,20 @@ kthread_exit(void) p = curthread->td_proc; - tidhash_remove(curthread); /* A module may be waiting for us to exit. */ wakeup(curthread); + rw_wlock(&tidhash_lock); PROC_LOCK(p); if (p->p_numthreads == 1) { PROC_UNLOCK(p); + rw_wunlock(&tidhash_lock); kproc_exit(0); /* NOTREACHED. */ } + LIST_REMOVE(curthread, td_hash); + rw_wunlock(&tidhash_lock); PROC_SLOCK(p); thread_exit(); } Modified: head/sys/kern/kern_thr.c ============================================================================== --- head/sys/kern/kern_thr.c Sat Oct 23 12:27:39 2010 (r214237) +++ head/sys/kern/kern_thr.c Sat Oct 23 13:16:39 2010 (r214238) @@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -284,23 +285,23 @@ thr_exit(struct thread *td, struct thr_e kern_umtx_wake(td, uap->state, INT_MAX, 0); } - tidhash_remove(td); - + rw_wlock(&tidhash_lock); PROC_LOCK(p); - tdsigcleanup(td); - PROC_SLOCK(p); - /* * Shutting down last thread in the proc. This will actually * call exit() in the trampoline when it returns. */ if (p->p_numthreads != 1) { + LIST_REMOVE(td, td_hash); + rw_wunlock(&tidhash_lock); + tdsigcleanup(td); + PROC_SLOCK(p); thread_stopped(p); thread_exit(); /* NOTREACHED */ } - PROC_SUNLOCK(p); PROC_UNLOCK(p); + rw_wunlock(&tidhash_lock); return (0); } From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 13:36:09 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CFE8510656AB; Sat, 23 Oct 2010 13:36:09 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BE54E8FC2B; Sat, 23 Oct 2010 13:36:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9NDa99K088296; Sat, 23 Oct 2010 13:36:09 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9NDa9Mp088294; Sat, 23 Oct 2010 13:36:09 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201010231336.o9NDa9Mp088294@svn.freebsd.org> From: Jilles Tjoelker Date: Sat, 23 Oct 2010 13:36:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214239 - stable/8/bin/sh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 13:36:09 -0000 Author: jilles Date: Sat Oct 23 13:36:09 2010 New Revision: 214239 URL: http://svn.freebsd.org/changeset/base/214239 Log: MFC r213926: sh(1): Clarify subshells/processes for pipelines. For multi-command pipelines, 1. all commands are direct children of the shell (unlike the original Bourne shell) 2. all commands are executed in a subshell (unlike the real Korn shell) Modified: stable/8/bin/sh/sh.1 Directory Properties: stable/8/bin/sh/ (props changed) Modified: stable/8/bin/sh/sh.1 ============================================================================== --- stable/8/bin/sh/sh.1 Sat Oct 23 13:16:39 2010 (r214238) +++ stable/8/bin/sh/sh.1 Sat Oct 23 13:36:09 2010 (r214239) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd September 10, 2010 +.Dd October 16, 2010 .Dt SH 1 .Os .Sh NAME @@ -732,6 +732,13 @@ both of a command is considered to be as pipeline before any redirection specified by redirection operators that are part of the command. .Pp +Note that unlike some other shells, +.Nm +executes each process in a pipeline with more than one command +in a subshell environment and as a child of the +.Nm +process. +.Pp If the pipeline is not in the background (discussed later), the shell waits for all commands to complete. .Pp @@ -769,15 +776,6 @@ to be executed sequentially; an .Ql & causes asynchronous execution of the preceding AND-OR-list. -.Pp -Note that unlike some other shells, -.Nm -executes each process in the pipeline as a child of the -.Nm -process. -Shell built-in commands are the exception to this rule. -They are executed in the current shell, although they do not affect its -environment when used in pipelines. .Ss Background Commands (&) If a command is terminated by the control operator ampersand .Pq Ql & , From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 13:57:26 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 561E2106566B; Sat, 23 Oct 2010 13:57:26 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 448338FC19; Sat, 23 Oct 2010 13:57:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9NDvQX9088753; Sat, 23 Oct 2010 13:57:26 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9NDvQ5S088751; Sat, 23 Oct 2010 13:57:26 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201010231357.o9NDvQ5S088751@svn.freebsd.org> From: Jilles Tjoelker Date: Sat, 23 Oct 2010 13:57:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214240 - stable/7/bin/sh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 13:57:26 -0000 Author: jilles Date: Sat Oct 23 13:57:26 2010 New Revision: 214240 URL: http://svn.freebsd.org/changeset/base/214240 Log: MFC r197848: Clarify quoting of word in ${v=word} in sh(1). Modified: stable/7/bin/sh/sh.1 Directory Properties: stable/7/bin/sh/ (props changed) Modified: stable/7/bin/sh/sh.1 ============================================================================== --- stable/7/bin/sh/sh.1 Sat Oct 23 13:36:09 2010 (r214239) +++ stable/7/bin/sh/sh.1 Sat Oct 23 13:57:26 2010 (r214240) @@ -1221,6 +1221,9 @@ In all cases, the final value of .Ar parameter is substituted. +Quoting inside +.Ar word +does not prevent field splitting or pathname expansion. Only variables, not positional parameters or special parameters, can be assigned in this way. From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 14:00:31 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A51B81065670; Sat, 23 Oct 2010 14:00:31 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 939858FC08; Sat, 23 Oct 2010 14:00:31 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9NE0VId088875; Sat, 23 Oct 2010 14:00:31 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9NE0VWj088873; Sat, 23 Oct 2010 14:00:31 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201010231400.o9NE0VWj088873@svn.freebsd.org> From: Jilles Tjoelker Date: Sat, 23 Oct 2010 14:00:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214241 - stable/7/bin/sh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 14:00:31 -0000 Author: jilles Date: Sat Oct 23 14:00:31 2010 New Revision: 214241 URL: http://svn.freebsd.org/changeset/base/214241 Log: MFC r212417: sh(1): Remove xrefs for expr(1) and getopt(1). expr(1) should usually not be used as various forms of parameter expansion and arithmetic expansion replicate most of its functionality in an easier way. getopt(1) should not be used at all in new code. Instead, getopts(1) or entirely manual parsing should be used. Modified: stable/7/bin/sh/sh.1 Directory Properties: stable/7/bin/sh/ (props changed) Modified: stable/7/bin/sh/sh.1 ============================================================================== --- stable/7/bin/sh/sh.1 Sat Oct 23 13:57:26 2010 (r214240) +++ stable/7/bin/sh/sh.1 Sat Oct 23 14:00:31 2010 (r214241) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd October 7, 2006 +.Dd September 10, 2010 .Dt SH 1 .Os .Sh NAME @@ -2355,8 +2355,6 @@ will return the argument. .Xr echo 1 , .Xr ed 1 , .Xr emacs 1 , -.Xr expr 1 , -.Xr getopt 1 , .Xr pwd 1 , .Xr test 1 , .Xr vi 1 , From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 14:04:04 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7C484106564A; Sat, 23 Oct 2010 14:04:04 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 505138FC0A; Sat, 23 Oct 2010 14:04:04 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9NE441i088988; Sat, 23 Oct 2010 14:04:04 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9NE440f088986; Sat, 23 Oct 2010 14:04:04 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201010231404.o9NE440f088986@svn.freebsd.org> From: Jilles Tjoelker Date: Sat, 23 Oct 2010 14:04:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214242 - stable/7/bin/sh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 14:04:04 -0000 Author: jilles Date: Sat Oct 23 14:04:04 2010 New Revision: 214242 URL: http://svn.freebsd.org/changeset/base/214242 Log: MFC r211621: sh(1): Add a brief summary of arithmetic expressions. Modified: stable/7/bin/sh/sh.1 Directory Properties: stable/7/bin/sh/ (props changed) Modified: stable/7/bin/sh/sh.1 ============================================================================== --- stable/7/bin/sh/sh.1 Sat Oct 23 14:00:31 2010 (r214241) +++ stable/7/bin/sh/sh.1 Sat Oct 23 14:04:04 2010 (r214242) @@ -1142,7 +1142,7 @@ Quote Removal. The .Ql $ character is used to introduce parameter expansion, command -substitution, or arithmetic evaluation. +substitution, or arithmetic expansion. .Ss Tilde Expansion (substituting a user's home directory) A word beginning with an unquoted tilde character .Pq Ql ~ @@ -1357,10 +1357,41 @@ The shell expands all tokens in the .Ar expression for parameter expansion, -command substitution, and quote removal. +command substitution, +arithmetic expansion +and quote removal. +.Pp +The allowed expressions are a subset of C expressions, +summarized below. +.Bl -tag -width "Variables" -offset indent +.It Values +All values are of type +.Ft intmax_t . +.It Constants +Decimal, octal (starting with +.Li 0 ) +and hexadecimal (starting with +.Li 0x ) +integer constants. +.It Variables +Shell variables can be read and written +and contain integer constants. +.It Unary operators +.Li "! ~ + -" +.It Binary operators +.Li "* / % + - << >> < <= > >= == != & ^ | && ||" +.It Assignment operators +.Li "= += -= *= /= %= <<= >>= &= ^= |=" +.It Short-circuit evaluation +The +.Li && +and +.Li || +operators always evaluate both sides. +This is a bug. +.El .Pp -Next, the shell treats this as an arithmetic expression and -substitutes the value of the expression. +The result of the expression is substituted in decimal. .Ss White Space Splitting (Field Splitting) After parameter expansion, command substitution, and arithmetic expansion the shell scans the results of From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 14:15:11 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 239C01065670; Sat, 23 Oct 2010 14:15:11 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D9E0D8FC17; Sat, 23 Oct 2010 14:15:10 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9NEFAHF089240; Sat, 23 Oct 2010 14:15:10 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9NEFAS6089238; Sat, 23 Oct 2010 14:15:10 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201010231415.o9NEFAS6089238@svn.freebsd.org> From: Jilles Tjoelker Date: Sat, 23 Oct 2010 14:15:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214243 - stable/7/bin/sh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 14:15:11 -0000 Author: jilles Date: Sat Oct 23 14:15:10 2010 New Revision: 214243 URL: http://svn.freebsd.org/changeset/base/214243 Log: MFC r207831: sh(1): Fix "reserved word" vs "keyword" inconsistency. Use "keyword" everywhere, like the output of the 'type' builtin, and only mention "reserved word" once to say it is the same thing. Modified: stable/7/bin/sh/sh.1 Directory Properties: stable/7/bin/sh/ (props changed) Modified: stable/7/bin/sh/sh.1 ============================================================================== --- stable/7/bin/sh/sh.1 Sat Oct 23 14:04:04 2010 (r214242) +++ stable/7/bin/sh/sh.1 Sat Oct 23 14:15:10 2010 (r214243) @@ -411,11 +411,11 @@ character, with the exception of the new .Pq Ql \en . A backslash preceding a newline is treated as a line continuation. .El -.Ss Reserved Words -Reserved words are words that have special meaning to the +.Ss Keywords +Keywords or reserved words are words that have special meaning to the shell and are recognized at the beginning of a line and after a control operator. -The following are reserved words: +The following are keywords: .Bl -column "doneXX" "elifXX" "elseXX" "untilXX" "whileX" -offset center .It Li \&! Ta { Ta } Ta Ic case Ta Ic do .It Ic done Ta Ic elif Ta Ic else Ta Ic esac Ta Ic fi @@ -425,8 +425,8 @@ The following are reserved words: An alias is a name and corresponding value set using the .Ic alias built-in command. -Whenever a reserved word may occur (see above), -and after checking for reserved words, the shell +Whenever a keyword may occur (see above), +and after checking for keywords, the shell checks the word to see if it matches an alias. If it does, it replaces it in the input stream with its value. For example, if there is an alias called @@ -465,7 +465,7 @@ of this man page (refer to the BNF in th document). Essentially though, a line is read and if the first word of the line (or after a control operator) -is not a reserved word, then the shell has recognized a +is not a keyword, then the shell has recognized a simple command. Otherwise, a complex command or some other special construct may have been recognized. @@ -685,7 +685,7 @@ Signal numbers are defined in the header .In sys/signal.h . .Ss Complex Commands Complex commands are combinations of simple commands -with control operators or reserved words, together creating a larger complex +with control operators or keywords, together creating a larger complex command. More generally, a command is one of the following: .Bl -item -offset indent @@ -729,7 +729,7 @@ operators that are part of the command. If the pipeline is not in the background (discussed later), the shell waits for all commands to complete. .Pp -If the reserved word +If the keyword .Ic !\& does not precede the pipeline, the exit status is the exit status of the last command specified From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 14:16:33 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A5CE8106564A; Sat, 23 Oct 2010 14:16:33 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9467D8FC1B; Sat, 23 Oct 2010 14:16:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9NEGXAr089312; Sat, 23 Oct 2010 14:16:33 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9NEGX8u089310; Sat, 23 Oct 2010 14:16:33 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201010231416.o9NEGX8u089310@svn.freebsd.org> From: Jilles Tjoelker Date: Sat, 23 Oct 2010 14:16:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214244 - stable/7/bin/sh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 14:16:33 -0000 Author: jilles Date: Sat Oct 23 14:16:33 2010 New Revision: 214244 URL: http://svn.freebsd.org/changeset/base/214244 Log: MFC r213926: sh(1): Clarify subshells/processes for pipelines. For multi-command pipelines, 1. all commands are direct children of the shell (unlike the original Bourne shell) 2. all commands are executed in a subshell (unlike the real Korn shell) Modified: stable/7/bin/sh/sh.1 Directory Properties: stable/7/bin/sh/ (props changed) Modified: stable/7/bin/sh/sh.1 ============================================================================== --- stable/7/bin/sh/sh.1 Sat Oct 23 14:15:10 2010 (r214243) +++ stable/7/bin/sh/sh.1 Sat Oct 23 14:16:33 2010 (r214244) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd September 10, 2010 +.Dd October 16, 2010 .Dt SH 1 .Os .Sh NAME @@ -726,6 +726,13 @@ both of a command is considered to be as pipeline before any redirection specified by redirection operators that are part of the command. .Pp +Note that unlike some other shells, +.Nm +executes each process in a pipeline with more than one command +in a subshell environment and as a child of the +.Nm +process. +.Pp If the pipeline is not in the background (discussed later), the shell waits for all commands to complete. .Pp @@ -763,15 +770,6 @@ to be executed sequentially; an .Ql & causes asynchronous execution of the preceding AND-OR-list. -.Pp -Note that unlike some other shells, -.Nm -executes each process in the pipeline as a child of the -.Nm -process. -Shell built-in commands are the exception to this rule. -They are executed in the current shell, although they do not affect its -environment when used in pipelines. .Ss Background Commands (&) If a command is terminated by the control operator ampersand .Pq Ql & , From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 14:22:51 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2AD74106566C; Sat, 23 Oct 2010 14:22:51 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 19D088FC0A; Sat, 23 Oct 2010 14:22:51 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9NEMo3p089503; Sat, 23 Oct 2010 14:22:51 GMT (envelope-from trasz@svn.freebsd.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9NEMotV089501; Sat, 23 Oct 2010 14:22:50 GMT (envelope-from trasz@svn.freebsd.org) Message-Id: <201010231422.o9NEMotV089501@svn.freebsd.org> From: Edward Tomasz Napierala Date: Sat, 23 Oct 2010 14:22:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214245 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 14:22:51 -0000 Author: trasz Date: Sat Oct 23 14:22:50 2010 New Revision: 214245 URL: http://svn.freebsd.org/changeset/base/214245 Log: Remove workaround for ZFS bug; fix was committed to the //depot/user/pjd/zfs/... branch some time ago. MFC after: two weeks Modified: head/sys/kern/subr_acl_nfs4.c Modified: head/sys/kern/subr_acl_nfs4.c ============================================================================== --- head/sys/kern/subr_acl_nfs4.c Sat Oct 23 14:16:33 2010 (r214244) +++ head/sys/kern/subr_acl_nfs4.c Sat Oct 23 14:22:50 2010 (r214245) @@ -393,28 +393,6 @@ acl_nfs4_trivial_from_mode(struct acl *a group_deny = everyone_allow & ~group_allow; user_allow_first = group_deny & ~user_deny; -#if 1 - /* - * This is a workaround for what looks like a bug in ZFS - trivial - * ACL for mode 0077 should look like this: - * - * owner@:rwxp----------:------:deny - * owner@:------aARWcCos:------:allow - * group@:rwxp--a-R-c--s:------:allow - * everyone@:rwxp--a-R-c--s:------:allow - * - * Instead, ZFS makes it like this: - * - * owner@:rwx-----------:------:deny - * owner@:------aARWcCos:------:allow - * group@:rwxp--a-R-c--s:------:allow - * everyone@:rwxp--a-R-c--s:------:allow - */ - user_allow_first &= ~ACL_APPEND_DATA; - user_deny &= ~ACL_APPEND_DATA; - group_deny &= ~ACL_APPEND_DATA; -#endif - if (user_allow_first != 0) _acl_append(aclp, ACL_USER_OBJ, user_allow_first, ACL_ENTRY_TYPE_ALLOW); if (user_deny != 0) From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 16:59:39 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9386F106564A; Sat, 23 Oct 2010 16:59:39 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 81ABD8FC15; Sat, 23 Oct 2010 16:59:39 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9NGxdCd092746; Sat, 23 Oct 2010 16:59:39 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9NGxdic092744; Sat, 23 Oct 2010 16:59:39 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <201010231659.o9NGxdic092744@svn.freebsd.org> From: Robert Watson Date: Sat, 23 Oct 2010 16:59:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214249 - head/sys/security/mac X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 16:59:39 -0000 Author: rwatson Date: Sat Oct 23 16:59:39 2010 New Revision: 214249 URL: http://svn.freebsd.org/changeset/base/214249 Log: Add missing DTrace probe invocation to mac_vnode_check_open; the probe was declared, but never used. MFC after: 3 days Sponsored by: Google, Inc. Modified: head/sys/security/mac/mac_vfs.c Modified: head/sys/security/mac/mac_vfs.c ============================================================================== --- head/sys/security/mac/mac_vfs.c Sat Oct 23 14:30:27 2010 (r214248) +++ head/sys/security/mac/mac_vfs.c Sat Oct 23 16:59:39 2010 (r214249) @@ -637,6 +637,8 @@ mac_vnode_check_open(struct ucred *cred, ASSERT_VOP_LOCKED(vp, "mac_vnode_check_open"); MAC_POLICY_CHECK(vnode_check_open, cred, vp, vp->v_label, accmode); + MAC_CHECK_PROBE3(vnode_check_open, error, cred, vp, accmode); + return (error); } From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 20:35:41 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 48AB510656C2; Sat, 23 Oct 2010 20:35:41 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 364C88FC27; Sat, 23 Oct 2010 20:35:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9NKZfRN000325; Sat, 23 Oct 2010 20:35:41 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9NKZfLl000319; Sat, 23 Oct 2010 20:35:41 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <201010232035.o9NKZfLl000319@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Sat, 23 Oct 2010 20:35:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214250 - in head/sys: netinet netinet6 netipsec X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 20:35:41 -0000 Author: bz Date: Sat Oct 23 20:35:40 2010 New Revision: 214250 URL: http://svn.freebsd.org/changeset/base/214250 Log: Make the IPsec SADB embedded route cache a union to be able to hold both the legacy and IPv6 route destination address. Previously in case of IPv6, there was a memory overwrite due to not enough space for the IPv6 address. PR: kern/122565 MFC After: 2 weeks Modified: head/sys/netinet/ip_ipsec.c head/sys/netinet6/ip6_ipsec.c head/sys/netipsec/ipsec_output.c head/sys/netipsec/key.c head/sys/netipsec/keydb.h Modified: head/sys/netinet/ip_ipsec.c ============================================================================== --- head/sys/netinet/ip_ipsec.c Sat Oct 23 16:59:39 2010 (r214249) +++ head/sys/netinet/ip_ipsec.c Sat Oct 23 20:35:40 2010 (r214250) @@ -239,7 +239,7 @@ ip_ipsec_mtu(struct mbuf *m, int mtu) if (sp->req != NULL && sp->req->sav != NULL && sp->req->sav->sah != NULL) { - ro = &sp->req->sav->sah->sa_route; + ro = &sp->req->sav->sah->route_cache.sa_route; if (ro->ro_rt && ro->ro_rt->rt_ifp) { mtu = ro->ro_rt->rt_rmx.rmx_mtu ? Modified: head/sys/netinet6/ip6_ipsec.c ============================================================================== --- head/sys/netinet6/ip6_ipsec.c Sat Oct 23 16:59:39 2010 (r214249) +++ head/sys/netinet6/ip6_ipsec.c Sat Oct 23 20:35:40 2010 (r214250) @@ -366,7 +366,7 @@ ip6_ipsec_mtu(struct mbuf *m) if (sp->req != NULL && sp->req->sav != NULL && sp->req->sav->sah != NULL) { - ro = &sp->req->sav->sah->sa_route; + ro = &sp->req->sav->sah->route_cache.sa_route; if (ro->ro_rt && ro->ro_rt->rt_ifp) { mtu = ro->ro_rt->rt_rmx.rmx_mtu ? Modified: head/sys/netipsec/ipsec_output.c ============================================================================== --- head/sys/netipsec/ipsec_output.c Sat Oct 23 16:59:39 2010 (r214249) +++ head/sys/netipsec/ipsec_output.c Sat Oct 23 20:35:40 2010 (r214250) @@ -829,7 +829,8 @@ ipsec6_output_tunnel(struct ipsec_output } ip6 = mtod(m, struct ip6_hdr *); - state->ro = &isr->sav->sah->sa_route; + state->ro = + (struct route *)&isr->sav->sah->route_cache.sin6_route; state->dst = (struct sockaddr *)&state->ro->ro_dst; dst6 = (struct sockaddr_in6 *)state->dst; if (state->ro->ro_rt Modified: head/sys/netipsec/key.c ============================================================================== --- head/sys/netipsec/key.c Sat Oct 23 16:59:39 2010 (r214249) +++ head/sys/netipsec/key.c Sat Oct 23 20:35:40 2010 (r214250) @@ -2758,9 +2758,9 @@ key_delsah(sah) /* remove from tree of SA index */ if (__LIST_CHAINED(sah)) LIST_REMOVE(sah, chain); - if (sah->sa_route.ro_rt) { - RTFREE(sah->sa_route.ro_rt); - sah->sa_route.ro_rt = (struct rtentry *)NULL; + if (sah->route_cache.sa_route.ro_rt) { + RTFREE(sah->route_cache.sa_route.ro_rt); + sah->route_cache.sa_route.ro_rt = (struct rtentry *)NULL; } free(sah, M_IPSEC_SAH); } @@ -7925,7 +7925,7 @@ key_sa_routechange(dst) SAHTREE_LOCK(); LIST_FOREACH(sah, &V_sahtree, chain) { - ro = &sah->sa_route; + ro = &sah->route_cache.sa_route; if (ro->ro_rt && dst->sa_len == ro->ro_dst.sa_len && bcmp(dst, &ro->ro_dst, dst->sa_len) == 0) { RTFREE(ro->ro_rt); Modified: head/sys/netipsec/keydb.h ============================================================================== --- head/sys/netipsec/keydb.h Sat Oct 23 16:59:39 2010 (r214249) +++ head/sys/netipsec/keydb.h Sat Oct 23 20:35:40 2010 (r214250) @@ -85,6 +85,12 @@ struct seclifetime { u_int64_t usetime; }; +union sa_route_union { + struct route sa_route; + struct route sin_route; /* Duplicate for consistency. */ + struct route_in6 sin6_route; +}; + /* Security Association Data Base */ struct secashead { LIST_ENTRY(secashead) chain; @@ -100,7 +106,7 @@ struct secashead { /* SA chain */ /* The first of this list is newer SA */ - struct route sa_route; /* route cache */ + union sa_route_union route_cache; }; struct xformsw; From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 21:20:26 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B8DE81065673; Sat, 23 Oct 2010 21:20:26 +0000 (UTC) (envelope-from jilles@stack.nl) Received: from mx1.stack.nl (relay04.stack.nl [IPv6:2001:610:1108:5010::107]) by mx1.freebsd.org (Postfix) with ESMTP id 7BBB78FC15; Sat, 23 Oct 2010 21:20:26 +0000 (UTC) Received: from turtle.stack.nl (turtle.stack.nl [IPv6:2001:610:1108:5010::132]) by mx1.stack.nl (Postfix) with ESMTP id 38C011DD732; Sat, 23 Oct 2010 23:20:24 +0200 (CEST) Received: by turtle.stack.nl (Postfix, from userid 1677) id 2CA1317280; Sat, 23 Oct 2010 23:20:24 +0200 (CEST) Date: Sat, 23 Oct 2010 23:20:24 +0200 From: Jilles Tjoelker To: "David E. O'Brien" Message-ID: <20101023212023.GA10891@stack.nl> References: <201010182310.o9INAWPU089616@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201010182310.o9INAWPU089616@svn.freebsd.org> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-8@freebsd.org Subject: Re: svn commit: r214045 - in stable/8/tools/regression/bin/sh: builtins errors execution expansion set-e X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 21:20:26 -0000 On Mon, Oct 18, 2010 at 11:10:32PM +0000, David E. O'Brien wrote: > Author: obrien > Date: Mon Oct 18 23:10:32 2010 > New Revision: 214045 > URL: http://svn.freebsd.org/changeset/base/214045 > > Log: > MFC: > r204801: make sure to popredir() even if a special builtin caused an error > r204802: make sure to popredir() even if a function caused an error > Copied: stable/8/tools/regression/bin/sh/builtins/command10.0 (from r204802, head/tools/regression/bin/sh/builtins/command10.0) > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ stable/8/tools/regression/bin/sh/builtins/command10.0 Mon Oct 18 23:10:32 2010 (r214045, copy of r204802, head/tools/regression/bin/sh/builtins/command10.0) > @@ -0,0 +1,14 @@ > +# $FreeBSD$ > + > +failures=0 > + > +check() { > + if ! eval "[ $* ]"; then > + echo "Failed: $*" > + : $((failures += 1)) > + fi > +} > + > +check '"$(f() { shift x; }; { command eval f 2>/dev/null; } >/dev/null; echo hi)" = hi' > + > +exit $((failures > 0)) > Copied: stable/8/tools/regression/bin/sh/builtins/command9.0 (from r204801, head/tools/regression/bin/sh/builtins/command9.0) > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ stable/8/tools/regression/bin/sh/builtins/command9.0 Mon Oct 18 23:10:32 2010 (r214045, copy of r204801, head/tools/regression/bin/sh/builtins/command9.0) > @@ -0,0 +1,14 @@ > +# $FreeBSD$ > + > +failures=0 > + > +check() { > + if ! eval "[ $* ]"; then > + echo "Failed: $*" > + : $((failures += 1)) > + fi > +} > + > +check '"$({ command eval shift x 2>/dev/null; } >/dev/null; echo hi)" = hi' > + > +exit $((failures > 0)) These work on stable/8, but for the wrong reason. In stable/8, 'command' does not allow executing builtin utilities, and therefore 'eval' cannot be found. This is a different error than the expected passing of a non-number to 'shift', and does not allow testing for the bug this is supposed to check for. Some of the other tests for these kinds of bugs use fifos and 'fc', which also work in older sh (from the point when POSIX-style special builtins were implemented; before that, 'fc' errors were fatal, probably for this reason). However, when I allowed 'command' to execute builtin utilities, I started to use 'command eval' because it makes the tests more readable and easier to write. Demonstration of the bug in stable/8: $ sh $ shift x shift: Illegal number: x $ echo $( { fc -e :; } >/dev/null; echo hi) shift: Illegal number: x $ "hi" should be printed, and is printed correctly if the procedure is repeated without the >/dev/null redirection. Because this does not cause any extra failures, I don't think it is necessary to revert it. However, it seems unusual to MFC a test for a bugfix without also MFCing the bugfix. -- Jilles Tjoelker From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 21:25:50 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AB803106564A; Sat, 23 Oct 2010 21:25:50 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7F9438FC13; Sat, 23 Oct 2010 21:25:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9NLPoE7002493; Sat, 23 Oct 2010 21:25:50 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9NLPoJ7002490; Sat, 23 Oct 2010 21:25:50 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201010232125.o9NLPoJ7002490@svn.freebsd.org> From: Pyun YongHyeon Date: Sat, 23 Oct 2010 21:25:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214251 - head/sys/dev/bge X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 21:25:50 -0000 Author: yongari Date: Sat Oct 23 21:25:50 2010 New Revision: 214251 URL: http://svn.freebsd.org/changeset/base/214251 Log: Apply the same workaround for SDI flow control used on BCM5906 A1 to BCM6906 A0/A2. This should fix a long standing BCM5906 A2 lockup issues. Data sheet explicitly mentions BCM5906 A0, A1 and A2 use de-pipelined mode on these revisions. Special thanks to Buganini who tried all combinations of experimental patches for more than 10 days. Tested by: Buganini gmail dot com > Modified: head/sys/dev/bge/if_bge.c head/sys/dev/bge/if_bgereg.h Modified: head/sys/dev/bge/if_bge.c ============================================================================== --- head/sys/dev/bge/if_bge.c Sat Oct 23 20:35:40 2010 (r214250) +++ head/sys/dev/bge/if_bge.c Sat Oct 23 21:25:50 2010 (r214251) @@ -1693,11 +1693,14 @@ bge_blockinit(struct bge_softc *sc) bge_writembx(sc, BGE_MBX_RX_MINI_PROD_LO, 0); } - /* Choose de-pipeline mode for BCM5906 A1. */ - if (sc->bge_asicrev == BGE_ASICREV_BCM5906 && - sc->bge_chiprev == BGE_CHIPID_BCM5906_A1) - CSR_WRITE_4(sc, BGE_ISO_PKT_TX, - (CSR_READ_4(sc, BGE_ISO_PKT_TX) & ~3) | 2); + /* Choose de-pipeline mode for BCM5906 A0, A1 and A2. */ + if (sc->bge_asicrev == BGE_ASICREV_BCM5906) { + if (sc->bge_chiprev == BGE_CHIPID_BCM5906_A0 || + sc->bge_chiprev == BGE_CHIPID_BCM5906_A1 || + sc->bge_chiprev == BGE_CHIPID_BCM5906_A2) + CSR_WRITE_4(sc, BGE_ISO_PKT_TX, + (CSR_READ_4(sc, BGE_ISO_PKT_TX) & ~3) | 2); + } /* * The BD ring replenish thresholds control how often the * hardware fetches new BD's from the producer rings in host Modified: head/sys/dev/bge/if_bgereg.h ============================================================================== --- head/sys/dev/bge/if_bgereg.h Sat Oct 23 20:35:40 2010 (r214250) +++ head/sys/dev/bge/if_bgereg.h Sat Oct 23 21:25:50 2010 (r214251) @@ -306,6 +306,7 @@ #define BGE_CHIPID_BCM5787_A0 0xb000 #define BGE_CHIPID_BCM5787_A1 0xb001 #define BGE_CHIPID_BCM5787_A2 0xb002 +#define BGE_CHIPID_BCM5906_A0 0xc000 #define BGE_CHIPID_BCM5906_A1 0xc001 #define BGE_CHIPID_BCM5906_A2 0xc002 #define BGE_CHIPID_BCM57780_A0 0x57780000 From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 21:56:51 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 029B7106566C; Sat, 23 Oct 2010 21:56:50 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id ACA2F8FC08; Sat, 23 Oct 2010 21:56:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9NLuojA003143; Sat, 23 Oct 2010 21:56:50 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9NLuoFh003140; Sat, 23 Oct 2010 21:56:50 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010232156.o9NLuoFh003140@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sat, 23 Oct 2010 21:56:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214252 - stable/8/sbin/geom/core X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 21:56:51 -0000 Author: pjd Date: Sat Oct 23 21:56:50 2010 New Revision: 214252 URL: http://svn.freebsd.org/changeset/base/214252 Log: Implement G_TYPE_MULTI and G_VAL_OPTIONAL for stable/8. This should have been MFC, but I've no green light from marcel to remove G_TYPE_ASCNUM and gc_argname and to modify geom_part in stable/8, so this is reimplementation that doesn't touch gpart and hopefully doesn't break anything. Modified: stable/8/sbin/geom/core/geom.c stable/8/sbin/geom/core/geom.h Modified: stable/8/sbin/geom/core/geom.c ============================================================================== --- stable/8/sbin/geom/core/geom.c Sat Oct 23 21:25:50 2010 (r214251) +++ stable/8/sbin/geom/core/geom.c Sat Oct 23 21:56:50 2010 (r214252) @@ -224,33 +224,61 @@ find_option(struct g_command *cmd, char * Add given option to gctl_req. */ static void -set_option(struct gctl_req *req, struct g_option *opt, const char *val) +set_option(struct g_command *cmd, struct gctl_req *req, struct g_option *opt, + const char *val) { - char *s; - intmax_t number; + const char *optname; + uint64_t number; + void *ptr; - if (G_OPT_TYPE(opt) == G_TYPE_NUMBER || - G_OPT_TYPE(opt) == G_TYPE_ASCNUM) { + if (G_OPT_ISMULTI(opt)) { + size_t optnamesize; + + if (G_OPT_NUM(opt) == UCHAR_MAX) + errx(EXIT_FAILURE, "Too many -%c options.", opt->go_char); + + /* + * Base option name length plus 3 bytes for option number + * (max. 255 options) plus 1 byte for terminating '\0'. + */ + optnamesize = strlen(opt->go_name) + 3 + 1; + ptr = malloc(optnamesize); + if (ptr == NULL) + errx(EXIT_FAILURE, "No memory."); + snprintf(ptr, optnamesize, "%s%u", opt->go_name, G_OPT_NUM(opt)); + G_OPT_NUMINC(opt); + optname = ptr; + } else { + optname = opt->go_name; + } + + if (G_OPT_TYPE(opt) == G_TYPE_NUMBER) { if (expand_number(val, &number) == -1) { - err(EXIT_FAILURE, "Invalid value for '%c' argument.", + err(EXIT_FAILURE, "Invalid value for '%c' argument", opt->go_char); } - if (G_OPT_TYPE(opt) == G_TYPE_NUMBER) - opt->go_val = malloc(sizeof(intmax_t)); - else { - asprintf(&s, "%jd", number); - opt->go_val = s; - } + opt->go_val = malloc(sizeof(intmax_t)); if (opt->go_val == NULL) errx(EXIT_FAILURE, "No memory."); - if (G_OPT_TYPE(opt) == G_TYPE_NUMBER) { - *(intmax_t *)opt->go_val = number; - gctl_ro_param(req, opt->go_name, sizeof(intmax_t), - opt->go_val); - } else + *(intmax_t *)opt->go_val = number; + gctl_ro_param(req, opt->go_name, sizeof(intmax_t), opt->go_val); + } else if (G_OPT_TYPE(opt) == G_TYPE_ASCNUM) { + if (cmd->gc_argname == NULL || *val != '\0') { + char *s; + + if (expand_number(val, &number) == -1) { + err(EXIT_FAILURE, "Invalid value for '%c' argument", + opt->go_char); + } + asprintf(&s, "%jd", number); + if (s == NULL) + errx(EXIT_FAILURE, "No memory."); + opt->go_val = s; gctl_ro_param(req, opt->go_name, -1, opt->go_val); + } } else if (G_OPT_TYPE(opt) == G_TYPE_STRING) { - gctl_ro_param(req, opt->go_name, -1, val); + if (cmd->gc_argname == NULL || *val != '\0') + gctl_ro_param(req, opt->go_name, -1, val); } else if (G_OPT_TYPE(opt) == G_TYPE_BOOL) { opt->go_val = malloc(sizeof(int)); if (opt->go_val == NULL) @@ -260,6 +288,9 @@ set_option(struct gctl_req *req, struct } else { assert(!"Invalid type"); } + + if (G_OPT_ISMULTI(opt)) + free(__DECONST(char *, optname)); } /* @@ -284,7 +315,10 @@ parse_arguments(struct g_command *cmd, s if (opt->go_name == NULL) break; assert(G_OPT_TYPE(opt) != 0); - assert((opt->go_type & ~G_TYPE_MASK) == 0); + assert((opt->go_type & ~(G_TYPE_MASK | G_TYPE_MULTI)) == 0); + /* Multiple bool arguments makes no sense. */ + assert(G_OPT_TYPE(opt) != G_TYPE_BOOL || + (opt->go_type & G_TYPE_MULTI) == 0); strlcatf(opts, sizeof(opts), "%c", opt->go_char); if (G_OPT_TYPE(opt) != G_TYPE_BOOL) strlcat(opts, ":", sizeof(opts)); @@ -304,16 +338,16 @@ parse_arguments(struct g_command *cmd, s opt = find_option(cmd, ch); if (opt == NULL) usage(); - if (G_OPT_ISDONE(opt)) { + if (!G_OPT_ISMULTI(opt) && G_OPT_ISDONE(opt)) { warnx("Option '%c' specified twice.", opt->go_char); usage(); } G_OPT_DONE(opt); if (G_OPT_TYPE(opt) == G_TYPE_BOOL) - set_option(req, opt, "1"); + set_option(cmd, req, opt, "1"); else - set_option(req, opt, optarg); + set_option(cmd, req, opt, optarg); } *argc -= optind; *argv += optind; @@ -330,26 +364,22 @@ parse_arguments(struct g_command *cmd, s if (G_OPT_TYPE(opt) == G_TYPE_BOOL) { assert(opt->go_val == NULL); - set_option(req, opt, "0"); + set_option(cmd, req, opt, "0"); } else { if (opt->go_val == NULL) { warnx("Option '%c' not specified.", opt->go_char); usage(); - } else { - if (G_OPT_TYPE(opt) == G_TYPE_NUMBER) { - gctl_ro_param(req, opt->go_name, - sizeof(intmax_t), opt->go_val); - } else if (G_OPT_TYPE(opt) == G_TYPE_STRING || - G_OPT_TYPE(opt) == G_TYPE_ASCNUM) { - if (cmd->gc_argname == NULL || - opt->go_val == NULL || - *(char *)opt->go_val != '\0') - gctl_ro_param(req, opt->go_name, - -1, opt->go_val); - } else { - assert(!"Invalid type"); - } + } else if (opt->go_val == G_VAL_OPTIONAL) { + /* add nothing. */ + } else if (G_OPT_TYPE(opt) == G_TYPE_STRING) { + set_option(cmd, req, opt, opt->go_val); + } else if (G_OPT_TYPE(opt) == G_TYPE_NUMBER) { + char val[64]; + + snprintf(val, sizeof(val), "%jd", + *(intmax_t *)opt->go_val); + set_option(cmd, req, opt, val); } } } Modified: stable/8/sbin/geom/core/geom.h ============================================================================== --- stable/8/sbin/geom/core/geom.h Sat Oct 23 21:25:50 2010 (r214251) +++ stable/8/sbin/geom/core/geom.h Sat Oct 23 21:56:50 2010 (r214252) @@ -41,11 +41,19 @@ #define G_TYPE_ASCNUM 0x04 #define G_TYPE_MASK 0x0f #define G_TYPE_DONE 0x10 +#define G_TYPE_MULTI 0x20 +#define G_TYPE_NUMMASK 0xff00 +#define G_TYPE_NUMSHIFT 8 #define G_OPT_MAX 16 #define G_OPT_DONE(opt) do { (opt)->go_type |= G_TYPE_DONE; } while (0) #define G_OPT_ISDONE(opt) ((opt)->go_type & G_TYPE_DONE) +#define G_OPT_ISMULTI(opt) ((opt)->go_type & G_TYPE_MULTI) #define G_OPT_TYPE(opt) ((opt)->go_type & G_TYPE_MASK) +#define G_OPT_NUM(opt) (((opt)->go_type & G_TYPE_NUMMASK) >> G_TYPE_NUMSHIFT) +#define G_OPT_NUMINC(opt) ((opt)->go_type += (1 << G_TYPE_NUMSHIFT)) + +#define G_VAL_OPTIONAL ((void *)-1) #define G_OPT_SENTINEL { '\0', NULL, NULL, G_TYPE_NONE } #define G_NULL_OPTS { G_OPT_SENTINEL } From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 22:04:38 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1665C106564A; Sat, 23 Oct 2010 22:04:38 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 045D18FC1A; Sat, 23 Oct 2010 22:04:38 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9NM4bgM003382; Sat, 23 Oct 2010 22:04:37 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9NM4bPW003379; Sat, 23 Oct 2010 22:04:37 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010232204.o9NM4bPW003379@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sat, 23 Oct 2010 22:04:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214253 - stable/8/sbin/geom/core X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 22:04:38 -0000 Author: pjd Date: Sat Oct 23 22:04:37 2010 New Revision: 214253 URL: http://svn.freebsd.org/changeset/base/214253 Log: Constify go_val field. (Should've been MFC of r212547.) Modified: stable/8/sbin/geom/core/geom.c stable/8/sbin/geom/core/geom.h Modified: stable/8/sbin/geom/core/geom.c ============================================================================== --- stable/8/sbin/geom/core/geom.c Sat Oct 23 21:56:50 2010 (r214252) +++ stable/8/sbin/geom/core/geom.c Sat Oct 23 22:04:37 2010 (r214253) @@ -257,10 +257,11 @@ set_option(struct g_command *cmd, struct err(EXIT_FAILURE, "Invalid value for '%c' argument", opt->go_char); } - opt->go_val = malloc(sizeof(intmax_t)); - if (opt->go_val == NULL) + ptr = malloc(sizeof(intmax_t)); + if (ptr == NULL) errx(EXIT_FAILURE, "No memory."); - *(intmax_t *)opt->go_val = number; + *(intmax_t *)ptr = number; + opt->go_val = ptr; gctl_ro_param(req, opt->go_name, sizeof(intmax_t), opt->go_val); } else if (G_OPT_TYPE(opt) == G_TYPE_ASCNUM) { if (cmd->gc_argname == NULL || *val != '\0') { @@ -280,10 +281,11 @@ set_option(struct g_command *cmd, struct if (cmd->gc_argname == NULL || *val != '\0') gctl_ro_param(req, opt->go_name, -1, val); } else if (G_OPT_TYPE(opt) == G_TYPE_BOOL) { - opt->go_val = malloc(sizeof(int)); - if (opt->go_val == NULL) + ptr = malloc(sizeof(int)); + if (ptr == NULL) errx(EXIT_FAILURE, "No memory."); - *(int *)opt->go_val = *val - '0'; + *(int *)ptr = *val - '0'; + opt->go_val = ptr; gctl_ro_param(req, opt->go_name, sizeof(int), opt->go_val); } else { assert(!"Invalid type"); @@ -378,7 +380,7 @@ parse_arguments(struct g_command *cmd, s char val[64]; snprintf(val, sizeof(val), "%jd", - *(intmax_t *)opt->go_val); + *(const intmax_t *)opt->go_val); set_option(cmd, req, opt, val); } } Modified: stable/8/sbin/geom/core/geom.h ============================================================================== --- stable/8/sbin/geom/core/geom.h Sat Oct 23 21:56:50 2010 (r214252) +++ stable/8/sbin/geom/core/geom.h Sat Oct 23 22:04:37 2010 (r214253) @@ -62,7 +62,7 @@ struct g_option { char go_char; const char *go_name; - void *go_val; + const void *go_val; unsigned go_type; }; From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 22:11:30 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A68D0106564A; Sat, 23 Oct 2010 22:11:30 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 93AF58FC15; Sat, 23 Oct 2010 22:11:30 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9NMBUUT003601; Sat, 23 Oct 2010 22:11:30 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9NMBUee003595; Sat, 23 Oct 2010 22:11:30 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201010232211.o9NMBUee003595@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sat, 23 Oct 2010 22:11:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214254 - stable/8/sys/opencrypto X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 22:11:30 -0000 Author: pjd Date: Sat Oct 23 22:11:30 2010 New Revision: 214254 URL: http://svn.freebsd.org/changeset/base/214254 Log: MFC r213065,r213068: r213065: Remove redundant space. r213068: Add support for AES-XTS. Obtained from: OpenBSD Modified: stable/8/sys/opencrypto/cryptodev.c stable/8/sys/opencrypto/cryptodev.h stable/8/sys/opencrypto/cryptosoft.c stable/8/sys/opencrypto/xform.c stable/8/sys/opencrypto/xform.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/opencrypto/cryptodev.c ============================================================================== --- stable/8/sys/opencrypto/cryptodev.c Sat Oct 23 22:04:37 2010 (r214253) +++ stable/8/sys/opencrypto/cryptodev.c Sat Oct 23 22:11:30 2010 (r214254) @@ -419,6 +419,9 @@ cryptof_ioctl( case CRYPTO_AES_CBC: txform = &enc_xform_rijndael128; break; + case CRYPTO_AES_XTS: + txform = &enc_xform_aes_xts; + break; case CRYPTO_NULL_CBC: txform = &enc_xform_null; break; Modified: stable/8/sys/opencrypto/cryptodev.h ============================================================================== --- stable/8/sys/opencrypto/cryptodev.h Sat Oct 23 22:04:37 2010 (r214253) +++ stable/8/sys/opencrypto/cryptodev.h Sat Oct 23 22:11:30 2010 (r214254) @@ -123,7 +123,8 @@ #define CRYPTO_SHA2_384_HMAC 19 #define CRYPTO_SHA2_512_HMAC 20 #define CRYPTO_CAMELLIA_CBC 21 -#define CRYPTO_ALGORITHM_MAX 21 /* Keep updated - see below */ +#define CRYPTO_AES_XTS 22 +#define CRYPTO_ALGORITHM_MAX 22 /* Keep updated - see below */ /* Algorithm flags */ #define CRYPTO_ALG_FLAG_SUPPORTED 0x01 /* Algorithm is supported */ Modified: stable/8/sys/opencrypto/cryptosoft.c ============================================================================== --- stable/8/sys/opencrypto/cryptosoft.c Sat Oct 23 22:04:37 2010 (r214253) +++ stable/8/sys/opencrypto/cryptosoft.c Sat Oct 23 22:11:30 2010 (r214254) @@ -114,8 +114,16 @@ swcr_encdec(struct cryptodesc *crd, stru if (error) return (error); } + ivp = iv; + /* + * xforms that provide a reinit method perform all IV + * handling themselves. + */ + if (exf->reinit) + exf->reinit(sw->sw_kschedule, iv); + if (flags & CRYPTO_F_IMBUF) { struct mbuf *m = (struct mbuf *) buf; @@ -135,7 +143,15 @@ swcr_encdec(struct cryptodesc *crd, stru m_copydata(m, k, blks, blk); /* Actual encryption/decryption */ - if (crd->crd_flags & CRD_F_ENCRYPT) { + if (exf->reinit) { + if (crd->crd_flags & CRD_F_ENCRYPT) { + exf->encrypt(sw->sw_kschedule, + blk); + } else { + exf->decrypt(sw->sw_kschedule, + blk); + } + } else if (crd->crd_flags & CRD_F_ENCRYPT) { /* XOR with previous block */ for (j = 0; j < blks; j++) blk[j] ^= ivp[j]; @@ -205,7 +221,15 @@ swcr_encdec(struct cryptodesc *crd, stru idat = mtod(m, unsigned char *) + k; while (m->m_len >= k + blks && i > 0) { - if (crd->crd_flags & CRD_F_ENCRYPT) { + if (exf->reinit) { + if (crd->crd_flags & CRD_F_ENCRYPT) { + exf->encrypt(sw->sw_kschedule, + idat); + } else { + exf->decrypt(sw->sw_kschedule, + idat); + } + } else if (crd->crd_flags & CRD_F_ENCRYPT) { /* XOR with previous block/IV */ for (j = 0; j < blks; j++) idat[j] ^= ivp[j]; @@ -261,7 +285,15 @@ swcr_encdec(struct cryptodesc *crd, stru cuio_copydata(uio, k, blks, blk); /* Actual encryption/decryption */ - if (crd->crd_flags & CRD_F_ENCRYPT) { + if (exf->reinit) { + if (crd->crd_flags & CRD_F_ENCRYPT) { + exf->encrypt(sw->sw_kschedule, + blk); + } else { + exf->decrypt(sw->sw_kschedule, + blk); + } + } else if (crd->crd_flags & CRD_F_ENCRYPT) { /* XOR with previous block */ for (j = 0; j < blks; j++) blk[j] ^= ivp[j]; @@ -319,7 +351,15 @@ swcr_encdec(struct cryptodesc *crd, stru idat = (char *)iov->iov_base + k; while (iov->iov_len >= k + blks && i > 0) { - if (crd->crd_flags & CRD_F_ENCRYPT) { + if (exf->reinit) { + if (crd->crd_flags & CRD_F_ENCRYPT) { + exf->encrypt(sw->sw_kschedule, + idat); + } else { + exf->decrypt(sw->sw_kschedule, + idat); + } + } else if (crd->crd_flags & CRD_F_ENCRYPT) { /* XOR with previous block/IV */ for (j = 0; j < blks; j++) idat[j] ^= ivp[j]; @@ -360,7 +400,15 @@ swcr_encdec(struct cryptodesc *crd, stru return 0; /* Done with iovec encryption/decryption */ } else { /* contiguous buffer */ - if (crd->crd_flags & CRD_F_ENCRYPT) { + if (exf->reinit) { + for (i = crd->crd_skip; + i < crd->crd_skip + crd->crd_len; i += blks) { + if (crd->crd_flags & CRD_F_ENCRYPT) + exf->encrypt(sw->sw_kschedule, buf + i); + else + exf->decrypt(sw->sw_kschedule, buf + i); + } + } else if (crd->crd_flags & CRD_F_ENCRYPT) { for (i = crd->crd_skip; i < crd->crd_skip + crd->crd_len; i += blks) { /* XOR with the IV/previous block, as appropriate. */ @@ -687,6 +735,9 @@ swcr_newsession(device_t dev, u_int32_t case CRYPTO_RIJNDAEL128_CBC: txf = &enc_xform_rijndael128; goto enccommon; + case CRYPTO_AES_XTS: + txf = &enc_xform_aes_xts; + goto enccommon; case CRYPTO_CAMELLIA_CBC: txf = &enc_xform_camellia; goto enccommon; @@ -845,6 +896,7 @@ swcr_freesession(device_t dev, u_int64_t case CRYPTO_CAST_CBC: case CRYPTO_SKIPJACK_CBC: case CRYPTO_RIJNDAEL128_CBC: + case CRYPTO_AES_XTS: case CRYPTO_CAMELLIA_CBC: case CRYPTO_NULL_CBC: txf = swd->sw_exf; @@ -958,6 +1010,7 @@ swcr_process(device_t dev, struct crypto case CRYPTO_CAST_CBC: case CRYPTO_SKIPJACK_CBC: case CRYPTO_RIJNDAEL128_CBC: + case CRYPTO_AES_XTS: case CRYPTO_CAMELLIA_CBC: if ((crp->crp_etype = swcr_encdec(crd, sw, crp->crp_buf, crp->crp_flags)) != 0) @@ -1050,6 +1103,7 @@ swcr_attach(device_t dev) REGISTER(CRYPTO_MD5); REGISTER(CRYPTO_SHA1); REGISTER(CRYPTO_RIJNDAEL128_CBC); + REGISTER(CRYPTO_AES_XTS); REGISTER(CRYPTO_CAMELLIA_CBC); REGISTER(CRYPTO_DEFLATE_COMP); #undef REGISTER Modified: stable/8/sys/opencrypto/xform.c ============================================================================== --- stable/8/sys/opencrypto/xform.c Sat Oct 23 22:04:37 2010 (r214253) +++ stable/8/sys/opencrypto/xform.c Sat Oct 23 22:11:30 2010 (r214254) @@ -64,40 +64,48 @@ __FBSDID("$FreeBSD$"); #include #include -static void null_encrypt(caddr_t, u_int8_t *); -static void null_decrypt(caddr_t, u_int8_t *); -static int null_setkey(u_int8_t **, u_int8_t *, int); -static void null_zerokey(u_int8_t **); - +static int null_setkey(u_int8_t **, u_int8_t *, int); static int des1_setkey(u_int8_t **, u_int8_t *, int); static int des3_setkey(u_int8_t **, u_int8_t *, int); static int blf_setkey(u_int8_t **, u_int8_t *, int); static int cast5_setkey(u_int8_t **, u_int8_t *, int); static int skipjack_setkey(u_int8_t **, u_int8_t *, int); static int rijndael128_setkey(u_int8_t **, u_int8_t *, int); +static int aes_xts_setkey(u_int8_t **, u_int8_t *, int); static int cml_setkey(u_int8_t **, u_int8_t *, int); + +static void null_encrypt(caddr_t, u_int8_t *); static void des1_encrypt(caddr_t, u_int8_t *); static void des3_encrypt(caddr_t, u_int8_t *); static void blf_encrypt(caddr_t, u_int8_t *); static void cast5_encrypt(caddr_t, u_int8_t *); static void skipjack_encrypt(caddr_t, u_int8_t *); static void rijndael128_encrypt(caddr_t, u_int8_t *); +static void aes_xts_encrypt(caddr_t, u_int8_t *); static void cml_encrypt(caddr_t, u_int8_t *); + +static void null_decrypt(caddr_t, u_int8_t *); static void des1_decrypt(caddr_t, u_int8_t *); static void des3_decrypt(caddr_t, u_int8_t *); static void blf_decrypt(caddr_t, u_int8_t *); static void cast5_decrypt(caddr_t, u_int8_t *); static void skipjack_decrypt(caddr_t, u_int8_t *); static void rijndael128_decrypt(caddr_t, u_int8_t *); +static void aes_xts_decrypt(caddr_t, u_int8_t *); static void cml_decrypt(caddr_t, u_int8_t *); + +static void null_zerokey(u_int8_t **); static void des1_zerokey(u_int8_t **); static void des3_zerokey(u_int8_t **); static void blf_zerokey(u_int8_t **); static void cast5_zerokey(u_int8_t **); static void skipjack_zerokey(u_int8_t **); static void rijndael128_zerokey(u_int8_t **); +static void aes_xts_zerokey(u_int8_t **); static void cml_zerokey(u_int8_t **); +static void aes_xts_reinit(caddr_t, u_int8_t *); + static void null_init(void *); static int null_update(void *, u_int8_t *, u_int16_t); static void null_final(u_int8_t *, void *); @@ -124,6 +132,7 @@ struct enc_xform enc_xform_null = { null_decrypt, null_setkey, null_zerokey, + NULL }; struct enc_xform enc_xform_des = { @@ -133,6 +142,7 @@ struct enc_xform enc_xform_des = { des1_decrypt, des1_setkey, des1_zerokey, + NULL }; struct enc_xform enc_xform_3des = { @@ -141,7 +151,8 @@ struct enc_xform enc_xform_3des = { des3_encrypt, des3_decrypt, des3_setkey, - des3_zerokey + des3_zerokey, + NULL }; struct enc_xform enc_xform_blf = { @@ -150,7 +161,8 @@ struct enc_xform enc_xform_blf = { blf_encrypt, blf_decrypt, blf_setkey, - blf_zerokey + blf_zerokey, + NULL }; struct enc_xform enc_xform_cast5 = { @@ -159,7 +171,8 @@ struct enc_xform enc_xform_cast5 = { cast5_encrypt, cast5_decrypt, cast5_setkey, - cast5_zerokey + cast5_zerokey, + NULL }; struct enc_xform enc_xform_skipjack = { @@ -168,7 +181,8 @@ struct enc_xform enc_xform_skipjack = { skipjack_encrypt, skipjack_decrypt, skipjack_setkey, - skipjack_zerokey + skipjack_zerokey, + NULL }; struct enc_xform enc_xform_rijndael128 = { @@ -178,6 +192,17 @@ struct enc_xform enc_xform_rijndael128 = rijndael128_decrypt, rijndael128_setkey, rijndael128_zerokey, + NULL +}; + +struct enc_xform enc_xform_aes_xts = { + CRYPTO_AES_XTS, "AES-XTS", + RIJNDAEL128_BLOCK_LEN, 32, 64, + aes_xts_encrypt, + aes_xts_decrypt, + aes_xts_setkey, + aes_xts_zerokey, + aes_xts_reinit }; struct enc_xform enc_xform_arc4 = { @@ -187,6 +212,7 @@ struct enc_xform enc_xform_arc4 = { NULL, NULL, NULL, + NULL }; struct enc_xform enc_xform_camellia = { @@ -196,6 +222,7 @@ struct enc_xform enc_xform_camellia = { cml_decrypt, cml_setkey, cml_zerokey, + NULL }; /* Authentication instances */ @@ -226,7 +253,7 @@ struct auth_hash auth_hash_hmac_ripemd_1 }; struct auth_hash auth_hash_key_md5 = { - CRYPTO_MD5_KPDK, "Keyed MD5", + CRYPTO_MD5_KPDK, "Keyed MD5", 0, MD5_KPDK_HASH_LEN, 0, sizeof(MD5_CTX), (void (*)(void *)) MD5Init, MD5Update_int, (void (*)(u_int8_t *, void *)) MD5Final @@ -547,6 +574,107 @@ rijndael128_zerokey(u_int8_t **sched) *sched = NULL; } +#define AES_XTS_BLOCKSIZE 16 +#define AES_XTS_IVSIZE 8 +#define AES_XTS_ALPHA 0x87 /* GF(2^128) generator polynomial */ + +struct aes_xts_ctx { + rijndael_ctx key1; + rijndael_ctx key2; + u_int8_t tweak[AES_XTS_BLOCKSIZE]; +}; + +void +aes_xts_reinit(caddr_t key, u_int8_t *iv) +{ + struct aes_xts_ctx *ctx = (struct aes_xts_ctx *)key; + u_int64_t blocknum; + u_int i; + + /* + * Prepare tweak as E_k2(IV). IV is specified as LE representation + * of a 64-bit block number which we allow to be passed in directly. + */ + bcopy(iv, &blocknum, AES_XTS_IVSIZE); + for (i = 0; i < AES_XTS_IVSIZE; i++) { + ctx->tweak[i] = blocknum & 0xff; + blocknum >>= 8; + } + /* Last 64 bits of IV are always zero */ + bzero(ctx->tweak + AES_XTS_IVSIZE, AES_XTS_IVSIZE); + + rijndael_encrypt(&ctx->key2, ctx->tweak, ctx->tweak); +} + +static void +aes_xts_crypt(struct aes_xts_ctx *ctx, u_int8_t *data, u_int do_encrypt) +{ + u_int8_t block[AES_XTS_BLOCKSIZE]; + u_int i, carry_in, carry_out; + + for (i = 0; i < AES_XTS_BLOCKSIZE; i++) + block[i] = data[i] ^ ctx->tweak[i]; + + if (do_encrypt) + rijndael_encrypt(&ctx->key1, block, data); + else + rijndael_decrypt(&ctx->key1, block, data); + + for (i = 0; i < AES_XTS_BLOCKSIZE; i++) + data[i] ^= ctx->tweak[i]; + + /* Exponentiate tweak */ + carry_in = 0; + for (i = 0; i < AES_XTS_BLOCKSIZE; i++) { + carry_out = ctx->tweak[i] & 0x80; + ctx->tweak[i] = (ctx->tweak[i] << 1) | (carry_in ? 1 : 0); + carry_in = carry_out; + } + if (carry_in) + ctx->tweak[0] ^= AES_XTS_ALPHA; + bzero(block, sizeof(block)); +} + +void +aes_xts_encrypt(caddr_t key, u_int8_t *data) +{ + aes_xts_crypt((struct aes_xts_ctx *)key, data, 1); +} + +void +aes_xts_decrypt(caddr_t key, u_int8_t *data) +{ + aes_xts_crypt((struct aes_xts_ctx *)key, data, 0); +} + +int +aes_xts_setkey(u_int8_t **sched, u_int8_t *key, int len) +{ + struct aes_xts_ctx *ctx; + + if (len != 32 && len != 64) + return EINVAL; + + *sched = malloc(sizeof(struct aes_xts_ctx), M_CRYPTO_DATA, + M_NOWAIT | M_ZERO); + if (*sched == NULL) + return ENOMEM; + ctx = (struct aes_xts_ctx *)*sched; + + rijndael_set_key(&ctx->key1, key, len * 4); + rijndael_set_key(&ctx->key2, key + (len / 2), len * 4); + + return 0; +} + +void +aes_xts_zerokey(u_int8_t **sched) +{ + bzero(*sched, sizeof(struct aes_xts_ctx)); + free(*sched, M_CRYPTO_DATA); + *sched = NULL; +} + static void cml_encrypt(caddr_t key, u_int8_t *blk) { Modified: stable/8/sys/opencrypto/xform.h ============================================================================== --- stable/8/sys/opencrypto/xform.h Sat Oct 23 22:04:37 2010 (r214253) +++ stable/8/sys/opencrypto/xform.h Sat Oct 23 22:11:30 2010 (r214254) @@ -54,6 +54,7 @@ struct enc_xform { void (*decrypt) (caddr_t, u_int8_t *); int (*setkey) (u_int8_t **, u_int8_t *, int len); void (*zerokey) (u_int8_t **); + void (*reinit) (caddr_t, u_int8_t *); }; struct comp_algo { @@ -80,6 +81,7 @@ extern struct enc_xform enc_xform_blf; extern struct enc_xform enc_xform_cast5; extern struct enc_xform enc_xform_skipjack; extern struct enc_xform enc_xform_rijndael128; +extern struct enc_xform enc_xform_aes_xts; extern struct enc_xform enc_xform_arc4; extern struct enc_xform enc_xform_camellia; From owner-svn-src-all@FreeBSD.ORG Sat Oct 23 22:28:29 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7FF981065670; Sat, 23 Oct 2010 22:28:29 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 53AF58FC0C; Sat, 23 Oct 2010 22:28:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o9NMSTep003959; Sat, 23 Oct 2010 22:28:29 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o9NMSTts003956; Sat, 23 Oct 2010 22:28:29 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201010232228.o9NMSTts003956@svn.freebsd.org> From: Rick Macklem Date: Sat, 23 Oct 2010 22:28:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r214255 - in head/sys/fs: nfs nfsserver X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Oct 2010 22:28:29 -0000 Author: rmacklem Date: Sat Oct 23 22:28:29 2010 New Revision: 214255 URL: http://svn.freebsd.org/changeset/base/214255 Log: Modify the experimental NFSv4 server's file handle hash function to use the generic hash32_buf() function. Although adding the bytes seemed sufficient for UFS and ZFS, since most of the bytes are the same for file handles on the same volume, this might not be sufficient for other file systems. Use of a generic function also seems preferable to one specific to NFSv4. Suggested by: gleb.kurtsou at gmail.com MFC after: 10 days Modified: head/sys/fs/nfs/nfs_var.h head/sys/fs/nfsserver/nfs_nfsdport.c Modified: head/sys/fs/nfs/nfs_var.h ============================================================================== --- head/sys/fs/nfs/nfs_var.h Sat Oct 23 22:11:30 2010 (r214254) +++ head/sys/fs/nfs/nfs_var.h Sat Oct 23 22:28:29 2010 (r214255) @@ -576,7 +576,7 @@ void nfsvno_unlockvfs(mount_t); int nfsvno_lockvfs(mount_t); int nfsrv_v4rootexport(void *, struct ucred *, NFSPROC_T *); int nfsvno_testexp(struct nfsrv_descript *, struct nfsexstuff *); -int nfsrv_hashfh(fhandle_t *); +uint32_t nfsrv_hashfh(fhandle_t *); /* nfs_commonkrpc.c */ int newnfs_nmcancelreqs(struct nfsmount *); Modified: head/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdport.c Sat Oct 23 22:11:30 2010 (r214254) +++ head/sys/fs/nfsserver/nfs_nfsdport.c Sat Oct 23 22:28:29 2010 (r214255) @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); */ #include +#include #include #include #include @@ -3090,15 +3091,12 @@ nfsvno_testexp(struct nfsrv_descript *nd /* * Calculate a hash value for the fid in a file handle. */ -int +uint32_t nfsrv_hashfh(fhandle_t *fhp) { - int hashval = 0, i; - uint8_t *cp; + uint32_t hashval; - cp = (uint8_t *)&fhp->fh_fid; - for (i = 0; i < sizeof(struct fid); i++) - hashval += *cp++; + hashval = hash32_buf(&fhp->fh_fid, sizeof(struct fid), 0); return (hashval); }