Skip to content

Commit 1700fd2

Browse files
author
Mark Wielaard
committed
fedorahosted used to be our home, but we are now hosted at sourceware. Change the elfutils project home to http://elfutils.org/ Point hosted services (email, release, git, bug tracker and web pages) to https://sourceware.org/elfutils/ Move design notes from README to NOTES. Add URLs for home, releases, bugs, git and mailinglist to README. Make the --version output of all tools the same by using a common print_version function and update the publicly shown copyright holder to the elfutils developers. Signed-off-by: Mark Wielaard <[email protected]>
1 parent 0d0f845 commit 1700fd2

31 files changed

+169
-250
lines changed

CONTRIBUTING

+17-12
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
1-
The project homepage is at https://fedorahosted.org/elfutils/
1+
The project home is http://elfutils.org/
22

33
The current elfutils source code can be checked out with
4-
git clone git://git.fedorahosted.org/git/elfutils.git
4+
git clone git://sourceware.org/git/elfutils.git
55

66
The developer mailinglist to send patches to is
7-
8-
https://fedorahosted.org/mailman/listinfo/elfutils-devel
7+
8+
https://sourceware.org/ml/elfutils-devel/
9+
10+
To subscribe send an email to [email protected]
11+
Or use the form at https://sourceware.org/lists.html#ml-requestor
912

1013
Please supply patches using git format-patch or using git send-email.
1114

@@ -66,20 +69,22 @@ After sending your patch to the mailinglist one of the committers
6669
to the project will review it, give feedback, and if perfect they
6770
will commit it for you.
6871

69-
The current maintainers/committers can be found at:
70-
https://admin.fedoraproject.org/accounts/group/members/gitelfutils/*
71-
7272
You can become a maintainer/committer yourself after you have provided
7373
at least a handful of accepted patches and agree to the guidelines in
7474
this document for creating, reviewing, accepting and committing patches.
7575

76-
To become a committer you need an FAS account at:
77-
https://admin.fedoraproject.org/accounts/
76+
To become a committer you need a sourceware account:
77+
https://sourceware.org/cgi-bin/pdw/ps_form.cgi
7878
Upload a SSH public key and have an existing maintainer sponsor you
79-
for the Elf Utils Group (gitelfutils).
79+
for the elfutils group.
8080

8181
committers can push patches through:
82-
ssh://<fasname>@git.fedorahosted.org/git/elfutils.git
82+
ssh://<user>@sourceware.org/git/elfutils.git
83+
84+
The current webpages published at https://sourceware.org/elfutils/
85+
can be checked out with:
86+
git clone ssh://<user>@sourceware.org/git/elfutils-htdocs.git
87+
Patches should also be posted to the mailinglist.
8388

8489
As a maintainer/committer you should still post patches as described
8590
above. And ideally they are reviewed and approved as above. If no
@@ -88,7 +93,7 @@ you may use your own judgement whether you ping your patch or push
8893
it after "self-review". If you do, you should post a message to the
8994
mailinglist that the patch has been pushed.
9095

91-
committers may also create git branches starting with <fasname>/...
96+
committers may also create git branches starting with <nickname>/...
9297
patches on these branches are works in progress, so might not be perfect
9398
yet, but should follow the above guidelines as much as possible and should
9499
be aimed at integration into master. For merging a branch into master

ChangeLog

+11
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
2016-12-24 Mark Wielaard <[email protected]>
2+
3+
* README: Move design notes to NOTES. Add URLs for home, releases,
4+
bugs, git and mailinglist now on sourceware.
5+
* NOTES: Add notes from README.
6+
* CONTRIBUTING: Change fedorahosted.org references to new
7+
sourceware.org locations.
8+
* configure.ac (AC_INIT): Add package URL http://elfutils.org/
9+
change bug-report to https://sourceware.org/bugzilla/
10+
(AC_COPYRIGHT): Set to the elfutils developers.
11+
112
2016-11-23 Mark Wielaard <[email protected]>
213

314
* configure.ac: Add test for bad fts.h. Add -DBAD_FTS=1 to CFLAGS

NOTES

