I am trying to build a modified version of libc/NPTL. My ubuntu version shows that it is version 2.13. I want to create a separate libc/nptl/libpthreads and want to use it for an existing application (like apache) using dynamic loading without replacing existing glibc/libpthreads. I am new to kernel programming and dynamic loading. Can you provide an example of how to use libc/NPTL using dynamic loading capability.
Compile and use glibc-2.13 from source for ubuntu x86_64 architecture
1k Views Asked by max At
1
There are 1 best solutions below
Related Questions in PTHREADS
- How to create a vector of a specific class in c++ that includes thread objects in it?
- Can someone help me understand why my C webserver is throwing SIGABRT
- thread created by pthread in Linux belongs to ULT or KLT?
- how to use taskset -c option when hyperthreading/logical CPU is enabled
- How to synchronize threads with io_uring?
- happening segment fault when i use pthread_create
- I want to compile/install assimp with phtreads enabled over vcpkg on Windows. But i dont know how?
- pthread library include path on visual studio code
- How to Efficiently Parallelize AES-CTR PRNG Implementation in C Using Pthreads for Multi-Core Utilization?
- Restart Xenomai Thread if Exceed the Time
- Why is fprintf not working as intended in my code?
- Periodically trigger pthread workers and wait for completion
- How can I build a debug version of Winlibs, or just libwinpthread.dll?
- C++17/Linux: signal not unblocking blocked network socket calls in separate thread
- How can I create and reassign threads based on user input?
Related Questions in GLIBC
- Format String Exploitation - Unkown differences in leaked LIBC addresses
- How to use a newer linker and glibc in a Kotlin/Native project?
- C++ Boost program how to statically compiled with musl libc?
- Error "cannot find /usr/lib/libc_nonshared.a" when installing cmake
- Why is fork() accepted in strace if the actual syscall is clone()?
- How do I create an Android make file to merge a glibc based root filesystem into to the AOSP filesystem?
- Why VTune fails with error `[Instrumentation Engine]: __libc_thread_freeres()`?
- How to upgrade Glibc library in Ubuntu 22.04
- Linking to .so with newer symbol
- symbol lookup error: undefined symbol: __pow_finite
- Why can't I run my python executables in busybox?
- Where do man pages about libc come from if they do not come from glibc?
- Error: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found
- C++: performance, free(null)/delete null and `std::move`
- Error while executing make check on glibc build for LFS
Related Questions in NPTL
- Difference between __errno_location defined in "csu/errno-loc.c" "nptl/errno-loc.c"
- Incorrect local variable value after pthread_join
- Why NPTL threading in Linux still assignee unique PID to each thread?
- How to ensure a signal handler never yields to a thread within the same process group?
- Why does pthread_mutex_lock always return 0 (but no errors) when a program is not linked to the pthreads library?
- How are pthreads implemented in Linux kernel(>2.6) using NPTL?
- pthread_create() : What is default priority and shceduling policy
- performance of pthread_cond_broadcast when no one is waiting on condition
- LinuxThreads/NPTL: Is it reliable to assign constant value 0 to variable of type pthread_t (ignoring POSIX compliance)
- Why two threads in NPTL have different pid in Ubuntu12.04
- Why accessing pthread keys' sequence number is not synchronized in glibc's NPTL implementation?
- How can I decide how much stack I can use after a call to pthread_attr_setstacksize?
- Kernel Level Thread Library
- Linux thread switch overhead vs. process switch overhead
- Use NPTL while keeping glibc with linuxthreads
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
That's easy:
./configure --prefix=/u && make && make install. Congratulations, you now have a separatelibc/lipthreadsunder/uIt's not quite clear whether you want to use your new
libcwith existing (prebuilt) binary, or with one you can rebuild.If the latter, simply add
-Wl,--dynamic-linker=/u/lib64/ld-linux-x86-64.so.2(for 64-bit binaries), and you are done.If the former, and the application does not
execveitself, you can invoke it like this:/u/lib64/ld-linux-x86-64.so.2 /path/to/app.If the application does
execitself, or gets invoked by multitude of shell scripts which you don't want to modify, then you'll have to binary-patch the application: replace/lib64/ld-linux-x86-64.so.2string in the.dynstrsection of the binary with/u/lib64/ld-2.13.so(new string has to be not longer than the old one).Your question has nothing whatsoever to do with kernel programming.