Re: svn commit: r282985 - in head/sys: arm/annapurna arm/annapurna/alpine arm/annapurna/alpine/hal arm/conf boot/fdt/dts/arm
Hmmm...(facepalm). Sorry... I did not check the patch for DOS newlines -_-' (I guess I will need to start doing so starting from now). Nevertheless I can't see any ^Ms in files now (ff=unix doesn't show anything and dos2unix did not change the files). As far as I can see bz@ fixed the only DOS newlines committed. How is it possible that you still see them in files? Sorry again and best regards zbb 2015-05-17 3:45 GMT+02:00 Adrian Chadd adr...@freebsd.org: Did you commit files with DOS newlines in them? :) tsk tsk tsk tsk tsk. I think should fix that.. -adrian ___ 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-unsubscr...@freebsd.org
svn commit: r283033 - head/sys/arm/arm
Author: ian Date: Sun May 17 17:03:37 2015 New Revision: 283033 URL: https://svnweb.freebsd.org/changeset/base/283033 Log: Do not set preload_addr_relocate for ARM. Apparently there was a time when loader(8) passed physical addresses in loader metadata for arm, but that is no longer true; all metadata has already been adjusted to vitual addresses by loader. I can't track down the exact revision in loader where a change from physical to virtual metadata addresses happened. The code involved is very twisty and complicated. I suspect the change was an unintended consequence of the r247301, r247413, r248118 series of changes I made a couple years ago. Modified: head/sys/arm/arm/machdep.c Modified: head/sys/arm/arm/machdep.c == --- head/sys/arm/arm/machdep.c Sun May 17 16:27:06 2015(r283032) +++ head/sys/arm/arm/machdep.c Sun May 17 17:03:37 2015(r283033) @@ -1019,7 +1019,6 @@ freebsd_parse_boot_param(struct arm_boot ksym_end = MD_FETCH(kmdp, MODINFOMD_ESYM, uintptr_t); db_fetch_ksymtab(ksym_start, ksym_end); #endif - preload_addr_relocate = KERNVIRTADDR - abp-abp_physaddr; return lastaddr; } #endif ___ 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-unsubscr...@freebsd.org
svn commit: r283028 - head/usr.bin/netstat
Author: loos Date: Sun May 17 15:12:55 2015 New Revision: 283028 URL: https://svnweb.freebsd.org/changeset/base/283028 Log: Adjust the string format to match the actual number of arguments. This fix a segmentation fault on ARM when netstat -r is used together with -W. This issue was introduced in r279122. Modified: head/usr.bin/netstat/route.c Modified: head/usr.bin/netstat/route.c == --- head/usr.bin/netstat/route.cSun May 17 04:17:08 2015 (r283027) +++ head/usr.bin/netstat/route.cSun May 17 15:12:55 2015 (r283028) @@ -236,7 +236,7 @@ pr_rthdr(int af1) xo_emit({T:/%-8.8s} ,Address); if (Wflag) { xo_emit({T:/%-*.*s} {T:/%-*.*s} {T:/%-*.*s} {T:/%*.*s} - {T:/%*.*s} {T:/%*.*s} {T:/%*.*s} {T:/%*s}\n, + {T:/%*.*s} {T:/%*.*s} {T:/%*s}\n, wid_dst,wid_dst,Destination, wid_gw, wid_gw, Gateway, wid_flags, wid_flags, Flags, ___ 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-unsubscr...@freebsd.org
svn commit: r283029 - in head/contrib: gcc gdb/gdb
Author: sbruno Date: Sun May 17 15:49:38 2015 New Revision: 283029 URL: https://svnweb.freebsd.org/changeset/base/283029 Log: Update intree gdb/kgdb to handle 2 dwarf types: DW_OP_GNU_uninit DW_OP_piece This squashes the warnings about type 0x93 not known in kgdb when opening a kernel crash dump. Upstream refs: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=87808bd699575a850139a1f916512ab7a47fd496 https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=42be36b328ae784ae6981da7c7cab95b67ed7737 https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=23572ecadc89af384c1804ad7692f32c55fbfc80 Differential Revision:https://reviews.freebsd.org/D2534 Reviewed by: emaste, jhb, davide Modified: head/contrib/gcc/dwarf2.h head/contrib/gdb/gdb/c-valprint.c head/contrib/gdb/gdb/dwarf2expr.c head/contrib/gdb/gdb/dwarf2expr.h head/contrib/gdb/gdb/dwarf2loc.c head/contrib/gdb/gdb/dwarf2read.c head/contrib/gdb/gdb/value.h head/contrib/gdb/gdb/values.c Modified: head/contrib/gcc/dwarf2.h == --- head/contrib/gcc/dwarf2.h Sun May 17 15:12:55 2015(r283028) +++ head/contrib/gcc/dwarf2.h Sun May 17 15:49:38 2015(r283029) @@ -547,6 +547,7 @@ enum dwarf_location_atom DW_OP_bit_piece = 0x9d, /* GNU extensions. */ DW_OP_GNU_push_tls_address = 0xe0, +DW_OP_GNU_uninit = 0xf0, /* HP extensions. */ DW_OP_HP_unknown = 0xe0, /* Ouch, the same as GNU_push_tls_address. */ DW_OP_HP_is_value= 0xe1, Modified: head/contrib/gdb/gdb/c-valprint.c == --- head/contrib/gdb/gdb/c-valprint.c Sun May 17 15:12:55 2015 (r283028) +++ head/contrib/gdb/gdb/c-valprint.c Sun May 17 15:49:38 2015 (r283029) @@ -559,6 +559,10 @@ c_value_print (struct value *val, struct fprintf_filtered (stream, ) ); } } + +if (!value_initialized (val)) + fprintf_filtered (stream, [uninitialized] ); + if (objectprint (TYPE_CODE (VALUE_TYPE (val)) == TYPE_CODE_CLASS)) { /* Attempt to determine real type of object */ Modified: head/contrib/gdb/gdb/dwarf2expr.c == --- head/contrib/gdb/gdb/dwarf2expr.c Sun May 17 15:12:55 2015 (r283028) +++ head/contrib/gdb/gdb/dwarf2expr.c Sun May 17 15:49:38 2015 (r283029) @@ -42,6 +42,8 @@ new_dwarf_expr_context (void) retval-stack_len = 0; retval-stack_allocated = 10; retval-stack = xmalloc (retval-stack_allocated * sizeof (CORE_ADDR)); + retval-num_pieces = 0; + retval-pieces = 0; return retval; } @@ -51,6 +53,7 @@ void free_dwarf_expr_context (struct dwarf_expr_context *ctx) { xfree (ctx-stack); + xfree (ctx-pieces); xfree (ctx); } @@ -100,6 +103,29 @@ dwarf_expr_fetch (struct dwarf_expr_cont } +/* Add a new piece to CTX's piece list. */ +static void +add_piece (struct dwarf_expr_context *ctx, + int in_reg, CORE_ADDR value, ULONGEST size) +{ + struct dwarf_expr_piece *p; + + ctx-num_pieces++; + + if (ctx-pieces) +ctx-pieces = xrealloc (ctx-pieces, +(ctx-num_pieces + * sizeof (struct dwarf_expr_piece))); + else +ctx-pieces = xmalloc (ctx-num_pieces + * sizeof (struct dwarf_expr_piece)); + + p = ctx-pieces[ctx-num_pieces - 1]; + p-in_reg = in_reg; + p-value = value; + p-size = size; +} + /* Evaluate the expression at ADDR (LEN bytes long) using the context CTX. */ @@ -230,6 +256,7 @@ execute_stack_op (struct dwarf_expr_cont unsigned char *op_end) { ctx-in_reg = 0; + ctx-initialized = 1; /* Default is initialized. */ while (op_ptr op_end) { @@ -356,9 +383,12 @@ execute_stack_op (struct dwarf_expr_cont case DW_OP_reg29: case DW_OP_reg30: case DW_OP_reg31: - if (op_ptr != op_end *op_ptr != DW_OP_piece) - error (DWARF-2 expression error: DW_OP_reg operations must be - used either alone or in conjuction with DW_OP_piece.); + if (op_ptr != op_end + *op_ptr != DW_OP_piece + *op_ptr != DW_OP_bit_piece + *op_ptr != DW_OP_GNU_uninit) +error (_(DWARF-2 expression error: DW_OP_reg operations must be + used either alone or in conjuction with DW_OP_piece.)); result = op - DW_OP_reg0; ctx-in_reg = 1; @@ -661,6 +691,30 @@ execute_stack_op (struct dwarf_expr_cont case DW_OP_nop: goto no_push; + case DW_OP_piece: + { + ULONGEST size; + CORE_ADDR addr_or_regnum; + + /* Record the piece. */ + op_ptr = read_uleb128 (op_ptr, op_end, size); + addr_or_regnum =
svn commit: r283032 - head/lib/msun/src
Author: kargl Date: Sun May 17 16:27:06 2015 New Revision: 283032 URL: https://svnweb.freebsd.org/changeset/base/283032 Log: In r279493, the functions pzero[f](), qzero[f], pone[f](), and qone[f]() were marked as __inline, but their forward declarations were not updated. Fix the forward declarations to match the actual function declarations. Requested by: bde Modified: head/lib/msun/src/e_j0.c head/lib/msun/src/e_j0f.c head/lib/msun/src/e_j1.c head/lib/msun/src/e_j1f.c Modified: head/lib/msun/src/e_j0.c == --- head/lib/msun/src/e_j0.cSun May 17 16:17:15 2015(r283031) +++ head/lib/msun/src/e_j0.cSun May 17 16:27:06 2015(r283032) @@ -62,7 +62,7 @@ __FBSDID($FreeBSD$); #include math.h #include math_private.h -static double pzero(double), qzero(double); +static __inline double pzero(double), qzero(double); static const volatile double vone = 1, vzero = 0; Modified: head/lib/msun/src/e_j0f.c == --- head/lib/msun/src/e_j0f.c Sun May 17 16:17:15 2015(r283031) +++ head/lib/msun/src/e_j0f.c Sun May 17 16:27:06 2015(r283032) @@ -23,7 +23,7 @@ __FBSDID($FreeBSD$); #include math.h #include math_private.h -static float pzerof(float), qzerof(float); +static __inline float pzerof(float), qzerof(float); static const volatile float vone = 1, vzero = 0; Modified: head/lib/msun/src/e_j1.c == --- head/lib/msun/src/e_j1.cSun May 17 16:17:15 2015(r283031) +++ head/lib/msun/src/e_j1.cSun May 17 16:27:06 2015(r283032) @@ -62,7 +62,7 @@ __FBSDID($FreeBSD$); #include math.h #include math_private.h -static double pone(double), qone(double); +static __inline double pone(double), qone(double); static const volatile double vone = 1, vzero = 0; Modified: head/lib/msun/src/e_j1f.c == --- head/lib/msun/src/e_j1f.c Sun May 17 16:17:15 2015(r283031) +++ head/lib/msun/src/e_j1f.c Sun May 17 16:27:06 2015(r283032) @@ -23,7 +23,7 @@ __FBSDID($FreeBSD$); #include math.h #include math_private.h -static float ponef(float), qonef(float); +static __inline float ponef(float), qonef(float); static const volatile float vone = 1, vzero = 0; ___ 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-unsubscr...@freebsd.org
svn commit: r283038 - head/cddl/contrib/opensolaris/lib/libdtrace/common
Author: markj Date: Sun May 17 23:08:01 2015 New Revision: 283038 URL: https://svnweb.freebsd.org/changeset/base/283038 Log: Respect the libdir option when linking drti.o, rather than hardcoding the default path of /usr/lib(32)/dtrace. MFC after:3 weeks Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c == --- head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.cSun May 17 20:39:29 2015(r283037) +++ head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.cSun May 17 23:08:01 2015(r283038) @@ -1862,23 +1862,9 @@ dtrace_program_link(dtrace_hdl_t *dtp, d (void) snprintf(cmd, len, fmt, dtp-dt_ld_path, file, fd, drti); #else const char *fmt = %s -o %s -r %s %s; + dt_dirpath_t *dp = dt_list_next(dtp-dt_lib_path); -#if defined(__amd64__) - /* -* Arches which default to 64-bit need to explicitly use -* the 32-bit library path. -*/ - int use_32 = (dtp-dt_oflags DTRACE_O_ILP32); -#else - /* -* Arches which are 32-bit only just use the normal -* library path. -*/ - int use_32 = 0; -#endif - - (void) snprintf(drti, sizeof (drti), /usr/lib%s/dtrace/drti.o, - use_32 ? 32 : ); + (void) snprintf(drti, sizeof (drti), %s/drti.o, dp-dir_path); len = snprintf(tmp, 1, fmt, dtp-dt_ld_path, file, tfile, drti) + 1; Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c == --- head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.cSun May 17 20:39:29 2015(r283037) +++ head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.cSun May 17 23:08:01 2015(r283038) @@ -792,6 +792,7 @@ const char *_dtrace_libdir = /usr/lib/d #ifdef illumos const char *_dtrace_provdir = /dev/dtrace/provider; /* provider directory */ #else +const char *_dtrace_libdir32 = /usr/lib32/dtrace; const char *_dtrace_provdir = /dev/dtrace; /* provider directory */ #endif @@ -1581,8 +1582,19 @@ alloc: * compile, and to provide better error reporting (because the full * reporting of compiler errors requires dtrace_open() to succeed). */ +#ifdef __FreeBSD__ +#ifdef __LP64__ + if ((dtp-dt_oflags DTRACE_O_ILP32) != 0) { + if (dtrace_setopt(dtp, libdir, _dtrace_libdir32) != 0) + return (set_open_errno(dtp, errp, dtp-dt_errno)); + } +#endif if (dtrace_setopt(dtp, libdir, _dtrace_libdir) != 0) return (set_open_errno(dtp, errp, dtp-dt_errno)); +#else + if (dtrace_setopt(dtp, libdir, _dtrace_libdir) != 0) + return (set_open_errno(dtp, errp, dtp-dt_errno)); +#endif return (dtp); } ___ 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-unsubscr...@freebsd.org
svn commit: r283039 - in head/cddl: contrib/opensolaris/lib/libdtrace/common usr.sbin/dtrace/tests/tools
Author: markj Date: Sun May 17 23:09:58 2015 New Revision: 283039 URL: https://svnweb.freebsd.org/changeset/base/283039 Log: Fix a typo that snuck in with r283024, and remove the EXFAIL annotation from a test which now passes as a result of that change. Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c head/cddl/usr.sbin/dtrace/tests/tools/exclude.sh Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c == --- head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.cSun May 17 23:08:01 2015(r283038) +++ head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.cSun May 17 23:09:58 2015(r283039) @@ -1945,7 +1945,7 @@ dtrace_program_link(dtrace_hdl_t *dtp, d done: dtrace_dof_destroy(dtp, dof); -#ifdef illumos +#ifdef __FreeBSD__ if (!dtp-dt_lazyload) (void) unlink(tfile); #endif Modified: head/cddl/usr.sbin/dtrace/tests/tools/exclude.sh == --- head/cddl/usr.sbin/dtrace/tests/tools/exclude.shSun May 17 23:08:01 2015(r283038) +++ head/cddl/usr.sbin/dtrace/tests/tools/exclude.shSun May 17 23:09:58 2015(r283039) @@ -38,7 +38,6 @@ exclude EXFAIL common/ip/tst.ipv4localud exclude EXFAIL common/mdb/tst.dtracedcmd.ksh exclude EXFAIL common/misc/tst.dofmax.ksh exclude EXFAIL common/misc/tst.include.ksh -exclude EXFAIL common/pragma/tst.libchain.ksh exclude EXFAIL common/safety/tst.copyin2.d exclude EXFAIL common/safety/tst.msgdsize.d exclude EXFAIL common/safety/tst.msgsize.d ___ 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-unsubscr...@freebsd.org
Re: svn commit: r282415 - head/usr.sbin/ntp
In message 20150517190810.4006b...@bender.home, Andrew Turner writes: On Mon, 4 May 2015 12:42:53 + (UTC) Cy Schubert c...@freebsd.org wrote: Author: cy Date: Mon May 4 12:42:52 2015 New Revision: 282415 URL: https://svnweb.freebsd.org/changeset/base/282415 Log: Restore CPU dependent compile time conditionals. MFC after:1 month (with r281143 and r282408) Do you have any plans on fixing this before you MFC it? Specifically: * sizeof(char *) == 8 on arm64, powerpc64, and mips64 * sizeof(long) == 8 on arm64, powerpc64, and mips64 * sizeof(time_t) == 8 on arm, arm64, powerpc64, mips, and mips64 * STR_SYSTEM is incorrect on arm, arm64, powerpc64, mips, and mips64, however this is now less broken as it was previously also broken on i386, and sparc64. This change is only correct for amd64, i386, and sparc64. That is correct. I suspect all of the above will also be relevant on ia64. We still have support in 10-STABLE for this so should be fixed before an MFC. We should support ia64 at least until it's no longer supported in -stable. I have heard reports that NTP is broken on some of the above platforms so they don't keep very accurate time. Can you fix this, or revert this change until a fix can be written. Unfortunately -stable is currently as broken as it is in -current. The quick fix is to add all supported platforms. The other unfortunate fact is that, scanning the tree for other examples there's more code as broken as this is. I propose: 1. Fix NTP -- I will do this. I have some free time coming up this week to focus on this. 2. Identify other parts of the tree needing a little love and either putting it up on the wiki or in phabricator. 3. Fix #2 (either me or others as we see fit). Alternatively, a common solution for all parts of the tree, if possible. This is probably a long term solution though. (The purist in me prefers this but I am practical too.) -- Cheers, Cy Schubert cy.schub...@komquats.com or cy.schub...@cschubert.com FreeBSD UNIX: c...@freebsd.org Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. ___ 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-unsubscr...@freebsd.org
svn commit: r283042 - head/contrib/tzdata
Author: edwin Date: Mon May 18 01:59:02 2015 New Revision: 283042 URL: https://svnweb.freebsd.org/changeset/base/283042 Log: MFV of 283040,tzdata{2015c} Update to tzdata2015c: Release 2015c - 2015-04-11 08:55:55 -0700 Changes affecting future time stamps Egypt's spring-forward transition is at 24:00 on April's last Thursday, not 00:00 on April's last Friday. 2015's transition will therefore be on Thursday, April 30 at 24:00, not Friday, April 24 at 00:00. Similar fixes apply to 2026, 2037, 2043, etc. (Thanks to Steffen Thorsen.) Modified: head/contrib/tzdata/africa head/contrib/tzdata/antarctica head/contrib/tzdata/backward head/contrib/tzdata/europe head/contrib/tzdata/northamerica head/contrib/tzdata/southamerica Directory Properties: head/contrib/tzdata/ (props changed) Modified: head/contrib/tzdata/africa == --- head/contrib/tzdata/africa Mon May 18 01:57:52 2015(r283041) +++ head/contrib/tzdata/africa Mon May 18 01:59:02 2015(r283042) @@ -319,13 +319,22 @@ Rule Egypt 2007only- Sep Thu=1 24:00 # above) says DST had no affect on electricity consumption. There is # no information about when DST will end this fall. See: # http://abcnews.go.com/International/wireStory/el-sissi-pushes-egyptians-line-23614833 -# + +# From Steffen Thorsen (2015-04-08): +# Egypt will start DST on midnight after Thursday, April 30, 2015. +# This is based on a law (no 35) from May 15, 2014 saying it starts the last +# Thursday of April Clocks will still be turned back for Ramadan, but +# dates not yet announced +# http://almogaz.com/news/weird-news/2015/04/05/1947105 ... +# http://www.timeanddate.com/news/time/egypt-starts-dst-2015.html + +# From Paul Eggert (2015-04-08): # For now, guess that later spring and fall transitions will use -# 2010's rules, and guess that Egypt will switch to standard time at +# 2014's rules, and guess that Egypt will switch to standard time at # 24:00 the last Thursday before Ramadan, and back to DST at 00:00 the # first Friday after Ramadan. To implement this, # transition dates for 2015 through 2037 were determined by running -# the following program under GNU Emacs 24.3, with the results integrated +# the following program under GNU Emacs 24.4, with the results integrated # by hand into the table below. Ramadan again intrudes on the guessed # DST starting in 2038, but that's beyond our somewhat-arbitrary cutoff. # (let ((islamic-year 1436)) @@ -357,7 +366,7 @@ RuleEgypt 2014only- May 15 24:00 1:00 Rule Egypt 2014only- Jun 26 24:00 0 - Rule Egypt 2014only- Jul 31 24:00 1:00S Rule Egypt 2014max - Sep lastThu 24:00 0 - -Rule Egypt 20152019- Apr lastFri 0:00s 1:00S +Rule Egypt 20152019- Apr lastThu 24:00 1:00S Rule Egypt 2015only- Jun 11 24:00 0 - Rule Egypt 2015only- Jul 23 24:00 1:00S Rule Egypt 2016only- Jun 2 24:00 0 - @@ -371,7 +380,7 @@ RuleEgypt 2019only- Jun 6 24:00 1:00 Rule Egypt 2020only- May 28 24:00 1:00S Rule Egypt 2021only- May 13 24:00 1:00S Rule Egypt 2022only- May 5 24:00 1:00S -Rule Egypt 2023max - Apr lastFri 0:00s 1:00S +Rule Egypt 2023max - Apr lastThu 24:00 1:00S # Zone NAMEGMTOFF RULES FORMAT [UNTIL] Zone Africa/Cairo2:05:09 - LMT 1900 Oct Modified: head/contrib/tzdata/antarctica == --- head/contrib/tzdata/antarctica Mon May 18 01:57:52 2015 (r283041) +++ head/contrib/tzdata/antarctica Mon May 18 01:59:02 2015 (r283042) @@ -15,41 +15,6 @@ # I made up all time zone abbreviations mentioned here; corrections welcome! # FORMAT is 'zzz' and GMTOFF is 0 for locations while uninhabited. -# These rules are stolen from the 'southamerica' file. -# Rule NAMEFROMTO TYPEIN ON AT SAVELETTER/S -Rule ArgAQ 19641966- Mar 1 0:000 - -Rule ArgAQ 19641966- Oct 15 0:001:00S -Rule ArgAQ 1967only- Apr 2 0:000 - -Rule ArgAQ 19671968- Oct Sun=1 0:001:00S -Rule ArgAQ 19681969- Apr Sun=1 0:000 - -Rule ArgAQ 1974only- Jan 23 0:001:00S -Rule ArgAQ 1974only- May 1 0:000 - -Rule
Re: svn commit: r282985 - in head/sys: arm/annapurna arm/annapurna/alpine arm/annapurna/alpine/hal arm/conf boot/fdt/dts/arm
On Sat, 2015-05-16 at 21:04 -0700, Garrett Cooper wrote: On May 16, 2015, at 18:45, Adrian Chadd adr...@freebsd.org wrote: Did you commit files with DOS newlines in them? :) tsk tsk tsk tsk tsk. I think should fix that.. Better yet it should probably be disabled in svn... Or flagged by some filter as a diff is uploaded to phabricator, since the web display obscures whitespace. -- Ian ___ 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-unsubscr...@freebsd.org
Re: svn commit: r282415 - head/usr.sbin/ntp
On Mon, 4 May 2015 12:42:53 + (UTC) Cy Schubert c...@freebsd.org wrote: Author: cy Date: Mon May 4 12:42:52 2015 New Revision: 282415 URL: https://svnweb.freebsd.org/changeset/base/282415 Log: Restore CPU dependent compile time conditionals. MFC after: 1 month (with r281143 and r282408) Do you have any plans on fixing this before you MFC it? Specifically: * sizeof(char *) == 8 on arm64, powerpc64, and mips64 * sizeof(long) == 8 on arm64, powerpc64, and mips64 * sizeof(time_t) == 8 on arm, arm64, powerpc64, mips, and mips64 * STR_SYSTEM is incorrect on arm, arm64, powerpc64, mips, and mips64, however this is now less broken as it was previously also broken on i386, and sparc64. This change is only correct for amd64, i386, and sparc64. I suspect all of the above will also be relevant on ia64. We still have support in 10-STABLE for this so should be fixed before an MFC. I have heard reports that NTP is broken on some of the above platforms so they don't keep very accurate time. Can you fix this, or revert this change until a fix can be written. Andrew ___ 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-unsubscr...@freebsd.org
svn commit: r283034 - head/sys/arm/include
Author: andrew Date: Sun May 17 18:35:58 2015 New Revision: 283034 URL: https://svnweb.freebsd.org/changeset/base/283034 Log: Clean up struct syscall_args: 1. Align to a 64-bit address so 64-bit data will be correctly aligned. 2. Add a comment explaining why. 3. Remove an unneeded value from the struct. This fixes an issue where the struct may not be correctly aligned on the stack in the syscall function. This may lead to accesing a 64-bit value at a non 64-bit. This will raise an exception and panic the kernel. We have been lucky where on arm and armv6 both clang and gcc correctly align the data, even without us asking to, however, on armeb with clang to not be the case. This tells the compiler we really do need this to be aligned. Reported and tested by: jmg (on armeb with clang) MFC after:1 Week [1, 2] Modified: head/sys/arm/include/proc.h Modified: head/sys/arm/include/proc.h == --- head/sys/arm/include/proc.h Sun May 17 17:03:37 2015(r283033) +++ head/sys/arm/include/proc.h Sun May 17 18:35:58 2015(r283034) @@ -68,15 +68,20 @@ struct mdproc { #endif #define MAXARGS8 +/* + * This holds the syscall state for a single system call. + * As some syscall arguments may be 64-bit aligned we need to ensure the + * args value is 64-bit aligned. The ABI will then ensure any 64-bit + * arguments are already correctly aligned, even if they were passed in + * via registers, we just need to make sure we copy them to an algned + * buffer. + */ struct syscall_args { u_int code; struct sysent *callp; register_t args[MAXARGS]; int narg; u_int nap; -#ifndef __ARM_EABI__ - u_int32_t insn; -#endif -}; +} __aligned(8); #endif /* !_MACHINE_PROC_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-unsubscr...@freebsd.org
Re: svn commit: r282985 - in head/sys: arm/annapurna arm/annapurna/alpine arm/annapurna/alpine/hal arm/conf boot/fdt/dts/arm
On 17 May 2015, at 15:46 , Ian Lepore i...@freebsd.org wrote: On Sat, 2015-05-16 at 21:04 -0700, Garrett Cooper wrote: On May 16, 2015, at 18:45, Adrian Chadd adr...@freebsd.org wrote: Did you commit files with DOS newlines in them? :) tsk tsk tsk tsk tsk. I think should fix that.. Better yet it should probably be disabled in svn... Or flagged by some filter as a diff is uploaded to phabricator, since the web display obscures whitespace. Or rejected by an SVN commit hook? — Bjoern A. Zeeb Charles Haddon Spurgeon: Friendship is one of the sweetest joys of life. Many might have failed beneath the bitterness of their trial had they not found a friend. ___ 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-unsubscr...@freebsd.org
svn commit: r283035 - in head/sys/boot: common uboot/common uboot/lib
Author: ian Date: Sun May 17 19:59:05 2015 New Revision: 283035 URL: https://svnweb.freebsd.org/changeset/base/283035 Log: An ARM kernel can be loaded at any 2MB boundary, make ubldr aware of that. Previously, ubldr would use the virtual addresses in the elf headers by masking off the high bits and assuming the result was a physical address where the kernel should be loaded. That would sometimes discard significant bits of the physical address, but the effects of that were undone by archsw copy code that would find a large block of memory and apply an offset to the source/dest copy addresses. The result was that things were loaded at a different physical address than requested by the higher code layers, but that worked because other adjustments were applied later (such as when jumping to the entry point). Very confusing, and somewhat fragile. Now the archsw copy routines are just simple copies, and instead archsw.arch_loadaddr is implemented to choose a load address. The new routine uses some of the code from the old offset-translation routine to find the largest block of ram, but it excludes ubldr itself from that range, and also excludes If ubldr splits the largest block of ram in two, the kernel is loaded into the bottom of whichever resulting block is larger. As part of eliminating ubldr itself from the ram ranges, export the heap start/end addresses in a pair of new global variables. This change means that the virtual addresses in the arm kernel elf headers now have no meaning at all, except for the entry point address. There is an implicit assumption that the entry point is in the first text page, and that the address in the the header can be turned into an offset by masking it with PAGE_MASK. In the future we can link all arm kernels at a virtual address of 0xC000 with no need to use any low-order part of the address to influence where in ram the kernel gets loaded. Modified: head/sys/boot/common/load_elf.c head/sys/boot/uboot/common/main.c head/sys/boot/uboot/lib/copy.c head/sys/boot/uboot/lib/elf_freebsd.c head/sys/boot/uboot/lib/libuboot.h Modified: head/sys/boot/common/load_elf.c == --- head/sys/boot/common/load_elf.c Sun May 17 18:35:58 2015 (r283034) +++ head/sys/boot/common/load_elf.c Sun May 17 19:59:05 2015 (r283035) @@ -191,10 +191,17 @@ __elfN(loadfile_raw)(char *filename, u_i goto oerr; } /* -* Calculate destination address based on kernel entrypoint +* Calculate destination address based on kernel entrypoint. +* +* For ARM, the destination address is independent of any values in the +* elf header (an ARM kernel can be loaded at any 2MB boundary), so we +* leave dest set to the value calculated by archsw.arch_loadaddr() and +* passed in to this function. */ +#ifndef __arm__ if (ehdr-e_type == ET_EXEC) dest = (ehdr-e_entry ~PAGE_MASK); +#endif if ((ehdr-e_entry ~PAGE_MASK) == 0) { printf(elf __XSTRING(__ELF_WORD_SIZE) _loadfile: not a kernel (maybe static binary?)\n); err = EPERM; @@ -348,22 +355,18 @@ __elfN(loadimage)(struct preloaded_file off = 0; #elif defined(__arm__) /* -* The elf headers in some kernels specify virtual addresses in all -* header fields. More recently, the e_entry and p_paddr fields are the -* proper physical addresses. Even when the p_paddr fields are correct, -* the MI code below uses the p_vaddr fields with an offset added for -* loading (doing so is arguably wrong). To make loading work, we need -* an offset that represents the difference between physical and virtual -* addressing. ARM kernels are always linked at 0xCnnn. Depending -* on the headers, the offset value passed in may be physical or virtual -* (because it typically comes from e_entry), but we always replace -* whatever is passed in with the va-pa offset. On the other hand, we -* always remove the high-order part of the entry address whether it's -* physical or virtual, because it will be adjusted later for the actual -* physical entry point based on where the image gets loaded. +* The elf headers in arm kernels specify virtual addresses in all +* header fields, even the ones that should be physical addresses. +* We assume the entry point is in the first page, and masking the page +* offset will leave us with the virtual address the kernel was linked +* at. We subtract that from the load offset, making 'off' into the +* value which, when added to a virtual address in an elf header, +* translates it to a physical address. We do the va-pa conversion on +* the