+22
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,25 @@
1+
Fundamental design decision:
2+
3+
- the sizes of external and internal types are assumed to be the same.
4+
This leaves byte ordering aside. While assuming this the code can be
5+
greatly simplified and speed increases. Since no change violating this
6+
assumption is in sight this is believed to be a worthwhile optimization.
7+
8+
- the ABI of the backend modules is not guaranteed. Really, no guarantee
9+
whatsoever. We are enforcing this in the code. The modules and their
10+
users must match. No third-party EBL module are supported or allowed.
11+
The only reason there are separate modules is to not have the code for
12+
all architectures in all the binaries.
13+
14+
- although the public libraries (libasm, libdw) have a stable API and are
15+
backwards ABI compatible they, and the elfutils tools, do depend on each
16+
others internals, and on internals of libelf to provide their interfaces.
17+
So they should always be upgraded in lockstep when packaging the tools
18+
and libraries separately. For one example of how to do that, see the
19+
config/elfutils.spec.
20+
21+
Some notes:
22+
123
- old GNU ld's behavior wrt DSOs seems to be severely broken.
224

325
y.o reference foo()

README

+22-19
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,22 @@
1-
Fundamental design decision:
2-
3-
- the sizes of external and internal types are assumed to be the same.
4-
This leaves byte ordering aside. While assuming this the code can be
5-
greatly simplified and speed increases. Since no change violating this
6-
assumption is in sight this is believed to be a worthwhile optimization.
7-
8-
- the ABI of the backend modules is not guaranteed. Really, no guarantee
9-
whatsoever. We are enforcing this in the code. The modules and their
10-
users must match. No third-party EBL module are supported or allowed.
11-
The only reason there are separate modules is to not have the code for
12-
all architectures in all the binaries.
13-
14-
- although the public libraries (libasm, libdw) have a stable API and are
15-
backwards ABI compatible they, and the elfutils tools, do depend on each
16-
others internals, and on internals of libelf to provide their interfaces.
17-
So they should always be upgraded in lockstep when packaging the tools
18-
and libraries separately. For one example of how to do that, see the
19-
config/elfutils.spec.
1+
The elfutils project provides libraries and tools for ELF files and DWARF data.
2+
3+
The project home is http://elfutils.org/
4+
5+
Releases are published at ftp://sourceware.org/pub/elfutils/
6+
Which can also be found at https://sourceware.org/elfutils/ftp/
7+
8+
Please reports bugs at https://sourceware.org/bugzilla/
9+
10+
The current elfutils source code can be checked out with
11+
git clone git://sourceware.org/git/elfutils.git
12+
13+
The developer mailinglist to send patches to is
14+
15+
https://sourceware.org/ml/elfutils-devel/
16+
17+
To subscribe send an email to [email protected]
18+
Or use the form at https://sourceware.org/lists.html#ml-requestor
19+
20+
See the CONTRIBUTING file for how to propose patches to the code.
21+
22+
See the NOTES files for some design decisions and notes.

config/ChangeLog

+5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
2016-12-24 Mark Wielaard <[email protected]>
2+
3+
* libdw.pc.in: Set URL to http://elfutils.org/
4+
* libelf.pc.in: Likewise.
5+
16
2016-11-02 Mark Wielaard <[email protected]>
27

38
* eu.am: Check HAVE_IMPLICIT_FALLTHROUGH_WARNING.

config/libdw.pc.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ includedir=@includedir@
66
Name: libdw
77
Description: elfutils library for DWARF data and ELF file or process inspection
88
Version: @VERSION@
9-
URL: https://fedorahosted.org/elfutils/
9+
URL: http://elfutils.org/
1010

1111
Libs: -L${libdir} -ldw
1212
Cflags: -I${includedir}

config/libelf.pc.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ includedir=@includedir@
66
Name: libelf
77
Description: elfutils libelf library to read and write ELF files
88
Version: @VERSION@
9-
URL: https://fedorahosted.org/elfutils/
9+
URL: http://elfutils.org/
1010

1111
Libs: -L${libdir} -lelf
1212
Cflags: -I${includedir}

