I have already tried the GCC version from Michael Perzls page to compile a software that is not avaiable as a RPM (Hercules Mainframe Emulator). Even newer GCC version have the same problem with inline assembler code like this:
I remember, that XL C/C++ did not have this problem.
I also had to change a lot of other code to get a (almost) usable running version of Hercules.
I am well aware that GCC has its shortcomings with AIX. i suggested Michael Perzls (and Michael Felts) page because i know for a fact both of them use XlC (not GCC) for compilation. It might have been that Michael Perzl had already compiled (and packaged) the software you were looking for so you could have tried it even if you don't have a XlC yourself.
In general i would not use any software compiled with GCC under AIX for any productive system (and probably not even test systems). The code quality - as you said already, especially when it comes to inline assembler - is terrible.
Another problem is that memory management in AIX is unlike any other OS i know and some programs which behave well under Linux may become memory sinks in AIX when compiled with GCC for a reason i do not claim to understand fully. But then i am so far removed from software development nowadays that this may be understandable. The days when i developed software instead of systems administration are 25 years past.
So if everything in Solaris 10 is dynamically linked then I have a question.
If /sbin/sh in Solaris 9 and lower are statically linked and I lose my /usr libraries the system is still recoverable cause I can use root.
If /sbin/sh in Solaris 10 is dynamically linked and I lose my /usr libraries... (1 Reply)
I have directory where new sub directories and files being created every few minutes. The directories are like abc_date, def_date, ghi_date. I am looking to keep the latest 2 unique directories and delete everything else.
Here is what I have so far
This gives me unique names excluding the... (5 Replies)
Hello,
Where can i find the information about the compatibility versions of tomcat with AIX? for example, AIX 5.2 supported tomcat versions?? (1 Reply)
Hi, I tried to do some research on this subject, but got nothing conclusive.
I have the following need:
I have different servers with AIX versions 3.2.5 through 4.3.2.
Some of them have two ASCI terminals connected.
I have a shell script that is executed by a user on the main console... (2 Replies)
Hi i have tried searching and googling, but cant quite get there
I need to delete all files in a directory that are older than 15 days
here is what i have tried
find /path/to/files* -mtime +15 -exec del {} \;the first section works
find /path/to/files* -mtime +15but the del command dosent... (4 Replies)
Hi all!
I'm writting one script to copy a file in various folders, but there are 2 things to validate. First that the folder where i'll be cpying exists, and second that i have permissions to copy the file in it.
so far i have found the way to validate the folder exists, but when trying to... (6 Replies)
Hi All,
My application has specific processes when the developers start using respective GUI . I would like to find related process on server side that is older than 15 days for my application.
I am using AIX 6.0. Could you please help with the command on how to find the older process?
... (5 Replies)
Could somebody please explain to me why and how the highlighted line(s) (?) of code puts the "test" evaluation into "result" and then to $enable_static ? Or does not ?
I did comment out the original code and changed it to what I feel is less cryptic , but the "result" is still wrong =... (3 Replies)
Discussion started by: anne
3 Replies
LEARN ABOUT CENTOS
error::sdt
ERROR::SDT(7stap)ERROR::SDT(7stap)NAME
error::sdt - <sys/sdt.h> marker failures
DESCRIPTION
Systemtap's <sys/sdt.h> probes are modeled after the dtrace USDT API, but are implemented differently. They leave a only a NOP instruction
in the userspace program's text segment, and add an ELF note to the binary with metadata. This metadata describes the marker's name and
parameters. This encoding is designed to be parseable by multiple tools (not just systemtap: GDB, the GNU Debugger, also contains sup-
port). These allow the tools to find parameters and their types, wherever they happen to reside, even without DWARF debuginfo.
The reason finding parameters is tricky is because the STAP_PROBE / DTRACE_PROBE markers store an assembly language expression for each op-
erand, as a result of use of gcc inline-assembly directives. The compiler is given a broad gcc operand constraint string ("nor") for the
operands, which usually works well. Usually, it does not force the compiler to load the parameters into or out of registers, which would
slow down an instrumented program. However, some instrumentation sites with some parameters do not work well with the default "nor" con-
straint.
unresolveable at run-time
GCC may emit strings that an assembler could resolve (from the context of compiling the original program), but a run-time tool can-
not. For example, the operand string might refer to a label of a local symbol that is not emitted into the ELF object file at all,
which leaves no trace for the run-time. Reference to such parameters from within systemtap can result in "SDT asm not understood"
errors.
too complicated expression
GCC might synthesize very complicated assembly addressing modes from complex C data types / pointer expressions. systemtap or gdb
may not be able to parse some valid but complicated expressions. Reference to such parameters from within systemtap can result in
"SDT asm not understood" errors.
overly restrictive constraint
GCC might not be able to even compile the original program with the default "nor" constraint due to shortage of registers or other
reasons. A compile-time gcc error such as "asm operand has impossible constraints" may result.
There are two general workarounds to this family of problems.
change the constraints
While compiling the original instrumented program, set the STAP_SDT_ARG_CONSTRAINT macro to different constraint strings. See the
GCC manual about various options. For example, on many machine architectures, "r" forces operands into registers, and "g" leaves
operands essentially unconstrained.
revert to debuginfo
As long as the instrumented program compiles, it may be fine simply to keep using <sys/sdt.h> but eschew extraction of a few indi-
vidual parameters. In the worst case, disable <sys/sdt.h> macros entirely to eschew the compiled-in instrumentation. If DWARF
debuginfo was generated and preserved, a systemtap script could refer to the underlying source context variables instead of the
positional STAP_PROBE parameters.
SEE ALSO stap(1),
stapprobes(3stap),
error::dwarf(7stap),
http://gcc.gnu.org/onlinedocs/gcc/Constraints.html,
http://sourceware.org/systemtap/wiki/UserSpaceProbeImplementation,
error::reporting(7stap)ERROR::SDT(7stap)