building libc
All,
I'm trying to build a shared libary with a modified getaddrinfo() from glibc. getaddrinfo() sorts the results from DNS according to RFC3484, but this screws up round-robin load-balancing.
Ian Jackson put a fix into ubuntus glibc 2.6.1, and this is what I'm trying to use.
So, I've got glibc-2.6.1 from ubuntu all built, and I'm now trying to build my own mygetaddrinfo.so containing just the patched getaddrinfo(). Has anyone attempted something similar, and if so, do you have any hints for me?
I can build mygetaddrinfo.so, but when I try to use it (with LD_PRELOAD), it keeps reporting unresolved symbols such as __inet_aton.
cheers
Per Jessen, Zurich
Quoted 6 lines · Per Jessen
All,
I'm trying to build a shared libary with a modified
getaddrinfo()from glibc.getaddrinfo()sorts the results from DNS according to RFC3484, but this screws up round-robin load-balancing.
Quoted 7 lines
Ian Jackson put a fix into ubuntus glibc 2.6.1, and this is what I'm trying to use.
So, I've got glibc-2.6.1 from ubuntu all built, and I'm now trying to build my own mygetaddrinfo.so containing just the patched
getaddrinfo(). Has anyone attempted something similar, and if so, do you have any hints for me?
Alright, I realize this was perhaps a little unclear. What I'm trying to achieve is actually quite simple:
- to replace the normal getaddrinfo() routine from the default glibc libary with my own version.
My "own" version just happens to be 2000 lines of getaddrinfo from the ubuntu glibc which was patched to fix the RFC3484 problem. I'm just not very keen on working my way through the 2000 lines and fixing things such that it will compile outside of the complete glibc tree.
Per Jessen, Zurich
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 31 lines · Darío Mariani
Quoted 27 lines · Per Jessen
Quoted 6 lines · Per Jessen
All,
I'm trying to build a shared libary with a modified
getaddrinfo()from glibc.getaddrinfo()sorts the results from DNS according to RFC3484, but this screws up round-robin load-balancing.Quoted 7 lines
Ian Jackson put a fix into ubuntus glibc 2.6.1, and this is what I'm trying to use.
So, I've got glibc-2.6.1 from ubuntu all built, and I'm now trying to build my own mygetaddrinfo.so containing just the patched
getaddrinfo(). Has anyone attempted something similar, and if so, do you have any hints for me?Alright, I realize this was perhaps a little unclear. What I'm trying to achieve is actually quite simple:
- to replace the normal
getaddrinfo()routine from the default glibc libary with my own version.My "own" version just happens to be 2000 lines of getaddrinfo from the ubuntu glibc which was patched to fix the RFC3484 problem. I'm just not very keen on working my way through the 2000 lines and fixing things such that it will compile outside of the complete glibc tree.
Quoted 7 lines
Quoted 3 lines
Per Jessen, Zurich
There is a method to replace glibc functions, don't remember how exactly but take a look at Transconnect (http://transconnect.sourceforge.net/ ) and this link: http://www.itworld.com/AppDev/1006/UIR000929interposers/pfindex.html.
There is a method to replace glibc functions, don't remember how exactly but take a look at Transconnect
(http://transconnect.sourceforge.net/ ) and this link:
http://www.itworld.com/AppDev/1006/UIR000929interposers/pfindex.html.
-
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 2 lines · Darío Mariani
http://www.itworld.com/AppDev/1006/UIR000929interposers/pfindex.html.
Yeah, this is exactly what I intend to try. My problem is in getaddrinfo() which has been misbehaving (for quite some time). The glibc code was fixed by Ian Jackson in glibc 2.6.1 for ubuntu, so I figured I'd just borrow that and stick the getaddrinfo() object-code into a shared library which I'd preload with LD_PRELOAD. Sounds simple, doesn't it?
Well, building the glibc code was no big deal, but as for "just borrow that", it's not easy. If I build getaddrinfo.c outside the glibc build structure, it throws about a million errors. Option #1 is to attempt to fix that, but with getaddrinfo.c being about 2000 lines, I'm a little hesitant about that approach.
Option #2 (I think) is to use the object-code from the built glibc, but when I try to use the shared library (containing just getaddrinfo.o), it complains about unresolved symbols - e.g. __inet_ntoa.
/Per Jessen
-
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html