Q:

What accounts for the dots in the names of these functions

I'm debugging why my Boost.Python module won't load in Ubuntu.  Interestingly, the problem comes before my module is actually loaded.  A simple, foo C++ module confirms this.  The stack trace shows calls to boost::python::* which are absent in our larger lib.  Thus, I know that the seg fault occurs before my module is even attempted.
The below stacktrace is for the failing library which gets a segfault.  My question is, what are the dots in the function names?  Not all functions have them.  For example, frame #62 0x0000000000547692 in PyErr_PrintEx.part.3.42666 ().  I can grep through the Python sources and find PyErr_PrintEx, but I don't find the rest.  What is that?
#0  0x0000000002344596 in ?? ()
No symbol table info available.
#1  0x00007f5f02d72258 in std::string::_S_construct<char const*> (__beg=
    0x7f5efb565f46 "amd64", __end=0x7f5efb565f4b "", __a=...)
    at /usr/include/c++/4.6/bits/basic_string.tcc:134
        __dnew = 116
        __r = 0x7
#2  0x00007f5efdf505e3 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) ()
   from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#3  0x00007f5efb4ebdfe in pkgInitConfig(Configuration&) ()
   from /usr/lib/x86_64-linux-gnu/libapt-pkg.so.4.12
No symbol table info available.
#4  0x00007f5efb7aa395 in ?? ()
   from /usr/lib/python2.7/dist-packages/apt_pkg.so
No symbol table info available.
#5  0x000000000056d4a4 in PyEval_EvalFrameEx ()
No locals.
#6  0x00000000005747c0 in PyEval_EvalCodeEx ()
No locals.
#7  0x0000000000568e58 in PyImport_ExecCodeModuleEx ()
No locals.
#8  0x000000000042bf11 in load_source_module.39049 ()
No locals.
#9  0x0000000000566f80 in load_package.39142 ()
No locals.
#10 0x000000000042c90b in import_submodule.39103 ()
No locals.
#11 0x000000000046895d in load_next.39108 ()
No locals.
#12 0x000000000042d164 in import_module_level.isra.3.39129 ()
No locals.
#13 0x00000000005167db in builtin___import__.32784 ()
No locals.
#14 0x000000000043a8b6 in PyObject_Call ()
No locals.
#15 0x000000000043b626 in PyEval_CallObjectWithKeywords ()
No locals.
#16 0x000000000056f95b in PyEval_EvalFrameEx ()
No locals.
#17 0x00000000005747c0 in PyEval_EvalCodeEx ()
No locals.
#18 0x0000000000568e58 in PyImport_ExecCodeModuleEx ()
No locals.
#19 0x000000000042bf11 in load_source_module.39049 ()
No locals.
#20 0x000000000042c90b in import_submodule.39103 ()
No locals.
#21 0x00000000004688d3 in load_next.39108 ()
No locals.
#22 0x000000000042d326 in import_module_level.isra.3.39129 ()
No locals.
#23 0x00000000005167db in builtin___import__.32784 ()
No locals.
#24 0x000000000043a8b6 in PyObject_Call ()
No locals.
#25 0x000000000043b626 in PyEval_CallObjectWithKeywords ()
No locals.
#26 0x000000000056f95b in PyEval_EvalFrameEx ()
No locals.
#27 0x00000000005747c0 in PyEval_EvalCodeEx ()
No locals.
#28 0x0000000000568e58 in PyImport_ExecCodeModuleEx ()
No locals.
#29 0x000000000042bf11 in load_source_module.39049 ()
No locals.
#30 0x000000000042c90b in import_submodule.39103 ()
No locals.
#31 0x00000000004688d3 in load_next.39108 ()
No locals.
#32 0x000000000042d326 in import_module_level.isra.3.39129 ()
No locals.
#33 0x00000000005167db in builtin___import__.32784 ()
No locals.
#34 0x000000000043a8b6 in PyObject_Call ()
No locals.
#35 0x000000000043b626 in PyEval_CallObjectWithKeywords ()
No locals.
#36 0x000000000056f95b in PyEval_EvalFrameEx ()
No locals.
#37 0x00000000005747c0 in PyEval_EvalCodeEx ()
No locals.
#38 0x0000000000568e58 in PyImport_ExecCodeModuleEx ()
No locals.
#39 0x000000000042bf11 in load_source_module.39049 ()
No locals.
#40 0x000000000042c90b in import_submodule.39103 ()
No locals.
#41 0x00000000004688d3 in load_next.39108 ()
No locals.
#42 0x000000000042d326 in import_module_level.isra.3.39129 ()
No locals.
#43 0x00000000005167db in builtin___import__.32784 ()
No locals.
#44 0x000000000043a8b6 in PyObject_Call ()
No locals.
#45 0x000000000043b626 in PyEval_CallObjectWithKeywords ()
No locals.
#46 0x000000000056f95b in PyEval_EvalFrameEx ()
No locals.
#47 0x00000000005747c0 in PyEval_EvalCodeEx ()
No locals.
#48 0x0000000000568e58 in PyImport_ExecCodeModuleEx ()
No locals.
#49 0x000000000042bf11 in load_source_module.39049 ()
No locals.
#50 0x0000000000566f80 in load_package.39142 ()
No locals.
#51 0x000000000042c90b in import_submodule.39103 ()
No locals.
#52 0x00000000004688d3 in load_next.39108 ()
No locals.
#53 0x000000000042d164 in import_module_level.isra.3.39129 ()
No locals.
#54 0x00000000005167db in builtin___import__.32784 ()
No locals.
#55 0x000000000043a8b6 in PyObject_Call ()
No locals.
#56 0x000000000043b626 in PyEval_CallObjectWithKeywords ()
No locals.
#57 0x000000000056f95b in PyEval_EvalFrameEx ()
No locals.
#58 0x00000000005747c0 in PyEval_EvalCodeEx ()
No locals.
#59 0x00000000005697b0 in function_call ()
No locals.
#60 0x000000000043a8b6 in PyObject_Call ()
No locals.
#61 0x000000000043b626 in PyEval_CallObjectWithKeywords ()
No locals.
#62 0x0000000000547692 in PyErr_PrintEx.part.3.42666 ()
No locals.
#63 0x000000000056ae1f in PyRun_InteractiveOneFlags ()
No locals.
#64 0x000000000056b155 in PyRun_InteractiveLoopFlags ()
No locals.
#65 0x000000000056bedc in Py_Main ()
No locals.
#66 0x00007f5f04ae576d in __libc_start_main (main=0x41bae0 <main>, argc=1, 
    ubp_av=0x7fff11b14a38, init=<optimized out>, fini=<optimized out>, 
    rtld_fini=<optimized out>, stack_end=0x7fff11b14a28) at libc-start.c:226
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 8540347331300905646, 
                4307688, 140733490219568, 0, 0, -8540148959998029138, 
                -8630196532358589778}, mask_was_saved = 0}}, priv = {pad = {
    0x0, 0x0, 0x57d430, 0x7fff11b14a38}, data = {prev = 0x0, cleanup = 0x0, 
              canceltype = 5755952}}}
        not_first_call = <optimized out>
#67 0x000000000041bb11 in _start ()
No locals.

A:

The .part forms come from GCC optimization.  GCC will sometimes split a function into multiple parts to enable better inlining of one part.
For example, a function might have a test that leads to a fast case and a slow case.  In this situation GCC may choose to put the test and the fast case into a small inlineable function, and then put the slow case in a .part function.  This way the fast path can be inlined into callers.