configure.ac

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ dnl GNU General Public License for more details.
1717
dnl
1818
dnl You should have received a copy of the GNU General Public License
1919
dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
20-
AC_INIT([elfutils],[0.167],[https://bugzilla.redhat.com/],[elfutils])
20+
AC_INIT([elfutils],[0.167],[https://sourceware.org/bugzilla],[elfutils],[http://elfutils.org/])
2121

2222
# We want eu- as default program prefix if none was given by the user.
2323
# But if the user explicitly provided --program-prefix="" then pretend
@@ -35,7 +35,7 @@ fi
3535
AC_CONFIG_AUX_DIR([config])
3636
AC_CONFIG_FILES([config/Makefile])
3737

38-
AC_COPYRIGHT([Copyright (C) 1996-2016 Red Hat, Inc.])
38+
AC_COPYRIGHT([Copyright (C) 1996-2016 The elfutils developers.])
3939
AC_PREREQ(2.63) dnl Minimum Autoconf version required.
4040

4141
dnl We use GNU make extensions; automake 1.10 defaults to -Wportability.

lib/ChangeLog

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
2015-10-11 Akihiko Odaki <[email protected]>
1+
2016-12-24 Mark Wielaard <[email protected]>
2+
3+
* version.c: New source file.
4+
* Makefile.am (libeu_a_SOURCES): Add version.c
5+
* system.h (print_version): New function definition.
6+
7+
2016-10-11 Akihiko Odaki <[email protected]>
28

39
* fixedsizehash.h (CONCAT): Use __CONCAT when available.
410
* system.h: Include config.h and errno.h.

lib/Makefile.am

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ noinst_LIBRARIES = libeu.a
3535

3636
libeu_a_SOURCES = xstrdup.c xstrndup.c xmalloc.c next_prime.c \
3737
crc32.c crc32_file.c md5.c sha1.c \
38-
color.c
38+
color.c version.c
3939

4040
noinst_HEADERS = fixedsizehash.h libeu.h system.h dynamicsizehash.h list.h \
4141
md5.h sha1.h eu-config.h

lib/system.h

+2
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,8 @@ pread_retry (int fd, void *buf, size_t len, off_t off)
152152
#define ARGP_PROGRAM_BUG_ADDRESS_DEF \
153153
const char *const apba__ __asm ("argp_program_bug_address")
154154

155+
/* Defined in version.c. Common ARGP_PROGRAM_VERSION_HOOK_DEF. */
156+
void print_version (FILE *stream, struct argp_state *state);
155157

156158
/* The demangler from libstdc++. */
157159
extern char *__cxa_demangle (const char *mangled_name, char *output_buffer,

lib/version.c

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
/* Common argp_print_version_hook for all tools.
2+
Copyright (C) 2016 Red Hat, Inc.
3+
This file is part of elfutils.
4+
5+
This file is free software; you can redistribute it and/or modify
6+
it under the terms of either
7+
8+
* the GNU Lesser General Public License as published by the Free
9+
Software Foundation; either version 3 of the License, or (at
10+
your option) any later version
11+
12+
or
13+
14+
* the GNU General Public License as published by the Free
15+
Software Foundation; either version 2 of the License, or (at
16+
your option) any later version
17+
18+
or both in parallel, as here.
19+
20+
elfutils is distributed in the hope that it will be useful, but
21+
WITHOUT ANY WARRANTY; without even the implied warranty of
22+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23+
General Public License for more details.
24+
25+
You should have received copies of the GNU General Public License and
26+
the GNU Lesser General Public License along with this program. If
27+
not, see <http://www.gnu.org/licenses/>. */
28+
29+
#ifdef HAVE_CONFIG_H
30+
# include <config.h>
31+
#endif
32+
33+
#include <argp.h>
34+
#include <libintl.h>
35+
#include <stdio.h>
36+
#include "system.h"
37+
38+
void
39+
print_version (FILE *stream, struct argp_state *state)
40+
{
41+
fprintf (stream, "%s (%s) %s\n", state->name, PACKAGE_NAME, PACKAGE_VERSION);
42+
fprintf (stream, gettext ("\
43+
Copyright (C) %s The elfutils developers <%s>.\n\
44+
This is free software; see the source for copying conditions. There is NO\n\
45+
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
46+
"), "2016", PACKAGE_URL);
47+
}

po/ChangeLog

+5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
2016-12-24 Mark Wielaard <[email protected]>
2+
3+
* Makevars (COPYRIGHT_HOLDER): Set to the elfutils developers.
4+
(MSGID_BUGS_ADDRESS): Set to http://sourceware.org/bugzilla/
5+
16
2016-08-24 Mark Wielaard <[email protected]>
27

38
* *.po: Regenerate.

po/Makevars

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --flag=error:3:c-format \
2020
# or entity, or to disclaim their copyright. The empty string stands for
2121
# the public domain; in this case the translators are expected to disclaim
2222
# their copyright.
23-
COPYRIGHT_HOLDER = Red Hat, Inc.
23+
COPYRIGHT_HOLDER = The elfutils developers
2424

2525
# This is the email address or URL to which the translators shall report
2626
# bugs in the untranslated strings:
@@ -36,7 +36,7 @@ COPYRIGHT_HOLDER = Red Hat, Inc.
3636
# It can be your email address, or a mailing list address where translators
3737
# can write to without being subscribed, or the URL of a web page through
3838
# which the translators can contact you.
39-
MSGID_BUGS_ADDRESS = http://bugzilla.redhat.com/
39+
MSGID_BUGS_ADDRESS = https://sourceware.org/bugzilla/
4040

4141
# This is the list of locale categories, beyond LC_MESSAGES, for which the
4242
# message catalogs shall be used. It is usually empty.

src/ChangeLog

+21
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,24 @@
1+
2016-12-24 Mark Wielaard <[email protected]>
2+
3+
* Makefile.am (findtextrel_LDADD): Add $(libeu).
4+
(addr2line_LDADD): Likewise.
5+
(elfcmp_LDADD): Likewise.
6+
* addr2line.c (print_version): Removed.
7+
* ar.c (print_version): Likewise.
8+
* elfcmp.c (print_version): Likewise.
9+
* elfcompress.c (print_version): Likewise.
10+
* elflint.c (print_version): Likewise.
11+
* findtextrel.c (print_version): Likewise.
12+
* nm.c (print_version): Likewise.
13+
* objdump.c: Likewise.
14+
* ranlib.c: Likewise.
15+
* readelf.c: Likewise.
16+
* size.c: Likewise.
17+
* stack.c: Likewise.
18+
* strings.c: Likewise.
19+
* strip.c: Likewise.
20+
* unstrip.c: Likewise.
21+
122
2016-11-17 Mark Wielaard <[email protected]>
223

324
* readelf.c (options): Add optional arg SECTION for symbols.

src/Makefile.am

+3-3
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@ nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl \
7373
size_LDADD = $(libelf) $(libeu) $(argp_LDADD)
7474
strip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl
7575
elflint_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl
76-
findtextrel_LDADD = $(libdw) $(libelf) $(argp_LDADD)
77-
addr2line_LDADD = $(libdw) $(libelf) $(argp_LDADD) $(demanglelib)
78-
elfcmp_LDADD = $(libebl) $(libelf) $(argp_LDADD) -ldl
76+
findtextrel_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD)
77+
addr2line_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) $(demanglelib)
78+
elfcmp_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl
7979
objdump_LDADD = $(libasm) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl
8080
ranlib_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD)
8181
strings_LDADD = $(libelf) $(libeu) $(argp_LDADD)

src/addr2line.c

-15
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141

4242

4343
/* Name and version of program. */
44-
static void print_version (FILE *stream, struct argp_state *state);
4544
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
4645

4746
/* Bug report address. */
@@ -208,20 +207,6 @@ main (int argc, char *argv[])
208207
}
209208

210209

211-
/* Print the version information. */
212-
static void
213-
print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
214-
{
215-
fprintf (stream, "addr2line (%s) %s\n", PACKAGE_NAME, PACKAGE_VERSION);
216-
fprintf (stream, gettext ("\
217-
Copyright (C) %s Red Hat, Inc.\n\
218-
This is free software; see the source for copying conditions. There is NO\n\
219-
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
220-
"), "2012");
221-
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
222-
}
223-
224-
225210
/* Handle program arguments. */
226211
static error_t
227212
parse_opt (int key, char *arg, struct argp_state *state)

src/ar.c

-15
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@
4646

4747

4848
/* Name and version of program. */
49-
static void print_version (FILE *stream, struct argp_state *state);
5049
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
5150

5251
/* Prototypes for local functions. */
@@ -277,20 +276,6 @@ MEMBER parameter required for 'a', 'b', and 'i' modifiers"));
277276
}
278277

279278

280-
/* Print the version information. */
281-
static void
282-
print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
283-
{
284-
fprintf (stream, "ar (%s) %s\n", PACKAGE_NAME, PACKAGE_VERSION);
285-
fprintf (stream, gettext ("\
286-
Copyright (C) %s Red Hat, Inc.\n\
287-
This is free software; see the source for copying conditions. There is NO\n\
288-
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
289-
"), "2012");
290-
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
291-
}
292-
293-
294279
/* Handle program arguments. */
295280
static error_t
296281
parse_opt (int key, char *arg __attribute__ ((unused)),

0 commit comments

Comments
 (0)