1. Move exepath_*() related code to libc/misc
1. Rename exepath_ to envpath_
2. Rename BINFMT_EXEPATH to LIB_ENVPATH
libs/libc/modlib: Add pre module library symbol table support
When MIPS port is built for microMIPS and then loaded as an application, the __start entry point is entered in microMIPS mode, but the CPU core initialization code there misses to set the config3ISAOnExc bit to 1. Subsequently, exceptions are entered in MIPS32 mode, but the code base was built for microMIPS.
net/mld: Fix a couple of places where I forgot to unlock the network in the previous commit.
net/mld: Implement 'Other Querier Present Timer'. This timer is used to revert to Querier mode if there is no other querier on the network. Also, fix some naming: The Done message is not just Version 1 but is used with Version 2 as well.
net/igmp: Back out some blind, backported improvements to IGMP from MLD. There are too many subtle differences in the protocols for this to be safe.
README.txt: Fix to meet the uppercase of section subject
There is no "NuttX Configuration tool" subject in README.txt.
The correct section name is "NuttX Configuration Tool" so that
the beginner can find the detail description by searching with
"NuttX Configuration Tool" smoothly.
Signed-off-by: Koichi Okamoto <Koichi.Okamoto@jp.sony.com>
Approved-by: GregoryN <gnutt@nuttx.org>
tools/configure.c: Add missing '\n' in printf statement
tools/configure.c: Add missed -g option to getopt() string
tools/configure.c and tools/configure.sh: Fix Windows native pre-build kconfig-conf incompability. Looks like prebuilt Windows native kconfig-conf interprets "..\apps" as "..apps" (possibly '\a' as escape-sequence) so expand winnative path to double-backslashed variant "..\\apps".
tools/mkdeps.c: Fix '\0' missing in MinGW. Implicit bug. There are 2 cases.
1. Under Linux. The code works as planned: '\n' is always replaced with '\0' due to sprintf fills n-1 bytes and reaches buffer length limit.
2. Under Windows/MinGW. There is memory corruption. Seems like it`s a bug inside MinGW/snprintf. Snprintf fills consecutively "oldbase",' ',"str",'\n', but does not inserts trailing '\0' instead of '\n'. And when next append() occurs, strlen() returns garbage-appended "oldbase".
So the fix just removes '\n' and reserves space for '\0'.
tools/link.bat: Fix .fakelink creation
configs/Makefile and tools/Config.mk: Move single file copy to the new function COPYFILE. This fixes the Windows native build case when there is no cp or cp does not recognize Windows paths.
net/mld: Checksum calculation needs to know the full size of the IPv6 header, including the size of the extension headers. The payload size in the IPv64 header must include the extension headers (not considered part of the header in this case). Fixes a few additional errors in size, endian-ness and checksum calculations. Wireshark now reports the the outgoing Report has a good checksum.
net/mld/mld_query.c: Add a cast to assure that the left shift does not overflow.
net/mld: More updates from comparison with roughly leveraged code and the MDL RFCs 2710 and 3810.
net/mld: More updated from comparison with roughly leveraged code and the MDL RFCs 2710 and 3810.
net/mld: Beginning comparison with roughly leveraged code and the MDL RFCs 2710 and 3810.
include/nuttx/net/ipv6ext.h: Fix some terminology: Hop-by-hop, not Hop-to-hop or Hop2hop.
net/devif/ipv6_input.c and net/icmpv6/icmpv6_input.c: Add logic to skiip over the variable number of IPv6 extension headers that may be present between the IPv6 header and the transport layer header. The extension headers are simply ignored. This is necessary because with MLD, certain incoming messages may have, at a mimimum, a Router Alert Hop-by-hop extension header.
net/inet/ipv6_setsockopt.c: Implement the IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP socket options.