03-09-2010
Actually . I test , the collapse has nothing to do with the signal SIGSEGV or whether it has enough space .
I use signal function . but can't catch SIGSEGV when it's down .
I really have no idea!
9 More Discussions You Might Find Interesting
1. Linux
Hi,
Does anybody have a good pointer on Linux kernel internals for ARM architecture? I can locate plenty for x86 but since ARM is RISC I think there would be subtle changes. So if somebody has a knowledge of good document on Linux Kernel internals for ARM or even a comparative study of kernel on... (0 Replies)
Discussion started by: Rakesh Ranjan
0 Replies
2. UNIX for Advanced & Expert Users
I want to find the ARM assembly language for my sample C code using gcc .I had gcc compiler ,whether it is enough for it or i need to download gcc arm cross compiler.If necessary ,how it configured?I am using fedora (0 Replies)
Discussion started by: sujith4u87
0 Replies
3. Fedora
think only compile is required I wish to compile a sample code
int main()
{
int a=5,b=8,c;
c=a+b;
}
compile using gcc -Wall -g -march=arm922t main.c -o hello
I got an error
:bad value(arm922t) for -march=switch
instead of using march i used mcpu options ,the same... (1 Reply)
Discussion started by: sujith4u87
1 Replies
4. Programming
hi,
correct me if am wrong, as per gcc doc gcc is able to compile code for different target systems such as ARM, ARC etc. I tried for compiling ARM but failed to do so.
getting below error:
gcc -mcpu=arm920t -c avg.c -o agv_arm
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.... (6 Replies)
Discussion started by: zing_foru
6 Replies
5. UNIX for Advanced & Expert Users
Hi guys,
i'm running a program on samsumg 6410 arm cpu board. it caused an "free(): invalid next size (normal)" fail.
i try to use gdb for remote debugging:
1, start gdb server on board:
gdbserver 192.168.1.20:1234 ./HostAP
Process ./HostAP created; pid = 499
Listening on port... (8 Replies)
Discussion started by: ss1969
8 Replies
6. UNIX for Dummies Questions & Answers
Hi,
I'm trying to develop an application to work with serial infra-red module, but I'm having difficulties to even get my module started. My HW is Beagleboard, which has 1 UART serial port, normally used for console, which I have disabled (I re-created the boot.scr, without the console... (0 Replies)
Discussion started by: julumme
0 Replies
7. Programming
I created and Compiled a C program to run in QEMU for ARM.
When I run the program using the command
#qemu-arm -L /home/arm-2010.09/arm-none-linux-gnueabi/libc ./test
it gives me the following error:
If 'qemu-arm' is not a typo you can use command-not-found to lookup the package that contains... (0 Replies)
Discussion started by: rupeshkp728
0 Replies
8. Hardware
Hi I am trying to port xenomai on exynos 4210 arm board.
With some research I have found a way to port the board on the exynos board but the problem is that on the exynos-4210 website they have provided a patched version of linux-3.0.15 kernel for implementing on the board.
On this kernel I am... (1 Reply)
Discussion started by: mohitjandwani
1 Replies
9. Programming
Hello everyone. I am running Debian on an ARM7 Device (aka my android phone). Everything is great. Works well.
I would love to use it for Development.
Mainly my interests are in Web Development, and Java development.
So far the only useful IDE for debian arm is Netbeans. Which is pretty... (0 Replies)
Discussion started by: CDevelop
0 Replies
LEARN ABOUT OPENSOLARIS
stack_violation
stack_violation(3C) Standard C Library Functions stack_violation(3C)
NAME
stack_violation - determine stack boundary violation event
SYNOPSIS
#include <ucontext.h>
int stack_violation(int sig, const siginfo_t *sip,
const ucontext_t *ucp);
DESCRIPTION
The stack_violation() function returns a boolean value indicating whether the signal, sig, and accompanying signal information, sip, and
saved context, ucp, represent a stack boundary violation event or a stack overflow.
RETURN VALUES
The stack_violation() function returns 0 if the signal does not represent a stack boundary violation event and 1 if the signal does repre-
sent a stack boundary violation event.
ERRORS
No errors are defined.
EXAMPLES
Example 1 Set up a signal handler to run on an alternate stack.
The following example sets up a signal handler for SIGSEGV to run on an alternate signal stack. For each signal it handles, the handler
emits a message to indicate if the signal was produced due to a stack boundary violation.
#include <stdlib.h>
#include <unistd.h>
#include <ucontext.h>
#include <signal.h>
static void
handler(int sig, siginfo_t *sip, void *p)
{
ucontext_t *ucp = p;
const char *str;
if (stack_violation(sig, sip, ucp))
str = "stack violation.
";
else
str = "no stack violation.
";
(void) write(STDERR_FILENO, str, strlen(str));
exit(1);
}
int
main(int argc, char **argv)
{
struct sigaction sa;
stack_t altstack;
altstack.ss_size = SIGSTKSZ;
altstack.ss_sp = malloc(SIGSTKSZ);
altstack.ss_flags = 0;
(void) sigaltstack(&altstack, NULL);
sa.sa_sigaction = handler;
(void) sigfillset(&sa.sa_mask);
sa.sa_flags = SA_ONSTACK | SA_SIGINFO;
(void) sigaction(SIGSEGV, &sa, NULL);
/*
* The application is now set up to use stack_violation(3C).
*/
return(0);
}
USAGE
An application typically uses stack_violation() in a signal handler that has been installed for SIGSEGV using sigaction(2) with the SA_SIG-
INFO flag set and is configured to run on an alternate signal stack.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Evolving |
+-----------------------------+-----------------------------+
|MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
SEE ALSO
sigaction(2), sigaltstack(2), stack_getbounds(3C), stack_inbounds(3C), stack_setbounds(3C), attributes(5)
SunOS 5.11 18 Jul 2002 stack_violation(3C)