155714Skris/* $NetBSD: elf2bb.h,v 1.2 2002/01/26 13:21:11 aymeric Exp $ */
255714Skris
355714Skris/*-
455714Skris * Copyright (c) 1996 The NetBSD Foundation, Inc.
555714Skris * All rights reserved.
655714Skris *
755714Skris * This code is derived from software contributed to The NetBSD Foundation
8280304Sjkim * by Ignatios Souvatzis.
955714Skris *
1055714Skris * Redistribution and use in source and binary forms, with or without
1155714Skris * modification, are permitted provided that the following conditions
1255714Skris * are met:
1355714Skris * 1. Redistributions of source code must retain the above copyright
1455714Skris *    notice, this list of conditions and the following disclaimer.
15280304Sjkim * 2. Redistributions in binary form must reproduce the above copyright
1655714Skris *    notice, this list of conditions and the following disclaimer in the
1755714Skris *    documentation and/or other materials provided with the distribution.
1855714Skris *
1955714Skris * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
2055714Skris * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
2155714Skris * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22280304Sjkim * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
2355714Skris * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2455714Skris * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2555714Skris * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
2655714Skris * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
2755714Skris * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
2855714Skris * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2955714Skris * POSSIBILITY OF SUCH DAMAGE.
3055714Skris */
3155714Skris
3255714Skris/*
3355714Skris * Relocator version definitions for aout to Amiga bootblock converter.
3455714Skris */
3555714Skris
3655714Skris/*
37280304Sjkim * All the tables are at the end of the bootblock, with logical start at the
3855714Skris * end.
3955714Skris */
40280304Sjkim
4155714Skris/*
4255714Skris * The following formats are for a length of 8 kBytes only.
4355714Skris */
4455714Skris
4555714Skris/*
4655714Skris * Absolute words in Motorola byte order, end of table marked by 0x0000
4755714Skris */
4855714Skris#define RELVER_ABSOLUTE_WORDS	0
4955714Skris
5055714Skris/*
5155714Skris * Unsigned bytes relative to previous address to relocate; first one to 0.
52280304Sjkim * If the difference is >255, the logical next two bytes (in Motorola byte
5355714Skris * order) give the absolute address to relocate.
5455714Skris */
5555714Skris#define RELVER_RELATIVE_BYTES	1
5655714Skris
5755714Skris/*
5855714Skris * Same as above, but with the bytes stored in forward direction beginning
5955714Skris * with the __relocation_bytes symbol
6055714Skris */
6155714Skris#define RELVER_RELATIVE_BYTES_FORWARD 2
6255714Skris
6355714Skris/*
6455714Skris * loader can autoload
6555714Skris */
6659191Skris
6755714Skris#define RELFLAG_SELFLOADING	0x10
6855714Skris