On Thu, 19 May 2005, Andreas Schwab wrote:
"Richard B. Johnson" <[email protected]> writes:
It's also hard to see what is happening in 'C'. When I execute
this:
#include <stdio.h>
#include <stdlib.h>
int main(int cnt, char *argv[], char *env[], char *aux[])
{
printf("Aux 0 = %s\n", aux[0]);
// printf("Aux 1 = %s\n", aux[1]);
}
There is no pointer to the aux table passed to main, you have to skip past
the environment. Also, the aux table is an array of key/value pairs.
This shows that ld-linux.so, that got called first, didn't
preserve the vector.
It does.
Andreas.
Well, the first entry is supposed to be AT_HWCAP, a number 16.
This is what I get:
long value
0 = 00000020
1 = ffffe400
2 = 00000021
3 = ffffe000
4 = 00000010 Seems to start here?
5 = bfebfbff Some bits
6 = 00000006 AT_PAGESZ
7 = 00001000 Correct
8 = 00000011 AT_CLKTCK
9 = 00000064 Correct
10 = 00000003
11 = 08048034
12 = 00000004
13 = 00000020
14 = 00000005
15 = 00000003
Nothing that makes any sense with the extra stuff in front.
I don't know where it came from.
--
Andreas Schwab, SuSE Labs, [email protected]
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
Cheers,
Dick Johnson
Penguin : Linux version 2.6.11.9 on an i686 machine (5537.79 BogoMips).
Notice : All mail here is now cached for review by Dictator Bush.
98.36% of all statistics are fiction.
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]