opnsense-src/sys/libkern
Ian Lepore 25166187e3 Fix unwind-info errors in our hand-written arm assembler code.
We have functions nested within functions, and places where we start a
function then never end it, we just jump to the middle of something else.
We tried to express this with nested ENTRY()/END() macros (which result
in .fnstart and .fnend directives), but it turns out there's no way to
express that nesting in ARM EHABI unwind info, and newer tools treat
multiple .fnstart directives without an intervening .fnend as an error.

These changes introduce two new macros, EENTRY() and EEND().  EENTRY()
creates a global label you can call/jump to just like ENTRY(), but it
doesn't emit a .fnstart.  EEND() is a no-op that just documents the
conceptual endpoint that matches up with the same-named EENTRY().

This is based on patches submitted by Stepan Dyatkovskiy, but I made some
changes and added the EEND() stuff, so blame any problems on me.

Submitted by:	Stepan Dyatkovskiy <stpworld@narod.ru>
2014-08-01 18:24:44 +00:00
..
arm Fix unwind-info errors in our hand-written arm assembler code. 2014-08-01 18:24:44 +00:00
arc4random.c Attempt to mitigate poor initialization of arc4 by one-shot 2013-04-19 00:30:52 +00:00
ashldi3.c Fix ixp425 boot2 with ARM EABI: 2013-09-29 15:19:34 +00:00
ashrdi3.c
bcd.c
bcmp.c
bsearch.c
cmpdi2.c
crc32.c Remove second consts in r233288 in order to appease C++ compilers. 2012-03-26 18:22:04 +00:00
divdi3.c
ffs.c
ffsl.c
fls.c
flsl.c
flsll.c Fix watchdog pretimeout. 2013-07-27 20:47:01 +00:00
fnmatch.c Use strchr() and strrchr(). 2012-01-02 12:12:10 +00:00
iconv.c Use strcasecmp() instead of strcmp() when checking user-supplied encoding 2014-06-09 19:27:47 +00:00
iconv_converter_if.m Switch to our preferred 2-clause BSD license. 2010-04-07 16:50:38 +00:00
iconv_ucs.c Use strcasecmp() instead of strcmp() when checking user-supplied encoding 2014-06-09 19:27:47 +00:00
iconv_xlat.c Switch to our preferred 2-clause BSD license. 2010-04-07 16:50:38 +00:00
iconv_xlat16.c Split tolower/toupper code from usual xlat16 kiconv table, and make it 2009-06-22 17:09:46 +00:00
inet_aton.c Move inet_aton() (specular to inet_ntoa(), already present in libkern) 2009-11-12 00:46:28 +00:00
inet_ntoa.c
inet_ntop.c Make the RPC specific __rpc_inet_ntop() and __rpc_inet_pton() general 2010-09-24 15:01:45 +00:00
inet_pton.c Make the RPC specific __rpc_inet_ntop() and __rpc_inet_pton() general 2010-09-24 15:01:45 +00:00
jenkins_hash.c s/ is is / is /g 2012-09-14 22:00:03 +00:00
lshrdi3.c
mcount.c
memcchr.c Introducing memcchr(3). 2012-01-01 20:26:11 +00:00
memchr.c Provide memchr() in the libkern. 2010-06-02 17:27:23 +00:00
memcmp.c
memmove.c
memset.c
moddi3.c
qdivrem.c
qsort.c
qsort_r.c
quad.h Add __aeabi_ulcmp to allow building of the LINT kernel. 2013-01-23 09:18:18 +00:00
random.c
scanc.c
strcasecmp.c Start copyright notice with /*- 2010-04-07 16:29:10 +00:00
strcat.c
strchr.c Implement extensions on top of standards instead of the other way around. 2012-01-03 07:05:30 +00:00
strcmp.c
strcpy.c
strcspn.c
strdup.c
strlcat.c
strlcpy.c Sync strlcpy with userland version. 2012-11-03 04:29:24 +00:00
strlen.c Sync strlen with userland implementation. 2012-11-03 04:28:53 +00:00
strncmp.c
strncpy.c
strnlen.c Add strnlen() to libkern. 2011-10-04 23:53:47 +00:00
strrchr.c Implement extensions on top of standards instead of the other way around. 2012-01-03 07:05:30 +00:00
strsep.c
strspn.c
strstr.c
strtol.c
strtoq.c
strtoul.c
strtouq.c
strvalid.c
ucmpdi2.c Add __aeabi_ulcmp to allow building of the LINT kernel. 2013-01-23 09:18:18 +00:00
udivdi3.c
umoddi3.c