summaryrefslogtreecommitdiff
path: root/x-long-name-to-create-gnu-extension-in-archive.c
blob: 4c53d72eb6d5cf99291a9191aec8953e3a1fe3b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49


#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include "x.h"

static int zero;
unsigned int public = 0x12345678;

void w_writeln(double d);
void x_writeln(const char* s);
void y_writeln(const char* s) __attribute__ ((section (".bar")));
int z_writeln(int argc, const char* argv[]);
int my_main (int argc, char* argv[]);

void
w_writeln(double d)
{
  printf ("%f / 3 = %f\n", d / 3, d);
}

void
x_writeln(const char* s)
{
  printf ("%s\n", s);
}

void
y_writeln(const char* s)
{
  x_writeln (s);
}

int
z_writeln(int argc, const char* argv[])
{
  int arg;
  printf ("public = 0x%08x, zero = %d\n", public, ++zero);
  for (arg = 0; arg < argc; ++arg)
    y_writeln (argv[arg]);
  return 123;
}

int
my_main (int argc, char* argv[])
{
  exit (0);
}