Sponsored Content
Operating Systems AIX mprotect fails with ENOMEM in text segment Post 302520011 by manolo123 on Thursday 5th of May 2011 03:21:01 PM
Old 05-05-2011
Thank you for a quick reply.

Quote:
That is still an unsigned int pointer type, implying you are assigning only 32 bits.
I don't think that's the problem since the routine works well when performed on non-text segment (for example on page which contains area acquired via malloc).

Quote:
IBM says some pages are not mprotect friendly this way: pSeries and AIX Information Center You might need that env variable.
I have these in my ~/.profile:
Code:
MPROTECT_TXT=ON
XPG_SUS_ENV=ON

Is this enough for these env vars to be 'seen'? I tried different values of those, no effect.

Quote:
I am familiar with self-modifying code from machine language, what do you want it to do?
I am trying to write code to reload the program text from the original executable file in case an error occurs (e.g. a hardware error which scrambled some memory). Is there another way of doing it, instead of mprotect/memset ?
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Enomem in Journal Retry Error

Hi, Does anyone seen this error before.. kernel: ENOMEM in journal_alloc_journal_head, retrying. I encounter this problem on IBM eServers where when the above error appears usually the machine is dead or hanged. Unless a hard reboot is been done. Is this something have to do with the memory... (1 Reply)
Discussion started by: killerserv
1 Replies

2. Programming

Segment Fault

When run it, segment fault. What is wrong? #include <stdio.h> #include <stdlib.h> const int max =20; //**************************************************** // Input Matrix //**************************************************** void inMatrixAA(int *AA, int row, int col)... (9 Replies)
Discussion started by: zhshqzyc
9 Replies

3. IP Networking

Network Access on Different Segment

I do have 2 different segment network which different platform on each segment. E.g. 20 segment, Windows OS can talk to Unix OS and 21 segment practice same rule. Further more, Windows OS from 20 segment can talk to 21 segment other OS but only the UNIX OS in 20 segment fail to talk to 21 segment.... (3 Replies)
Discussion started by: HASM
3 Replies

4. Shell Programming and Scripting

extract segment

Hey all, could someone please direct me on how to extract a segment from a file between two tags? Thanks! (1 Reply)
Discussion started by: mpang_
1 Replies

5. UNIX for Dummies Questions & Answers

code segment

how do i close a do code segment? od? (1 Reply)
Discussion started by: trob
1 Replies

6. Shell Programming and Scripting

How to change a segment in a particular position

I need help in removing a leading zero in a particular position. For eg.: XYZ*04567472*0099*020091231*0123*0.12 In the above line, I want to replace "*0123" with "123" and "0.12" with ".12". I want to remove the leading zero only in position number 4 and 5 (the bolded segments) I was able... (10 Replies)
Discussion started by: ananthmm
10 Replies

7. Programming

How can I know where the segment of memory is all Zero?

I mean, I malloc a segment of memory, maybe 1k maybe 20bytes.. assume the pointer is pMem How can I know the content pMem refered is all Zero or \0 . I know memcmp but the second parameter should another memory address... thanx (4 Replies)
Discussion started by: macroideal
4 Replies

8. Programming

Segment Violation

Hi to all. I'm reciving a "Segment violation" error from this code and I don't know why. void insertAtEnd(NodeType *pList) { char element; printf("Introduce a element: \n"); setbuf(stdin, NULL); scanf("%c", &element); //Find the end of the list; while... (4 Replies)
Discussion started by: daniel.gbaena
4 Replies

9. Programming

Data segment or Text segment

Hi, Whether the following piece of code is placed in the read-only memory of code (text) segment or data segment? char *a = "Hello"; I am getting two different answers while searching in google :( that's why the confusion is (7 Replies)
Discussion started by: royalibrahim
7 Replies

10. Programming

why segment fault,

I always get segment fault, why? can sb help me and modify it, I have spend on much time on #include <pthread.h> #include <stdio.h> #include <stdlib.h> #include <sys/time.h> #include <string.h> #define MAX 10 pthread_t thread; void *thread1() { int *a; int i, n; ... (1 Reply)
Discussion started by: yanglei_fage
1 Replies
NAME(1) 						      General Commands Manual							   NAME(1)

NAME
ticker - scroll messages across the screen SYNOPSIS
ticker [options] [message] DESCRIPTION
ticker is a program that continually scrolls a given message across the screen. There is also an interface to allow other programs to change the message. KEYS
+, [up arrow] Increase scroll speed. -, [down arrw] Decrease scroll speed. [space] Pause. Press any key to unpause. OPTIONS
-h, --help Show summary of options. -u, --upper Scroll text on the top line of the screen. (Default) -l, --lower Scroll text on the bottom line of the screen. -fcolor, --foreground=color Use the specified color as the forground color of the text that is scrolled. The colors that may be used are: black gray red brightred green brightgreen brown yellow blue brightblue magenta brightmagenta cyan brightcyan lightgray white -bcolor, --background=color Use the specified color as the background color of the text that is scrolled. On most terminals, the background color can only be one of the colors listed in the first column above. -dsecs, --delay=secs Number of seconds delay between updates of the display. This controls how fast the text scrolls. You may use decimals to specify faster scroll speeds. The default delay is 1 second; I find 0.1 more pleasing. -snum, --sysv=num Read messages to display from the sysv shared memory segment with an id of num. This is only for use by other programs that need to be able to change the text ticker displays. -Snum, --size=num Size of the shared memory segment to read, when using shared memory communication with another program. Default is 80 characters. -csecs, --check=secs Minimum time between checks of the shared memory segment for a new message. Default is every second. It may in fact check consider- ably less often, as it only checks for a new message once per time that the current message scrolls around the screen. message The message to scroll. Required unless -s is used, in which case it is optional. NOTES
To use the other 23 or so lines of your screen for something useful while the ticker is running, you might want to use splitvt(1) AUTHOR
Joey Hess <joey@kitenet.net> NAME(1)
All times are GMT -4. The time now is 10:52 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy